RESONON
A programming language for musical live-coding, algorithmic composition, and sound-design. Play patterns and sequences live or arrange and render offline. Interface with external audio and MIDI gear. Use VST3 and CLAP plugins.
Resonon ships with its own audio and MIDI engine. It loads VST3 and CLAP plugins and routes and modulates anything. A project and package system shares kits, patches and whole pieces, and a native-extension interface calls into Rust when you need to go deeper.
use "std/instruments" { Sampler, Kit };
let drums = AudioTrack("drums");drums.set_instrument(Sampler(Kit("CR-78")));drums << [bd _ sd [_ bd]];
let bass = MidiTrack("bass");bass >> MidiOutput("synth");bass << [C2 _ [E2 G2] _];
PLAY;Selected in VSCode and evaluated, it plays, and you change it while it does. As a project’s
src/main.non, with render(8); in place of PLAY;, resonon run bounces it to a WAV file — the
drums, since a MIDI track’s notes go to a synth, not into the file.
Two ways to run a piece says which is for what.
The manual
Section titled “The manual”Start with Getting Started, then follow the numbered learning path. Each tutorial includes a starting-state check so an earlier exercise does not keep playing underneath it.
Tutorials Learn by doing. Start with Getting Started: install, make a sound, build a beat, save a project and arrange a short song. Then follow the learning path through live coding, language, patterns, harmony, mixing and modulation. Choose MIDI, DSP or visuals after that.
How-to guides Get one job done. Each guide is one task, grouped by topic: setup, running and rendering, patterns, audio, MIDI, DSP and visuals.
Reference Look it up: every function and method of the standard library, the language, the mini-notation, the CLI and every setting.
Explanation Understand why: the two ways to run a piece, how patterns and cycles work, how the audio graph is built, and why resonon behaves as it does.