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: 4823
- Joined: 2011-12-01, 20:20:07
- Location: Germany
1) VGMTool2 r5 is the lastest "real" release. neologix made an r6, but that one didn't work with Japanese tags for me.
And btw, I use VGMTool to tag track titles and notes, but I use small bat-files for mass-tagging.
2) Actually, it's just that nobody bothered about it yet.
It shouldn't even be too difficult, but feel like working on it right now. (I'm one person that works on over 10 tools, a VGM player, various emulator mods, vgmrips and some MegaDrive-related things. So that's more than enough work ATM.)
3) I finally updated all the tools.
There were some bugfixes and improvements, mainly related to VGM 1.61 chips.
This time I included all VGM-related tools I made, including vgm_tag, vgm_stat and vgm_ptch.
And there's a new tool, which I made during the last 2 days: vgm_cnt
The VGM Command Counter gives you information about which chips are used, how many commands they get and how many notes are played.
You can use these information to strip unused chips with vgm_ptch.
A note for programmers: I also included the source of optdac and optvgm32, which I never finished. (And I haven't worked on them for almost a year, aside from fixing crashes with newer VGM formats.)
optdac was planned to be like optvgm, but make v1.60 VGMs. Currently it just removes redundant DAC writes.
optvgm32, also unfinished, just takes all PWM writes and turns them into one huge data block that gets streamed by the DAC Stream Control. PWM vgms are the only ones where vgm_dbc is quite effective and gets ratios from sometimes 50% to usually 63% for PCM/PWM data.
Happy ripping!
And btw, I use VGMTool to tag track titles and notes, but I use small bat-files for mass-tagging.
2) Actually, it's just that nobody bothered about it yet.
It shouldn't even be too difficult, but feel like working on it right now. (I'm one person that works on over 10 tools, a VGM player, various emulator mods, vgmrips and some MegaDrive-related things. So that's more than enough work ATM.)
3) I finally updated all the tools.
There were some bugfixes and improvements, mainly related to VGM 1.61 chips.
This time I included all VGM-related tools I made, including vgm_tag, vgm_stat and vgm_ptch.
And there's a new tool, which I made during the last 2 days: vgm_cnt
The VGM Command Counter gives you information about which chips are used, how many commands they get and how many notes are played.
You can use these information to strip unused chips with vgm_ptch.
A note for programmers: I also included the source of optdac and optvgm32, which I never finished. (And I haven't worked on them for almost a year, aside from fixing crashes with newer VGM formats.)
optdac was planned to be like optvgm, but make v1.60 VGMs. Currently it just removes redundant DAC writes.
optvgm32, also unfinished, just takes all PWM writes and turns them into one huge data block that gets streamed by the DAC Stream Control. PWM vgms are the only ones where vgm_dbc is quite effective and gets ratios from sometimes 50% to usually 63% for PCM/PWM data.
Happy ripping!
- dissident93 Offline
- Posts: 204
- Joined: 2012-02-17, 5:54:01
- Location: USA
this release update has spurred me to start prototyping earlier than planned the visuals for the vgmtool update i've been planning! i'll post screenshots once i've recreated existing tabs and will put it on github once the gui is "complete."
@valleybell - how much of vgmtool's functionality is mimicked by command-line tools? vgmtool is a mess of windows-only code (especially in the tagging functions) and i'd rather drop in your multi-platform version of code where possible. also, can you send me the source for your latest vgm2mid wip? this will indeed be the version of vgmtool where i will integrate that into the conversion functionality. also also, at your earliest convenience can you update the vgmspec161 doc to accurately represent what's possible currently? i'll double-check the vgm2txt source to see what discrepancies in documentation are there as well just in case.
@valleybell - how much of vgmtool's functionality is mimicked by command-line tools? vgmtool is a mess of windows-only code (especially in the tagging functions) and i'd rather drop in your multi-platform version of code where possible. also, can you send me the source for your latest vgm2mid wip? this will indeed be the version of vgmtool where i will integrate that into the conversion functionality. also also, at your earliest convenience can you update the vgmspec161 doc to accurately represent what's possible currently? i'll double-check the vgm2txt source to see what discrepancies in documentation are there as well just in case.
Last edited by neologix on 2012-05-24, 0:19:06, edited 1 time in total.
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
- ValleyBell Offline
- Posts: 4823
- Joined: 2011-12-01, 20:20:07
- Location: Germany
- Sonic of 8! Offline
- Posts: 419
- Joined: 2011-12-13, 17:31:14
Here is the file. The trackname is The Subdued Zone (hopefully, the game has a sound test). Link:
www.depositfiles.com/files/wnajeebyh
Anyway, in future, this pack include:
- Space Harrier Theme (Original), X68000 exclusive stage/track;
- Arranged versions of the musics (including both Hot Snow from JP/US modes);
- Space Harrier Theme (Arranged).
I don't log the musics of Original mode, since is equal to the S16 ones.
www.depositfiles.com/files/wnajeebyh
Anyway, in future, this pack include:
- Space Harrier Theme (Original), X68000 exclusive stage/track;
- Arranged versions of the musics (including both Hot Snow from JP/US modes);
- Space Harrier Theme (Arranged).
I don't log the musics of Original mode, since is equal to the S16 ones.
Last edited by Sonic of 8! on 2012-05-26, 1:03:45, edited 2 times in total.
オモいカルチャーをオモチャーと言う - 細野晴臣
I think I found found vgm_trim bug. While trying to trim VGM which used YM3812 changing beginning position to anything different from 0 made some of the channels mute.
Files are here: http://tails.bloodheaven.net/VGMPP/_etc/VGMTools/_wrk/
Files are here: http://tails.bloodheaven.net/VGMPP/_etc/VGMTools/_wrk/
- ValleyBell Offline
- Posts: 4823
- Joined: 2011-12-01, 20:20:07
- Location: Germany
Hi, as you know I'm absolute beginner here, so I'll post a newbie question:)
I'm trying, as an exercise, to rip a song from Penguin Kun Wars (AC) which uses two AY8910a. the first one deals with SFX, the second with the music.
I don't understand how to strip the first chip and leave the second one. If I use
vgm_ptch -strip:AY8910 xxx.vgm
of course it strips both chips.
Sorry if this is a known issue - I could not find the answer by myself.
thanks.
B.
I'm trying, as an exercise, to rip a song from Penguin Kun Wars (AC) which uses two AY8910a. the first one deals with SFX, the second with the music.
I don't understand how to strip the first chip and leave the second one. If I use
vgm_ptch -strip:AY8910 xxx.vgm
of course it strips both chips.
Sorry if this is a known issue - I could not find the answer by myself.
thanks.
B.
You have to use vgm_ndlz for that. It will create two vgm files, one for each chip. From there, you'll delete the one that's not of your interest, and work on the other.
Also known as nineko.
- ValleyBell Offline
- Posts: 4823
- Joined: 2011-12-01, 20:20:07
- Location: Germany
I think this is more appropriate place to post stuff so:
http://www.mediafire.com/download.php?69wqar3a0webnqw
I updated my S982 tool
+100% slower on YM2608 (use -noadpcm switch if s98 does not use YM2608's ADPCM channel)
+2 chip support (at least i hope so)
+It now prints program name instead of just printing useless debug info.
+More decent switch parser (even "s982 -sdfhjskgl -dsfgdshfdh file.s98 -dsfdsf -йцукен -noadpcm" will work :U)
~Fixed drag'n'drop, unlike ValleyBell's tools it works even if you drop filename with quotes
~Optimization blahblah fixes blahblah
P.S. Specially for hoot X1 rip i made switch -hootx1 which ignores 2nd YM2151 because X1 don't use it (but it's still in device list)
There's also ssgstrip tool which strips any SSG writes from YM2203\YM2608 chip (might be useful if game don't use SSG channels for music but still sends crapload of writes to 00-0Fh)
http://www.mediafire.com/download.php?69wqar3a0webnqw
I updated my S982 tool
+100% slower on YM2608 (use -noadpcm switch if s98 does not use YM2608's ADPCM channel)
+2 chip support (at least i hope so)
+It now prints program name instead of just printing useless debug info.
+More decent switch parser (even "s982 -sdfhjskgl -dsfgdshfdh file.s98 -dsfdsf -йцукен -noadpcm" will work :U)
~Fixed drag'n'drop, unlike ValleyBell's tools it works even if you drop filename with quotes
~Optimization blahblah fixes blahblah
P.S. Specially for hoot X1 rip i made switch -hootx1 which ignores 2nd YM2151 because X1 don't use it (but it's still in device list)
There's also ssgstrip tool which strips any SSG writes from YM2203\YM2608 chip (might be useful if game don't use SSG channels for music but still sends crapload of writes to 00-0Fh)
Last edited by tails_ on 2012-10-09, 17:04:49, edited 1 time in total.
Hope and Friend of Truxton is rhythm change in the state of YM3812,
I want to use vgm_trim remain changes.
First release was the soundtrack of this music.
This VGM sample:
Edit : I deleted the file
This OST sample:
Edit : I deleted the file
Is it possible in vgm_trim?
I want to use vgm_trim remain changes.
First release was the soundtrack of this music.
This VGM sample:
Edit : I deleted the file
This OST sample:
Edit : I deleted the file
Is it possible in vgm_trim?
Last edited by 2ch-H on 2012-11-21, 4:55:25, edited 1 time in total.
- ValleyBell Offline
- Posts: 4823
- Joined: 2011-12-01, 20:20:07
- Location: Germany