Tever
FR

Essai · Informatique musicale

RACK-02 : dans les coulisses du générateur de techno

Audit technique de RACK-02 : comment une graine et des règles de probabilité génèrent des loops de techno reproductibles avec un moteur modulaire.

Interface de RACK-02 sur fond sombre avec des overlays techniques en rouge —forme d'onde, spectre de fréquences et pseudocode de génération par probabilité—, montrant les modules Clock, Scenes, Perform, Kick, Rumble, Bassline, Hats et Clap du rack modulaire

Ça fait un moment que j’appuie sur REROLL dans RACK-02 et chaque nouvelle graine sonne comme de la vraie techno —pas comme du bruit aléatoire avec une grosse caisse en dessous. Ça, dans un onglet de navigateur, sans rien installer, c’est ce qui m’a donné envie de m’asseoir pour écrire ceci. Ce n’est pas un test de produit. C’est un petit audit : ce qu’il y a derrière un outil comme celui-ci, avec quelles pièces on pourrait construire quelque chose de similaire, et pourquoi cela s’inscrit dans ce que j’explore déjà dans ce cahier au sujet des moteurs audio qui vivent entièrement dans le navigateur.

C’est l’œuvre d’un développeur qui se présente sous le pseudonyme SSX360. Je ne sais pas qui il est au-delà de ce pseudonyme, et je ne vais pas spéculer —je le traite pour ce qu’il est : un pseudo, pas une biographie.

Qu’est-ce que RACK-02

RACK-02 est un générateur algorithmique de loops de techno construit avec la Web Audio API, sans backend : tout le traitement du signal se fait dans le navigateur lui-même. Il a sa propre fiche sur /concepto/rack-02.

Sa décision de conception la plus visible est qu’il imite, à dessein, un rack modulaire Eurorack physique. Les panneaux se mesurent en HP (Horizontal Pitch), l’unité réelle avec laquelle on mesure la largeur d’un module Eurorack dans le monde physique. Ce n’est pas qu’une question esthétique : chaque bloc de l’interface —Kick, Bassline, Hats, le PATCHBAY de modulation— occupe sa place dans le rack comme le ferait un module réel vissé dans un boîtier. Quiconque a déjà patché un système modulaire reconnaît le vocabulaire immédiatement ; qui ne l’a pas fait l’apprend en observant comment les pièces se connectent à l’écran.

Contrôle : lancer, mélanger, muter

Les contrôles principaux sont peu nombreux et directs :

  • RUN lance la lecture.
  • REROLL génère une nouvelle graine : le loop change complètement.
  • MUTATE varie à partir de la graine actuelle, sans en changer la racine.
  • SCENES propose quatre emplacements chaînables —A, B, C, D— reliés par CHAIN, chacun avec sa propre longueur et son propre mode de morphing entre scènes.
  • PERFORM ajoute des pads pensés pour le jeu en direct : Fill, Drop, Stutter, Freeze.

Cette combinaison —REROLL pour explorer, MUTATE pour affiner, SCENES pour structurer une progression— est, en substance, un flux de composition assisté par des règles : on ne compose pas note par note, on compose l’espace des possibles d’où sort le résultat.

Les modules : une chaîne de synthèse techno complète

RACK-02 n’est pas qu’un séquenceur avec une boîte à rythmes derrière. Il embarque une chaîne de synthèse aux rôles bien définis, tous observables dans l’interface même :

