負の音量、負の周波数
トレモロのプログラムではlfoの出力をそのまま.gainにセットしているので、負の値になることもある。.gainに負の値をセットすると入力波形が反転される。内部の処理としては単に入力波形と.gainの乗算をしているだけだと思う。
SinOsc ps => dac.right; SinOsc ns => dac.left; 440 => ps.freq => ns.freq; 1 => ps.gain; -1 => ns.gain; while(ms => now) <<<dac.right.last(), dac.left.last()>>>;
.freqにも負の値をセットすることができる。負の周波数についてはWikipediaの「Negative frequency」に解説がある。一言で書くと正負で回転の向きが逆になるってことで、円を思い浮かべて、正の周波数のときは反時計回り、負の周波数のときは時計回りで円周を回るというイメージ。この辺はこれ以上踏み込んだら帰ってこれなくなりそうだから止める。
サイン波では、逆向きに回転させると元の波形の反転と同じになる。
SinOsc ps => dac.right; SinOsc ns => dac.left; 440 => ps.freq; -440 => ns.freq; while(ms => now) <<<dac.right.last(), dac.left.last()>>>;