Skip to content

VGM Tracker Import

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

Moderator: Staff

  • bosco Offline
  • Posts: 10
  • Joined: 2019-04-08, 0:58:43

VGM Tracker Import

Post by bosco »

Hi.

I've been trawling the web looking for any trackers that will load VGM files or a means of converting VGMs to a format that trackers will accept such as MID.

So far I've had no luck with either. I thought I had succeeded with VGM2MID but the MID file it produced was unusable.

I have zero experience with this kind of stuff so figured I'd ask the experts.

If there's another way to visualise VGM files in a tracker-like format ie. note sequences/lengths, I would also be interested in knowing how.

Cheers. :)
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

The by far best way is to use your ears and transcribe the song manually, perhaps using the channel muting functions of your player of choice.

Automatic conversion doesn't really work that well for VGM files, as certain information like tempo and sample tuning is lost in VGM files.
  • bosco Offline
  • Posts: 10
  • Joined: 2019-04-08, 0:58:43

Post by bosco »

Hi ctr.

Thanks for the suggestion. Is there any particular VGM player I'd need that supports channel muting?

I'd heard tempo was a problem for VGM conversion. I figured it'd be easier to fix in a tracker than transcribing though, but maybe not?

I'm happy to give transcribing a go. I suppose it's a good test of how much you want something? :D
  • ctr Offline
  • Posts: 492
  • Joined: 2013-07-17, 23:32:39

Post by ctr »

in_vgm and foo_input_vgm all support muting. You can use regular command line vgmplay too, but you need to change the VGMPlay.ini to enable muting.

The problem when you don't have the tempo and do the conversion is that you can't make the measures align with the patterns, and you will also need to compensate for quantization errors by having a ridiculously high tempo.

When transcribing, you don't really get this problem, as you have full control of the tempo commands and you can make sure each row in the pattern correspond exactly to a 16th or 32nd note in the song, as it should.

To get the tempo, you can use the "tap for BPM" button that exists in many DAWs and trackers, including OpenMPT.
  • bosco Offline
  • Posts: 10
  • Joined: 2019-04-08, 0:58:43

Post by bosco »

Ok, I'll be sure to give these a try. :)

Btw. Out of curiosity I tried VGM2MID again with a VGM from a different chip (SN76489) and the results were pretty good this time. The previous VGM that failed was from an AY-3-8910 so I'm guessing VGM2MID only supports certain chips. Good to know there are options though. :)
  • User avatar
  • ValleyBell Offline
  • Posts: 4767
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

Yeah, AY8910 support is pretty basic in vgm2mid. I just made it "work" before losing motivation.

SN76489 is one of the chips where I put lots of work into "making conversions decent". Support for chips of the OPL (YM2413/YM3812/...) and OPN (YM2612/YM2203/...) series is also pretty decent. (except for YM2610's ADPCM-A and DeltaT stuff in general)
YM2151 is also good, except when a song uses software vibrato. NES, GameBoy and AY8910 support is just sort of working. And that's actually everything it supports.

vgm2mid also allows you to set the BPM setting that it uses during the conversion. This doesn't make the song faster/slower, but it actually sets the song's BPM to that value and scales the notes so that it plays at the recorded tempo. If you play around with the values (and reconvert + verify it in a MIDI editor), you may be able to get a pretty good approximation of the actual song BPM, so that the notes match up with the beats.
  • bosco Offline
  • Posts: 10
  • Joined: 2019-04-08, 0:58:43

Post by bosco »

Hi ValleyBell.

Vgm2mid is a cool program. Thanks for sharing. :)

Shame about AY support but it's good to know the other chips you listed are working well. I'll keep that in mind when browsing the VGM archive.

I may try splitting the AY VGM I'm interested in, into separate channel mp3s then try converting them to MIDs using Bear Audio. I'm ok at tidying things up but not musical enough to work completly by ear. :)
Post Reply