NEC PC-98의 바이너리 파일을 QR 코드로 나눠 휴대폰으로 촬영한 뒤 Windows 11로 전송합니다.
emef2247/x68k_vgm2mml
X68000용 VGM 사운드 칩 레지스터 로그를 구조화된 MML과 PCM IR로 변환하고, 선택적으로 MDX/PDX 컴파일도 지원하는 Python 도구입니다.
- 스타
- 13
- 포크
- 0
- 열린 이슈
- 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 옵션은 곡을 반복 재생하는 대신 한 번만 재생하도록 합니다. 변환 결과가 원본 오디오와 일치한다고 보장할 수 없으므로 실제 하드웨어나 에뮬레이터에서 확인해야 합니다.
핵심 기능
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
실제 운영체제를 부팅할 수 있도록 런타임에 기계어를 WebAssembly로 변환해 브라우저에서 실행하는 x86 PC 에뮬레이터입니다.
1981년 이후의 IBM PC 및 호환 기기용 빈티지 운영체제와 소프트웨어를 실행하는 저수준 x86 에뮬레이터입니다.
에뮬레이터로 16비트 Windows(1.x~3.1) 프로그램을 64비트 Windows에서 실행하며, DOS 실행 파일용 DOS 모드도 제공합니다.
Apple silicon Mac에서 Tiger 10.4부터 Big Sur 11까지의 Intel용 macOS를 그래픽 가속과 함께 실행하는 macOS 앱입니다.
BACON은 MSX-BASIC 프로그램을 MSX 컴퓨터용 기계어로 변환하는 컴파일러로, PLAY(PSG 음악)를 지원합니다.