NOZ's Stylish Sound♪

NOZ's Stylish Sound♪

1980年代の音楽に輝きを放っていたシンセサイザーYAMAHA「 DX7」

繊細で綺麗な音を放つスタイリッシュなシンセサウンド「FM音源」を使って曲作りをしております♪

当ブログにご訪問ありがとうございます 。

YAMAHA DX7 ロゴ電子楽器が好きで、機械いじりと電子工作が好きなこともあり、自分の音楽活動や使った音楽機材のことで、お役に立てそうな情報を発信、紹介しております。

特に、「FM音源(正弦波乗算合成方式)」に関しては、私の得意分野です。

その時読まれなくても、必要になった時に後から検索して読んでもらえるような、そんなライブラリーなブログを目指しております。

このブログは、にほんブログ村 シンセサイザーにほんブログ村 DTM・MIDIに参加してます♪

にほんブログ村 音楽ブログ シンセサイザーへ にほんブログ村 音楽ブログ DTM・MIDIへ

カテゴリーのアイコンをクリックしますと、参加者ページにジャンプします。


現在制作中のオリジナルアルバム
「ReBirth of FM Synthesizer」(仮称)


オリジナルアルバムのジャケット(仮)FM音源復活!!

1980年代のゲームミュージックを彷彿とさせる「FM音源」を使って、私のオリジナル曲をお届けします♪

サイン波合成ならではの、透き通った、きらびやかな音色。

こだわりの、実機のFM音源を使った音楽制作&レコーディング♪

FM音源が好きな方は要チェックです!

お楽しみに(^^)


ホームページ「NOZ FM SYNTHESIZE」

URL: https://noz-music.amebaownd.com/

2014年12月21日のブログで、SEGAの家庭用ゲーム機「MEGA DRIVE」の高音質改造の記事を紹介しました。

SEGAのMEGA DRIVEの音声を、電子楽器のFMシンセサイザーモジュールみたいに、キレイな音質で楽しむ事が出来るようになりました。

欲を言えば、MEGA DRIVEのFM音源+SSG音源で、音楽を演奏させる事が出来たらいいな…

そんな思いを、ずっと持ってました。

 

 

そんな夢みたいな事が、2021年になって、ついに現実となりました!

何と!MEGA DRIVEをFM音源モジュールとして鳴らすツールを制作されたItokenさんから、Twitterでお誘いがありまして、この度、使わせて頂く事になりました。

 

Itokenさんから説明を受けたのですけど、MEGA DRIVEとパソコンを接続するシリアルケーブルと、プログラムを書き込んだMEGA DRIVEのROMカートリッジを作る作る必要がありまして、とても敷居が高いです。

自分で調べながら作るのは無理でしたので、Itokenさんに教えて頂きながら、導入を進めて行きました。

 

まずは、必要な部品を注文しました。

 

USB端子からシリアル通信9ピンに変換する部品です。 

 

両端がヘッダーピンになっている10芯ケーブルです。

 

ヘッダーピンも用意します。

 

MEGA DRIVE用フラッシュメモリです。 

 

MEGA DRIVEと接続する9ピンケーブルです。 

 

ちなみに今回、AMP9ピンケーブルは、私が注文した時は在庫が無かったので、ジャンクのMEGA DRIVEコントローラーから外しました。

 

後は、適当なSDカードを1枚と、SDカード対応リーダライターも用意しましょう。

 

まずは、MEGA DRIVE本体とパソコンを繋ぐ、シリアルケーブルを作りました。

ケーブルを作るのは、半田付けが出来る人であれば、簡単だと思います。

MEGA DRIVEのケーブルは9ピンです。

今後の機能拡張とかあるかもしれないので、一応、9ピン全て接続出来るようにします。

ヘッダーピンで結線出来るように、AMP9ピンケーブルの末端は、ヘッダーピンにしておくと、後に結線変更しやすいです。

完成したケーブルが、こちらです。

 

ジャン♪

 
 

USB→RS232Cに変換するようなケーブルですね!

結線図はこちらです。

直接観たい人は、下記pdfファイルの14Pをご覧下さい。

 

9ピンあるうちの、1ピンと8ピンしか使わないので、結線は簡単かと思います。
完成したケーブルは、パソコンのUSB端子とMEGA DRIVEの2P側コントローラー端子と接続します。

 

