Skip to content

MIDI2VGM problems

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

Moderator: Staff

  • VGMfreak Offline
  • Posts: 31
  • Joined: 2013-08-02, 8:43:08

MIDI2VGM problems

Post by VGMfreak »

ValleyBell, I know that you have noticed some of the problems that MIDI2VGM has. I have recently posted in the off-topic updated vgm2mid topic about crashing MID2VGM with too many pitch bend events, got around it by splitting the offending track into segments and process it from there.
Other than that, do you know any MIDI editor out there that can change a non-GM MIDI's percussion track to GM's Percussion? Tried the MIDI in MID2VGM but it recognises the percussion as an instrument.
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

(note: throughout this post, MIDI-related numbers start from 1, eg. 1-128 patches, 1-16 channels)

GM (and, IIRC, GS and XG) MIDI defines percussion as channel 10 and defines about six of the 128 possible patches as fully defined kits. If you have a MIDI sequence that isn't using channel 10 for percussion but the note events map one-to-one to a GM percussion kit, depending on your editor it should be trivial to hand edit the track in question by switching the track's channel to 10, selecting all the events matching the original drum note (eg, if your MIDI mapper has note 60/C4 as an acoustic snare, select all the C4 notes of the track), and transposing to the appropriate MIDI pitch (in the case of the above acoustic snare, 38/C#2 on patch 1).

I unfortunately don't know off the top of my head an app that automatically does this for you, but it sounds like a good programming exercise for me in the future! Please let us know what MIDIs you have that don't conform to GM standard and what standard they instead use, thanks!
  • VGMfreak Offline
  • Posts: 31
  • Joined: 2013-08-02, 8:43:08

Post by VGMfreak »

Hi neologix, the non-GM MIDIs were sequenced from a Korg i4S, the file was written within its memory and transferred via usb connection to the computer. It appears to be a normal MIDI file with 15 tracks, but the percussion track is on channel 4. No data is on Channel 10(GM percussion channel). Forcing the percussion track to channel 10 seems to destroy some note off data (ie. percussion notes become unusually long - about 10 seconds compared to 1/2 second), however I am able to get the percussion track to switch to ch10 by isolating it and then force changing it. In extreme cases, there's hex editing.
Do you know if XG can define percussion tracks for other than ch10? Thanks.
  • User avatar
  • ValleyBell Offline
  • Posts: 4768
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Post by ValleyBell »

About every MIDI sequencer should be able to change the channels of the notes.
But if you try hex-editing instead, be sure to not only change the 9x (NoteOn) events, but the 8x (NoteOff) events, too.

Also, GS and XG can both define custom drum channels. GS does this with SysEx messages, XG simply sets the Bank MSB controller to 127.

btw: mid2vgm doesn't care about the note length of drum notes. According to the GM standard drums have to play normally no matter how long (or short) they're played, so the NoteOffs are ignored anyway.
  • VGMfreak Offline
  • Posts: 31
  • Joined: 2013-08-02, 8:43:08

Post by VGMfreak »

I'm assuming some MIDI capable players (e.g. candybar mobile phones) have some playback problems particularly with the percussion track. Like you said, ValleyBell, note off events are ignored for drums, but I have had experience with some Nokia, Sony Ericsson and Motorola candybar phones and they dislike MIDIs with long notation in the percussion track. I try to keep the notation for percussion to 1/32th notes.
Sometimes, when I try converting MIDIs with a lot of events for pitch bend, expression, modulation and the like, I still get the overflow '6' and '7' errors, of course splitting the MIDI up and converting in segments works / also removing controllers 99-102
  • User avatar
  • MusicFox Offline
  • Posts: 147
  • Joined: 2012-05-04, 13:55:03
  • Location: Seattle
  • Contact:

Post by MusicFox »

I don't know how to load files into MIDI2VGM. I tried dragging and dropping them into the program but that seems to work. I tried pressing Ctrl+O but that didn't work either.

Post by GTheGuardian »

You have to put the MIDI files in the same folder as the MIDI2VGM is. I too had similar issue until I realized this.
Post Reply