dsp56300 / gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
https://dsp56300.wordpress.com/
GNU General Public License v3.0
334 stars 40 forks source link

Fault in single patch midifile save #163

Closed Guod3 closed 1 month ago

Guod3 commented 1 year ago

There are 3 bytes that come after the sysex message F7 at the end a of a .mid single patch save that serve no purpose and cause python midifile functions to crash. Removing these 3 bytes does not effect single patch loading from the .mid in osirus.

ylmrx commented 1 year ago

it works just fine here (i do see those 3 bytes), can you give more context regarding what you attempted ? I couldn't make it crash. (here: win11, python 3.9.13 / midifile 0.2.0)

Guod3 commented 1 year ago

I tried various python midi libraries including mido, they raised various errors which went away when I binary edited out the extraneous bytes. Sorry I don't have the specifics anymore, I went on to use my own binary file operations.

dsp56300 commented 1 month ago

The three bytes FF 2F 00 mark the end of a track, see midi file specification here: https://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html

dsp56300 commented 1 month ago

Found the issue, the chunk length that was written was incorrect.