Taking a close look at the disk images in hexedit, and it turns out that they aren't even all the same format. As pointed out in a previous comment by @Gravis, not all the disks actually contain MIDIs to begin with. It seems like the disks labeled "Smart PianoSoft" are MIDI, and the ones that say "PianoSoft Plus" use E-Seq. So any tool I create will need to deal with (at least) these two types of disks.
To illustrate the difference, here is what I am going to assume is the "Table of Contents" (for lack of a better term) of a Smart PianoSoft disk:
Here we can see the the track names and some information related to the MIDIs themselves. I believe that the "MAX020" and "FILE020" fields at the top indicate the total number of tracks on the disk, but as I only have one of these types of disks right now I'm not sure. I'm considering just biting the bullet and looking for another Smart PianoSoft disk on eBay so I have another data point.
Compare that to the ToC of a PianoSoft Plus disk:
We still have a list of track titles, but it looks like everything else has changed. Also note that it's not even in the same location on the disk.
I'm going to start working on a Python script that can first reliably identify which type of image you've given it, and from there start parsing the ToC so it can tell you the title of the disk and what tracks are on it. From there, the next step will be locating the individual files in the image and splitting them out.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.