NOMN

← Tools

RESERVOIR: Echo State Composer

Music is a pattern language.

New patterns, new feelings. New rules, new patterns. New patterns, new culture. New culture, new music.

The music systems of a particular culture or subculture are rules-based pattern languages. This isn't a good or bad thing — it's an expressive crop of human possibility.

Using graph paper and math to see these crops as algorithm was and is not a way to get further from the mechanics of music making but deeper. It is closer to understanding that most humans have been "rearranging other men's notes," as Maryanne Amacher wrote in Intelligent Life. Practitioners of what Anthony Braxton calls "stylism" in contrast to "restructuralism."

RESERVOIR is a platform for exploring musical pattern — a way of thinking about notes and their mathematical relationships as producing, and erasing, culture.

**

Algorithmic composition has a deep history that is part of a continuum of highly inventive and instructive thinking about what music making and "composing" might be. Before the 1960s, when minimalism and pop took over, there was a computational optimism that pulling apart cultural inheritance and unquestioned norms with more abstract understanding would allow for a remaking of what's possible.

Serialism and its many branchings was only one early part of this conversation — and not the origins even. Just adjacent was Joseph Schillinger, a Russian theorist whose student Lawrence Berk founded Schillinger House — which became Berklee — and whose students and inheritors were aesthetically diverse, from Gershwin and Gil Evans to Earle Brown. Schillinger's foundational idea was interference of periodicities: the principle that complex musical time emerges from the interaction of overlapping temporal cycles, not from any single pattern in isolation. He treated rhythm as the primary organizing principle of all music, preceding harmony and melody.

Schillinger was not committed to atonality; he was committed to bridging mathematics, nature, and the arts in a kind of early-20th-century mystic way. Others followed with their own approaches — Xenakis among them — and when computers became available in academic settings, "computer music" became a field of research unto itself, with implementations of abstract mathematics, neural networks, and now transformers and diffusion models that will simply "solve for music" based on training data.

RESERVOIR is a resource for exploring the pattern logic of music making, not a solver — a reservoir, not an answer. A reservoir accumulates. It holds material whose origins are diverse and whose interactions are ongoing. What comes out is shaped by everything that has entered and by the dynamics of the holding itself.

RESERVOIR brings this lineage into a real-time DAW-integrated pattern engine — not to compose for you but as a vast tunable landscape. A polyphonic texture orchestrator that generates, perforates, and shapes 12 simultaneous voices of MIDI through a pipeline of mathematically grounded algorithms, each rooted in a specific tradition — and enhanced by a machine learning layer: an Echo State Network, whose recurrent neurons hold decaying echoes of the system's own output, producing new patterns through the same kind of temporal interference that Schillinger formalized ninety years ago. It listens to itself and evolves continuously. It's not a step sequencer, though you can make sequences. Not a random note generator, though you can generate quasi-random microtimed clouds. It is a system whose internal logic draws on a century of thinking about how to organize time and pitch with rigor and surprise simultaneously. Future updates will add more logics, but as it stands there are more than 100,000 unique scenarios from which to find material or create textures or new frameworks for whole pieces.

The output is standard MIDI, very particularly timed, capable of microtonality. Route it to any instrument. Record it, edit it, build on it.

What RESERVOIR produces is not raw material. It is patterned material — patterns drawn from traditions and mathematical logics that precede and exceed any individual's claim to authorship. Composition has always been a negotiation with inherited structures. RESERVOIR makes this negotiation explicit, navigable, and productive.

--
## How It Works

Every note passes through four stages:

Generation. 17 rhythm techniques determine when notes occur. The complete first book of Schillinger's rhythmic vocabulary — resultant rhythms, grouping formulas, multi-generator interference, instrumental time rhythms, coordination of duration groups, permutation of durations and rests, homogeneous continuity, distributive powers, growth series, and acceleration curves — alongside Xenakis' stochastic clouds, Euclidean distribution, L-system fractals, harmonic-series pulse streams, Markov-chain beat grids, and genre-seeded pattern wander drawn from 764,000 MIDI drum files.

Perforation. 7 methods determine which notes are removed — where the silences fall, and with what logic. Prime sieves from Eratosthenes, Fibonacci self-similar filtering via Zeckendorf decomposition, golden ratio quasiperiodic lattices, Wolfram cellular automata, modular congruence filtering, and density curves learned from a corpus of open source midi files.

