Note: This article does not include custom hardware VGM Players, which require a bit of advanced knowledge in modding consoles and/or custom removable media.
A VGM Player is a sound player that plays VGM and (often also) VGZ files.
VGM Only
Stand-alone
Stand-alone VGM Players
| Player
|
Supported OSes
|
Supported Chips
|
| VGMPlay |
Windows/Linux command line |
All chips supported by VGM 1.72
|
| Benben |
Linux, Unix |
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 0.6.3 nightlies |
Windows, Linux (VGM support versions) |
SN76489, YM2612
|
| SonicPlayer (probably outdated) |
Windows |
SN76489, YM2612
|
| MAME 0.177+ (preliminary emulation based on VGMPlay, system described as VGM player) |
Windows, Mac OS X, Linux |
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) |
Mac OS X, Windows, Linux |
SN76489, YM2612
|
Plugins
VGM plugins for music players
| Plugin
|
Used in player(s)
|
Supported Chips
|
| in_vgm by ValleyBell |
Winamp, XMPlay [Windows] |
All chips supported by VGM 1.72
|
| foo_input_vgm |
foobar2000 [Windows] |
Same as in_vgm
|
| Maxim's in_vgm (outdated) |
Winamp [Windows] |
Chips supported by VGM v1.50 and lower
|
For consoles
For smartphones
VGM Players for Smartphones
| Player
|
Phone Version
|
Supported Chips
|
| VGM Player |
Android 4.2 and up |
|
For portables
VGM Players for Handhelds
| Player
|
Handheld(s)
|
Supported Chips
|
| dmvgm |
Original Game Boy, Super Game Boy, Game Boy Color, Game Boy Advance (in GB mode), Nintendo GameCube (with Game Boy Player) |
SN76489, LR35902 PSG (up to VGM v1.61)
|
| pokevgm |
Neo Geo Pocket and Neo Geo Pocket Color |
SN76489, T6W28
|
| VGM Witch (Requires WonderWitch to run) |
Bandai WonderSwan, WonderSwan Color, SwanCrystal |
SN76489
|
| GBA VGM Player |
Game Boy Advance, Nintendo GameCube (with Game Boy Player), Game Boy Micro, Nintendo DS (in GBA mode) |
SN76489
|
| VGM_Player
|
- Game Boy, using the SD-Based flash carts: Everdrive X, EzFlash Jr
- Sega Game Gear, using the SD-Based flash old Everdrive cart
|
SN76489, YM2612
|
For older computers
VGM Players for old computers
| Player
|
Computer
|
Supported Chips
|
| VGMPlay for MSX |
All revisions of the MSX (requires MSX-DOS 2) |
AY8910, YM2149, SN76489, YM2413, K051649, K052539, YM3526, Y8950, YM3812, YMF262, YMF278B, YM2151, YM2203, YM2608, YM2610, YM2610B, YM2612
|
Atari VGM Player  |
Atari 800 and up |
SN76489
|
| VGMPlayer |
Memotech MTX 512 |
SN76489
|
| SBVGM |
DOS executable; plays VGM/VGZ files on Adlib, Game Blaster, or Sound Blaster (1.0, 1.5 or 2.0) |
|
Web
Web-based VGM Players
| Player
|
Playback Method
|
VGM Support
|
| webVgm |
WebAudio based, based on VGMPlay |
Up to VGM v1.70
|
Multi-format
Stand-alone
Stand-alone Multi-format Players
| Player
|
Supported OSes
|
VGM Support
|
| 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
|
| rePlayer |
Windows |
Uses libvgm and Game Music Emu
|
Plugins
Multi-format plugins for music players
| Plugin
|
Used in player(s)
|
VGM Support
|
| foo_input_gme |
foobar2000 [Windows] |
Up to VGM v1.61
|
| foo_gep |
foobar2000 [Windows] |
Up to VGM v1.61
|
For consoles
Multi-format Players for Consoles
| Player
|
Consoles
|
VGM Support
|
| G.W.M.P |
Nintendo GameCube, Wii, Wii U (running in Wii mode) |
SN76489
|
For smartphones
Multi-format Players for Smartphones
| Player
|
Phone Version
|
VGM Support
|
| ANYPLAY |
iOS 4.2 based devices |
SN76489
|
| ConsoleMusic |
iOS 5.0 based devices |
YM2612, SN76489
|
| GaMBi |
iOS 7.0 based devices |
YM2612?, SN76489
|
| Modizer (github) |
iOS 12+ based devices |
Uses libvgm as a base
|
| Droidsound-e |
Android 4.0 |
Up to VGM v1.70; uses VGMPlay as a base
|
| OldNoise |
Windows Phone 8 and 8.1 |
YM2612, YM2413, SN76489
|
| VGMiser |
iOS 6.0 based devices |
|
| MODo |
Android |
|
| ZXTune |
Android 4.0+ |
Uses libvgm as a core
|
For portables
Multi-format Players for Handhelds
| Player
|
Handheld(s)
|
VGM Support
|
| GameMusicGear MX |
PlayStation Portable |
SN76489, by using plugins
|
Web
Web-based Multi-format Players
| Player
|
Playback Method
|
VGM Support
|
| ChiptuneBlaster |
WebAudio based, using VGMPlay as a base |
Up to VGM v1.70
|
| Muki |
WebAudio based, based on Game Music Emu |
Up to VGM v1.61
|
| Chip Player JS |
WebAudio based, based on libvgm |
Up to VGM v1.71
|
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.
On Linux-based systems, you may be able to use Windows-only players using WINE.
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 have 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 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 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.
- 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 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.
- 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.