ModuleFonction
KickGrosse caisse, tête de la chaîne rythmique
RumbleSub-grave alimenté par le kick, filtré et compressé en duck contre lui
BasslineLigne de basse avec racine, gamme, mode de mouvement et forme d’oscillateur sélectionnables (par exemple D#, Phrygian, Walking, Pulse-PWM)
HatsCharleston
ClapClap
PercPercussion auxiliaire
TomTom
StabCoup harmonique court
DronePaire d’oscillateurs désaccordés en continu, avec un filtre lent
AirBande de bruit résonant pour le room tone et les risers
VoxEntrée de voix en direct —chanter, parler ou envoyer une ligne audio— traitée par la même chaîne de plate reverb, delay et duck que les autres modules, pas comme un canal à part
GrainGranulateur

Ce dernier détail sur Vox me semble révélateur de l’approche du projet : il ne traite pas la voix comme un ajout spécial avec sa propre chaîne d’effets, il l’intègre dans le même bus de traitement déjà utilisé par Kick, Clap ou Stab. C’est une décision d’architecture, pas un détail cosmétique.

Séquençage probabiliste, pas des motifs fixes

Voici le cœur technique de l’article. Un séquenceur pas à pas classique est une grille on/off : le pas sonne ou ne sonne pas, toujours pareil, tour après tour. RACK-02 ne fonctionne pas ainsi. Chaque pas a deux paramètres propres :

  • PROB : probabilité de déclenchement. Un pas avec PROB à 60 % sonne environ six tours sur dix, pas tous.
  • ROTATE : décalage du motif complet, qui réorganise quel pas tombe où sans toucher aux valeurs de PROB de chacun.

Le résultat est un système génératif à deux couches : la graine fixe l’espace des possibles —quelle gamme, quelle densité, quelle relation entre les modules— et la probabilité décide, à l’intérieur de cet espace, ce qui sonne à chaque tour concret. C’est pour cela que REROLL ne sonne pas comme du bruit : il change la graine, pas les règles. Et c’est pour cela que deux loops issus de la même graine ne sonnent pas exactement pareil note pour note, mais sonnent bien de la même lignée, reconnaissable.

Cette même idée —des règles plus une graine, au lieu du hasard pur ou d’une séquence fixe— est transposable hors du navigateur. Un générateur équivalent en Python avec un random.seed() fixe et une table de probabilité par pas produirait le même type de comportement : reproductible si la graine est fixée, varié sinon. La pièce conceptuelle est la même que celle qui soutient tout système de composition algorithmique fondé sur des règles : on ne génère pas de la musique au hasard, on génère à l’intérieur de contraintes qui portent déjà une intention musicale intégrée.

PATCHBAY et CROSS-MOD : une vraie modulation

Ce qui distingue ensuite RACK-02 d’un simple pas à pas, c’est le PATCHBAY : une matrice de modulation par CV avec quatre LFO —formes rampe, carrée, sample & hold et dent de scie— routés vers des paramètres précis d’autres modules. Dans mes essais, j’ai vu des routes comme hat.tone, vox.ringhz, fx.plate ou perc.tone, chacune avec sa propre quantité et sa propre période mesurée en mesures (4, 8 ou 16). C’est exactement le vocabulaire d’un système modulaire physique —sortie CV d’un module, entrée CV d’un autre— implémenté en logiciel, sans aucun câble.

CROSS-MOD va un cran plus loin : une modulation croisée à fréquence audio, et non à la vitesse lente d’un LFO. La route observée est « Bass pitch (FM) », avec des contrôles Depth, Ratio, Fine et forme d’onde (Shape). C’est de la vraie FM —modulation de fréquence classique, la même famille technique qui a historiquement fait le DX7— appliquée ici à la basse même du rack.

GRAIN : granulaire avec feedback sur sa propre sortie

Le module GRAIN rééchantillonne la sortie du rack lui-même en boucle de feedback. L’interface elle-même le décrit ainsi : « grains are cut from the rack’s own output a moment ago, then thrown back pitched and scattered ». C’est de la synthèse granulaire appliquée non pas à un échantillon externe chargé par l’utilisateur, mais à ce que le rack est en train de produire à cet instant même, découpé, retranscrit en hauteur et dispersé de nouveau dans le mixage.

Rendu déterministe et reproductible

Chaque bounce de RACK-02 porte une graine visible —j’ai vu des valeurs comme 84149— et est déterministe : la même graine produit toujours le même résultat. L’outil lui-même le déclare sans détour : « every bounce here is seeded and reproducible; verification is what we do for critical systems ». C’est une phrase que, venant de mon travail quotidien avec des systèmes que j’ai besoin de pouvoir vérifier et reproduire, je valorise plus que je ne valoriserais un nouvel effet sonore. La génération algorithmique sans graine reproductible est difficile à déboguer, difficile à partager et difficile à citer. Avec une graine, un loop précis est une donnée, pas une anecdote.

AUTOMATION : capturer le geste, pas seulement le programmer

RACK-02 permet d’armer une automatisation et de bouger n’importe quel bouton pendant que le rack tourne : « Arm, then move any knob while the rack runs. The move is written to a 4-bar lane, loops from then on, and is baked into every bounce ». C’est une capture de geste en temps réel sur une piste de quatre mesures, pas une automatisation dessinée point par point sur une grille. La différence compte : un geste capturé en direct porte l’irrégularité humaine qu’une courbe dessinée à la main reproduit rarement aussi bien.

Exportation : audio, MIDI et état

RACK-02 ne reste pas enfermé dans l’onglet du navigateur. Il exporte :

  • De l’audio, via BOUNCE, au format loop, stems ou song/kit complet.
  • Du MIDI, avec EXPORT MIDI, ce qui permet d’amener les motifs générés vers n’importe quel DAW ou instrument compatible avec le protocole standard d’échange d’événements musicaux.
  • Des patches en JSON, avec PATCH state : l’état complet du rack sérialisé, reproductible et versionnable comme n’importe quel autre fichier texte.

Le MIXER, avec mute et solo par canal —Kick, Rumble, Clap, Hats, Perc, Tom, Bass, Stab et le reste—, referme le flux de travail avec le contrôle de mixage qu’on attend de tout moteur audio sérieux, pas seulement d’un jouet génératif.

La même ligne qu’openDAW, un cran plus loin

J’ai déjà écrit sur openDAW : une station de travail audio open source qui vit dans le navigateur, un DAW complet construit sur la Web Audio API, sans backend, sans inscription. RACK-02 appartient au même territoire de recherche que cet article : ce qu’il est possible de construire avec de l’audio en temps réel en utilisant seulement ce que le navigateur offre déjà de série, sans serveur derrière.

La différence est une question d’approche, pas de territoire. openDAW reproduit l’architecture d’un DAW généraliste : pistes, plugins, mixage. RACK-02 va plus étroit et plus profond dans une direction précise —synthèse modulaire de type Eurorack, génération algorithmique avec graine, modulation croisée à fréquence audio, granulaire avec feedback sur sa propre sortie—, le tout avec le même moteur de base : la Web Audio API tournant entièrement côté client. Deux cas différents de la même question : combien d’un studio de production professionnel tient aujourd’hui dans un onglet de navigateur, sans rien installer.

Bibliographie

Questions fréquentes