2026-03-01 03:00:35 +01:00
2026-03-01 01:05:43 +01:00
2026-03-01 00:58:26 +01:00
2026-03-01 00:58:26 +01:00
2026-03-01 00:58:26 +01:00
2026-03-01 01:50:34 +01:00
2026-02-28 03:33:54 +01:00
2026-03-01 00:58:26 +01:00
2026-02-27 14:39:42 +01:00
2026-02-28 02:26:33 +01:00
2026-02-26 23:45:03 +01:00
ok
2026-03-01 03:00:35 +01:00

Cagire

A Forth-based live coding sequencer

Cagire

Website · GitHub · AGPL-3.0

Cagire is a terminal-based step sequencer for live coding music. Each step in a pattern contains a Forth script that gets evaluated at the right time, producing sound and events. It ships with a self-contained audio engine — no external software needed.

Examples

A filtered sawtooth with reverb:

saw sound 200 199 freq 400 lpf .8 lpq .3 verb .

A generative pattern using randomness, scales, and effects:

sine sound 2 fm 0.5 fmh
0 7 rand minor 50 + note
.1 .8 rrand cutoff
1 4 irand 10 * delay .5 delayfb
.

Features

  • Cagire's Forth: a stack-based DSL specialized for live coding
    • Concise and light syntax, every step is a short script. Forth has almost no syntax, only words and numbers.
    • Nondeterminism: randomness, probabilities, patterns as first-class operations.
    • Quotations: code blocks ( ... ) that compose with probability, cycling, euclidean, and conditional words.
    • User-defined words: extend the language on the fly with :name ... ; definitions.
    • Interactive documentation: built-in tutorials with runnable examples.
  • Audio engine (powered by Doux):
    • Synthesis: classic waveforms (saw, pulse, tri, sine), additive, FM (2-op, 3 algorithms), additive synthesis, wavetables, 7-voice spread, Mutable Instruments Plaits models: modal, granular, waveshaping, chord, swarm, etc.
    • Drum models: kick, snare, hat, tom, rim, cowbell, cymbal with timbral morphing.
    • Sampling: disk-loaded samples with slicing, pitch tracking, wavetable mode, and live recording from engine output or line input.
    • Filters: biquad LP/HP/BP and ladder filters, each with independent envelope.
    • Effects: phaser, flanger, chorus, smear, distortion, wavefolder, wavewrapper, bitcrusher, sample-rate reduction, 3-band EQ, tilt EQ, Haas stereo.
    • Bus effects: delay (standard, ping-pong, tape, multitap), two reverb engines (Dattorro plate, Vital Space), comb filter, feedback delay with LFO, sidechain compressor.
    • Modulation: vibrato, AM, ring mod, pitch envelope, FM envelope, glide — all with selectable LFO shapes (sine, tri, saw, square, sample & hold).
  • Sequencing: probabilities, patterns, euclidean structures, sub-step timing, pattern chaining and a lot more.
  • MIDI: receive or send MIDI messages across up to 4 inputs and 4 outputs.
  • Ableton Link: tempo and phase sync with any Link-enabled software or hardware.
  • Cross-platform: terminal and desktop interfaces on macOS, Linux, and Windows.
  • Plugins: run Cagire as a CLAP or VST3 plugin inside your DAW (separate version).

Getting started

Download the latest release for your platform from the website.

To build from source instead, see BUILDING.md.

Documentation

Cagire includes interactive documentation with runnable code examples. Press F1 in the application to open it.

Credits

Cagire is developed by BuboBubo (Raphael Forment).

  • Doux (audio engine) — Rust port of Dough, originally written in C by Felix Roos
  • mi-plaits-dsp-rs — Rust port of Mutable Instruments Plaits DSP by Oliver Rockstedt, original code by Emilie Gillet

License

AGPL-3.0

Description
Forth music sequencer for live coding
https://cagire.raphaelforment.fr
Readme AGPL-3.0 58 MiB
Languages
Rust 95.4%
Python 2.1%
Astro 1.5%
CSS 0.6%
JavaScript 0.2%
Other 0.1%