Raphaël Forment cc89021cc0
All checks were successful
Deploy Website / deploy (push) Has been skipped
Feat: update CLAP / VST CI
2026-03-02 23:39:43 +01:00
2026-03-01 11:01:10 +01:00
2026-03-01 19:09:52 +01:00
2026-03-01 19:38:52 +01:00
2026-03-01 03:33:22 +01:00
2026-03-01 22:44:00 +01:00
2026-03-01 19:09:52 +01:00
2026-03-01 11:01:10 +01:00
2026-03-01 20:00:05 +01:00
2026-03-01 20:00:05 +01:00
2026-03-01 11:01:10 +01:00
2026-03-01 11:30:00 +01:00
2026-03-01 19:57:02 +01:00

Cagire

A Forth-based live coding sequencer

Cagire

Website · GitHub · AGPL-3.0

Cagire is a terminal based step sequencer and live coding platform. Each step in a sequence is represented by a Forth script. It ships with a self-contained audio engine. No external software is needed, Cagire is a fully autonomous musical instrument that provides everything you need to perform.

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 language made for live coding
    • Forth has almost no syntax, only words, numbers and spaces. Very easy to learn for beginners, quite deep for experienced programmers.
    • Nondeterminism and generative: randomness, probabilities, patterns thought as first-class features.
    • Quotations: code blocks ( ... ) that compose with probability, cycling, euclidean, and conditional words.
    • User-defined words: extend (or redefine) 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: seven drum models with timbral morphing.
    • Sampling: disk-loaded samples with slicing, looping, 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. Filters can be modulated, stacked, etc.
    • 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%