FM音源で遊んでみる #4 【OPNからPX7へ その3 マルチプル&トータルレベル】
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

FM音源で遊んでみる #4 【OPNからPX7へ その3 マルチプル&トータルレベル】

2013-06-30 21:17

    今現在の曲制作環境を使用して、かつてのレトロPCが実装していたFM音源のテイストを再現しようという企画の4回目です。

    前回はFM音源のパラメタのひとつ「アルゴリズム」に関するテキストを掲載しました。

    ちょっと間が開いてしまいましたが、今回は「マルチプル」と「トータルレベル」という2つのパラメタについて移植方法を模索してみたいと思います。


    ■OPNのパラメタ設定
    今回のお題である「マルチプル」「トータルレベル」の話をする前に、「OPN」でのパラメタ設定の例を画像でご紹介します。


    こちらは、実際に過去に公開した曲(↓)で使用したベースの音色定義です。



    100行目、102行目はコメント行。

    101行目は音色番号の宣言(以降、「@30」と記述することでこの音色が使用できるようになります)と、「アルゴリズム」「フィードバック」を定義しています。

    103~106行目がそれぞれオペレータ1~オペレータ4までのパラメタ設定となっており、102行目のコメントの通り、各オペレータ毎に10個のパラメタを記述します。

    このうち、「ML」「TL」というパラメタ名で設定されている部分が「マルチプル」「トータルレベル」を定義する箇所です。


    ■マルチプル
    それではまず「マルチプル」から見ていきましょう。

    過去のテキストで紹介したとおり、FM音源は正弦波を発生させる装置(=オペレータ)を実装しています。

    演奏のためには、発生させる音に音階をもたせる必要があり、これは出力する波形の周波数を変更することで対応します。(周波数が高いほど音階が高くなる)

    例えば「オクターブ4のラ」の音を出力するよう指示を送った場合、「オペレータ」が出力する波形の周波数は「440Hz」となります。

    「マルチプル」とは、実際に出力する波形がもともと指示された周波数に対し「何倍になるか?」を指定するパラメタです。

    前述した例と同様に「オクターブ4のラ」を出力するよう指示した場合、「オペレータ」の「マルチプル」設定によって得られる結果は以下の通りです。


    • 0: 220Hz Oct3-ラ(※実際には「0.5」)
    • 1: 440Hz Oct4-ラ
    • 2: 880Hz Oct5-ラ
    • 3: 1320Hz Oct6-ミ
    • 4: 1760Hz Oct6-ラ
    • 5: 2200Hz Oct7-ド#
    • 6: 2640Hz Oct7-ミ
    • 7: 3080Hz Oct7-ソ
    • 8: 3520Hz Oct7-ラ


    「1倍」となる「マルチプル:1」をベースに「マルチプル:2」は「440Hz」の倍である「880Hz」、逆に「マルチプル:0(=0.5)」は、半分の「220Hz」となります。
    さらに「0.5倍」「2倍」「4倍」「8倍」と2の倍数(もしくは2分1)をパラメタにあたえた場合は、オクターブ違いの周波数が出力される点にも注目してください。

    今回から実際の音色を聞いていただけるよう、「SoundCloud」にサンプル音も投稿しました。

    まずはオペレータ1つのみで「マルチプル:1」を設定した場合です。
    【サウンド№1】アルゴリズム「7」:OP4のみ


    今度は2つのオペレータを使用し、それぞれ「マルチプル:1」「マルチプル:0」を設定します。
    「アルゴリズム」は各オペレータが並列で正弦波を出力する「7番」を使用しています。
    【サウンド№2】アルゴリズム「7」:OP4/OP3
    オクターブユニゾンで演奏されているのがわかるかと思います。


    ■トータルレベル
    次に「トータルレベル」を見てみます。

    こちらは名前の通り、各「オペレータ」の出力レベルを設定するためのパラメタです。

    「OPN」の場合は「0」~「127」までの数値でレベル設定を行い、「0」が最大値、「127」が最小値となります。

    ちなみに、128段階均等なレベル設定ではなく、8~9増えるごとにレベルが半分になるというパラメタですので注意が必要です。(したがって、半分のつもりで「63」などを設定してしまうと、ほとんど音が出ない結果となりますw)

    「キャリア」となる「オペレータ」の場合は「0」を与えることが多いかと思います。

    実際に「トータルレベル」でのレベル変化を確認してもらうため、まずはオペレータ1つのみで「トータルレベル:22」を設定した場合の例です。
    【サウンド№3】アルゴリズム「7」:OP4 トータルレベル「22」
    音量がかなり小さくなっていることが確認できたかと思います。

    続いて、さきほどの「サウンド№2」に対し「マルチプル:0」側を「トータルレベル:22」へ変更した例です。
    【サウンド№4】アルゴリズム「7」:OP4 トータルレベル「0」/OP3 トータルレベル「22」
    低音域が小さくなっていることが確認できます。


    ■変調してみる
    「マルチプル」「トータルレベル」それぞれのパラメタについて紹介しました。

    これまでのサンプルは、全てアルゴリズム「7番」を利用し正弦波を並列で出力している状態で各々のパラメタ特性を確認していただきました。

    今度はアルゴリズム「0番」を利用し、「モジュレータ」による変調を行った場合の例です。

    まずは「サウンド№2」のアルゴリズムを並列から直列に変更したものです。
    【サウンド№5】アルゴリズム「0」:OP4/OP3
    「マルチプル:0」側が「モジュレータ」で、1オクターブ下の周波数で変調を施しています。
    だいぶエグい音になっていますが、これはこれでFM音源らしくてイイ感じですw

    次に「サウンド№4」のアルゴリズムを並列から直列に変更したものです。
    【サウンド№6】アルゴリズム「0」:OP4 トータルレベル「0」/OP3 トータルレベル「22」
    「モジュレータ」側のレベルを小さくした結果、「キャリア」に対する変調量が軽減され、結果としてベースっぽい音色になりました。

    さらに、オペレータ数を2つから4つに増やし、各オペレータについて以下のような設定を与えてみます。

    • OP1 [TL:28] [ML: 6]
    • OP2 [TL:58] [ML: 5]
    • OP3 [TL:22] [ML: 0]
    • OP4 [TL: 0] [ML: 1](キャリア)


    【サウンド№7】アルゴリズム「0」:フィードバック「0」
    だいぶズンダラベースっぽくなってきました。

    最後に「フィードバック」を最大値に設定し、より変調を加えてみます。
    【サウンド№8】アルゴリズム「0」:フィードバック「7」


    ■パラメタの移植
    「OPN」における「マルチプル」「トータルレベル」の役割が明確になったところで、今度は「PX7」に移植するためのメソッドを考えてみます。

    まずは「マルチプル」から。
    「OPN」では「0」~「15」までの範囲で(すなわち「0.5倍」~「15倍」の範囲で)周波数の倍率設定が行えます。

    対して「PX7」では「0.5」~「31」までの範囲で周波数の倍率設定が行えます。
    「PX7」の方が「OPN」の仕様を包含しておりますので、こちらはそのまま設定値を流用可能です。

    次に「トータルレベル」ですが、「OPN」では前述の通り「0」~「127」までの範囲で「0」が最大値となっております。

    「PX7」では「0」~「99」の範囲で「99」が最大値となるため、以下の変換式を用いて「OPN」パラメタ値を「PX7」仕様へ変換します。

    【トータルレベルの変換式】

      
    [PX7のトータルレベル] = 99 - ([OPNのトータルレベル] ÷ 127 × 99)
      ※端数は四捨五入とします

    以上の移植メソッドをもとに、実際に「サウンド№8」を「PX7」に移植した音色がこちらになります。

    【サウンド№9】アルゴリズム「0」:フィードバック「7」PX7版

    特にエフェクトもかましていない状態で、ボリュームも小さめですが・・・
    PX7版は、若干、低音のモコモコが軽減していてクリア&軽い感じがしますが雰囲気的にはイイんじゃないでしょうか?


    さて、これまで「マルチプル」「トータルレベル」の設定とその結果である出音を聞いていただきましたが、前回の「アルゴリズム」「フィードバック」とあわせて、ほぼ音色が出来上がっていることに気づかれたかと思います。


    実際「アルゴリズム」「フィードバック」「マルチプル」「トータルレベル」の4つを設定することで音色がほぼ決定してしまいます。

    そんなワケで、次回は「決定した音色の時間的変化」というなんだか面倒そうなパラメタのお話を予定しています。


    それではまたノシ


    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。