VL-BASICでピポッ (2回目)

2022/6/17(金)
VL-BASICでピポッ (2回目)
 
VL-BASICでPC-9801のピポッを再現(MIDI)
PC-9801、PC-8801のN88-BASICや
PC-9801のN88-BASIC互換?の
NL-BASIC、VL-BASICのMML
(Music macro language)で
 
PLAY "t144l16@20q8v15o6bo5b"
または
 
MPU PLAY "t144l16@1104q8v15o6bo5b"
とすると、ピポッとなります
(1104 = 128*8+80 = バンク8/音色80)
 
これを~.mid(SMF:Standard MIDI File)
に変換します
 
VL-BASICを起動し
NEW MPU
MPU TRON ("pipo")
MPU PLAY "t144l16@1104q8v15o6bo5b"
MPU TROFF
と1行ずつ入力(1行毎にEnterキー)するか
pipo002v.bas(下記リンク)をダウンロードして
実行すると
(MPU PLAYの代わりに上記PLAYでも可ですが
         0 ,C0,06 … デフォルトの音色
が必ず挿入されます)
 
pipo.txtが作られます
         0 ,F0,41,10,42,12,40,00,7F,00,41,F7
         0 ,B0,00,08
         0 ,C0,50
         0 ,90,5F,7F
       104 ,80,5F,7F
         0 ,90,53,7F
       104 ,80,53,7F
Wait(ms:ミリ秒)とMIDI送信データです
 
pipo.txtをVL-BASIC付属のtron2txt.exe
(MIDI→SMFツールでmidフォルダ内に有ります)
に重ねると
pipo_txt.txtが作られます
4D, 54, 68, 64 ; "Mthd"
00, 00, 00, 06 ; 次の実データ6個で固定
00, 00         ; Format0-2
00, 01         ; トラック数
01, e0         ; 時間単位(4分音符のmsec) 60000/t120 = 500 */
4D, 54, 72, 6B ; "MTrk"
00, 00, 00, 28 ; 実データのデータ長
00, F0,0A,41,10,42,12,40,00,7F,00,41,F7
00, B0,00,08
00, C0,50
00, 90,5F,7F
68, 80,5F,7F
00, 90,53,7F
68, 80,53,7F
00, FF,2F,00
SMFのtextデータに変換されています
ヘッダーの追加
Waitの書式変換
(最上位bit:継続フラグ、下位7bitデータ)
F0から始まるデータの変換
(F0後のデータ数追加)
がされます
 
pipo_txt.txtをVL-BASIC付属の
テキスト→バイナリー変換ツール
txt2mid.exe(midフォルダ内に有ります)
に重ねると
pipo_txt_txt.midが作られます
テキストデータをバイナリーデータに変換する
だけです
(バイナリーの拡張子は.midになりますがSMF以外の
データは.binなどに変換して使用して下さい)
.txt以外を重ねるとバイナリーをテキストに
変換できます
 
pipo_txt_txt.midをWindows Media Playerなどで
再生して下さい
 
ピポッと鳴ります
 
これらのツールはPLAY文のデバッグ用に作ったもので
ところどころ不具合があると思いますので
お遊び程度に使用して下さい
 
VLBasicフォルダーにpipo002v.basをコピーして
実行するとpipo_txt_txt.midが作られます
(VLBasic/mid内のツールを使用するためVLBasic
フォルダーから実行する必要があります)

最新版以外では動作しないことがあります
VL-BASIC、とblg~.zip(pipo002v.bas)は
このブログ(以下のリンク)から
ダウンロードできます

https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい
 



このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)