【Max 8】FMで周波数を変調する

記事をシェアする:

FMとは

FMラジオ、AMラジオというのを聞いたことがあるかもしれませんが、無線の信号伝達に使われる方法として Frequency Modulation(FM/周波数変調), Amplitude Modulation(AM/振幅変調)があります。

音声信号をそのまま電波に乗せると、様々な信号が混線し受信したい信号に他の信号が混ざってしまいます。そこで周波数に変調をかけ、受信側で同じ周波数のものだけを受信するという方法が取られるようになりました。それがFMです。

このように信号伝達のために作られた方法なのですが、伝統的なシンセに取り入れられています。今回はMaxでFMを作ってみましょう。

なおAM(とRM)の作り方はこちらの記事を参考にしてください:
【Max 8】AM, RMで振幅を変調する

FMを作る

さっそくFrequency Modulation(FM)を作ってみましょう。

キャリアとモジュレータを作る

キャリアは元となる音声信号です。好きな信号を入れて良いのですが、ここでは学習のために[cycle~]を使用しましょう。

モジュレータは変調をかけるための信号です。サイン波なので同様に[cycle~]を使用します。どちらも周波数を変更できるようにナンバーボックスを接続します。

モジュレータの深度を変更できるようにする

FMは周波数に対して変調をかける方法です。キャリアの周波数に対して、モジュレータの周波数を足すことでFMを行います。周波数を動かす演奏方法として「ビブラート」がありますが、音としてはそれの高速版になります。

モジュレータ側にオブジェクトを追加しましょう。

モジュレータに機能を追加したので、コメントが変わっていることに注意してください。左側のナンバーボックスが先程の「モジュレータ」です。

[cycle~]は-1~1の間で振幅します。キャリアの周波数を前後させるの-1~1では変化が小さすぎてビブラートにもなりません。[*~]を使って乗算することで深度を変化できるようにします。たとえば深度を50に設定すれば、-50~50で振幅します。

キャリアの周波数を変更できるようにする

キャリア自身の周波数は変更でき、さらにモジュレータからの周波数変調を受け入れられるようにします。

モジュレータと同様にキャリア側のコメントも「キャリア周波数」としました。

[cycle~]に数値を設定することで周波数を指定しているので、ナンバーボックスとの間に[+~]を挟みました。ここにモジュレータ側の信号を受けることで、周波数変調が行われます。

キャリアとモジュレータを繋げる

これまで作ったキャリアとモジュレータを画像のように接続することで、FMが完成しました。それぞれの周波数とモジュレーション深度を変更し、音を聞いてみてください。

音響合成の結果を確認

FMではどんな音になるかスペクトラムで確認しみましょう。

「キャリア周波数」と「音響合成の結果」の山頂が一致していますね。これはキャリア周波数が結果の中心周波数になるということです。

キャリアとモジュレータの周波数の関係

一方モジュレーション周波数はスペクトラムの左側にあります。スペクトラムの左端から、この山までの距離が大切です。これはキャリア周波数の山頂から次の山までの距離になります。

つまりキャリア周波数にモジュレーション周波数をプラス・マイナスした値が、次の山の周波数になります。そしてピークの高さを減らしながら、同じ距離で次のピークを作ります。

それぞれの山の周波数を計算で出すと以下のようになります。

9,000 – 1,0008,000 Hz
10,000 – 1,0009,000 Hz
10,00010,000 Hz(キャリア周波数)
10,000 + 1,00011,000 Hz
11,000 + 1,00012,000 Hz

モジュレーション深度の効果

モジュレーション深度の数を増やすほど山が幅広くなります。これによって倍音が強く出てくるので耳に痛い、強い音の印象の音になります。

記事をシェアする: