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: 4767
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Okay, I got XMPlay and found the bug: in_vgm tries to load/save the ini-file from/to XMPlay\Plugins\in_vgm.ini
So if you make a directory called "Plugins" in XMPlay's folder, it works.

That's because I ask Windows for the application path, which returns Winamp.exe, not the DLL. From there I write the ini-file to PlugIns\. (or %AppData%\Winamp\Plugins, if Winamp returns it)

I'll see if I can get the DLL path somehow to fix this.


EDIT: Okay. I fixed and updated in_vgm to 0.40.2. (The update 3 weeks ago was actually 0.40.1, but I forgot to change the version number.)

Post by Tiido »

I'm gonna test this as soon as I get back home from work ^^
EDIT: worked wonderfully ^^
Last edited by Tiido on 2012-05-02, 12:32:31, edited 1 time in total.
Mida sa loed ? Nagunii aru ei saa :P
  • User avatar
  • Knurek Offline
  • Posts: 84
  • Joined: 2011-12-30, 1:01:56

Post by Knurek »

ValleyBell, I'm getting some annoying volume spikes when using your plugin to play P2612 Arcus Odyssey set.

08 Act 1 Boss.vgm roughly 1:38 in for example

I don't have the time for further testing at the moment, but I don't seem to recall this happening with Maxim's version - will check tomorrow.
  • User avatar
  • ValleyBell Offline
  • Posts: 4767
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

That's a bug of the VGM, or better said, the sound engine. It writes 0xFF (maximum positive value) to the DAC, maybe that was intended to be a "sound stop" command or it's a corrupted sound.
Mute all channels but the DAC and you'll see it.
  • User avatar
  • Knurek Offline
  • Posts: 84
  • Joined: 2011-12-30, 1:01:56

Post by Knurek »

ValleyBell wrote:That's a bug of the VGM, or better said, the sound engine. It writes 0xFF (maximum positive value) to the DAC, maybe that was intended to be a "sound stop" command or it's a corrupted sound.
Mute all channels but the DAC and you'll see it.
Thing is, I've checked with emulated sound rip, using Hoot and it doesn't fade everything there, just plays some sounds only on the left channel. Nothing as annoying as the VGM file.
I'll post some MP3s tomorrow, so you can hear what I'm talking about.

Slower

Post by Diamond00744 »

Hi! How I can get other version of a melody in VGM Play? ... For example, open Sonic 1 in Kega, change region to EUR (F3 key) and you get slower melodies. Is it possible in this player? :) Sorry for bad language :roll:
  • User avatar
  • ValleyBell Offline
  • Posts: 4767
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

At the moment there's no option for that in VGMPlay (it's on my TODO list now), so you have to use in_vgm for that.
In in_vgm, just set "Playback rate" to 50 Hz and most Master System and MegaDrive songs should play slower.

Please note that this doesn't work with most Arcade VGMs.

Post by Diamond00744 »

Thank you! :)

UPD: It works! :D
Last edited by Diamond00744 on 2012-05-20, 8:16:32, edited 1 time in total.
  • User avatar
  • Raijin Offline
  • Posts: 41
  • Joined: 2012-08-15, 6:24:35

Post by Raijin »

Just thought I'd report that VGMPlay MAME emulation seems inaccurate for the YM2612. Try listening to Blacksheep from Alien Soldier, or Heart of Icegrave from Monster World IV. Blacksheep just sounds wrong right from the start, and Heart of Icegrave's cymbals sound incorrect.
  • User avatar
  • tails_ Offline
  • Posts: 170
  • Joined: 2012-03-18, 16:59:23
  • Location: Tomsk, Russia
  • Contact:

Post by tails_ »

Raijin
I think this is better to report to MAME developers team, I don't remember YM2612 core updates for some years tho'
  • User avatar
  • ValleyBell Offline
  • Posts: 4767
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Raijin wrote:Just thought I'd report that VGMPlay MAME emulation seems inaccurate for the YM2612. Try listening to Blacksheep from Alien Soldier, or Heart of Icegrave from Monster World IV. Blacksheep just sounds wrong right from the start, and Heart of Icegrave's cymbals sound incorrect.
1. In order to actually fix something, one needs to know how it sounds. i.e. fixing is impossible without a comparison of "how it sounds" and "how it should sound" (and don't compare it with Gens, please)
2. Like tails_ said, reporting that to the MAME developers would make more sense
3. I already fixed various bugs of the YM2612 core and it was horror. Sorry, but I'm not going to touch this core another time.
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

Just out of curiosity, the fixes you made in the MAME YM2612 core are backported from Genesis Plus GX or something, right?
  • User avatar
  • Raijin Offline
  • Posts: 41
  • Joined: 2012-08-15, 6:24:35

Post by Raijin »

Well, it sounded fine in the previous version. That's what I used to make this video, and you can use that as a reference to what it sounds like now. Oh, and Youtube has a tendency to not jump to the correct position half the time, so if that happens, jump to 38:12 in that video. I don't know anything about MAME, so that's why I reported that here. I just figured it had something to do with VGMPlay itself I guess, though, if you say the YM2612 hasn't been updated in MAME for years, it must be VGMPlay, right?
Last edited by Raijin on 2012-08-15, 19:33:19, edited 1 time in total.
  • User avatar
  • ValleyBell Offline
  • Posts: 4767
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

neologix wrote:Just out of curiosity, the fixes you made in the MAME YM2612 core are backported from Genesis Plus GX or something, right?
The fixes I did are additional refresh calls and some stuff ported from the latest Genesis Plus GX. (The MAME Team didn't port a few things correctly.)
And some workarounds for VGMTool trimmed VGMs.
Nice example from INLINE void set_timers(...):

Code: Select all

	ST->mode = v;	// MAME
	if ((OPN->ST.mode ^ v) & 0xC0)
	...

Code: Select all

	if ((ym2612.OPN.ST.mode ^ v) & 0xC0)	// Genesis Plus GX
	...
	ym2612.OPN.ST.mode = v;
Raijin: The video sounds very much like it's using the Gens core - a very very outdated YM2612 emulation. (Which date does your "previous version" have, btw? Some of the early versions of VGMPlay may have used it as default core.)
I tested the ROM in Regen (which seems to be the most accurate MD emulator these days) and the current VGMPlay sounds quite close to it.
If you really want to prove me wrong, record it from real hardware. Just do NEVER compare emulation with emulation.
  • User avatar
  • Raijin Offline
  • Posts: 41
  • Joined: 2012-08-15, 6:24:35

Post by Raijin »

Well, I don't have the previous version anymore. I think it was one or two releases before this current version, maybe. I definately remember the one I used for that video didn't have PCE support yet though.
Unfortunately, I don't have a copy of Alien Soldier. I do have Monster World IV though, so I recorded Heart of Icegrave for the different cymbal sounds I mentioned.

First of all, here is the one in that video from before. Again, if Youtube doesn't link it properly to the point it's supposed to, skip to 33:08.

Here is a recording from the current version of VGMPlay.

Finally, here is a recording from my HD Graphics Model 1 Genesis with a VA6 motherboard. Unfortunately, my Genesis isn't modded for anything other than a region switch, so the audio quality is subpar.

Now as far as I can tell, all three recordings of the cymbals sound different. What do you think? Perhaps I am just incorrect?
Last edited by Raijin on 2012-08-16, 0:30:48, edited 1 time in total.
Post Reply