Bisher haben wir uns nur damit befasst neue Klänge und Effekte zu triggern. Mit Sonic Pi kannst du aber laufende Klänge auch steuern und verändern. Um das zu tun, fassen wir eine Referenz zu einem Synth in einer Variable:
s = play 60, release: 5
Jetzt haben wir eine lokal ausgeführte Variable s
, die einen Synth repräsentiert, der die Note 60 spielt. Beachte, dass sie lokal ausgeführt wird - das bedeutet, du kannst nicht von andere Ausführungen, wie z. B. Funktionen auf sie zugreifen.
Sobald wir s
gesetzt haben, können wir es mit der control
-Funktion steuern:
s = play 60, release: 5
sleep 0.5
control s, note: 65
sleep 0.5
control s, note: 67
sleep 3
control s, note: 72
Wichtig zu bemerken ist hier, dass wir nicht 4 verschiedene Synths starten - wir starten nur einen Synth und ändern dann seine Tonhöhe dreimal im Nachhinein, während er noch spielt.
Wir können jeden der Standard-Parameter an die control
-Funktion übergeben, so kannst du Dinge wie amp:
, cutoff:
oder pan:
steuern.
Manche der Optionen können nach dem Start des Synths nicht mehr kontrolliert werden. Das ist der Fall bei allen ADSR-Hüllkurven-Parametern. Welche Opts steuerbar sind, kannst du herausfinden, indem du ihre Dokumentation im Hilfe-Fenster ansiehst. Wenn dort steht Can not be changed once set, dann weißt du, dass es nicht möglich ist diese Option zu steuern, nachdem der Synth gestartet ist.