VGM Players
A VGM Player is a sound player that plays VGM and (often also) VGZ files.
VGM Only
Stand-alone
- VGMPlay (Windows/Linux, command-line, supports all VGM versions)
- Benben (Linux/Unix, supports most of the chips that VGMPlay currently supports; there's four or five less-used ones that aren't yet ported. More info here)
- BlastEm (supports VGM/VGZ playback in recent nightlies, plays SN76489 and YM2612 VGMs)
- SonicPlayer (for Windows, plays SN76489 and YM2612 VGMs; probably outdated)
- MAME (for Windows, Mac OS X and Linux, preliminary emulation based on VGMPlay, system described as VGM player, supported since MAME 0.177, plays YM2612, YM2151, YM2413, SN76489 and derivates, SegaPCM, Sega 315-5560, GB DMG, AY-3-8910A, YM2203, YM3526, YM3812, NES APU, HuC6280 PSG, K053260, POKEY, C352, OKI6295, YMF271, YMZ280B, X1-010, C140, SAA1099, Irem GA20, RF5C68, RF5C164, ES5503, SCSP, Virtual Boy audio (VSU), WonderSwan Custom, Y8950, YM2610, YMF262 and uPD7759) (soundchips in bold means that dual-chip feature is supported)
- RYMCast (outdated; for Mac OS X, Windows and Linux, plays SN76489 and YM2612 VGMs)
Plugins
- foo_input_vgm (For foobar2000 [Windows], all VGM versions)
- in_vgm (for Winamp/XMPlay [Windows], all VGM versions)
- Maxim's in_vgm (outdated, for Winamp [Windows], up to VGM v1.50)
For consoles
- nesvgm (for Family Computer (Famicom), it plays SN76489 and N2A03 VGMs, up to VGM v1.61. It uses the VRC6 soundchip to play SN76489 VGMs.)
- vgm2hes (for TurboGrafx-16, it plays SN76489 VGMs)
- vgm2spc (for Super Nintendo Entertaiment System / Super Famicom, plays SN76489 VGMs)
- Genesis VGM Player (for Sega Genesis / Mega Drive, it plays SN76489 and YM2612 VGMs, up to VGM 1.50)
- VGM_PLAY (for Sega Genesis / Mega Drive, it plays SN76489 and YM2612 VGMs, supports VGM 1.60 DAC commands)
- SMS VGM Player (for Sega Master System / Sega Mark III, plays SN76489 and YM2413 VGMs)
- VGMDRV (For Sharp X68000)
- VGM_Player (For Sega Master System with the SD-Based flash old Everdrive cart, plays SN76489 and YM2612 VGMs)
For smartphones
- VGM Player (for Android 4.2 and up)
For portables
- dmvgm (for the original Game Boy, Super Game Boy, Game Boy Color, Game Boy Advance (in GB mode) and Nintendo GameCube (with Game Boy Player), it plays SN76489 and LR35902 PSG VGMs, up to VGM v1.61)
- pokevgm (for Neo Geo Pocket and Neo Geo Pocket Color, it plays SN76489 and T6W28 VGMs)
- VGM Witch (for Bandai WonderSwan, WonderSwan Color and SwanCrystal, plays SN76489 VGMs, requires WonderWitch to run)
- GBA VGM Player (for Game Boy Advance, Nintendo GameCube (with Game Boy Player), Game Boy micro and Nintendo DS (in GBA mode), plays SN76489 VGMs)
- VGM_Player (For for the Game Boy with the SD-Based flash carts: Everdrive X, EzFlash Jr; For the Sega Game Gear with the SD-Based flash old Everdrive cart, plays SN76489 and YM2612 VGMs)
For older computers
- VGMPlay for MSX (for all revisions of the MSX, plays AY8910, YM2149, SN76489, YM2413, K051649, K052539, YM3526, Y8950, YM3812, YMF262, YMF278B, YM2151, YM2203, YM2608, YM2610, YM2610B and YM2612 VGMs, requires MSX-DOS 2)
- Atari VGM Player (for Atari 800 and up, plays SN76489 VGMs)
- VGMPlayer (for Memotech MTX 512, plays SN76489 VGMs)
- SBVGM (This is a DOS executable that plays VGM/VGZ files on Adlib, Game Blaster, or Sound Blaster (1.0, 1.5 or 2.0).)
Web
- webVgm (WebAudio based, up to VGM v1.70 based on VGMPlay)
Multi-format
Stand-alone
- Audio Overload (Windows/Linux/Mac, up to VGM v1.50)
- KbMedia (Windows, up to VGM v1.50)
- ZXTune (Windows/Linux/Mac, uses libvgm as a core)
- RetroArch (multiplatform, uses Game Music Emu as a core)
- XMMS2 (Windows, Mac OS X, Linux & BSD)
- VLC media player (multiplatform, uses Game Music Emu as a decoder)
Plugins
- foo_input_gme (for foobar2000 [Windows], up to VGM v1.61)
- foo_gep (for foobar2000 [Windows], up to VGM v1.61)
For consoles
- G.W.M.P (for Nintendo GameCube, Wii and Wii U (running in Wii mode), plays SN76489 VGMs)
For smartphones
- ANYPLAY (iOS 4.2 based devices, plays SN76489 VGMs)
- ConsoleMusic (iOS 5.0 based devices, plays YM2612 and SN76489 VGMs)
- GaMBi (iOS 7.0 based devices, plays YM2612? and SN76489 VGMs)
- Modizer (github) (iOS 5.1.1+ based devices, up to VGM v1.70 using VGMPlay as a base)
- Droidsound-e (Android 4.0, up to VGM v1.70 using VGMPlay as a base)
- OldNoise (Windows Phone 8 / Windows Phone 8.1, plays YM2612, YM2413 and SN76489 VGMs)
- VGMiser (iOS 6.0 based devices)
- MODo (for Android)
- ZXTune (Android 4.0+, uses libvgm as a core)
For portables
- GameMusicGear MX (for PlayStation Portable, plays SN76489 VGMs by using plugins)
Web
- ChiptuneBlaster (WebAudio based, up to VGM v1.70 using VGMPlay as a base)
- Muki (WebAudio based, up to VGM v1.61 based on Game Music Emu)
- Chip Player JS (WebAudio based, up to VGM v1.71 based on libvgm)
In development
- VGMPlay-web (in-browser, currently up to 1.10)
- SharpVGM (XNA, plays YM2612 and SN76489 VGMs)
- UltraPlayer 64 (no builds available) (for Nintendo 64, plays SN76489 VGMs).
- Pop!Art VGM Player (for all line of the MSX standard, plays AY8910, YM2149, YM2413, K051649 (SCC), YM3526, Y8950, YM3812, YMF262, YMF278B (MoonSound) and YM2151 VGMs)
- Clementine supports vgm through its GStreamer backend, which is currently out of date and inaccurate on some systems. Does not support VGZ. Currently able to populate media database with proper tag data, but more work needs to be done in regards to writing metadata into the vgm file.
- MDPlayer (for Windows Vista ~ 10, multi-format, uses VGMPlay as his VGM player).
Mini-FAQ
How I can run VGM files on my modern PC?
You can use VGMPlay for Windows and Linux-based systems. See the original topic for more details.
For OS X, you can use Audio Overload. Alternatively you can try to compile VGMPlay on OS X.
How I can play VGM files on my modern PC by using real hardware?
You can use VGMPlay for Windows and Linux-based systems. You must need PortTalk installed on your PC. See the original topic for more details.
How I can run these VGM players for older PCs?
Most of these requires a OS for running them and/or a minimum knowledge in BASIC commands. Players such as VGMPlay for MSX2 requires MSX-DOS2 to run.
How I can run these VGM players for third-and-up-generation systems?
- nesvgm: A flashcart that has support to play the VRC6 sounds will suffice.
- dmvgm: A flashcart for GB/GBC, such as the Bing one.
- pokevgm: A flashcart for NGP/NGPC.
- Genesis VGM Player and VGM_Player: A flashcart such as Mega Everdrive, your system does not need to be region-free.
- SMS VGM Player: A flashcart such as Master Everdrive and/or Everdrive GG (if you want to play it on a Sega Game Gear).
- GBA VGM Player: A flashcart that can be accepted by the GBA BIOS (e.g.: Show the Nintendo logo above the Game Boy one).
- G.W.M.P: For GC, you must need to find a way of running homebrew on it. For Wii and vWii (Wii virtual mode on Wii U), it requires The Homebrew Channel installed.
- GameMusicGear MX: You must need to find a way of running homebrew on PSP.
If your systems are NOT listed here:
Nintendo systems
- Nintendo 64: A VGM Player is WIP.
- Nintendo 64DD: No VGM Players available.
- Virtual Boy: No VGM Players available.
- Nintendo DS: No VGM Players available, but you can use GBA VGM Player to run it on GBA mode.
- Nintendo DSi: No VGM Players available, use of flashcards and emulators are required.
- Nintendo 3DS/XL/2DS: No VGM Players available, use of emulators are required. You must need to find a way to run homebrew on your system. Despite RetroArch having GME as an core on 3DS version, the GME core doesn't run and crashes the system.
- New Nintendo 3DS / XL / 2DS XL: Same as 3DS.
- Nintendo Switch: No VGM Players available, you cannot even hear VGMs online, as it does not include a built-in Internet Browser as their predecessors did.
If you are crazy enough, you can use a VGM Player for Linux in your Switch.
The Pokémon Mini sound hardware is not powerful enough to play any kind of VGM files, regardless of what soundchip is used.
Atari systems
- Atari 5200: No VGM Players available.
- Atari 7800: No VGM Players available.
- Atari Lynx: No VGM Players available.
- Atari Jaguar: No VGM Players available.
- Atari ST / Mega ST: No VGM Players available.
- Atari STE / Mega STE: No VGM Players available.
- Atari 32-bit PCs: No VGM Players available.
Sega systems
- SG-1000: No VGM Players available.
- SC-3000: No VGM Players available.
- Sega Game Gear: You can use VGM_Player for the Game Gear with Everdrive GG, also you can use SMS VGM software, if you have a way of playing SMS games on GG.
- Sega Mega-CD: No VGM Players available.
- Sega Pico: Genesis VGM Player and VGM_PLAYER can suffice, however, you only hear SN76489 data. You must also need (if exists) a flashcart.
- Sega Saturn: No VGM Players available, use of emulators are required.
- Sega 32x: You can use Genesis VGM Player and VGM_Player, although it does not play PWM.
- Sega Dreamcast: Same as Saturn, you also need to find a way to run homebrew on your DC if your model does not support the MIL-CD format.
Sony systems
- Sony PlayStation, PS2, PS3 and PS4: No VGM Players available, use of emulators are required. From PS2 up to PS4, you must have a way to run homebrew on these systems.
- PlayStation Vita: You can use GameMusicGear MX in the sandbox-PSP mode.
Microsoft systems
- Xbox family: No VGM Players available, use of emulators are required. You must have a way to run homebrew on these systems.
My PC is not playing a specific VGM file. What can I do?
It might not play due to the following reasons:
- Your PC is not powerful enough to play the song. (sound stutters) This is unlikely unless the VGM uses 3+ sound chips. 400 MHz should be enough for the more complex sound chips like SCSP.
- YRW801.rom is missing. (required for some YMF278B/OPL4 songs)
- Your VGM file is damaged.
- Your VGM file plays soundchip data that isn't supported by your VGM Player.
- Your PC sound volume is muted.
- You don't have soundcard / drivers installed on your PC.
- Your headphones / headset / speakers are broken.