Midi validation failure
- This topic is empty.
-
AuthorPosts
-
April 28, 2015 at 7:04 pm #392180
Hello…
So I am attempting to make a couple of corrections to an existing con (with permission from the author) but the revised midi won’t compile. I have never seen this error before and I can only assume it was caused by pilot error. However, just looking at the error doesn’t really tell me where to go fix it ” src=”/wp-content/uploads/invision_emoticons/default_SA_frown.gif” />
The only thing I did in the midi was delete the camera cues in the Venue track. It will compile with the original midi I extracted (besides a weird double bass note error I had to fix first) but not with the venue-edited one so that is definitely the issue. Here is the log (with author/song names edited to protect the innocent):
Magma: C3 Roks Edition v3.2.5
=============================
Build started at 2:33 PM
Starting Nemo’s MIDI Validator…
Everything looks good, continuing…
Loading MagmaCompilerC3.exe…
Nemo’s MIDI AutoGen process started
Added drum mix events successfully.
Nemo’s MIDI AutoGen process completed
Reading the archive
Project Compiler: Reading project ‘Customsauthorsongkemsong.rbproj’…
Project Compiler: Entering Phase 1 of 5…
Metadata Compiler: Starting…
Metadata Compiler: Done.
Project Compiler: Entering Phase 2 of 5…
MIDI Compiler: Starting…
WARNING: MIDI Compiler: d:/customs/author/song/kemsong.mid (PART BASS): No authoring found for overdrive phrases
MIDI Compiler: Loaded autogen theme ‘ArenaRock.rbtheme’…
MIDI Compiler: Skipping drums autogen…
MIDI Compiler: Autogenerating PART KEYS animations…
MIDI Compiler: Autogenerating PART VOCALS animations…
MIDI Compiler: Skipping ‘PART GUITAR’ autogen…
MIDI Compiler: Skipping ‘PART BASS’ autogen…
MIDI Compiler: Autogenerating lighting + post proc cues…
MIDI Compiler: Autogenerating camera cues…
MIDI Compiler: Validating…
MIDI Validation failed: (noteOnTime == NOTE_OFF)
MIDI: The previous failure caused the following failure:
MIDI Validation failed: (ValidateMidiChannelEvent(eventType))
ERROR: MIDI Compiler: Validation failed; corrupted file.
INTERNAL ERROR: MIDI Compiler: d:/customs/author/song/kemsong.mid: Compiler output failed validation
INTERNAL ERROR: MIDI Compiler: d:/customs/author/song/kemsong.mid: An internal compilation error has occurred
MIDI Compiler: Done.
ERROR: Project Compiler: Midi compiler failed.
What did I mess up?
April 28, 2015 at 7:12 pm #444002MIDI Validation failed: (noteOnTime == NOTE_OFF)
MIDI: The previous failure caused the following failure:
MIDI Validation failed: (ValidateMidiChannelEvent(eventType))
ERROR: MIDI Compiler: Validation failed; corrupted file.
MagmaCompiler doesn’t like MIDIs using running status, which looks like this might be using.
Try running it through MIDI Cleaner and see if it fixes it.
April 28, 2015 at 7:21 pm #444005I had run it through midi cleaner and tester before I got this error on the build attempt. No errors were found.
What is running status?
April 28, 2015 at 7:25 pm #444009OK I fixed it.
Your quote gave me an idea on what to look at, and sure enough, there it was.
The Velocity events for the camera cues I had deleted were still there. I deleted those and then it compiled.
Thanks!
April 28, 2015 at 7:27 pm #444011Glad to hear. I was in the middle of typing the answer below so I’ll leave it for anyone in the future (right, like anyone uses the search feature! )
Simple answer would be:
Normal – every note gets an on and an off event
NOTE ON, NOTE OFF, NOTE ON, NOTE OFF, etc.
Running status – notes (on the same note number? not sure) only need a note on, and the note off is implied when the next note on happens
NOTE ON, NOTE ON, NOTE ON, NOTE ON, etc.
That makes MIDI files smaller, but creates problems for our purposes because Harmonix doesn’t like them and didn’t prepare MagmaCompiler to handle those kinds of MIDI files.
April 28, 2015 at 7:30 pm #444013Thanks for the info.
I did use the search function but it didn’t look like anyone had encountered my error before (or they knew how to properly delete events, I guess).
April 28, 2015 at 8:38 pm #444019In running status, note off is written by writing a note on event with a velocity of 0. It’s a trick to try to write as many note on events in a row as possible, because this allows a little bit of overhead to be skipped. I don’t know why Harmonix wouldn’t have allowed MagmaCompiler to support this, it’s pretty easy to program for, and I could have sworn official Rock Band MIDIs used this encoding as well.
May 4, 2015 at 6:39 pm #444592I just got this error. What is the proper way to fix it? The MIDI cleaner didn’t help.
EDIT: Nevermind, somehow fixed it
-
AuthorPosts
- You must be logged in to reply to this topic.