次に、MEGA DRIVEのROMカートリッジを作ります。

最近は便利なものがありまして、MEGA DRIVEのカートリッジにSDカードをセット出来ます。

このSDカードに、MEGA DRIVEのプログラムを書き込みます。

Itokenさんが制作したROMデータ「VGMPlay_md.bin」は、こちらからダウンロード出来ます。

 

 

パソコンでダウンロードしたファイル「VGMPlay_md.bin」を、SDカード対応リーダライターを使って、SDカードにコピーします。

そして、ROMデータをコピーしたSDカードを、フラッシュメモリーカートリッジにセットします。

これで、お手軽MEGA DRIVE用ROMカートリッジが完成です♪

 

さて、動作するか?確認します。

フラッシュメモリーカートリッジをMEGA DRIVEにセットします。

MEGA DRIVE本体の1P側コントローラー端子に、ゲームコントローラーを接続します。

2P側コントローラー端子に、先ほど作ったシリアルケーブルを接続します。

 

電源を入れると、MENU画面になります。

 

 
1Pコントローラーの方向キーでselect gameに合わせて、Aボタンを押します。
すると、ファイルの選択画面になります。
 
 
1Pコントローラーの方向キーで、SDカードにコピーしたVGMPlay_md.binに合わせて、STARTボタンを押します。
ファイルがカートリッジにコピーされ、再起動の後に、SOUND DRIVERが起動します。

 

起動すると、通信モードの切り替え画面になります。

3種類ありまして、CUBASEで使うのは、UART(163840BPS)か、UART(115200BPS)です。

UART 163Kモードは、高速転送が可能なのですが、ケーブルの長さや、MEGA DRIVEの個体差によっては、転送速度が間に合わず、データの取りこぼしによって、音が正常に鳴らない場合があります。

その場合、低速転送のUART 115Kモードを選択します。

ちなみに私は、UART 115Kモードを選択しました。

 

ひとまず、MEGA DRIVE側は、これでFM音源&SSG音源モジュールとして機能するようになりました。

 

次はDAWソフト側の準備です。

私のDAWソフトはCUBASEなので、CUBASEで説明します。

まず、Itokenさん制作の、DAWソフトに組み込むVSTプラグインMAmidiMEmoをダウンロードします。

2021年7月10日現在の最新バージョンは、こちらです。

 

 

ひょっとしたら、最新版が公開されているかもしれないので、その時点での最新版をダウンロードしましょう。

保存先は、どこでもOKです。

次に、VSTプラグインMAmidiMEmoを、CUBASEに認識させます。

昔のCUBASEですと、VSTプラグインを格納する専用VSTフォルダに手動で移さなくてはなりませんでしたけど今は、CUBASE側からVSTプラグインのある場所を指定すればOKです。

 

「スタジオ」タブから、「VSTプラグインマネージャー」を開きます。

 

 

「VSTプラグインマネージャー」下段にある、「VST2プラグインバス」画面にある「+」(バスを追加)をクリックします。

ダイアログ画面になりますので、フォルダを入力する場所に、先ほどダウンロードしたMAmidiMEmoのフォルダをクリックして、フォルダの中にあるVSTフォルダを選択します。

 

「フォルダを選択」をクリックすると、新たにMAmidiMEmoのVSTプラグインの検索先が追加されます。

 

そして、再度VSTプラグインをスキャンします。

 

これで、新しくMAmidiMEmoのVSTプラグインが認識されました♪

 

実際に、MAmidiMEmoのVSTを使って、MEGA DRIVE用のトラックを作ってみました。

こんな感じです。

 

ジャン♪

 

 

まず1トラック目に、VSTトラックでMAmidiMEmoを作ります。

次に2から10トラック目を、MIDIトラックで作ります。

私は、2から7トラックをFM音源の1から6ch、8から10トラックをSSG音源の1から3chに割り当てました。

2から10トラック目のMIDIトラックですけど、MIDI-OUTをMAmidiVSTi-MIDI Inに設定します。

これで、1トラック目のMAmidiMEmo経由で、MEGA DRIVEにMIDIデータが送信されます。

 

次に、1トラック目のMAmidiMEmoの音源設定を行います。

実はCUBASE側で設定する事が出来ません。

CUBASEでMAmidiVSTiを呼び出すと、「有効なパラメーターなし」と表示されます。

