Tzopilotl : créez votre musique en live-coding

Tzopilotl : créez votre musique en live-coding

Sep 05, 2026 live coding audio programming compilers real-time systems open source music technology signal processing c++

Quand les compilateurs font de la musique

Tu connais ce feeling ? Tu es en train de coder ton synthé, la session tourne, et là — catastrophe — tu dois tout casser pour tester une idée. Tzopilotl débarque pour flinguer cette frustration.

Le concept

Concrètement, Tzopilotl c'est un langage de live coding pour l'audio. Mais pas n'importe lequel : avec du typage statique. Là où la plupart des DAW te forcent à recompiler, redémarrer, recharger ton plugin dans des cases prédefinis, ici tu modifies tes paramètres en temps réel. Le son suit. Sans coupure. Sans glitch.

Ce qui change vraiment

Fini le jeu du mikado entre code et son. Tzopilotl compile tes definitions de synthés en plugins natifs via un pipeline de 14 passes. Pendant que la musique tourne, le compilateur bosse en arrière-plan. Des que c'est pret, hop — hot-swap sans perdre une seule note.

Pour les curieux du technique, derrière le capot on trouve un moteur de réécriture algébrique et une génération de C++ optimisé SIMD. Le tout tournant sur une VM avec un allocateur O(1) TLSF et un garbage collector incrémental avec des pauses sous la milliseconde. Pas de parasites audio en pleine исполнениe, quoi.

Les trois piliers

Tout tient sur trois moteurs qui fonctionnent ensemble :

  1. Le langage lui-même — Une approche fonctionnelle de la programmation audio, avec inférence de types moderne
  2. Le compilateur de synthdef — Transforme les graphes de signaux en plugins natifs optimisés, avec environ 200 générateurs d'unités disponibles
  3. Le moteur temps réel — Gère le patching dynamique, les connexions en crossfade, la communication lock-free entre threads RT et non-RT, le parallélisme multicœur et le scheduling à l'échantillon près

La stack technique

Pour les amateurs de details :

  • Typage statique avec inférence — moins de bugs, moins de boilerplate
  • Immuable par défaut — code concurrent plus sûr
  • Pattern matching et coroutines — des flux audio complexes mais lisibles
  • Mapping auto sur les arrays — pas besoin de boucles explicites pour vectoriser
  • Pipeline gauche-droite — ça ressemble à du signal flow, et ça s'utilise comme tel

Ça tourne comment ?

Compiler depuis les sources, c'est direct. macOS et Linux supported. Il te faut Clang (AppleClang pour Apple, Clang 19+ pour Linux), CMake 3.21+, un toolchain C++23, et CoreAudio sur Mac ou ALSA/JACK/PulseAudio sur Linux.

Un clone, le build script, et tu peux commencer à coder ton LFO sur un sine via un filtre peigne. Le classique pour découvrir la plateforme.

Pourquoi ça compte

Le live coding, historiquement, c'était le Far West. Soit tu bidouillais des APIs bas niveau, soit tu déboursais pour des outils propriétaires souvent opaques.

Tzopilotl apporte les réflexes de la prog moderne dans le domaine audio. Typage statique, immuabilité, patterns fonctionnels — mais sans sacrifier l'immédiateté que le live coding exige.

Pour les devs qui bossent sur des systèmes temps réel, le design de compilateurs ou la programation audio, c'est un terrain de jeu béton. Le pipeline de génération de code seul justifie le détour si tu veux voir comment des abstractions audio haut niveau se transforment en code machine efficace.

Va jetter un œil sur le projet : https://lfnoise.github.io/tzpl. La prochaine fois que tu mixes du code et de la musique, autant avoir les bons outils.

Read in other languages:

RU BG EL UZ CS TR SV FI RO PL PT NB HU NL IT ES DE DA ZH-HANS EN