Modulation(RM/リング変調、リング・モジュレーション)をMaxで作ってみましょう。RMとはAMラジオ、FMラジオというのを聞いたことがあると思いますが、AMやRMも実は無線による信号伝達に使用される方法です。音声をそのまま電波に乗せると、ノイズが多く聞き取れなかったり複数の音声が混ざってしまうので、AMやRMをかけることで必要な音声だけを取り出すことができます。このような無線技術の仕組みがシンセサイザーに組み込まれ、音響合成として使用されるようになりました。RMは共に、やや金属的な印象の音になります。Modulator(RM)を作ってみましょう。キャリアとモジュレータを作るキャリアは元となる音声信号です。好きな信号を入れて良いのですが、ここでは学習のために[cycle~]を使用しましょう。モジュレータはサイン波なので同様に[cycle~]を使用します。どちらも周波数を変更できるようにナンバーボックスを接続します。キャリアとモジュレータをかけ合わせるこれらを[*~]で掛け合わせることで、キャリアとモジュレータが合成されます。[ezdac~]を接続し、キャリアとモジュレータの周波数を変更して音を聞いてみましょう。音響合成の結果を確認RMの結果をスペクトラムで確認してみましょう。RMは元となる信号に対して、モジュレータの周波数をプラス・マイナスした周波数が出力されます。計算で求めてみましょう。キャリア周波数をモジュレータ周波数でプラス・マイナスしてみましょう。Hzの2つの周波数に分かれて出力されます。(AM)を作ってみましょう。キャリアとモジュレータを作るAMでもキャリアとモジュレータを用意します。RMと同様に今回はキャリアを[cycle~]にしましょう。モジュレータの振幅を変更するRMではモジュレータの振幅をそのまま使用していました。RMでは-1~1の範囲で変調していましたが、AMでは0~1の範囲で変調します。ある範囲のシグナルを異なる範囲にマッピングし直すのに便利なオブジェクトが[scale~]です。シグナルの振幅を確認するのに[scope~]は便利です。信号が新たにマッピングされたことを確認できます。キャリアとモジュレータをかけ合わせるAMと同様にキャリアとモジュレータの信号を[*~]でかけ合わせます。[ezdac~]を接続し、周波数を変更して出音を聞いてみましょう。音響合成の結果を確認AMの結果をスペクトラムで確認してみましょう。RMでは合成後が山が2つだったのに対し、AMでは3つになりました。AMではキャリアの周波数と、RMで計算した2つの周波数を合わせた3つの周波数が出力されます。ミックスするパラメータを作る実際に使用する時はエフェクトのようにして、キャリアに対してミックスする形が多いと思います。それをできるようRM,AMで組み替えてみましょう。RMの場合RMでミックスする場合は、ミックスする信号を以下の信号に分けましょう。キャリアのみキャリアとモジュレータを混ぜた信号これらの信号を1つのパラメータ変更でミックスできるようにします。ナンバーボックスで0~1の数値を送った時に、0で原音のみ、1でRMのみ(0.5でどちらも)出力されるようにします。キャリアのみをミックス部分ごとに作っていくと分かりやすいので、まずはキャリアをミックスする部分を作ります。キャリアに対しミックスのパラメータを与えた時に、0ではボリュームが最大、1では信号が流れないようにします。エフェクトは付加する形なので、ディフォルトでは音声がそのまま流れるようにアーギュメントは「1」に設定しています。1.]オブジェクトを繋ぎ、それにミックス値のナンバーボックスを繋ぎました。[!-]は逆の引き算で、アーギュメントで設定した値を入ってきた数値で引き算します。1]に対して0を送ると1を、0.2を送ると0.8、1を送ると0を出力します。これで0~1の数値を送ると、キャリアのボリュームが変更されるようになり、キャリア部分のミックスができるようになりました。RMをミックスRMの信号は先程作ったものと同様です。これは単純でボリュームの処理を繋げるだけです。0]を繋げ、それの第2インレットにミックスのナンバーボックスを繋げました。2つを同時にミックス2つの処理ができましたので、ミックスの数値を変更しただけでこれらの処理が同時に行われるようにします。重複しているオブジェクトを削除して繋げていきます。「キャリアのみ」側のミックスのナンバーボックスを削除し、RM側のナンバーボックスを繋ぎました。次に、キャリアの信号は同じものを使用したいので片方を削除し、もう一つから信号を貰いました。最後に[ezdac~]を1つ削除し、2つの信号を[+~]で接続し直しました。最後に整形して終わりです。AMの場合AMは2つの信号をミックスするのではなく、モジュレータの振幅を変更するだけです。RMではモジュレータの振幅を0にするとキャリアの信号がならなくなるため、2つの信号に分けていました。AMとミックス用のナンバーボックスを用意します。1]の第5インレットに接続します。ここは出力範囲の最大値の設定になります。0~1を送ることでモジュレータ振幅の最大値も0~1の設定になります。実際に使用するときは画像のようにキャリアをサンプルにしたり、モジュレータやミックスを[function]や[adsr~]を使ってエンベロープを書くことが多いと思います。マイクからの信号をキャリアにして、喋るとボイスチェンジャーになって面白いです。