About this project
Undertone is a TypeScript-based procedural synthesis engine designed for game sound effects and music production. It operates on the principle that everything is a pattern, allowing users to create everything from simple UI blips to complex multi-section songs using a consistent syntax inspired by Strudel and TidalCycles.
Key capabilities include:
- **Mini-notation**: A powerful string-based syntax for defining sequences, subdivisions, chords, Euclidean rhythms, and alternations.
- **Synthesis & Playback**: Supports various waveforms (sine, triangle, square, sawtooth) and noise types (white, pink, brown), as well as a "bring-your-own-assets" sample playback system.
- **Music Theory Tools**: Built-in support for scale-degree melodies and chord symbol expansion (voicing) based on mathematical implementations rather than bundled data.
- **Voice Control**: Chainable, immutable controls for ADSR envelopes, lowpass/highpass filters, phasers, and pitch glides. Most numeric parameters can be patterned using mini-notation.
- **Spatial Audio**: Supports stereo panning and multichannel placement up to 7.1 surround sound.
- **Pattern Combinators**: Tools for manipulating patterns such as `fast`, `slow`, `rev` (reverse), `jux` (juxtapose), and `arrange` for song structuring.
- **Performance Modes**: Offers both `.play()` for one-shot percussive effects and `.loop()` for scheduled musical sequences with BPM control.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.