Pitch. 10 algorithms determine what notes play, drawing from serial exhaustion, spectral interference, Markov chains, combinatorial permutation, symmetric inversion, and corpus-learned transitions. Across 112+ scales spanning Western modes, Japanese koto tunings, Indian ragas, Yusef Lateef's synthetic formations, and microtonal systems.

Expression. Velocity shaping, 5 articulation styles, 10 continuous CC controllers with phrase-reactive envelopes, and 4 micro-timing modes: metronomic, NOMN expressive timing, user groove profiles captured from live MIDI performance, and genre-specific microtiming extracted from the drum corpus. Not random jitter. Contextual groove that responds to density, phrase position, and stylistic tradition.

--
## The Engine

12 independent layers, each running its own rhythm generator, perforation filter, and pitch pattern. All streaming, all O(1) per event, all sub-10ms latency. Synchronized to DAW transport via PPQ-based timing.

Layers coordinate through 4 family behaviors: synchronized breathing, complementary hocketing (layers fill each other's gaps), cascading canon-like entries, or full independence. A composite density model normalizes output across all engine combinations so that switching algorithms preserves perceived density — the texture changes, not the weight. The layer interaction mode transforms the same algorithm settings into dramatically different textures.

A 32-node leaky Echo State Network sits above the engine as a meta-generative layer. It reads 10 musical features from RESERVOIR's own output — density, regularity, interval size, pitch range, syncopation, swing, polyphony, contour — and produces 16 slowly drifting modulation biases across pitch, rhythm, and texture dimensions. The reservoir holds temporal echoes of the music's recent past; new modulation emerges from the nonlinear interference of those decaying traces — the same principle Schillinger described as the interaction of periodicities, now operating at the level of compositional evolution rather than note-level rhythm. A single Evolution Rate knob controls how quickly the network responds. At zero it's nearly frozen; at full it drifts freely, introducing momentum, chromatic pull, timbral shift, and rhythmic tension that emerge from the music itself rather than from random modulation.

A state sequencer provides macro-level form: 2-8 sections with configurable crossfade, arc shapes (golden section, arch, wedge), and optional corpus-derived formal proportions. Let it run for 10 minutes and record a composition that builds, releases, and evolves without touching a parameter.

A MIR capture system analyzes live MIDI input — extracting pitch contour, rhythmic profile, swing ratio, phrase boundaries, and articulation style via PPM-Decay Markov models and LBDM segmentation — and feeds the resulting performance fingerprint back into the generation engines. Play a phrase in; RESERVOIR absorbs its character and generates from it.

133,000+ unique algorithm combinations before parameter variation or scale selection.

--
## Parameters

Rhythm Engine
- Density Min/Max: Attacks per beat (0.1-10). Composite model: slider value = total events/beat across all layers.
- Note Length Min/Max: Duration as fraction of interval (0.1-2.0).
- Rhythm Pattern: Stochastic, Resultant, Grouping, Density Field, Euclidean, Harmonic Series, Multi-Generator, Instrumental, Coordination, Permutation, Continuity, Power Group, Growth Series, Acceleration, L-System, Beat Grid, Style Grid.
- Polyrhythm Type: Sum, Difference, Fractioned (Schillinger resultant modes).
- Overtone Count: Harmonics for Harmonic rhythm (2-16).
- Number Series: Squares, Powers, Triangular, Binomial Square (Power Group progression).
- Engine-specific controls: Each of the 17 rhythm engines exposes its own parameter set.

Perforation Engine
- Perforation Amount: Gap density (0.0-1.0).
- Perforation Method: Euclidean, Prime Sieve, Fibonacci, Modular, Golden Lattice, Cellular Automata, Corpus Density.
- Spiral Holes: Golden Angle phyllotaxis mode for Golden Lattice perforation.
- Corpus Bias: Strength of corpus-learned rest placement (0.0-1.0).

Pitch Logic
- Pitch Selection: Serial, Spiral, Fibonacci, Registry, Markov, Golden, Interference, Symmetric Inversion, Permutation, Corpus Markov.
- Pitch Pattern Shape: Algorithm-specific control (0.0-1.0).
- Scale: 112+ scales from the built-in library.
- Root Pitch Class: C through B.
- Octave Span: 1-10 octaves.

Expression
- Velocity Min/Max: MIDI velocity range.
- Articulation: Full Length, Legato, Staccato, Tenuto, Varying.
- Groove Feel: Metronomic, NOMN expressive timing, User Groove, Genre Groove.
- Phrase Elasticity: Density-responsive note shortening.
- 10 CC controllers across 5 groups: Expression, Breath, Brightness, Resonance, Pitch Bend, Vibrato Rate/Depth, Attack, Release, Modulation, Flutter.

Echo State Network
- Enabled: On/off toggle.
- Evolution Rate: Leak rate controlling drift speed (0.0-1.0).
- 16 depth sliders across pitch, rhythm, and texture groups for per-dimension modulation control.
- Tufte-style 16-bar deviation chart for real-time ESN output visualization.

State Machine
- Sections: 2-8 compositional sections.
- Section Length: 15-180 seconds per section.
- Section Crossfade: 0-100% gradual transition.
- Arc Form: Random, Golden Section, Arch, Wedge, Corpus.
- Auto-Evolve: Automatic state progression.
- Arc Position: Manual position override (automatable).

Layer System
- Active Layers: 1-12 simultaneous voices.
- Layer Interaction: Independent, Inverse, Complementary, Synchronized.

MIR Capture
- Live MIDI input analysis: pitch, rhythm, groove, articulation, polyphony.
- Performance fingerprint seeding all generation engines.
- Morph controls for blending fingerprint with algorithmic output.

Visualization
- 8 color modes: Greyscale, Chromatic (Paul Tol), Register, Interval, Tension, Schillingerian, Scriabin (synesthetic mapping), Rimsky-Korsakov (orchestral colors).
- Style Grid pattern trail visualization for genre-seeded engines.
- Pitch class grid and macro arc preview.

Presets
- Preset Morph: Crossfade between any two presets (0.0-1.0, automatable).
- MIDI Program Change: External preset switching.
- 128-slot preset bank for DAW integration.

--
## Features & Formats

Key Features:
- 12-Layer Polyphonic Generation: Independent rhythm, perforation, and pitch per layer with 4 family coordination modes and composite density normalization.
- 32-Node Echo State Network: Leaky recurrent network reading 10 self-referential musical features and outputting 16 continuous modulation biases. A machine learning layer that evolves the composition from its own output.
- 17 Schillinger-Complete Rhythm Engines: Full implementation of Schillinger's Book I rhythmic vocabulary (Chapters 2-14) plus stochastic, Euclidean, L-system, Markov grid, and genre-seeded corpus patterns.
- MIR Capture System: Real-time MIDI performance analysis using PPM-Decay Markov models, LBDM phrase segmentation, and autocorrelation beat tracking. Play a phrase; RESERVOIR absorbs its character.
- Genre-Seeded Pattern Wander: 764,000 MIDI drum files processed through a VAE/k-medoids pipeline into genre-specific prototype patterns with Markov transition matrices. Style Grid engine walks these patterns with controllable wander rate.
- Genre Groove Microtiming: Per-genre timing deviations extracted from the drum corpus for stylistically authentic humanization.
- GPU-Accelerated Visualization: Real-time radial display of all layers with 8 color analysis modes rooted in Scriabin, Schillinger, and Rimsky-Korsakov color theory.
- 112+ Scale Library: Western modes, Japanese koto tunings, Indian ragas, Yusef Lateef's Repository of Scales and Melodic Patterns, synthetic formations, and custom pitch sets.
- State Sequencer: Macro-level compositional arc with crossfading sections and 5 arc forms.
- Preset Morphing: Automatable crossfade between any two presets for smooth timbral transitions.
- Audio Gating: Apply perforation patterns to live audio input for rhythmic sculpting of external signals.
- Built-in GM Synth: Apple DLS-based General MIDI synthesizer for standalone auditioning — zero external dependencies.
- MIDI Export: Multi-track output preserving per-layer polyphonic structure.
- DAW Transport Sync: PPQ-based timing for perfect tempo sync, transport jumps, and loop handling.

Compatibility:
Formats: VST3, Audio Unit (AU), Standalone.
OS: macOS (Apple Silicon + Intel) and Windows.