これまでは、新しいサウンドとエフェクトを引き起こす方法についてだけ見てきましたが、Sonic Piは、演奏中の音を操り、処理する機能を備えています。次のコードのように、シンセの参照を取得するために変数を使用してこれを実現します。
s = play 60, release: 5
ここで、ローカル変数s
が音符60を演奏するシンセを表しています。この変数は、実行毎にローカルである点に注意してください。ある実行のdefineで定義された関数のように他の実行からアクセスすることはできません。
一度s
を用意すれば、control
関数を介して制御することができます。
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
演奏している間に、1つのシンセのみを呼び出し、3回ピッチを変更しています。ここで注目すべき点は、4つの異なるシンセを呼び出していないということです。
標準的なオプションはcontrol
へ渡すことができるので、amp:
, cutoff:
あるいはpan:
などを制御することができます。
一度シンセが開始されると、一部のオプションは制御することができなくなります。ADSRエンベロープ·パラメータがこれに該当します。そのオプションが制御可能かは、ヘルプシステムのドキュメントを参照してください。ドキュメントに「一度設定されると変更することは出来ません」と書かれている場合、シンセが開始された後にオプションを制御することはできません。