NEC PC-98からWindows 11へ、ファイルをQRコードに分割してスマートフォンで撮影することでバイナリファイルを転送します。
emef2247/x68k_vgm2mml
X68000向けVGMサウンドチップのレジスタログを構造化MMLとPCM IRに変換し、必要に応じてMDX/PDXのコンパイルも行うPythonツール。
- スター
- 13
- フォーク
- 0
- 未解決の Issue
- 0
- 最終コミット
- 一昨日
これは何?
x68k_vgm2mmlは、音符ではなくサウンドチップのレジスタ書き込みを記録したVGMファイルを読み込み、音高、長さ、音量、音色の情報を再構成します。出力されるのは、Sharp X68000で使われるMDX形式向けの構造化MMLと、PCM中間表現データです。
OPM(YM2151)、OPNA(YM2608)、PSG/SSG、SCC、DCSG(SN76489系)、MSM6258系PCM、SegaPCM、C140など、幅広いチップに対応しています。OPMに直接相当するものがないチップは、音をOPMのFM音源または加算合成の音色に投影して近似します。また、PSGをPCMに出力することもできます。
バッチスクリプトのexport_mdx.pyを使うと、VGMファイルのディレクトリを変換し、MXCやmmlx、soundlogなどの外部MDX/PDXコンパイラを呼び出すこともできます。--forceオプションを使うと、診断情報を出しながら未対応要素をスキップできます。--no-song-loopを指定すると、曲をループさせずに1回だけ再生します。変換結果が元の音声と一致するとは限らないため、実機またはエミュレーターで確認してください。
主な機能
- 01VGMのレジスタ書き込みから音符、長さ、音量、音色を抽出します。
- 02X68000のMDX再生向けに構造化MMLを出力します。
- 03OPNA、PSG、SCC、DCSGの音をOPM音色で近似します。
- 04PCMチップ向けにPCM中間表現とPDXデータを生成します。
- 05診断情報に基づくスキップ機能を利用しながら、ディレクトリ内のファイルを一括変換します。
ユースケース
- ゲームや音楽のVGMリップを、X68000プレーヤー向けのMDXファイルに変換する。
- チップのレジスタシーケンスがMMLの演奏データにどう対応するかを調べる。
- X68000でのサウンド再生に使うPCMサンプルやPDXバンクを用意する。
クイックスタート
- 1
Python 3.10以降を使用してください
- 2
VGMファイルからMMLを生成します
python vgm2mml.py INPUT.vgm --outdir OUTDIR - 3
ディレクトリ内のファイルを一括でMMLおよびMDX/PDXに変換します(外部のMDXコンパイラが必要です)
python scripts/export_mdx.py INDIR --outdir OUTDIR --force
使う前に知っておきたいこと
- MDX/PDXの出力にはMXCやmmlxなどの外部ツールが必要で、別途セットアップする必要があります。
- 音源チップ間の変換には近似処理が含まれるため、コンパイル後の出力が元の音声と一致するとは限りません。
- PCMの再生には対応するPCM拡張ドライバーが必要です。また、メモリやサイズの制限により変換できない入力もあります。
トピック
よくある質問
- x68k_vgm2mml とは?
- X68000向けVGMサウンドチップのレジスタログを構造化MMLとPCM IRに変換し、必要に応じてMDX/PDXのコンパイルも行うPythonツール。 x68k_vgm2mmlは、音符ではなくサウンドチップのレジスタ書き込みを記録したVGMファイルを読み込み、音高、長さ、音量、音色の情報を再構成します。出力されるのは、Sharp X68000で使われるMDX形式向けの構造化MMLと、PCM中間表現データです。
- x68k_vgm2mml は無料で使えますか?ライセンスは?
- x68k_vgm2mml は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- x68k_vgm2mml は今もメンテナンスされていますか?
- 活発にメンテナンス中。x68k_vgm2mml の最終コミットは 2026年11月5日 です。
- x68k_vgm2mml は何に使えますか?
- ゲームや音楽のVGMリップを、X68000プレーヤー向けのMDXファイルに変換する。 チップのレジスタシーケンスがMMLの演奏データにどう対応するかを調べる。 X68000でのサウンド再生に使うPCMサンプルやPDXバンクを用意する。
- x68k_vgm2mml のインストール方法は?
- Python 3.10以降を使用してください VGMファイルからMMLを生成します: python vgm2mml.py INPUT.vgm --outdir OUTDIR ディレクトリ内のファイルを一括でMMLおよびMDX/PDXに変換します(外部のMDXコンパイラが必要です): python scripts/export_mdx.py INDIR --outdir OUTDIR --force
- x68k_vgm2mml はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/emef2247/x68k_vgm2mml
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
実機のOSを起動できる、実行時にマシンコードをWebAssemblyへ変換してブラウザー上で動作するx86 PCエミュレーター。
1981年以降のIBM PC互換機向けのビンテージOSやソフトウェアを動かせる、低レベルなx86エミュレーター。
エミュレーターを使って、16-bit Windows(1.x〜3.1)のプログラムを64-bit Windowsで実行し、DOS実行ファイル向けのDOSモードも備えます。
Apple silicon搭載Macで、Tiger 10.4からBig Sur 11までのIntel版macOSをグラフィックスアクセラレーション付きで実行できるmacOSアプリです。
MSX-BASICプログラムをMSX向けの機械語に変換し、PLAY(PSG音楽)にも対応するコンパイラBACON。