CANON V30-F MSX2

f:id:MIKUSX:20190126064641j:plain

とても思い入れのあるPC。

1987~1995年頃までFM音源や漢字ロム増設したりのメインPCだった。

学生の頃はレポート作成にも使用していたんだが、95年にMacintoshに乗り換える。

その後はゲームで遊んでたりしていたが、

2009年には起動しなくなってしまった。

 

2019年現時点で、起動する所有MSX

SANYOの WAVY70FD2(MSX2+)だが

これも約30年前の代物なので大事にしたい。

 

MIDI to OPLDRV(FM-BIOS) Converter その3

MIDI to OPLDRV(FM-BIOS) Converter 解説・その3

http://mikusx.html.xdomain.jp/MIDIOPLL.zip

 

 

その2で整えたMIDIデータをセーブして

 (MIDIOPLLが扱えるMIDIデータのサイズは32KBまで)

フロッピーまたは、イメージディスクにコピーします。

 

MSXDOS1のファイル名は半角英数字で8文字までです。

 

 

ではMIDIOPLLを動かしてみる。

 

実際にコンバートしてみるため変換前のMIDIファイルのみです。

所有実機(SANYO WAVY70FD2、MSX2+)で説明しましょう!

 

・・・といきたいところだが、手短にWebMSXで説明します。

なぜならスクショがとりやすいので。記事3つで終わらせたい。

f:id:MIKUSX:20181128031855j:plain

(くっそ、このMSX2+、RAM512KBも積みやがって・・・ありがとうございます)

 

webmsx.org


(※WebMSXはIEでは動きません)

イメージディスクをブラウザへ直接

ドラッグアンドドロップすると起動します

(DRIVE A)らっくらくぅ~♪

 

 MIDIOPLL SAMPLE1 ⏎ (拡張子は省略可)

 f:id:MIKUSX:20181128033055j:plain

 

終了したので確認

dir sample1.*⏎

f:id:MIKUSX:20181128033157j:plain

 

SAMPLE1.OPLが生成されます。

MIDIファイルと比較するとサイズはコンパクトになりました。

実機やBlueMSXの場合は、この時点でフロッピーやイメージファイルに書き込み済み
しかし、WEBMSXはローカルのイメージファイルは変更しないので
パワーボタンアイコンの隣のAドライブをクリックして、
"Save Image File"を選択して変換処理済みのイメージディスクをダウンロードしてください。

 

f:id:MIKUSX:20181128033311j:plain

 PLAYOPLL SAMPLE1⏎(拡張子OPLは省略可) 

簡易プレイヤー起動して試聴できます。

 

今後の課題

 

Qの指定、サスティンのオンオフ、

自作音色のアドレス指定とか

変換後多少修正できる簡易エディターがあればいいかなー。

 

CUBASEからのSMF書き出ししか試していないので、

シーケンスデーターにクオンタイズをかけてノートデータ揃えても

DAWでのMIDIデータ構造が(ランニングステータスの扱い方)異なってたら

エラーはいたり、正常に演奏されないじゃないかという懸念が・・・。

 

MIDI to OPLDRV(FM-BIOS) Converter その2

MIDI to OPLDRV(FM-BIOS) Converter for MSX

ダウンロードはこちらから

http://mikusx.html.xdomain.jp/MIDIOPLL.zip

 

解凍すると、

フォルダに以下のファイルが収録されています。

 

MIDIOPLL.COM

コンバータ本体、MIDIデータをOPLDRV用データに変換する

 

PLAYOPLL.COM

OPDV.BIN

簡易OPLLプレイヤー

 

SAMPLE1.MID

サンプル曲ファイル(FM9音モード) 

 

SAMPLE2.MID

サンプル曲ファイル(リズム音+FM6音)

 

MIDIOPLL.DSK

上記ファイルを収録したイメージディスク。

BlueMSX、WebMSXなど実機以外エミュでもテストできるよう用意しました。

(Autoexec.bat は Mode80にするためなので、なくても構いません)

 

MSX-MUSIC、FM-BIOSのOPLDRV、

YM2413(OPLL)についてはこちらを参照ください。

3.3 FM BIOS - MSX Datapack wiki化計画

 

イメージディスク内部を閲覧したり、ファイルの書き出し、追加、

MSX用の空のブランクイメージディスクを作成する場合は

DiskManagerをご利用ください。詳しい説明は以下の記事をご参考に

eidaht.hatenablog.com

 

MIDIデータ用意して環境を整える~

筆者CUBASEユーザーのため、CUBASE8.5環境にて解説します。

使用する音源は変換を想定して、ありがた~いフリーVST

”VST2413”を使用しました。

VST2413 - FM Synthesizer Plug-in

© 2013 Keijiro Takahashi / Radium Software

 

~トラック~

FM9音モードの場合

 

最大9トラックにそれぞれ1~9チャンネルを順に割り当てる。

このため、和音は単音に分散させる必要があります。

 f:id:MIKUSX:20181127201917j:plain

MIDIOPLLコンバータは、

トラック名の先頭文字でOPLLのプリセット音を判別します

半角英数字 1~F、OPLLの内蔵音番号1~F(16進数)を指定します

半角数字  0nn、FM-BIOSの拡張音色を指定します。nnは00~63 

