投稿

ラベル(MIDI)が付いた投稿を表示しています

VL-BASICのMMLによる自動演奏2(再掲載)

2024/3/23(土)   VL-BASICのMMLによる自動演奏2(再掲載)   VL-BASIC(N88-BASIC互換?)の MML(Music Macro Language),拡張PLAY文(MPU PLAY) による自動演奏の 過去記事の再掲載です (多少変えてあります)   過去記事 https://ulprojectmail.blogspot.com/2021/05/vl-basicmmlplay.html VL-BASICのMML(PLAY)による自動演奏   おまけ(音源の違いによる比較) https://ulprojectmail.blogspot.com/2021/09/mml.html MML     ライオン(May'n/中島 愛)のMML(PLAY)自動演奏2 https://youtu.be/ZP7lCQgZWH4   sister's noise (fripSide)のMML(PLAY)自動演奏2 https://youtu.be/oecK8e8On3A   only my railgun (fripSide) のMML(PLAY)自動演奏2 https://youtu.be/IjMKnZlQATM   コネクト (ClariS) のMML(PLAY)自動演奏2 https://youtu.be/7xc2AVDR_jU   夏祭り (JITTERIN'JINN)のMML(PLAY)自動演奏2 https://youtu.be/Qf1ACXzghvU   Get Wild (TM NETWORK)のMML(PLAY)自動演奏2 https://youtu.be/HavxrmFuAi4

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キー)するか pipo002 v.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         ; 時間

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

イメージ
2022/6/15(水) VL-BASICでピポッ (1回目)   MSGS(Windows標準ソフトウエアMIDI音源)の 正弦波(音色番号080 バンク[008/000] Sine wave)で ピポッを再現しました   MSGSのBank selectについては次のサイトが参考に なりましたので勝手にリンクを貼っておきます MSGSで遊ぼう! (x68uec.org)   このサイトによりますと システムエクスクルーシヴの GS Reset(F0 41 10 42 12 40 00 7F 00 41 F7)hexを 送信しておかないとバンクが切り替わらないそうです (hexは16進数の意味です)   VL-BASICでは A$ = CHR$(&HF0)+CHR$(&H41)+CHR$(&H10)+CHR$(&H42)+CHR$(&H12)+CHR$(&H40) A$ = A$        +CHR$(&H00)+CHR$(&H7F)+CHR$(&H00)+CHR$(&H41)+CHR$(&HF7) MPU MIDI(A$) で送信できます &HF0は16進数のF0と言う意味で CHR$(キャラクターコード&H00~&HFF)で文字に変換して 文字列A$を送信します   バンク切り替えは bank select MSB = 008 (B0 00 08)hex bank select LSB = 000 (B0 20 00)hex です(LSBは常に0の様です)   VL-BASICでは MPU MIDI(&H0800B0) MPU MIDI(&H0020B0)   B0 00 08 は上位と下位バイトを逆にした&H0800B0を指定 します なぜならIntel系CPUでは&H0800B0と言う数値は メモリー内ではB0,00,08の順で格納されるからです   MPU MIDI(CHR$(&HB0)+CHR$(&H00)+CHR$(8)) MPU MIDI(CHR$(&HB0)+CHR$(&H20)+CHR$(0)) (&Hを付けなければ10進数になります) や MPU PLAY