Gigamix Online

懐かしの8bitおもちゃPC「MSX」を骨までしゃぶり尽くそう。MSXの最新ニュース、ブログ。自作ソフトの配布などは公式サイトへ→ https://gigamix.jp/

MSXplayで作成された驚愕のMGSDRV形式データがベンチマーク大会になっている件

【2024.07.07更新】いろいろ追加

【2024.06.17公開】初版公開。ただいま記事作成中

https://p.gigamix.jp/mgsdrv/cg/mgs-benchmark_title.png

たかをさんのワルキューレの伝説のBGM、なんと言うか…気が付けばMSXの実機や互換機や実行環境のベンチマークテストとして活用され始めてる気がする(いいぞもっとやれ — Takashi Kobayashi (@nf_ban) 2024年6月17日

【おさらい】MGSDRVとは

  MGSDRVは、8bitパソコン「MSX」の主要な音源であるPSG音源(AY-3-8910)、FM音源(YM2413, いわゆるOPLL)、SCC音源を用いて最大17音まで演奏出来る、Musicドライバ(音楽演奏ソフト)です。

↓ MGSDRVの解説ページはこちら ↓ gigamix.jp

ベンチマーク元のデータ

 2024年6月17日現在、現在最強のMGSDRV形式データ(いわゆるMGSデータ)は、これだ!!

namco - ワルキューレの伝説 - 03 - << メイン・テーマ >> (#OPLL + #SCC + #PSG) MSX音源でワルキューレの伝説を演奏させてみました。SCCによるストリングスに気合い入れてます。#MGSDRV #MSXplay #WaveTone #MAmidiMemo #SCCVoiceEditor #WAVE_SCC #川田宏行 #ひろべー https://youtu.be/d9NraOSVrkY MMLはこちら。https://msxplay.com/editor.html?open=https%3A%2F%2Fraw.githubusercontent.com%2Ftakawon%2Fmgsdrv_data%2Fmain%2Fnamco%2FLOV_MAIN.MML — たかを🎯 (@takawo_n) 2024年6月13日

 すべての始祖。MSXの音源(PSG・OPLL・SCC)は安価だし貧相だし…と揶揄されながらも、とにかく楽曲のクオリティがMSX史上かつてなく圧倒的に凄すぎる。このデータが存在しなければ、以降のベンチマークテストが行われることは無かった…

youtu.be

 YouTubeの再生動画も、ぜひ視聴してみてください。高評価とチャンネル登録も忘れずに!

なぜこの楽曲データがベンチマークなのか?

音色の切り替えでストリングス 2/60~3/60秒 x 32bytes x 2ch、さらにベースと分散和音でもモーフィング音色を使用していて、CPUに優しいわけがないのですw — たかを/たかをん/Takawo 🎯 (@takawo_n) 2024年6月25日

 この楽曲データはMGSDRVで利用可能なMSXの3音源(PSG・OPLL・SCC)全17音を同時に利用するだけでなく、特にストリングスを発声するにあたりSCCの波形データの入れ替え処理を2/60秒単位で行うなど、MSXにとって過去例になく負荷処理が極めて高い部類の楽曲データだからです。MGSDRV自体はMSX turbo Rの世代にリリースされたDOSアプリですが楽曲データの再生はなんと1983年製造のMSX1から実行可能で、広範囲に動作テストが可能です。

 コンピュータは負荷処理が高くなればなるほど誤動作する可能性が高まります。過去に発売された実機だけでなく近年リリースされているMSXエミュレータや互換品の品質(互換性や完成度)を、このデータの再生で見極めることができます。

ベンチマーク結果

ソニー HB-F1XV(MSX2+)

SONY HiTBiT MSX2+ HB-F1XV + スナッチャーカートリッジにて演奏してみました。実機だとより凄さがわかりますね。本当にMSXでの音ですから😊 https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/jEyn5zwh47 — イノウマ (@inouma1972) 2024年6月13日

 MSX2+の場合、基本的にFM音源は本体に内蔵されていますので、SCC音源となる「スナッチャーサウンドカートリッジ(いわゆるSCCカートリッジ)をスロットへ挿入すると、音源的にフルスペックの環境となります。

 MSXの各種本体はカートリッジスロットで拡張した外部音源の音量ならびに音質は本体の設計によってまちまちで、この内容に揃えようというような明確な業界基準がありません。その中でもソニーの各機種は各音源間の音量バランスが良く、MGSデータの楽曲を再生するには好環境と思います。

 ちなみに 各音源の音量バランス調整用MGSデータが存在します ので、これを用いて各々が音量バランスを基準に揃えてゆくことをオススメします。

パナソニック FS-A1F(MSX2

先に上げたヤマハCX5+FMPACはMEGAFLASHROMのSCC+で鳴らしていたので、FMPAC+スナッチャー用のサウンドカードリッジを使って演奏してみました。スロットが足りなくなるのでFS-A1FのFDDで起動させて音音質で録音してみました。 https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/lagaULdiRW — Goriva™@骨修復中 (@Goriva) 2024年6月16日

 MSX2の場合、「FM Pana Amusement Cartridge(いわゆるFMPAC)」と「スナッチャーサウンドカートリッジの両方をスロットへ挿入すると、音源的にフルスペックの環境となります。

 MGSDRVの動作環境としてMSX2以上・MSX-DOS2が必須とされていますが、MGSデータを再生するだけなら再生アプリ(MGSEL)自体はMSX-DOS1で起動できます。

ヤマハ CX5(MSX1)

早速ウチのMSX実機で演奏してみました!SCCストリングス実機でも完璧でございます!😆 https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/UmTNYsALoq — Goriva™@骨修復中 (@Goriva) 2024年6月13日

 MGSDRVの動作環境としてMSX2以上・MSX-DOS2が必須とされていますが、MGSデータを再生するだけなら実はMSX1でも再生可能です(RAMは64kB以上必要)。

 MSX1の場合、音源はPSG音源しか本体に内蔵されていません。しかしこちらの環境では「MegaFlashROM SCC+SD」という多機能カートリッジを利用することでMSX1においても512kBのRAM増設とSCC互換機能を備えたうえでMSX-DOS2の上位互換DOS「Nextor」が起動可能となっていて、さらにFMPACをカートリッジスロットに差してFM音源を利用可能にし、再生アプリ(MGSP)で楽曲を聴けるようになっています。

 「MegaFlashROM SCC+SD」はMSXのファイルストレージにSDカードを利用できたり前述の機能も追加できたり…と、令和のMSXシーンにとってぜひ一つは持っておきたい便利アイテムです。

↓ MegaFlashROM SCC+SD の通販サイトはこちら ↓ www.msxcartridgeshop.com

松下電器 FS-4000(MSX1)

たかをさんのワルキューレの伝説MGSをMSX実機で再生のやつ。FM PACでやりたかったけどそれだとスロットが足りず手持ちの環境ではこの組み合わせしか無理でした。ちゃんと鳴ってます。 pic.twitter.com/hDxYnL1Chb — Jun Nishikawa (@JunNishikawa) 2024年6月29日

 熱転写プリンタとワープロソフトが内蔵されている、特殊なMSX。ハードウェアスペックが不足がちなMSX1ですが、音源の増設に「SoundCoreSLOT EX」というこだわりの拡張スロットを採用。

 SoundCoreSLOT EXはカートリッジ部にMSXと互換性のあるFM音源とPSG音源が内蔵されており、カートリッジの音声出力端子から低ノイズで高音質な音声を取り出せるうえ2スロットの拡張も可能、という痒いところに手が届くアイテムです。これにSCCカートリッジを挿入すればPSG・OPLL・SCCの3音源が揃いますし、各音源の音量バランスはカートリッジのつまみ(可変抵抗)で音源ごとに簡単に調節できます。

↓ SoundCoreSLOT EX の詳細ページはこちら ↓ niga2.sytes.net

Mu-PLAYER(MSX turbo R)

Mu-PLAYER用に変換して演奏してみました。SCCエミュなのでノイズが軽減されてるかなと。※容量が大きくなり過ぎたので途中で切っています ※MSX turboR A1GT 実機 本体のみ https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/9bzYC5ZV30 — MSX研鑚推進委員会 (@mdpc___) 2024年6月13日

 Mu-PLAYERはMSX turbo R向けの音楽制作環境で、PCM 8音の音声合成およびSCC音源のエミュレートが可能です(ソフトウェア音源)。本体にSCCカートリッジを挿入しなくても本体内蔵PSG・OPLLと合わせてフルスペックの楽曲が楽しめます。

 MSX turbo Rの2機種(FS-A1ST・FS-A1GT)はカートリッジスロットで拡張した外部音源の音量が大きめに再生される特性がありますが、SCC音源が本体のみで利用できるのであればそのような特性をソフトウェアで吸収することもできます。

↓ Mu-PLAYER の解説ページはこちら ↓ mdpc.dousetsu.com

MSX BASIC(MSX turbo R)

MSX音源が奏でる ワルキューレの伝説 メイン・テーマ(たかをさん作)MSX拡張BASIC DM-SYSTEM2で再生してみました せっかくなので妄想してた冒険IIのスプライトを拡大して、伝説っぽく(^^; これはずっと聴いていたい(^^) https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/FhOVX90D1E — b.p.s. (@BasicProgrammer) 2024年6月23日

 MSXにとって極めて処理負荷が高いこの楽曲データを、よりによってMSX BASIC上でBGMとしてバックグラウンド再生したうえでBASICプログラムを動作させるとどうなるのか?という興味深い実験。R800Z80 28MHz相当)だからBASICでも意外と速く動いている印象!

 当クラブで配付中のミドルウェア「DMシステム2」はMGSDRV形式の楽曲データをMSX BASIC上でバックグラウンド再生する機能があり、各種MSX向け同人ソフトの開発・リリースで採用されています。

↓ DMシステム2のWebサイトはこちら ↓ www.gigamix.jp

SX|2(MSX互換機)

SX|2 + 核スロ(にがさん作) + スナッチャーSCC-I で演奏してみました。控えめに言って最高🥰 https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/5g6GhflYvv — itoken/いとけん/イトケン⁨【公式】🆗 (@SNDR_SNDL) 2024年6月13日

 SX|2はFPGAで記述されたMSXのハードウェア互換機です。2006年にリリースされた「1chipMSX」の後継プロジェクトであり、ハードウェアスペックはMSX2+相当となります。実はSX|2にはOPLL音源もSCC音源もFPGAで実装されていますが、ここはあえての実物(SCCカートリッジ)で。

↓ SX|2 の通販サイトはこちら ↓ https://www.8bits4ever.net/product-page/sx2-msx-fpgawww.8bits4ever.net

週刊MSXを作る(手作りMSX

ちくわの手作りMSXにもHRA!さんのMGSPを入れてたかをさんのワルキューレを鳴らしてみました。 pic.twitter.com/gdeADFqghi — ちくわ帝国 🅸❤️🅼🆂🆇 (@chikuwa_empire) 2024年6月16日

 MSXにまつわるICを自作の基板に自分でハンダ付けし、カートリッジスロットにSCCカートリッジを接続。ハードウェアスペックはMSX1相当となります。自作の本体でも動くの素晴らしい!

↓ 週刊MSXを作る の解説ページはこちら ↓ chikuwa-empire.com

似非SCCディスク(MEGA-SCC RAM)

きんのじさん(@v9938)のMEGA-SCC RAM 8Mbit verと スナッチャーSCC-I を使って、たかをさん(@takawo_n)のワルキューレの伝説を聴き比べてみました。SCCの方はたまにプチプチとノイズが入るようです。これが例のノイズかな?SCC-Iの方は大丈夫でした#SCC #SCCI #SCCBenchmark https://twitter.com/thara1129/status/1794563279140061410 pic.twitter.com/rsKOfcVvAW — eme (@emef2247) 2024年6月18日

 これは何?を書くにあたり、時系列で解説する必要がありそうなので、文章が少し長くなります。

 「似非SCCディスク」とは、1990年代に草の根パソコン通信ネット界隈で発表された、コナミのSCC搭載メガROMゲームカートリッジを改造して「電源を切っても内容が消えないSRAMストレージカートリッジ」として再利用する技術です。これを自作すると、カートリッジ内のSRAMに好きなデータを書き込んでMSXで起動することができます。ハードディスクが普及しなかった当時のMSXシーンにおいて現代で言うSSDのようなデバイスとなり、たいへん便利でした。

 似非SCCディスクに似た技術に「似非RAMディスク」があります(元々似非SCCより似非RAMのほうが先に発表されました)。似非RAMはコナミ以外のMSX用メガROMカートリッジを用いて改造するもので、似非SCCよりも似非RAMのほうが製作の難易度は低い(電子工作ビギナー向け合同工作会が開催できるレベルの難易度)とされていて、当時のパソ通界隈では似非RAMのほうに人気が高かった印象でした。

 が、似非SCCは似非RAMでは実現できない貴重なメリットがありました。似非SCCはSRAMストレージに加えてSCCカートリッジとしても併用可能、なのです。似非SCCのほうが改造の難易度は高いのですがこれはこれで人気なのでした。

 その後2020年代になり似非RAM・似非SCCの互換品が登場します。今回のベンチマークで用いる「MEGA-SCC RAM」は、コナミのいずれかのゲームカートリッジ(スナッチャー・SDスナッチャー以外)からSCC音源のICを引っ剥がしてMEGA-SCC RAMの基板に取り付けると似非SCCの互換品として利用できるアイテムです。'90年代の改造よりも工数が少なく、基板自体にノイズ対策が施されたことでオリジナルの似非SCCよりも高音質が楽しめます。

↓ MEGA-SCC RAM のGitHubはこちら ↓ github.com

MGSPICO(Raspberry Pi 再生環境)

凄い曲は自分の環境で聴いてみたいものなのです!MGSPICOでも再生してみました。けどPICOを125→240MHzにクロックアップしてやっと再生できました 凄いテクニック詰まってるんですね https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/TEu0WiVuCr — ハルマッキン (@Harumakkin) 2024年6月15日

 MSXのカートリッジスロットとRaspberry Pi Picoを装着できる基板を自作し、Raspberry Pi PicoにはMSXの仮想環境を構築。前述の拡張スロット「SoundCoreSLOT EX」を装着し、拡張スロットに「スナッチャーサウンドカートリッジを挿入することで、MSXの実機向け3音源をRaspberry Pi Picoで間接的に利用可能にしています。

 このデータをテンポずれを起こさず再生するためにCPUのクロックアップも実施。

↓ MGSPICO のGitHubはこちら ↓ github.com

MGSPICOに動作クロックの変更などを行えるメニューを組み込みました(mgspico_firmware_v1.8)例によって、たかをさんのワルキューレの冒険で確認 #MGSPICO #RasPiPico pic.twitter.com/uOPuST75z2 — ハルマッキン (@Harumakkin) 2024年6月25日

MSXplay(オンライン MGSDRV MML制作環境)

MSXplayでVGM出力中にOut of Memoryでエラーになる問題、MSXplay v1.9.1で修正しました。最大でも4MBぐらいのVGMデータぐらいしか生成しないないだろうと思って、メモリ上限が小さめになっておりました。 https://twitter.com/SNDR_SNDL/status/1801278844873417205 — DSA (@ym2413) 2024年6月14日

 MSXplayはまさにたかをさんの作業場であったWebサービスですが、他機種や他の再生環境で利用可能なVGM(Video Game Music)形式データをエクスポートする機能があります。しかしたかをさんのMGSデータはエクスポートが機能しないほどに重たいデータだった…!!

↓ MSXplay のWebサイトはこちら ↓ msxplay.com

OPNAL2 ProMax(携帯型FM音源モジュール)

少し(?)邪道ですが、 YM2413 (OPLL) を YM3812 (OPL2) にコンバートして OPNAL2 ProMax で演奏してみました。 https://twitter.com/takawo_n/status/1800574071627002222 pic.twitter.com/YlU2WoNHTa — kashiwa (@kashiwa) 2024年6月13日

 各種FM音源チップを装着できる基板を自作。今回OPL2チップを採用するにあたり、VGMデータのOPLL再生部分をOPL2へコンバート。コンバートでもかなりいい感じに聴こえる!!

 OPLLのデータをOPL2などの上位互換チップで遜色なく再生できるようになると、MSXの楽曲なのにMSXのシーンを超えて広がりそうですね。

↓ OPNAL2 ProMax の通販サイトはこちら ↓ fmsoundmodule.booth.pm

バーチャルMIDI音源(MAmidiMEmo)

たかをさんのストリングスのモーフィング波形9個をMMLからリップしてMAmiに設定し実機で鳴らす。発音中の波形切り替え特有のノイズが出る。 pic.twitter.com/nN44pQ70T3 — itoken/いとけん/イトケン⁨【公式】🆗 (@SNDR_SNDL) 2024年6月15日

 MMLに含まれるSCCの波形定義を抽出して音色化。音を鳴らしてみると波形のノイズがわかりやすい。

↓ MAmidiMEmo のGitHubはこちら ↓ github.com

【参考】あなたもレッツベンチマーク!必要なもの一覧

基本構成

【参考】各音源の音量確認用MGSデータ

MSXで音楽を再生する場合、各音源の音量が再生環境毎に異なるため、作曲者が意図したバランスでの再生が難しい問題があります。せめて、MSXplayで作成したデータの再生だけでも、問題なく聞けるようにならないかと考え、音量調整用のテストデータを作成してみました。(続く)https://msxplay.com/editor.html?open=https%3A%2F%2Fraw.githubusercontent.com%2Ftakawon%2Fmgsdrv_data%2Fmain%2FMisc%2FVOL_TEST.MML — たかを🎯 (@takawo_n) 2022年12月30日

 たかをさんが作成した、音量確認用のMGSデータです。

 前述しましたが、MSXの各種本体はカートリッジスロットで拡張した外部音源の音量ならびに音質は本体の設計によってまちまちで、この内容に揃えようというような明確な業界基準がありません。令和の時代になりMSXplay(Webブラウザ)でMMLが作成できるようになったため、2024年現在は各音源の音量バランスをMSXplayを基準として、各種再生環境は各音源の音量バランスをMSXplay側へ似せるようにしておくことをオススメします。

 音量確認用のデータは、1フレーズごとに各音源を順番に再生していきます。それを聴きながら音源ごとに音量を調節して「どれも似たような音量」に揃えることが目標です。

  • 1.(音量大) OPLL → PSG → SCC → ミックス
  • 2.(音量小) OPLL → PSG → SCC → ミックス
  • 3.(おまけ音量大) OPLL → PSG → SCC → ミックス
  • 4.(おまけ音量小) OPLL → PSG → SCC → ミックス

各音源 (PSG,OPLL,SCC) の音量調整が可能な MSX SOUND ENHANCER や MAmidiMEmo などで、音量バランスを調整するためのデータです。MSXplayで作成されたMGSデータを他の環境で再生する際、事前にこのデータで各音源の音量を調整することで、MSXplay に近いバランスでの再生が可能となります。(続く) — たかを🎯 (@takawo_n) 2022年12月30日
再生環境でこのデータを再生して、各音源の音量にバラツキが無くなるよう調整します。※MSXplayで再生した音量バランスに近づくよう調整します。 — たかを🎯 (@takawo_n) 2022年12月30日

 なお、MSXの実機では特別なハードウェアを用意しない限り音源ごとに音量調節することは殆どできません。やれるとしてもFMPACの大・中・小の3段階くらいです。ですが、自分のマシンはどの音源が大きい音・小さい音なのかの特性を予め知ったうえでデータ制作に臨むことは、多くのリスナーの再生環境に広く配慮できるという意味で有意義です。