đŸĻĢ Coypu
Live Coding Music in Pharo

A compact, iconic syntax for programming music on the fly. Write a rhythm as one line, hear it immediately, change it while it plays — and send it to SuperDirt, Kyma, Pure Data, MIDI hardware or the built-in Phausto DSP engine, all from a Pharo Playground.

Install
Metacello new baseline: 'Coypu'; repository: 'github://lucretiomsp/coypu:master'; load

What Coypu is

Coypu is a live-coding client: you describe patterns as Pharo expressions and it plays them, continuously, while you keep editing. It does not make sound itself. It decides when and what — a sound engine decides how that sounds.

That separation is the design. One pattern can drive a SuperCollider sampler, a Kyma Paca(rana), a hardware synthesiser over MIDI, or a Phausto instrument compiled inside your own image, without being rewritten.

A first taste

Four lines: set a tempo, put a kick and a clave on two instruments, start the transport.

"the Performance is the singleton holding every running pattern"
p := Performance uniqueInstance.
p freq: 132 bpm.

"four-to-the-floor on the kick, Cuban son clave on the conga"
16 downbeats to: #kick.
16 claveSon  to: #conga.

p play.

Edit any of those lines and re-evaluate it while the transport runs. The change takes effect at the next step; nothing is rebuilt and nothing stops.

New here? Read Setup & Installation, then First Sounds. If you would rather start from the rhythms themselves, the Rhythm Library documents all 31 of them with step patterns taken straight from the source.