演奏中のシンセ制御

これまでは、新しいサウンドとエフェクトを引き起こす方法についてだけ見てきましたが、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エンベロープ·パラメータがこれに該当します。そのオプションが制御可能かは、ヘルプシステムのドキュメントを参照してください。ドキュメントに「一度設定されると変更することは出来ません」と書かれている場合、シンセが開始された後にオプションを制御することはできません。