PolyArbor Rhythm Generator

High-Performance Browser-Based Generative Polyrhythm Sequencer
React 19 TypeScript Tailwind CSS Web Audio API License
Main Interface
Settings
Visualizer

Overview

PolyArbor explores the mathematical relationship between conflicting time signatures and playback rates through the lens of organic procedural synthesis. Unlike standard sequencers that align to a rigid 4/4 grid, PolyArbor utilizes a cyclical timing engine where every rhythm layer operates on its own step count and speed multiplier relative to a global master cycle.

This architecture creates phasing, polymetric patterns that evolve over time, visualized as a pulsating organic vector scope. Built with a focus on high-performance audio scheduling, the application mimics the aesthetic and reliability of a professional Digital Audio Workstation (DAW).

Audio Engine

  • Web Audio API Core: Custom-built scheduling with lookahead timing for sample-accurate playback.
  • Procedural Synthesis: Real-time `OscillatorNodes`. No pre-recorded samples.
  • Primary Tone: Sine waves for body.
  • Accents: Triangle waves for phase reset triggers.
  • Spatial Audio: Individual stereo panning per channel.

Sequencer

  • Unlimited Polyphony: Up to 12 distinct rhythm layers.
  • Polyrhythmic Control: Steps (1-32) set independently.
  • Rate Multiplication: Decoupled speed (1/4x, 1/2x, 2x, 4x).
  • Pentatonic Scaling: Automatic harmonic consonance mapping.

Visualizer

  • Vector Scope: High-framerate Canvas radial tree graph.
  • Interpolated Animation: Decoupled from React render cycle for 60fps.
  • Responsive Design: ResizeObservers prevent stretching/pixelation.

Technical Architecture

Core Stack

ComponentTechnology
FrameworkReact 19
LanguageTypeScript
StylingTailwind CSS
IconographyLucide React
AudioWeb Audio API

System Design

  • Audio Service (Singleton): The AudioEngine class manages the context lifecycle and lookahead loop.
  • UI Context: Manages states like "Global Dragging" and Tooltips.
  • Component Library (SynthUI): Custom skeuomorphic controls (Knobs, LCDs, Switches) with vertical-drag behavior.

User Interface

The interface is styled after professional production software utilizing an "Industrial/DAW" theme.

1. Top Toolbar

Transport Controls, Tempo (CPM), Master Output Volume, and Info Panel.

2. Channel Rack

Mute/Solo, Pan/Vol Knobs, Step Counter (Geometry), and Rate Selector.

3. Visualizer

The "Poly Tree". Radial arms, pulse triggers, and "phosphor" trail aesthetics.

Getting Started

Prerequisites: Node.js (v16+) and npm/yarn.

git clone https://github.com/dovvnloading/POLYARBOR-Rhythm-Generator.git cd POLYARBOR-Rhythm-Generator npm install npm start

> Application launches at http://localhost:3000