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
- ValleyBell Offline
- Posts: 4804
- Joined: 2011-12-01, 20:20:07
- Location: Germany
VGM Tool Collection
Current tool list:
dacopt, dro2vgm, imf2vgm, opl_23, opt_oki, optvgm, optvgmrf, raw2vgm, vgm_cmp, vgm_cnt, vgm_dbc, vgm_facc, vgm_mono, vgm_ndlz, vgm_ptch, vgm_ren, vgm_smp1, vgm_sptd, vgm_spts, vgm_sro, vgm_stat, vgm_tag, vgm_trim, vgm_tt, vgm_vol, vgm2txt, vgmlpfnd, vgmmerge
Win32 Binaries / Source (GitHub repo)
Please refer to the Readme for further information on what the tools do and how they are used. Or as in the chatbox due to the readme being horribly out of date.
Old versions:
Win32 Binaries / Source (2021-11-30)
Win32 Binaries / Source (2012-12-07)
vgm_sro + vgm_cmp update (2013-01-16)
imf2vgm (2013-03-17)
vgm_sro K054539 fix (2013-07-25)
vgm_sro RF5C68 fix + MultiPCM (2015-02-09)
Win32 Binaries / Source (2015-07-25)
Win32 Binaries / Source (2016-08-04)
Old post:
I don't feel like writing lots of text at the moment, so I just drop a link: Download
I updated/fixed many of the tools (e.g. vgm_trim, vgm_cmp, etc.) and I also included an updated vgm_tag.
Please note that the read me file is a little outdated, although I quickly made a few changes before uploading the tools.
btw: I changed the way vgmlpfnd displays its results - it's more tidier and readable now.
If there are bugs, please report them.
Happy ripping!
dacopt, dro2vgm, imf2vgm, opl_23, opt_oki, optvgm, optvgmrf, raw2vgm, vgm_cmp, vgm_cnt, vgm_dbc, vgm_facc, vgm_mono, vgm_ndlz, vgm_ptch, vgm_ren, vgm_smp1, vgm_sptd, vgm_spts, vgm_sro, vgm_stat, vgm_tag, vgm_trim, vgm_tt, vgm_vol, vgm2txt, vgmlpfnd, vgmmerge
Win32 Binaries / Source (GitHub repo)
Please refer to the Readme for further information on what the tools do and how they are used. Or as in the chatbox due to the readme being horribly out of date.
Old versions:
Win32 Binaries / Source (2021-11-30)
Win32 Binaries / Source (2012-12-07)
vgm_sro + vgm_cmp update (2013-01-16)
imf2vgm (2013-03-17)
vgm_sro K054539 fix (2013-07-25)
vgm_sro RF5C68 fix + MultiPCM (2015-02-09)
Win32 Binaries / Source (2015-07-25)
Win32 Binaries / Source (2016-08-04)
Old post:
I don't feel like writing lots of text at the moment, so I just drop a link: Download
I updated/fixed many of the tools (e.g. vgm_trim, vgm_cmp, etc.) and I also included an updated vgm_tag.
Please note that the read me file is a little outdated, although I quickly made a few changes before uploading the tools.
btw: I changed the way vgmlpfnd displays its results - it's more tidier and readable now.
If there are bugs, please report them.
Happy ripping!
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
- ValleyBell Offline
- Posts: 4804
- Joined: 2011-12-01, 20:20:07
- Location: Germany
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
- ValleyBell Offline
- Posts: 4804
- Joined: 2011-12-01, 20:20:07
- Location: Germany
I just updated the tool package. It's only a small and quick update for the last few bugs, which are:
- vgmlpfnd can now handle data blocks for the second chip (that was the problem with 2xK054539 vgms)
- fixed the argument bug of vgm_trim
- fixed vgm_cmp's dual-chip support for AY8910 and GameBoy chips (was a small oversight - the commands of the second chip were always going to the first one)
Was this the cause of the missing note in my Battle Road vgm? If yes, does this mean I should redo everything from scratch?ValleyBell wrote:fixed vgm_cmp's dual-chip support for AY8910
Also known as nineko.
- ValleyBell Offline
- Posts: 4804
- Joined: 2011-12-01, 20:20:07
- Location: Germany
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
- ValleyBell Offline
- Posts: 4804
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Because I planned to add support for it. But since it's possible to change the sample data mid-song, I haven't yet startet to work on NES support.Sonic of 8! wrote:- I found in vgm_sro, a NES APU word. Why the name is present on the tool?
The tool is made for MegaDrive and 32x (PWM) VGMs. It's pretty good when used with optimized 32x VGMs, but since I haven't worked on optvgm32 for months it's pretty useless at the moment.Sonic of 8! wrote:- Why chips needed to put in vgm_dbc? Since I dropped some System GX VGM files on them and the program is crashed on every file.
But it shouldn't crash, so I'll check this.
EDIT: Okay, I found the bug. The problem is how I handle the data blocks for the second chip. If it isn't handled correctly, the program crashes.
I went through all tools and made sure that it works correctly everywhere. (And it didn't work in many of them.)
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
- ValleyBell Offline
- Posts: 4804
- Joined: 2011-12-01, 20:20:07
- Location: Germany
I decided to help too: http://vgmrips.net/programs/tools/vgm_name.rar
You know, the various vgm tools by ValleyBell are very useful, but if you use them all in a row (e.g. vgm_sro, vgm_sptd, vgm_trim, vgm_smp1, vgm_cmp), you might end up with a filename such as Title_optimized_01_trimmed_no1smpl_optimized.vgm, which is good and all (because you retain a backup of the original file), but it's a very long filename. If you're working on a pack with a lot of songs (Knights Of The Round has 31, for example) you will end up wasting a lot of time removing all those _suffixes from your files.
So. Put vgm_name.exe in the same folder with your *.vg? files, run it, and it will remove all the _suffixes for you, renaming Title_whatever.vgm to Title.vgm
It won't overwrite existing files; if Title.vgm already exists when you run vgm_name, it will throw a nice run-time error 58 and it will quit.
It requires msvbvm50.dll installed on your computer.
And no, it won't rename itself or the other vgm_something tools. It operates on a *.vg? wildcard.
You know, the various vgm tools by ValleyBell are very useful, but if you use them all in a row (e.g. vgm_sro, vgm_sptd, vgm_trim, vgm_smp1, vgm_cmp), you might end up with a filename such as Title_optimized_01_trimmed_no1smpl_optimized.vgm, which is good and all (because you retain a backup of the original file), but it's a very long filename. If you're working on a pack with a lot of songs (Knights Of The Round has 31, for example) you will end up wasting a lot of time removing all those _suffixes from your files.
So. Put vgm_name.exe in the same folder with your *.vg? files, run it, and it will remove all the _suffixes for you, renaming Title_whatever.vgm to Title.vgm
It won't overwrite existing files; if Title.vgm already exists when you run vgm_name, it will throw a nice run-time error 58 and it will quit.
It requires msvbvm50.dll installed on your computer.
And no, it won't rename itself or the other vgm_something tools. It operates on a *.vg? wildcard.
Also known as nineko.
- ValleyBell Offline
- Posts: 4804
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Most of the tools support an additional and optional output file name.
What I usually do, is vgm_cmp "File.vgm" "cmped\File.vgm".
An example .bat-file:
This method work with all tools (even unreleased ones), but: dro2vgm, vgm_facc (I forgot it here), vgm_ndlz, vgm_sptd, vgm_spts, vgm2txt.
And it's mentioned in the Readme for vgm_cmp, vgm_trim and vgmmerge.
But still, that tool will be very useful for me, especially after using vgm_trim and vgm_ndlz. You need to give yourself a "Programmer" star now.
What I usually do, is vgm_cmp "File.vgm" "cmped\File.vgm".
An example .bat-file:
Code: Select all
set path=D:\VGMTools
mkdir sro
for %%f in (*.vgm) do vgm_sro "%%f" "sro\%%f"
cd sro
mkdir cmp
for %%f in (*.vgm) do vgm_cmp "%%f" "cmp\%%f"
And it's mentioned in the Readme for vgm_cmp, vgm_trim and vgmmerge.
But still, that tool will be very useful for me, especially after using vgm_trim and vgm_ndlz. You need to give yourself a "Programmer" star now.