Strudel live coding : créer de la musique en code
Écrivez des motifs musicaux sous forme de code et écoutez-les instantanément dans l’éditeur Strudel intégré : TidalCycles pour navigateur.
Choisissez un motif de départ ci-dessous, appuyez sur lecture dans l’éditeur, puis modifiez le code pendant qu’il joue. C’est le live coding : la musique se met à jour dès que vous réévaluez.
Motif: Batterie
sound("bd hh sd hh")Le son démarre seulement après avoir appuyé sur lecture dans l’éditeur. Vous voulez l’environnement complet avec navigateur d’échantillons et visuels ? Ouvrir dans Strudel complet
Aide-mémoire de mini-notation Strudel
Les dix constructions qui donnent accès à l’essentiel du langage de motifs. Tout ce qui est entre guillemets doubles est de la mini-notation ; une séquence citée dure exactement un cycle.
| Construction | Exemple | Effet |
|---|---|---|
| sound() / s() | sound("bd hh sd hh") | Joue des échantillons ou synthés nommés : bd = grosse caisse, sd = caisse claire, hh = charleston. Les quatre événements partagent un cycle également. |
| note() | note("c4 e4 g4").sound("piano") | Joue des hauteurs par nom (c4, eb3) ou numéro MIDI et les envoie au son chaîné après. |
| * (répéter) | sound("hh*8") | Compresse 8 charlestons dans l’espace d’un événement : la manière standard d’écrire des subdivisions rapides. |
| ~ (silence) | sound("bd ~ sd ~") | Un emplacement silencieux. La grille d’événements conserve son timing ; le tilde ne joue simplement rien. |
| [ ] (groupe) | sound("bd [sd sd] bd sd") | Les crochets placent plusieurs événements dans un seul emplacement et en subdivisent le temps ; ici deux caisses claires rapides partagent le temps 2. |
| < > (alterner) | note("<c2 eb2 g2>") | Les chevrons jouent une entrée par cycle en les faisant tourner : une progression d’accords instantanée. |
| stack() | stack(sound("bd*4"), sound("hh*8")) | Superpose les motifs pour les jouer simultanément : pour construire une batterie complète ou ajouter une basse sous les percussions. |
| fast() / slow() | sound("bd sd").fast(2) | Accélère ou étire un motif : fast(2) place deux répétitions par cycle, slow(2) étale une répétition sur deux cycles. |
| rev() | note("c4 e4 g4 b4").rev() | Inverse le motif dans chaque cycle : une variation mélodique en un mot. |
| .euclid(k, n) | sound("bd").euclid(3, 8) | Répartit k frappes aussi régulièrement que possible sur n pas. euclid(3,8) est le rythme tresillo derrière d’innombrables grooves latins et dansants. |
À propos de Strudel et du live coding
Recettes de motifs à essayer dans l’éditeur
Copiez l’un de ces exemples dans l’éditeur intégré, lancez la lecture, puis faites-les muter un jeton à la fois.
| Code | Ce que vous entendez | Idée démontrée |
|---|---|---|
| sound("bd hh sd hh") | Un backbeat de base : grosse caisse, charleston, caisse claire, charleston, une fois par cycle | Quatre événements divisent un cycle également : le hello world de la mini-notation. |
| sound("bd*4, hh*8") | Une grosse caisse four-on-the-floor sous un flux de charlestons en croches | Une virgule dans les guillemets superpose des séquences, comme un stack() compact. |
| note("<c2 eb2 g1 bb1>").sound("sawtooth").lpf(500) | Une ligne de basse sombre et filtrée qui change de fondamentale à chaque cycle | Les chevrons alternent par cycle ; lpf(500) est un filtre passe-bas de 500 Hz qui adoucit la dent de scie. |
| sound("bd").euclid(3, 8) | Le tresillo : frappes aux pas 1, 4 et 7 sur 8 | Les rythmes euclidiens répartissent 3 frappes aussi régulièrement que possible sur 8 pas, du son cubain à l’EDM. |
| note("c4 e4 g4 b4").rev().fast(2) | Un arpège descendant joué deux fois par cycle | Les transformations s’enchaînent de gauche à droite : inversez le motif, puis doublez sa vitesse. |
Comment commencer le live coding
- Cliquez sur un motif de départ — Batterie, Mélodie, Ligne de basse ou Polyrythmie — pour charger son code dans l’éditeur Strudel intégré.
- Appuyez sur le bouton lecture dans l’éditeur (les navigateurs exigent un clic avant de démarrer tout son).
- Modifiez le code pendant qu’il joue : changez un nom d’échantillon, ajoutez *2 à un événement ou remplacez une note, puis appuyez sur Ctrl+Enter (Cmd+Enter sur Mac) pour réévaluer.
- Superposez d’autres motifs avec stack() et façonnez-les avec fast, slow, rev ou euclid à l’aide du tableau de référence.
- Quand un motif dépasse l’ébauche, ouvrez Strudel complet pour accéder à l’environnement avec navigateur de sons et visuels.