今回私はHABIT SOFTが制作、2023年9月27日に発売するMD用アクションゲーム「CITY CONNECTION」のミュージックプログラムを担当しました。
開発中のバージョンですけど、プレイ動画も公開されました。
まだMD互換機での鳴り方が確認出来てないので、少し不安がありますけど、あくまで基準は実機MEGA DRIVEです。
実機MEGA DRIVEでは、ちゃんと効果音とバランス良くBGMも鳴ってたので安心しました。
ゲーム本体を作るメインプログラマーとは別に、ミュージックプログラマーはゲームで使う音楽のプログラムを担当します。
私が18才の時に富士通FM77AVで音楽プログラムを作ってたんですけど、ミュージックプログラマーは憧れの職種、もしくはポジションでしたね。
しかし、ゲーム機が進化して内蔵音源を必要としなくなってからは、レコーディングで音楽制作する方向に転換しました。
時代は令和になり、私も既に53歳、まさか再び内蔵音源で、しかも得意なFM音源でミュージックプログラマーとして制作依頼を引き受ける事になろうとは意外でした。
45歳でゲームミュージックコンポーザーの夢を捨てた身でもありましたし、私でなくても他に出来る人がいるでしょうと思いましたけど、ゲームインパクトの情熱あるゴリ押しで、引き受ける事となりました。
CITY CONNECTIONとは、1985年にJALECOからアーケードゲームで登場した横スクロールアクションゲームです。
2023年の現在は株式会社シティコネクションがJALECOの著作物の権利を取得管理しております。
そのシティコネクションから承諾を得てMD(MEGA DRIVE)用に移植制作される事となりました。
ゲームの制作は、アーケード基板を解析しながら目コピで進めて、音楽は耳コピで制作です。
アーケード版の音源スペックは、BGM用にOPN系FM音源YM2203(FM音源3音+PSG音源3音)と、効果音用にPSG音源AY-3-8910Aが搭載されておりました。
MEGA DRIVEの音源スペックはOPN2系FM音源YM2612(FM音源6音)とDCSG音源SN76489(PSG音源3音+ノイズ1音)です。
なので、YM2612のFM音源でYM2203のFM音源3音+PSG音源3音を丸々再現出来ると思いました。
PSG音源の矩形波はFM音源でも作れます。
最初はテストでSTAGE 1 BGMをMEGA DRIVE用にアレンジしたYM2612 ARRANGE Ver.と、アーケードゲームをそのまま再現したYM2203 ORIGINAL Ver.を作りました。
そう、出すからにはアレンジバージョンも入れようと思ったんです。
両方OK頂いたんですけど、思ったよりゲーム本体のほうが早く完成してしまい、後はデバッグしながら音楽待ち状態となりまして…(笑)
そこでMEGA DRIVE用YM2612 ARRANGE Ver.は諦めて、アーケードゲームを再現したYM2203 ORIGINAL Ver.に絞る事にしました。
最初は私が5曲目まで耳コピしながら音色作りと音楽プログラムを作ってたんですけど、耳コピに時間が掛かってなかなか進みませんでした。
そこで依頼者の配慮で、6曲目からは耳コピの助っ人ikeさんが途中から参加して頂ける事になり、更に私が作った音楽プログラムの監修も担当して頂く事となりました。
ikeさんは、元TAITOのゲームミュージックバンド「ZUNTATA」のメンバーだった方でして、耳コピも正確で速くてビックリしました。
なので、6曲めからはikeさんから頂いたMIDIデータを元に、私はFM音源の音色制作と音楽プログラムに専念する事が出来ました。
そのおかげで1ヶ月半で15曲完成する事が出来ました。
ちなみに私が耳コピした5曲は、STAGE 1 BGM、STAGE 2 BGM、STAGE CLEAR BGM、MISS BGM 1とMISS BGM 2(ネコふんじゃった)です。
ikeさんがいなかったら、倍の日数がかかっていたし、採譜ミスも多かったかと思います。
さて、今回の音楽制作は、どのようにしていたかと言いますと…
ゲームの全曲を担当すると言う事で、まずは実機MEGA DRIVEで音を鳴らせる音楽制作環境を準備する事から始めました。
実機MEGA DRIVEのFM音源をMIDI鍵盤で鳴らしながら音色エディット出来る、まるで実機FMシンセサイザーと同様のエディットが出来る環境に拘りました。
そこで、DAWソフトはCUBASEを使い、CUBASEから実機MEGA DRIVEを鳴らす為に、MAmidiMEmoと言うVSTプラグインを使います。
MAmidiMEmoはこちらからダウンロード出来ます。
MAmidiMEmoにはソフトウェアFM音源のYM2612と、実機MEGA DRIVEのYM2612を鳴らすシリアル通信モードがあります。
専用ケーブルは、市販のUSBドングルとゲームコントローラー用D-sub9ピンケーブルを半田付けして作った自作品です。
パソコンと実機MEGA DRIVEとは高速通信専用ケーブルで接続します。
通信ケーブルは、MAmidiMEmoの開発者itokenさんから送って頂きました。
急な事態に対応して頂き、ありがとうございました。
パソコン側はUSB端子に、MEGA DRIVE側はコントローラー2端子に接続します。
MEGA DRIVEのコントローラー2端子がMIDI INになるんですね!
CUBASEからのMIDI情報がMEGA DRIVEのコントローラー2端子に入力されて、内蔵FM音源YM2612を鳴らすんですね♪
コントローラー2端子をMIDI入力にする為に、実機MEGA DRIVEは専用のシリアル通信ソフトを使います。
通信ソフトはMAmidiMEmoをダウンロードした中にあるファイル「VGMPlay_md.bin」です。
この「VGMPlay_md.bin」をカードリーダーを使って市販のSDカードにコピーして、MEGA DRIVE用フラッシュメモリーカートリッジにSDカードをセットしてMEGA DRIVEを起動します。
そして、パソコン側のMAmidiMEmoとMEGA DRIVE側のVGMPlayの通信モードを最高速モードに選択する事で転送速度が向上、PCMも再生可能となり、FM音源もより安定した演奏が可能になります。
MAmidiMEMOの通信設定は「Real(VSIF Genesis(FTDI))」を選択すると、USB端子からMIDIデータが出力されるようになります。
MEGA DRIVE側の通信設定は「FTDI2XX DONGLE(BIT BANG)」に設定します。
MEGA DRIVEのコントロールパッドのDOWNを押すと設定完了です。
MIDI鍵盤の打鍵からMEGA DRIVE内蔵のFM音源が発音されるまでのレイテンシーも気にならないほどに反応が良いです。
MEGA DRIVEを鍵盤で鳴らす事が出来ると、ステージでライブパフォーマンスも可能ですね♪
耳コピ助っ人ikeさんから頂いたMIDIデータを、そのままCUBASEに展開出来るので、すぐにFM音源のエディット作業に取り掛かれます。
MEGA DRIVEのFM音源をエディットはMAmidiMEmoに内蔵のYM2612エディターを使います。
MEDA DRIVEの音色制作にDAWソフトを使うところが今風ですよね♪
このYM2612 Editorを使って、画面内の鍵盤をマウスでクリックしたり、MIDI鍵盤を押すと、実機MEGA DRIVEから音が出るようにセッティングしてあります。
実機のMEGA DRIVEの音を聞きながら音色を作れると、安心ですよね♪
なので、実機MEGA DRIVEで一番最適な音色&音量バランスで聴く事が出来ます。
FM音源の音色は、ボツになったものを含めて全部で36音色作りました。
全て白紙の状態から作っております。
普段から私は実機のFMシンセサイザーで音色を作っているので、MEGA DRIVEもMIDI鍵盤を叩きながら音色をエディット出来るのは最高ですね!
鍵盤で音を出せると、短時間で音色が完成するんです。
たぶん1音色作るのは30分も掛かってないと思います。
さて、FM音源の音色はMAmidiMEmoで作れても、MIDIデータのままではゲームに実装出来ません。
まずMIDIデータをMMLデータに作り直す必要があります。
MIDIからMMLへ自動変換ツールもあるようなんですけど、私は全て手作業でやりました。
MMLデータの作成はMUCOM88を使いました。
FM音源の音色データはMAmidiMEmoで作ったパラメーター値をそのままMUCOM88に入力します。
演奏データはCUBASEのピアノエディット画面を見ながら、MUCOM88で打ち込みました。
音色と音量バランスに関しては、MUCOM88内蔵のソフトウェアFM音源と実機MEGA DRIVEとでは音色によって少し違いがありますが、MAmidiMEmoで作った音色パラメーターが正しいので、MUCOM88のソフトウェアFM音源の発音具合は無視します。
やっぱり実機MEDA DRIVEで音量バランスを確認したいものです。
そこで、MUCOM88のMUCデータを実機MEGA DRIVEで演奏できるVGM形式のファイルに変換するソフトウェアmucomMD2vgmと、実機MEGA DRIVEで起動出来るXGM PLAYERを用意しました。
muucomMD2vgmでMUCOMファイルをロードすると、即座に変換が始まり、VGMデータに変換が完了するとMUCOMファイルがあった場所にVGMファイルが書き出されます。
VGMファイルが完成すると、いよいよ実機MEGA DRIVEで聴けるようになります。
実機MEGA DRIVEで起動出来るXGM PLAYERを使う為には、XGMRomBuilderと言うソフトウェアが必要です。
そのXGMRomBuilderは、MEGA DRIVE用ゲーム開発ツール「SGDK」の中にバンドルされてます。
まずはこのSGDKを丸ごとダウンロードしました。
そして、SGDK/bin/xgmRomBuilder.jarを起動します。
もしjar形式のファイルが開けない時は、JDKをインストールします。
私のパソコンでもjar形式のファイルが開けなかったので、JDKを検索してダウンロードしてインストールしました。
しかしこのJDKのインストールと設定が厄介でしたね。
最初にダウンロードしたJDKだとダメでして、一度アンインストールしてから別のJDKをダウンロードして設定し直したらXGMRomBuilderが開けるようになりました。
XGMRomBuilderが起動したら「Add VGM」でVGMファイルを選択(複数選択可能)します。
そして「Build Rom」でMEGA DRIVEで実行可能なROMファイル「xgmrom.bin」がSGDK/binフォルダーの中に出来上がります。
このROMファイル「xgmrom.bin」をカードリーダーを使って市販のSDカードに保存して、実機MEGA DRIVE用のフラッシュメモリーカートリッジにSDカードをセットします。
SDカードをセットしたフラッシュメモリーカートリッジをMEGA DRIVE本体に差し込み、起動します。
コントロールパッドの十字キーでSELECT GAMEに合わせてSTARTボタンを押すと、SDカードに記録されているファイルが表示されます。
先ほど保存したROMファイル「xgmrom.bin」を十字キーで選んでSTARTボタンを押すと…
やった!XGM PKAYERが起動しました。
まるでゲームのOPCTION画面の中にあるミュージックモードですね♪
このXGM PLAYERで音量バランスを確認して、一度MUCOM88で修正してVGMデータに変換、再度ROMファイルを書き出し、実機MEGA DRIVEで確認を繰り返します。
ちなみに音量調整で使ったスピーカーは、レトロゲームの感じを意識して、DAISOの300円スピーカーを使いました(笑)
こうして完成した15曲は、プログラマーさんにはMUCOM88で作ったMUCデータで渡しました。
実はプログラマーさん、MUCOM88を使える人でしたので、音量を細かく修正したいとの事でした。
内心は初心者レベルのMMLの打ち込みは見られたくなかったんですけどね(笑)
そうなんです、実は私、MUCOM88を使うのは今回初めてなんですよ。
なので中盤まではMUCOM88の使い方を覚えながら作業してました。
特にMUCOM88で3連符の曲を打ち込む時、全音符の分解能数(初期値は128)を3で割り切れる96もしくは192に変更しないと、演奏がズレて来るんですよね(笑)
これを知らなかった前半は、演奏のズレを防止する為に3連符があるところだけ全パートを8分音符を打ち込む時には24分音符3個をタイで繋いだりしてました。
こう言う問題は直面してみないと分からないし、対処方法も身に付かないと思います。
ちなみにMUCOM88の分解能数の変更はCコマンド(例C96とかC192)で変更可能です。
残念ながらMUCOM88を使っていて、断念した事があります。
それはスネアドラムの音色です。
実はアーケード版CITY CONNECTIONの全BGMのスネアドラムはPSG音源のノイズを使ってます。
MEGA DRIVEのDCSG音源は矩形波3音以外にノイズ1音が独立しており、このノイズチャンネルを使えば効果音に支障が無いと思いました。
しかしMUCOM88ではMEGA DRIVEに内蔵するDCSG音源のノイズチャンネルにアクセス出来ないんですね。
MUCOM88はOPN/OPNA系FM音源に特化したサウンドドライバなので、MEGA DRIVEのDCSG音源の矩形波3音にはアクセス出きるのですが、独立しているノイズチャンネルにはサポートされてませんでした。
ゲームの効果音の事も考慮して、スネアドラムはFM音源で作りました。
しかしFM音源では周波数が一定のホワイトノイズしか作れません。
なので、ドラムのフィルインで使われている周波数を変えながら鳴らす(タムの代わり?)サウンドは諦めました。
一応MMLではノイズHiはC3、ノイズMidはA2、ノイズLoはF2で区別して打ち込んでありますけど、聴感上ほとんど分かりません(笑)
MEGA DRIVEのノイズチャンネルにアクセスするのであれば、後で知りましたmml2vgmを使えば良いですね。
言い訳するようで見苦しいのですが、突然の緊急の依頼で制作期間も短かった事もあり、MUCOM88に慣れるので精一杯で、途中からmml2vgmに乗り換える余裕がありませんでした。
心残りがあるのは、このスネアドラムだけですね。
まあスネアドラムをFM音源にしたおかげで、効果音が鳴っていてもBGMは途切れないです。
耳コピ助っ人ikeさんにも全曲チェックしてもらい、OK頂いたので、安心してMD版CITY CONNECTIONをリリース出来ます!
私も記念に保存用を買おうかな♪
ちなみに、発売日の9月27日と言うのは、ファミコン版CITY CONNECTIONの発売日なんですね!
発売日にも拘りがあるのも遊び心がありますね♪
そっか、だから緊急の音楽制作依頼だったんですね(笑)
でも私一人だったら9月27日リリースは無理でした。
耳コピ助っ人ikeさんがいたから間に合ったんですよ♪
実はCITY CONNECTIONとは別にもう1作、MD(MEGA DRIVE)用ゲームBGM制作をしました。
元々はこのゲームBGMを作っていまして、その最中に緊急でCITY CONNECTIONのBGM制作依頼が来たんですよ(笑)
今度は全BGM私のオリジナル曲ですので、私1人で完結出来ました。
MD版CITY CONNECTIONでは出来なかったYM2612 ARRANGE Ver.を、このゲームで発揮しました。
こちらもリリース情報が出た時に紹介しようと思います。
では、MD版CITY CONNECTIONと、もう1作のMD用ゲームをお楽しみに♪