Skip to content

VGMPlay / in_vgm

Last update: 2023-12-31 (v0.51.1)

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

VGMPlay / in_vgm

Post by ValleyBell »

Program: VGMPlay 0.51.1
Program Type: VGM Player/Standalone application
Platform: Windows (32/64-bit), Linux and Mac OS X (32/64-bit) via source code
Supports VGM: v1.72b (all chips)
Comment: The offical and always up-to-date player for all VGM files.

Download / Source (GitHub repo)


Program: in_vgm 0.51.1
Program Type: VGM Player/Winamp PlugIn
Platform: Windows (32-bit)
Supports VGM: v1.72b (all chips)
Comment: VGMPlay for Winamp/XMPlay :)

Download / Source (GitHub repo)
Notes:
  • in_vgm is the ANSI version (for all Winamp versions), in_vgm_w is the Unicode version (Winamp 5.3+ only)
    You should install only ONE of them, not both.
  • XMPlay decompresses vgz files by itself and sends the decompressed vgms to in_vgm. In order to use in_vgm's built-in decompression, put "vgm vgz" into the "Priority filetypes" text box while the plugin is selected.
VGMPlay/in_vgm note: For YM278B (OPL4) playback you need to download a sample ROM called "yrw801.rom" and copy it to the directory of VGMPlay or in_vgm.


Program: foo_input_vgm 0.30
Program Type: VGM Player/foobar2000 PlugIn
Platform: Windows (32-bit)
Supports VGM: v1.71b (all chips)
Comment: not part of the official release, but always up-to-date

Download (includes source)


Old versions
VGMPlay 0.51.0: Win32/Win64 Binary / Source
in_vgm 0.51.0: Win32 DLL / Source

VGMPlay 0.50.1: Win32/Win64 Binary / Source
in_vgm 0.50.1: Win32 DLL / Source

VGMPlay 0.50.0: Win32/Win64 Binary / Source UI, Source libvgm

VGMPlay 0.40.9: Win32 Binary / Source (GitHub repo)
in_vgm 0.40.9: Win32 DLL / Source
foo_input_vgm 0.29: Win32 DLL (includes source) (see kirishima's post)

VGMPlay 0.40.8: Win32 Binary / Source
in_vgm 0.40.8b: Win32 DLL (has a few bugfixes in in_vgm-specific code)
in_vgm 0.40.8: Win32 DLL / Source
foo_input_vgm 0.27: Win32 DLL (includes source)

VGMPlay 0.40.7: Win32 Binary / Source
in_vgm 0.40.7: Win32 DLL / Source
foo_input_vgm 0.26: Win32 DLL (includes source)

VGMPlay 0.40.6: Win32 Binary / Source
in_vgm 0.40.6: Win32 DLL / Source
VGMPlay/in_vgm 0.40.6 git-repo mirror
foo_input_vgm 0.24: Win32 DLL (includes source)

VGMPlay 0.40.5: Win32 Binary / Source
in_vgm 0.40.5: Win32 DLL / Source

VGMPlay 0.40.4: Win32 Binary / Source
in_vgm 0.40.4: Win32 DLL / Source

VGMPlay 0.40.3: Win32 Binary / Source
in_vgm 0.40.3: Win32 DLL / Source

VGMPlay 0.40.2: Win32 Binary
in_vgm 0.40.2: Win32 DLL

VGMPlay 0.40.0: Win32 Binary / Source
in_vgm 0.40.0: Win32 DLL / Source
  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Updates since last version:
- fixed a few bugs
- fixed OPL Hardware playback (was broken with the last version)
- added dual-chip support for all v1.61 chips
- made dual-chip mode working with data blocks (crashed before)
- added chips: OKIM6258, K051649, K054539, HuC6280, C140
- added muting-support for all VGM v1.61 chips

Merry Christmas!

Post by Sonic of 8! »

K051649 (SCC1) was already supported in VGMPlay.

And coming soon (in January), I publish the Hudson's versions of KLAX (the US NES makes DPCM sounds in VGM crazying, i think due to the iNES Mapper, so, Hudson re-mapped the game to Mapper 2. And the US GB version of KLAX didn't play any music, only SFX. So, Hudson put at least, 3 musics, but I heard one in the game).
オモいカルチャーをオモチャーと言う - 細野晴臣
  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Sonic of 8! wrote:K051649 (SCC1) was already supported in VGMPlay.
I ignored my WIP release on purpose.

Also, if you just downloaded it, please download again. I packed an outdated exe-file - sorry.

Post by Sonic of 8! »

And the Command line VGM tools needs update! Oh, I may report a bug in K054539 core. Sexy Parodius and Salamander 2 seems to have missing drums.
オモいカルチャーをオモチャーと言う - 細野晴臣
  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Sonic of 8! wrote:Oh, I may report a bug in K054539 core. Sexy Parodius and Salamander 2 seems to have missing drums.
