Repolode
emef2247

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. 1

    Python 3.10以降を使用してください

  2. 2

    VGMファイルからMMLを生成します

    python vgm2mml.py INPUT.vgm --outdir OUTDIR
  3. 3

    ディレクトリ内のファイルを一括でMMLおよびMDX/PDXに変換します(外部のMDXコンパイラが必要です)

    python scripts/export_mdx.py INDIR --outdir OUTDIR --force

使う前に知っておきたいこと

  • MDX/PDXの出力にはMXCやmmlxなどの外部ツールが必要で、別途セットアップする必要があります。
  • 音源チップ間の変換には近似処理が含まれるため、コンパイル後の出力が元の音声と一致するとは限りません。
  • PCMの再生には対応するPCM拡張ドライバーが必要です。また、メモリやサイズの制限により変換できない入力もあります。

トピック

#vgm#mml#x68000#retro-computing#audio-conversion#music#python

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト