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

Post by ValleyBell »

Okay, finally found time to look at all the bugs. Sorry for being so late.

Despatche's bug has been fixed shortly after he posted. (We discussed this on IRC and I gave him a private build for testing.)
GTheGuardian wrote:Asura Buster (YMF278B) seems to have some clicks occuring from YMF278B Channel 6.
Fixed. I introduced that bug when porting the YMF278 core from openMSX.
2ch-H wrote:DPCM sound of the first missing(NSF + NSFPlayer even have occurred).
[...]
Ikari III - Opening
For me the first and second loop sound identical.
In case you mean that the first DPCM sound doesn't have a "click" at the beginning - that's an issue of the sound engine.
When starting the game, the DPCM state begins with sample value 0. Playing a DPCM sound raises and lowers the sample value and due to how the engine works, after every sound it goes up to the maximum value (0x3F). (This looks ugly in a wave editor, btw.)
When playing any DPCM sound, the sample value gets reset from 0x3F to 0, so you hear a click.

I will release an updated VGMPlay/in_vgm in a few weeks.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

So here we have VGMPlay/in_vgm 0.40.5 now. (Download from the OP)

Here is an overview of the updates and improvements:
  • fixed not working muting for K053260, K054539 and YMF278B (last one was broken in VGMPlay only)
  • fixed and improved OKIM6258 emulation a bit (mid-song sample rate changes are working now!)
  • fixed a few things in YM2608, YM2612 (CSM mode works now), MAME AY8910, YMF278B, QSound
  • made VGMs that use OKIM6258 or OKIM6295 half as loud by default
For a more detailed, see VGMPlay_Updates.txt

Oh, and support for Famicom Disk System Sound is offical now.

Enjoy!
  • User avatar
  • RichterEX2 Offline
  • Posts: 191
  • Joined: 2012-03-30, 9:28:37
  • Location: Georgia, USA

Post by RichterEX2 »

Finding quite a few pops in Akumajou Dracula now.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Okay, after a few hours of trying to get rid of the clicks, I got it working in some way.
That means: VGMs that don't use the Multichannel ADPCM driver should be fine now. The ones that do (like Asuka 120%) still click sometimes.
It won't get any better until I port the OKIM6258 emulation from somewhere else, so you'll need to live with it for now.

Anyway, you can download the slightly updated VGMPlay/in_vgm from the OP now.

Post by Sonic of 8! »

Can someone port vgmplay to AndroidOS? I know that already exists VGM Players (Droidsound and DeaDBeeF), but I don't want to be stuck on playing only Sega 8-bit systems and MD VGMs. At least, I want the OPM, OPL series, OPN series, AY, Nintendo PSGs and HuC6280 chips.
オモいカルチャーをオモチャーと言う - 細野晴臣
  • User avatar
  • RichterEX2 Offline
  • Posts: 191
  • Joined: 2012-03-30, 9:28:37
  • Location: Georgia, USA

Post by RichterEX2 »

Well, there is a Mobile version of Foobar2000 in the works, but currently just in planning stages. If that gets done you could use whatever Foobar plugins you want. That being said, I'd like to see a proper port of in_vgm to Foobar. foo_gep doesn't have all the good options like setting the chip samplerates.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

You can try to use this Droidsound improvement, which uses VGMPlay (v0.40.4 currently) for playing VGMs.

Post by Sonic of 8! »

ValleyBell wrote:You can try to use this Droidsound improvement, which uses VGMPlay (v0.40.4 currently) for playing VGMs.
The packages dosen't seems to install on my device. I use a Android 2.3.5, my device is a Samsung Galaxy Y, maybe it only works on Android 4.0?
Last edited by Sonic of 8! on 2014-04-28, 23:49:48, edited 1 time in total.
オモいカルチャーをオモチャーと言う - 細野晴臣
  • User avatar
  • blitzlunar Offline
  • Posts: 126
  • Joined: 2012-12-21, 15:30:24
  • Location: UK

Post by blitzlunar »

RichterEX2 wrote:That being said, I'd like to see a proper port of in_vgm to Foobar. foo_gep doesn't have all the good options like setting the chip samplerates.
Indeed, or possibly a fork of foo_gep. Lots of the soundtracks I download don't play.

Post by vampirefrog »

Am I the only one having trouble muting the FM channels from YM2610?

Code: Select all

[General]
LogSound = 1
SampleRate = 44100
FadeTime = 0
MaxLoops=0x01
[YM2610]
Disabled = False
MuteMask = 65535
MuteMask_FM = 65535
MuteMask_PCM = 65535
MuteFMCh0 = True
MuteFM0 = True
MuteFMCh1 = True
MuteFM1 = True
MuteFMCh2 = True
MuteFM2 = True
MuteFMCh3 = True
MuteFM3 = True
MuteFMCh4 = True
MuteFM4 = True
MuteFMCh5 = True
MuteFM5 = True
This should theoretically generate a null sound, but I can still hear at least one channel. It seems to be FM. Also, MuteFMCh[0-5] seems to have no effect really.

I am running this on some metal slug rips. I'd send you the file but it's big.
  • User avatar
  • dissident93 Offline
  • Posts: 204
  • Joined: 2012-02-17, 5:54:01
  • Location: USA

Post by dissident93 »

I thought Metal Slug used compressed samples instead of FM? Maybe I'm thinking of the later ones though.

Post by vampirefrog »

Metal Slug 1 seems to use FM + samples. Either way, it should still be completely muted.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

vampirefrog wrote:Am I the only one having trouble muting the FM channels from YM2610?
That's what I have and it completely muted Puzzle Bobble and Puzzle De Pon:

Code: Select all

[YM2610]
MuteMask_FM = 0x3F
MuteMask_PCM = 0x7F
If you're using Linux, make sure that the file is named "vgmplay.ini". If it has the name "VGMPlay.ini", it will use the global vgmplay.ini, because its capitalization matches the executable's name. (If it doesn't find anything, it then searches for "VGMPlay.ini".)

Post by vampirefrog »

Nope.

http://evo.grigoriada.net/mslug_0022_trimmed.vgm

Code: Select all

[General]
SampleRate = 44100
FadeTime = 0
MaxLoops=0x01
[YM2610]
Disabled = False
MuteMask_FM = 0x3f
MuteMask_PCM = 0x7f
I am still hearing the guitar and some piano.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

vampirefrog wrote:I am still hearing the guitar and some piano.
You seriously have no clue how FM sounds.
What you're hearing is the DeltaT channel. (which I accidentally masked out, so you need to use MuteDT)
Additionally, the AY-PSG plays, so you need to disable it to mute it. (And you probably need to re-insert the 58 07 xx command to make the PSG not sound noisy.)
Post Reply