実は、1トラック目にMAmidiMEmoを作った時に、別ウィンドでMAmidiMEmoが自動で起動してます。

この、別ウィンドで起動しているMAmidiMEmo側で、MEGA DRIVEの内蔵FM音源とSSG音源を設定します。

 MEGA DRIVEのFM音源を設定します。

音源追加タブからFMを選んで、YM2612をクリックします。

これでYM2612が追加されました。

 

SSG音源も、音源追加からSSGを選んで、SN    をクリックします。

これでSN    が追加されました。

 

このように、MAmidiMEmoで、実機のMEGA DRIVEを鳴らす場合、YM2612とSN76496の、2つの音源を設定します。

 

次に、YM2612とSN76496のMIDI-IN chを設定します。

先ほど私は、MIDIトラックを作った時に、FM音源YM2612を1~6ch、SSG音源SN76496を7~9chに設定しました。

そこで、受信側のFM音源YM2612とSSG音源SN76496も、同じチャンネルに設定します。

まず、FM音源YM2612から設定します。

左側のYM2612アイコンをクリックすると、右側に設定メニューが表示されます。

MIDI(Dedicated)から、Channelsを選択すると、MIDI 1~16chのON(Ture)/OFF(False)の一覧が表示されます。

FM音源は1~6chだけ使うので、1~6chだけTureにして、残りはFalseに設定します。

 

SSG音源SN76496も同様に設定します。

左側のSN76496アイコンをクリックすると、右側に設定メニューが表示されます。

MIDI(Dedicated)から、Channelsを選択すると、MIDI 1~16chのON(Ture)/OFF(False)の一覧が表示されます。

SSG音源は7~9chだけ使うので、7~9chだけTureにして、残りはFalseに設定します。

 

これで、FM音源とSSG音源をMIDI chで切り分ける事が出来ました。

 

次は、MEGA DRIVEとパソコンとの通信設定です。

まず、通信ポートを手動で設定します。

ここが間違っていると、MIDI-OUTが内蔵ソフトウェアシンセしか選択出来ません。

このポート番号は、お使いのパソコンによって、それぞれ違います。

 そこで、MEGA DRIVEと接続しているUSBシリアルポートが何番になっているのか、パソコンのデバイスマネージャーで確認します。

Windows10ですと、画面左下にある検索機能で、デバイスマネージャーと入力すれば、すぐに見付けられます。

 

私のパソコンですと、USB Serial Portは「COM3」になってました。

MAmidiMEmoのChip(Dedicated)設定から、Portldを「No3」と設定します。

 

次に、MAmidiMEmoのChip(Dedicated)設定です。

先ほどMEGA DRIVE本体側の通信設定をUART(115200BPS)にしましたので、MAmidiMEmo側のSoundEngineを「Real(VSIF Genesis(UART 1152000bps))」と指定します。

これで通信速度が、MEGA DRIVE本体とMAmidiMEmo共に115Kbpsに統一されました。

 

さて、ここからは、実践的な使い方です。

まず、FM音源の音色は256個登録出来ます。

MIDIのプログラムチェンジで音色の指定と、演奏途中で音色の変更が可能です。

FM音源エディタが、こちらです。

 

ジャン♪

 

 

昔のパソコン雑誌で掲載されていた、FM音源の音色設定プログラムを、そのままグラフィカルにした感じで、個人的には、とても分かり易いエディターかと思います。

 
あと、各オペレーターのエンベロープが見れるのも良いですね!
特に、同じOPN系FM音源YM2203やOPM系FM音源YM2151から音色を移植する時に、モジュレーター側の変調の掛かり具合とか、キャリア側の減衰量とか、私は耳で聴きながら作るのですけど、目でも確認出来ると、更に安心なのです。
と言うのは、実は同じYM2612をエミュレートしているソフトウェアFM音源のRYM2612とChipSynthMDも使っているんですけど、制作者の解釈なのか、エンベロープの挙動が、それぞれ違うんです。
 
 
まあそれはそれで、ソフトの個性があって良いのですけど、全く別物のYM2612なんですよね。
YM2612の互換性を考えないで、新しいFM音源として使うのであれば、どちらも素晴らしいソフトウェアFM音源です。
どれが本物のYM2612に近いのかを追求していくと、たぶんMAmidiMEmoが一番実機のYM2612に近いと思います。
なので、過去のOPN系FM音源の音色パラメーターをそのまま使えるのはMAmidiMEmoでしょうか。
 
