Repolode
emef2247

emef2247/x68k_vgm2mml

将 VGM 音源寄存器日志转换为 X68000 用结构化 MML 与 PCM IR 的 Python 工具。

Star
13
Fork
0
未关闭 Issue
0
最近提交
前天

这是什么?

x68k_vgm2mml 读取 VGM 文件。VGM 记录的是对音源芯片寄存器的写入而非音符,工具从中还原音高、音长、音量和音色等演奏信息,生成 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 则只输出一遍而非循环。转换结果不保证与原音一致,建议在实机或模拟器上验证。

核心功能

  • 01从 VGM 寄存器写入中提取音符、音长、音量和音色。
  • 02输出用于 X68000 MDX 播放的结构化 MML。
  • 03将 OPNA、PSG、SCC、DCSG 的音色近似为 OPM 音色。
  • 04为 PCM 类音源生成 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 是什么?
将 VGM 音源寄存器日志转换为 X68000 用结构化 MML 与 PCM IR 的 Python 工具。 x68k_vgm2mml 读取 VGM 文件。VGM 记录的是对音源芯片寄存器的写入而非音符,工具从中还原音高、音长、音量和音色等演奏信息,生成 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目