Aller au contenu

Premier Sons avec Strudel

Apprenez à jouer des sons et créer des rythmes avec Strudel.


Comment utiliser le REPL

Le REPL (Read-Eval-Print Loop) est l'endroit où vous allez coder avec Strudel.

  1. Cliquez dans le champ de code ci-dessous
  2. Appuyez sur Ctrl + Enter pour jouer
  3. Changez le son (par exemple metal)
  4. Appuyez sur Ctrl + Enter pour mettre à jour
  5. Appuyez sur Ctrl + . pour arrêter

Ouvrir Strudel REPL


Jouer un Son

La fonction sound (ou s) permet de jouer un son :

sound("casio")

Note

Il peut y avoir un petit temps de chargement lors du premier lancement d'un son.


Les Sons Disponibles

Voici quelques sons disponibles par défaut :

sound("insect wind jazz metal east crow casio space numbers")

Essayez ces sons dans le REPL !


Numéro d'échantillon

Un son peut contenir plusieurs échantillons (fichiers audio). Pour sélectionner un échantillon spécifique, ajoutez : suivi d'un numéro :

sound("casio:1")
  • casio = casio:0 (premier échantillon)
  • casio:1 = deuxième échantillon
  • Et ainsi de suite...

Sons de Batterie

Strudel dispose de nombreux sons de batterie intégrés :

sound("bd hh sd oh")

Correspondance des sons

Code Description
bd Bass Drum (Grosse caisse)
sd Snare Drum (Caisse claire)
rim Rimshot
hh Hi-Hat
oh Open Hihat
lt Low Tom
mt Middle Tom
ht High Tom
rd RiDe cymbal
cr CR**ash cymbal

Bank de Batteries

Pour changer le caractère des drums, utilisez bank :

sound("bd hh sd oh").bank("RolandTR909")

Banques disponibles

  • RolandTR909 (House, Techno)
  • RolandTR808
  • AkaiLinn
  • RhythmAce
  • RolandTR707
  • ViscoSpaceDrum
  • bossdr110

Séquences

Séquence simple

Séparez les sons par un espace pour créer une séquence :

sound("bd hh sd hh")

Le contenu sera joué sur un cycle (2 secondes par défaut).

Accélérer la séquence

Plus vous ajoutez de sons, plus ça joue vite :

sound("bd bd hh bd rim bd hh bd")

Alternance avec < >

Les crochets < > permettent de jouer un son par cycle (le tempo ne change pas) :

sound("<bd hh rim oh>")

Pour accélérer :

sound("<bd hh rim oh>*8")

Silences

Utilisez - ou ~ pour les silences :

sound("bd hh - rim - bd hh rim")

Sous-séquences

Les crochets [] permettent de subdiviser le temps :

sound("bd [hh hh] sd [hh bd] bd")

Le contenu entre crochets est joué dans le même temps qu'un seul son !


Multiplication

Utilisez * pour accélérer un son ou une sous-séquence :

sound("bd hh*2 rim hh*3 bd")
  • hh*2 = joue 2 fois plus vite
  • hh*3 = joue 3 fois plus vite

Sous-séquence accélérée

sound("bd [hh rim]*2 bd [hh rim]*1.5")

Sous-sous-séquences

Imbriquez les crochets pour des patterns complexes :

sound("bd [[rim rim] hh] bd cp")

Vous pouvez aller aussi profond que vous voulez !


Parallèle avec virgules

Utilisez , pour jouer plusieurs séquences en parallèle :

sound("hh hh hh, bd casio")

Plusieurs virgules

sound("hh hh hh, bd bd, - casio")

Dans une sous-séquence

sound("hh hh hh, bd [bd,casio]")

Multi-lignes

Utilisez les backticks ` pour écrire sur plusieurs lignes :

sound(`
bd*2, - cp, 
- - - oh, hh*4,
[- casio]*2
`)

Sélection d'échantillons avec n

Au lieu de sélectionner每个样品 individuellement :

sound("jazz:0 jazz:1 [jazz:4 jazz:2] jazz:3*2")

Utilisez la fonction n pour plus de lisibilité :

n("0 1 [4 2] 3*2").sound("jazz")

Changer le tempo

Avec setcpm

setcpm(90/4)
sound("<bd hh rim hh>*8")
  • cpm = Cycles Per Minute (Cycles par minute)
  • Par défaut : 30 cpm = 1 cycle toutes les 2 secondes
  • 90/4 = 90 BPM en 4/4 (8 croches par cycle)

Résumé : Mini-notation

Concept Syntaxe Exemple
Séquence espace sound("bd bd sd hh")
Numéro sample :x sound("hh:0 hh:1")
Silence - ou ~ sound("metal - jazz")
Alternance <> sound("<bd hh rim>")
Sous-suite [] sound("bd [hh hh] sd")
Vitesse * sound("bd sd*2")
Parallèle , sound("hh*2, bd*2")

Résumé : Fonctions

Fonction Description Exemple
sound / s Joue le son sound("bd sd")
bank Sélectionne la bank sound("bd").bank("RolandTR909")
setcpm Définit le tempo setcpm(90)
n Sélectionne sample n("0 1 2").sound("jazz")

Exemples de Beats

Rock basique

setcpm(100/4)
sound("[bd sd]*2, hh*8").bank("RolandTR505")

House classique

sound("bd*4, [- cp]*2, [- hh]*4").bank("RolandTR909")

We Will Rock You

setcpm(81/2)
sound("bd*2 cp").bank("RolandTR707")

Exercice

Essayez de créer votre propre beat dans le REPL !