次に、SSG音源のエディットです。
SSG音源は、TONEとNOISEの切り替えと、ソフトウェアエンベロープが使えます。
Tembres設定から、SoundTypeで、「PSG」と「NOISE」を選択します。
NOISEは、1音にしか使えません。
エンベロープは、Sound Driver Settings(SDS)で設定します。
エンベロープが使えると、音色は同じでも、バリエージョンが増えますね♪
 
次に、FM音源YM2612とSSG音源SN76496の各パートの音色と音量の設定です。
音色は、MIDI設定のProgramNumbersで、1chから16chまで設定します。
 
音量は、MIDI設定のVolumesで、1chから16chまで設定します。
 
CUBASEでは、VSTインストゥルメントの設定は、トラックごとが一般的なんですけど、今回のMAmidiMEmoの場合は、16パートを一括して設定します。
このあたりは、ハードウェアシンセサイザーを使っている感覚ですね♪
 
では、いよいよ実機のMEGA DRIVEから鳴らしてみます。
動作テストとして、試しにSEGAの体感ゲーム「SPACE HARRIER」の曲を用意しました。
 
原曲はFM音源YM2203(FM音源3音+PSG音源3音)+PCM音源でして、MEGA DRIVEのFM音源YM2612(FM音源6音)+SSG音源(3音+1ノイズ)ですと余裕があります。
そこで、FM音源パートを、イントロと間奏を1~3ch、A-Bメロを4~6chに割り当てて、同時には3音しか鳴ってないけど、1~6ch全て鳴らすようにしてみました。
あと、YM2203のPSG音源で鳴らしている間奏のソロパートは、MEGA DRIVEのSSG音源を7~8chに割り当てました。
PCM音源のベースは、VSTプラグインのdexedを、PCMドラムをVSTプラグインのOTORIIを使いました。
これで、実機MEGA DRIVEのFM音源とSSG音源、VSTプラグインのdexedとOTORIIを同期させてみる実験をしました。
その結果、実機MEGA DRIVEは、レイテンシーが無いのが素晴らしいです!
VSTプラグインシンセのdexedとOTORIIは、僅かに遅れて発音します。
逆に、僅かに遅れている程度で済んでいるのが、パソコンとソフトウェアシンセの進化を感じます。

 

 

Twitter動画では、あえてやってませんけど、ソフトウェア音源の発音遅れ(レーテンシー)は、MEGA DRIVEの発音タイミングに合わせてノートデータごとズラして、前のめりに発音させる事で、簡単に対応出来ます。

もしくは、MEGA DRIVEのパートの発音タイミングを、ソフトウェア音源のパートに合わせるか、ですね。

 

こうして、私の高音質改造MEGA DRIVEが、立派なFM音源モジュールとして、CUBASEを使って演奏する事が出来ました。

まさかMEGA DRIVEをFM音源モジュールとして使えるだなんて、これまでは夢物語でしたので、実際にMEGA DRIVEから音が出た時は、感動しました!

音が切れる時に、歪んだ音が残る「ラダーエフェクト」が、本物のMEGA DRIVEのサウンドであり、個性でもあります。

これで私の音楽制作で、MEGA DRIVE仕様の音楽制作も出来る環境が整いました。

MEGA DRIVE仕様の音楽を作る機会があった時は、実機のMEGA DRIVEで作ろうと思います♪

 

あと、CUBASEのVSTプラグインとして使っているMAmidiMEmoですけど、実はスタンドアローン(単体起動)で使う事も出来ます。

MAmidiMEmoを単体で起動して、MIDI鍵盤でMEGA DRIVEを鳴らす事が出来ます。

例えば、YAMAHA KX5のような、ショルダーキーボードでMEGA DRIVEを外部音源にして演奏する事も可能です。

 

 

レトロゲームのイベントやステージ演奏などで、MEGA DRIVEを鍵盤で演奏したら、きっと驚かれるでしょうね!

こちらは、携帯出来るデスクトップミニPCを使って、実現させたいと考えてます。

 
また別の記事で、MEGA DRIVEの鍵盤演奏編を紹介しようと思います。
 
最後に、MAmidiMEmoの導入からサポートまで、私の質問に対応して頂きましたItolenさんに、感謝いたします。
ありがとうございました♪