Oh sorry, I forgot to check for the 2nd-chip-bit.
Please download it again. It works now.
Sonic of 8! wrote:And the Command line VGM tools needs update!
Please let me enjoy the few free days after Christmas. I'll start working on it in January.

Post by Sonic of 8! »

About Hu PSG: The value MuteMask option in HuC6280 in VGMPlay.ini is 0xFF. It should be 0x00, because in 0xFF value, its totally mute.
オモいカルチャーをオモチャーと言う - 細野晴臣
  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Sorry, that's a leftover from my last tests. I noticed it just a few hours ago.
  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

The clock divider for the AY-part was wrong (/32 instead of /16). (Sorry, but it's [Tetris YM2203] the first pack that actually uses the YM2203's AY-part.)
It'll be fixed in the next VGMPlay/in_vgm version.

EDIT: added pack-name in [], because the post was moved

Post by Sonic of 8! »

Probally this can occur on YM2610's AY part. I don't was ripped the YM2610 because of this problem, and with the clicks and plucks in the musics.
オモいカルチャーをオモチャーと言う - 細野晴臣
  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

I just updated VGMPlay and released in_vgm 0.40. (see [pack] OP)

At first the updates for VGMPlay:
  • 3 new chips: K053260, Pokey, QSound (emulators + tools coming soon)
  • some bugfixes (a bug with C140 writes, lots of memory leaks, hang when trying to display tags with unsupported Unicode characters)
  • source code simplified (especially for adding new chips)
  • support for the first new feature of VGM v1.70: seperate clocks for dual chips
  • earlier track changes with large audio buffers
And now some words about in_vgm:
Although in_vgm 0.40 looks quite similar to Maxim's 0.35 version, I completely rewrote it from scratch. I reused some old dialogues, but that's it.
That means that your settings aren't compatible, btw, also because I use a seperate ini-file instead of PlugIn.ini to save them.
btw: I didn't name it in_vgm 2, because "in_vgm 2 0.1" looks stupid.

Some notes about the options:
  • You need to restart the playback (not Winamp) for some options to take effect. (e.g. sample rates (of course) and emulation core selection)
  • If "Immediate update" and you move a slider, it will update when you release the mouse button. (The old in_vgm did immediate updates while moving, but I got reports about Winamp crashing when doing too many updates.)
  • The selected emulation core affects both dual chips, that's intentional.
  • Panning is only available for PSG with Maxim's core and YM2413 with EMU2413.
  • PSG panning can be overridden by GG stereo writes. It is also ignored if the chip is the NeoGeo Pocket PSG, because that one is stereo.
I think that's all I wanted to say.

Enjoy!
  • User avatar
  • dissident93 Offline
  • Posts: 204
  • Joined: 2012-02-17, 5:54:01
  • Location: USA

Post by dissident93 »

Woot! ;D
  • User avatar
  • Tomy Offline
  • Posts: 19
  • Joined: 2011-12-09, 16:13:22
  • Location: Finland

Post by Tomy »

I notice a lack in the higher frequencies (using YM2612 1.60 vgm's). I've tried every setting but can't get it back like it was in the earlier in_vgm version and the VGM Music Maker editor. Basically it's like all the hihats are gone and most of the snare drums. :( If it's supposed to be like this, then I'd have to re-edit all my tracks or keep using the old in_vgm.

Also in my track "Esper Friend" the first 2 notes of channel 4 don't play for some reason. At 17 seconds again channel 4 plays the first note sound wrong, then switches to the right at second note. At both problems the instrument uses SSG-EG, if that's the reason? But channel 5 uses the same instrument at 17s, and that's working ok.

Would be very happy if this could be improved. Of course, thank you very much ValleyBell for your work with vgm related tools!
  • User avatar
  • ValleyBell Offline
  • Posts: 4937
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Did you try to convert it to a ROM and play it with Kega Fusion?
Because I get some high frequencies when emulating the chip at 48 KHz. (Chip Rate: 48000 Hz, Chip Sample Mode: custom)

You get also a different sound when playing the Main Theme of Monster World 4. The default settings sound better there. (I think it sounds worst at 44.1 KHz.)

About the notes that don't play and wrong instruments - I guess I'll have to look into the FM core again. I'm sure it's the usual timing issue. It works with the Gens core, btw.
  • User avatar
  • Tomy Offline
  • Posts: 19
  • Joined: 2011-12-09, 16:13:22
  • Location: Finland

Post by Tomy »

Super awesome! Apparently I didn't try all the settings after all, sorry.. I got the high frequencies back now, the custom 48000 did it, yeah!

I'll be using the Gens core for now, confirmed that at least that particular track works with it. Thanks!

Edit: Damnit, and now the snare drum is all wrong in my track "Bad Ghosts" using Gens core. :D Well I hope you'll get the default core working, I'd rather use that.
Last edited by Tomy on 2012-02-20, 14:00:52, edited 1 time in total.
Post Reply