Article History
 
 
 
Discussion
 
4281 views
 
50% MelonadeM
vgm (format)
 

.VGM File Format
 

 

 
Token:
vgm
 
Point Type:
 
File Types:
 
Entry Count:
289
 
Max Filesize:
12.5mb
 
Description:
time based write log to various primitive audio chips
::|CONTENTS
  1. Tools
  2. Accepted file format
  3. Playback (for voting)
  4. Render to MP3
  5. See also
VGM (Video Game Music) is a sample-accurate sound logging format which supports many different video game and arcade configurations, notably allowing mixing and matching several sound chips together.

Initially starting out as a way to log and listen to Sega Master System music, it has massively grown since, and supports a total of 47 different soundchips, not counting per-implementation setting for variations, as of VGMPlay version 0.52.

It is a format meant and dedicated to logging and making available soundtracks of many different systems under a unified file format that doesn't need bespoke CPU and other hardware emulation alongside the soundchips (like how NES/SNES work), hence logging instead of directly emulating so many layers.

VGM files are always logged at 44100hz. Note that this isn't the same as audio sample rate, but rather how much granularity a VGM file can offer for events within files, meaning you can only update registers at 1/44100th of a second.

You can include up to two of the same sound chip in a VGM file. A configuration with 2x AY, 2x DMG, 2x YM2608 is perfectly valid, but a configuration with 3x AY isn't (if you need that, you'll need to use an OPN just for the SSG and 2x normal AY chips)

Tools



There are a lot of different tools capable of creating or exporting .vgm, each supporting a different set of sound chips/systems. Examples include (but are not limited to):

- Furnace Tracker: All features as of version VGMPlay 0.51.
- DefleMask Tracker: Sega Master System & Mega Drive, Game Boy, 2a03, HuC6280, Sega X-Board (as "Arcade"). Paid version offers more than this but is beyond the scope of BotB.
- SnevenTracker: Sega Master System and Game Gear
- OpenMPT: OPL2 and OPL3
- XPMCK: multiple sound chips
- 0CC-LLTracker: YM2413/OPLL
- BambooTracker: YM2608/OPNA, YM2612/OPN2, YM2203/OPN, AY-3-8910/YM2149

A set of utilities helpful for VGM files is available at vgmtools
, maintained by ValleyBell. The tools in it range from simple statistic displays and file renamers, to file compressors, optimizers, and converters. The package totals 29 seperate utilities. Again, designed for ripping and compiling music from existing games in an optimised way, but are still useful tools even for composers.

VGM file spec


Accepted file format



- .vgm
- .vgz (compressed .vgm - uses .gz compression format )

Playback (for voting)



Standalone Players
- VGMPlay & in_vgm (Winamp Plugin)


Online Players
- webVGM

- Chip Player JS

Please be aware that online players may not support the latest VGM implementations. It's recommended that you use VGMPlay or in_vgm from the thread above.

In addition, there are many different hardware .VGM players available, if you wish to listen to a .VGM on real hardware there are many choices available. Just note for voting purposes that VGMPlay output is perfectly acceptable as well, so hardware stuff would be more of a fun and novelty thing, really.

Render to MP3



VGMPlay supports logging sound to wav (simply set LogSound = 1 in the VGMPlay.ini file). You can simply convert it to .mp3 afterwards with a tool of your choice.

Configuration files exist and you can change the emulation used for some sound chips. It is recommended that you just leave these at whatever the default settings are for the sake of consistency.

See also



VGMRips's own repository

SMS POWER! VGM packs

Format

 
C A T E G O R I E S
 
 
Battle Formats