Skip to content

VGM Tool Collection

All you need to work with VGMs. Last update: 2022-12-30

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

Moderator: Staff

  • Tom Offline
  • Ragequit Member
    Ragequit Member
  • Posts: 496
  • Joined: 2011-11-30, 17:26:44
  • Location: Italy
  • Contact:

Post by Tom »

Oh, I didn't know that you could specify an output filename, my fault for not carefully reading the instructions :oops:

I can't give myself any star, though, since I created the 7 usergroups I would appear as a member of all of them (aka I would appear with 8 stars), so I made an exception in the forum code to keep only the Administrator star.
Also known as nineko.
  • User avatar
  • RichterEX2 Offline
  • Posts: 191
  • Joined: 2012-03-30, 9:28:37
  • Location: Georgia, USA

Post by RichterEX2 »

Something I've been wondering. Is there any benefit to running vgm_cmp, then vgm_sro on a VGM? Or am I just wasting time by doing this?

Furthermore, is there a way to batch tag a set of VGMs? How I've been doing it so far is putting them in one-by-one with VGMTool.
Last edited by RichterEX2 on 2012-04-10, 8:01:52, edited 1 time in total.
  • Tom Offline
  • Ragequit Member
    Ragequit Member
  • Posts: 496
  • Joined: 2011-11-30, 17:26:44
  • Location: Italy
  • Contact:

Post by Tom »

vgm_sro should be run on the raw files as the first thing you do, it will remove all the unused samples. Of course this only applies to those chips that use samples in the first place, such as the YM2610 or the OKIM6295 (and many others). vgm_cmp should be the last tool you run instead, since (according to the readme) you can't run vgm_trim on a vgm_cmp'd file.
Also known as nineko.
  • User avatar
  • RichterEX2 Offline
  • Posts: 191
  • Joined: 2012-03-30, 9:28:37
  • Location: Georgia, USA

Post by RichterEX2 »

A rather interesting bug to report. I tried trimming the VGMs for Rollergames in vgm_trim. However, the trimmed VGM file is missing the K053260 data.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

That's likely due to some missing commands. In the Parodius DA songs, there is this command at the very beginning:

Code: Select all

0x004000DF: BA 2F 06    K053260:	Control Reg: Read ROM: Disable, Sound Output: Enable, Unknown Bit: On
I don't know what I forgot to add it to vgm_trim's "important commands", but I'll fix that.

But still, please post an example file, so I can be sure that it works.
  • User avatar
  • RichterEX2 Offline
  • Posts: 191
  • Joined: 2012-03-30, 9:28:37
  • Location: Georgia, USA

Post by RichterEX2 »

Alright, I'll post the one I discovered it with. It's still raw so it's quite large.

http://www.mediafire.com/?ct4d2tdbbonb8b6
  • User avatar
  • RichterEX2 Offline
  • Posts: 191
  • Joined: 2012-03-30, 9:28:37
  • Location: Georgia, USA

Post by RichterEX2 »

Since there's been more talk about Adlib rips lately, I tried to find something that would convert the imf/wlf files from Wolf3D and other Apogee games into DRO so I could run it through dro2vgm. Instead coming across something that converted DRO to IMF and not the other way around, but it stated how similar the two formats were and I was wondering how hard it would be to just make an imf2vgm utility?

http://www.shikadi.net/utils/dro2imf
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

This looks like it shouldn't be a problem. And I'd prefer this over a imf2dro2vgm conversion, since IMFs are 700Hz/560Hz/... and DRO is 1000Hz, so there would be tons of rounding errors.
  • User avatar
  • RichterEX2 Offline
  • Posts: 191
  • Joined: 2012-03-30, 9:28:37
  • Location: Georgia, USA

Post by RichterEX2 »

I just realized that vgm_sptd can autotrim VGMs that end on their own. Is there a way I can have it leave a certain amount of white space at the end, or add some if necessary? This would save me a lot of time on some sets, keeping me from needing to Disk Write, load the WAV into Audacity, find a good cutoff point, then enter the results in vgm_trim.
  • Tom Offline
  • Ragequit Member
    Ragequit Member
  • Posts: 496
  • Joined: 2011-11-30, 17:26:44
  • Location: Italy
  • Contact:

Post by Tom »

You can "autotrim" them with vgm_sptd and then add blank samples at the end of the vgm file with vgm_trim by specifying an ending sample greater than the last sample of the vgm file. I still prefer to look for the last nonzero sample in Goldwave though, so I am sure I am not trimming while there is still something audible, and I am sure there isn't useless silence.
Also known as nineko.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Well, I myself use the vgm_sptd autotrim feature and then I add silence with Hex Workshop. And I use Hex Workshop also to look for the last nonzero sample, btw. :P
  • User avatar
  • 2ch-H Offline
  • Posts: 280
  • Joined: 2012-01-03, 2:10:28

Post by 2ch-H »

Problem 1:
There is Track using 3xAY8910.
Can you do it to use this in 3xAY8910 in vgmmerge?

This is a sample :Arcade, Tehkan, Bomb Jack - Special Bonus
Edit: link was removed.


Problem 2:
Update is done Hany in the Sky,
01 Diamond Rhapsody
10 Into Unconsciousness
Noise has occurred in the loop of these Track.

Is this a bug of new vgm_cmp?
or is it a mistake of my Looping?
Last edited by 2ch-H on 2012-05-13, 18:01:35, edited 1 time in total.

Post by Sonic of 8! »

I may encountered the first problem on Halley's Comet too.
オモいカルチャーをオモチャーと言う - 細野晴臣
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

VGMs don't support 3xAY8910 (or 3x any other chip). 2 chips at the same time is the maximum.

And vgmmerge currently doesn't even have dual-chip support, btw. I never finished it.


Update in Hany in the Sky:
It's caused by vgm_cmp combined with unlucky trimming. This can only happen to the C6280 and the RF5Cxx chips, because of how the chips work internally.
I'll fix this and update the packs.

I made waves of both versions (before and after vgm_cmp), but I didn't notice it, because I always make VGMPlay log exactly 1 loop instead of 2 to save time and it happened right after the loop.
  • User avatar
  • dissident93 Offline
  • Posts: 204
  • Joined: 2012-02-17, 5:54:01
  • Location: USA

Post by dissident93 »

Couple things on my mind here.

1) What's the latest version of VGM tool? The one I have is 2.5, but I'm not sure if I missed out an update here or there. I use this to tag since I generally dislike using the CMD tools. (Although VGMtrans would save me alot of time, but it gives the files errors. I forgot why.)

2) Speaking of tagging, is there to any reason preventing in_vgm from directly changing the metadata from within Winamp? I will assume if it was such an easy fix, it would have been implemented long ago.
Post Reply