以降のトラック名はMSXで読み込みするので半角英数字のほうが良いです。

 

FM6音+リズム音の場合 

f:id:MIKUSX:20181127211304j:plain

第1トラックにリズムトラック

以降2~7トラックにFM1~6チャンネルのトラックを順に置きます

半角英数字 R、リズムトラックであることを示す。

リズムのノート情報は先に紹介した2413VSTに対応しています。

以下のノート情報でトラックを作成すれば、各音色に変換されます。

 

・ドラムパートのノートデータ 

                    2413VST        MIDI(SMF) 
BD(Kick)  C1                   24H
Snare            D1                  26H   
HH                F#1,G#1         2AH,2CH 
Tom              G1,B1,D2       2BH,2FH,32H
Cym              C#2,D#2        31H,33H

 

 

音色番号とデータはこちらを参照ください

内蔵音

3.4 YM2413(OPLL) - MSX Datapack wiki化計画

拡張音色 ライブラリ

3.2 MSX-MUSIC 拡張BASIC - MSX Datapack wiki化計画

 

~使用できるテンポが限られる~

 

CUBASEのテンポ値は反映されません。

CUBASEでは、拡張子.MIDファイル(SMFファイル)を

ファイル→書き出し→MIDIファイルで作成しますが、

f:id:MIKUSX:20181127202935j:plain

 

FM-BIOS(OPLDRV)の1/60秒タイマ割込みにあわせるため

保存直前に表示されるダイアログの

書き出しオプションの分解能値でテンポが決定します。

(チェックボックスはすべて解除)

 

テンポ対応表(ここでは1tick=1/60(s))
          SLOW     MID     FAST      
BPM 56.25 60.00 64.29 69.23 75.00 81.82 90.00 99.99 112.50 128.57 150.00 180.00 225.00 300.00
4分音符 64 60 56 52 48 44 40 36 32 28 24 20 16 12
8分音符 32 30 28 26 24 22 20 18 16 14 12 10 8 6
16分音符 16 15 14 13 12 11 10 9 8 7 6 5 4 3
3連符(16) 4 5 4 3 2 1
32分音符 6 7 6 5 4 3 2

 

分解能=4分音符欄に記載された数値。

(現在のDAWなら480や960が普通なので、衝撃特価な数値ではある)

対応表で分解能28なので、スクショの場合はテンポ128.57になります。

CUBASEでは最小値24なのでそれ以下は不可です。

 

16分音符までは対応できるが、32分や3連符となると限られてくる。

75や112.5なら3連符は厳しいが、64分が対応できる。

 

MIDIデータを揃える、不要データの削除~

CUBASEのメニューバーから

編集→クオンタイズをかける

編集→高度なクオンタイズ→音の長さのクオンタイズをかけて

下図のようにMIDIデータを揃えてください。

 

f:id:MIKUSX:20181127213942j:plain

 

メニューバーのMIDI→機能から

・すべてのコントロールデータを削除

・すべてのコンティニュアスコントロールデータを削除

・重複ノートを解消してください。

 

また、下図のような被りも修正します。

f:id:MIKUSX:20181127214628j:plain

 ドラムパートも同様に

クオンタイズで音を揃えて、不要データを削除しておきます。

 

f:id:MIKUSX:20181127214926j:plain

同時発音するパートの音の長さも同一にそろえておきます。

その3へつづく

MIDI to OPLDRV(FM-BIOS) Converter その1

MIDIOPLL.COM(MSX-DOS1)

 対応機種:MSX2以降、要FM音源(MSX-MUSIC)

 

MIDI(SMF)データをMSXのFM-BIOSの中にある

FM音源(YM2413/OPLL)ドライバ”OPLDRV”用に変換するフリーウェア(※)

f:id:MIKUSX:20181128205345j:plain

MIDIOPLL

http://mikusx.html.xdomain.jp/MIDIOPLL.zip

 

自作ゲーム”スラ道楽”の改良版の一環で

BGMの追加変更を進めていて、

曲作りにCUBASE使っているので

MIDIデーターをOPLDRV用に変換できれば制作捗るし

今後のMSX用ゲーム開発などにも役に立つ。

いままでのストックや巷に溢れるフリーMIDIデータを

好きなだけ編集してMSXに投入できると思って、

 

f:id:MIKUSX:20181127180203j:plain スラ道楽(MSX2版)

 

MSX Resource Centerにないかなー(いろいろあります)

ダウンロード | MSX Resource Center

検索したらどっかにないかなー

漁っていてもみつからない。

本当はどこかにすごいのがあるかもしれない。

探すのが下手なのか?

しょうがない、自分で作りました。

 

使い方

フロッピーに変換したいMIDI(SMF)ファイルをコピーして

MSX-DOSコマンドライン

 

MIDIOPLL MIDIデータのファイル名(.MID) ⏎ 

 

OPLDRV用演奏データファイル、

"MIDIデータのファイル名.OPL"を作成します。

 

OPLDRVのメリットは初期化後、

タイマ割り込みルーチンに

OPLDRVをコールする命令を入れておき、

あとは操作命令をコールするだけで、

BGMの再生・停止ができるという手軽さです。

 

MIDIデータをMSXと当コンバータ用に合わせるため

使用上の注意、制限が多数御座います。

 その2以降で解説します。