Orca : coder la musique en direct avec un langage ésotérique
Orca est un langage de programmation ésotérique conçu pour le live coding musical. Développé par Hundred Rabbits (Devine Lu Linvega), il permet de générer des séquences MIDI, OSC ou UDP en temps réel à partir d’une grille de caractères ASCII.
Principe : une grille vivante
Orca fonctionne comme un automate cellulaire : chaque caractère sur une grille 2D est un opérateur qui s’exécute à chaque tick d’horloge. Les opérateurs lisent leurs voisins (à gauche, à droite, en haut, en bas) et produisent un résultat qui peut déclencher d’autres opérateurs ou envoyer un signal audio.
1..D4..........
2..3...........
3..C...........
4..3*..........
5....M36.......
Un programme Orca, c’est ça : du texte brut, lisible, modifiable en direct pendant une performance.
Les opérateurs fondamentaux
Orca distingue les opérateurs en minuscule (passifs, s’exécutent quand ils reçoivent un bang) et en majuscule (actifs, s’exécutent à chaque tick).
| Opérateur | Rôle |
|---|---|
D | Delay — laisse passer un bang toutes les N ticks |
C | Clock — génère un compteur cyclique de 0 à N |
A | Add — additionne deux valeurs |
M | Multiply — multiplie deux valeurs |
R | Random — génère une valeur aléatoire dans un intervalle |
I | Increment — incrémente une valeur |
F | If — compare deux valeurs et envoie un bang si égales |
: | MIDI — envoie une note MIDI (canal, octave, note, vélocité, durée) |
; | UDP — envoie un message UDP |
= | OSC — envoie un message OSC |
Un exemple concret
Voici une séquence simple qui joue une note MIDI toutes les 4 ticks :
1D4..........
2.*..........
3.:03C4......
Décryptage :
D4: retarde le signal toutes les 4 ticks → envoie un bang.*: le bang active l’opérateur suivant.:03C4::envoie une note MIDI — canal 0, octave 3, note C (do), vélocité 4
En changeant le 4 du D4 en live, on change le tempo instantanément.
Pourquoi Orca ?
Orca n’est pas un séquenceur comme les autres. Sa force vient de plusieurs aspects :
Minimalisme radical — Pas d’interface graphique complexe, pas de menus. Juste une grille de caractères et un éditeur. Il tourne dans un terminal, dans le navigateur ou comme app standalone.
Live coding pur — Toute modification est instantanée. On compose et on performe en même temps. C’est un instrument de scène à part entière, utilisé lors de performances de live coding.
Puissant malgré sa simplicité — La combinaison des opérateurs permet de construire des patterns rythmiques, harmoniques et mélodiques complexes avec très peu de caractères.
Éco-conception — Hundred Rabbits développe ses outils en pensant à la sobriété numérique. Orca est léger, multiplateforme et fonctionne sur du matériel ancien.
Installation et premiers pas
Version navigateur
La façon la plus rapide d’essayer Orca est la version web : hundredrabbits.github.io/Orca
Aucune installation, directement dans le navigateur. Pour entendre du son, il faut activer le synthétiseur intégré (touche *).
Version desktop (Electron)
1git clone https://github.com/hundredrabbits/Orca.git
2cd Orca
3npm install
4npm start
Connexion MIDI
Pour contrôler un synthétiseur externe ou un DAW (Ableton, Reaper…) :
- Créer un port MIDI virtuel (ex. loopMIDI sous Windows, IAC Driver sur macOS)
- Sélectionner ce port dans les préférences MIDI d’Orca
- Utiliser l’opérateur
:pour envoyer des notes
La communauté
Orca est open source (GitHub) et dispose d’une communauté active autour du live coding. Des performances sont régulièrement streamées sur Twitch et YouTube, notamment via la scène TOPLAP.
Un bon point d’entrée pour apprendre : le wiki officiel et les exemples inclus dans le dépôt.
Conclusion
Orca est une expérience à part. Programmer de la musique avec un alphabet de 26 lettres sur une grille ASCII, c’est déroutant au premier abord, mais incroyablement expressif une fois les bases acquises. Si tu veux explorer l’intersection entre code et musique en temps réel, Orca est un excellent point de départ.