VOGONS


First post, by rhester72

User metadata
Rank Newbie
Rank
Newbie

Has anyone ever looked into this?

It would be very nice to be able to play the 5 "new" (read: ROM 2.x) demo songs (Adjarre, Boiler Buster, Short Demo, Sinfonia 1, and Good Morning) on older units (or even MUNT).

Extracting the data for them (in the second 64K bank) is very easy...working out the format is not. They don't appear to be standard MIDI sequences at all, and I can't work out what the format actually is (or how one would even begin to go about converting them to MID).

I'm not looking to do anything exotic - not even looking to remap channels, since they are native to the device. I'd just like them playable without having to actually go into Demo mode.

There doesn't appear to be any data on the MIDI Out/Thru lines when they are being played, so capturing the stream and going about it that way doesn't appear to be viable, either.

Thoughts/suggestions quite welcomed!

Reply 1 of 20, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

Update: mt32emu-qt offers a possibility to play those demo songs nowadays. Apparently, working out the format was very easy, but grabbing songs from ROM is not, in fact. The first thing to note: these songs need special voice and rhythm patches that are unavailable otherwise (presumably those were ripped from another thing like D-10, not sure). Yet, I dunno how legal it would be to rip that data from the ROM, but playing the songs with mt32emu-qt should be perfectly legal, I hope 😀

Reply 2 of 20, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

Oh, and good news: I suddenly tried to record MIDI with mt32emu-qt playing a demo song, and it did the job. Weirdly, I thought it wouldn't for some reason, it was quite some time ago 😒

So one can actually do the conversion with mt32emu-qt, just need a new-gen ROM and some time...

Reply 4 of 20, by rhester72

User metadata
Rank Newbie
Rank
Newbie

@sergm

Gave this a try - it does seem you can record demos, sort of.

Problems I'm having:

- There's obviously some sort of patch being applied that isn't captured, which is very necessary for proper playback
- If you allow a demo song to play through to the end, you aren't prompted to save the capture, nor is it kept

Any suggestions?

Reply 5 of 20, by rhester72

User metadata
Rank Newbie
Rank
Newbie

Further update - got a bit further, but my captures are still bad.

Now I'm getting the patches in the SysEx stream, and they are played back on my MT-32...but I get "Exc. Checksum error" on playback just before the notes begin to play and they sound wrong (because the patch is failing to upload properly).

ANY help appreciated =) So close!

Reply 6 of 20, by rhester72

User metadata
Rank Newbie
Rank
Newbie

FIgured out the checksum error...it really is an invalid patch SysEx that is padded with FF instead of 00.

Got that fixed...now some songs play more or less OK and some sound awful due to bad patches, but I can't work out why the patches are bad...they are EXACTLY as recorded. Ugh.

Reply 7 of 20, by rhester72

User metadata
Rank Newbie
Rank
Newbie

The attached is 1:1 recording of the first demo song, direct from MUNT into straight MIDI, with the SysEx patch for Hi Tom 1 corrected (FF->00 and checksum fixed).

It sounds awful. I don't understand why.

Attachments

  • Filename
    1 - Boiler Buster.zip
    File size
    5.37 KiB
    Downloads
    51 downloads
    File license
    Fair use/fair dealing exception

Reply 8 of 20, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

That's odd. I did the same and succeeded. Note, munt is agnostic to the delay between SysEx messages, unlike the old-gen units, so I would expect the need to edit the MIDI stream to make it a product. Indeed, the recording has to be started prior to playing a song: pretty much each of them relies on custom patches, as I said. And hence, we want to cut the leading delay, at the very least. But we likely also want to _increase_ delays between SysEx messages, so old-gen units might process them without errors, I gather.

Reply 10 of 20, by sergm

User metadata
Rank Oldbie
Rank
Oldbie
sergm wrote on 2023-10-14, 08:53:

BTW, my captured MIDI file is much shorter, only 13 Kb 😀 Do you use the same Record button? Or an external sequencer?

Ah, sorted it. Please, switch off the test MIDI driver - it has no use here. Instead, tick the Pin checkbox, so the synth remains active in between MIDI sessions.

Reply 11 of 20, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

OK, I guess it'd be easiest to use a DOS MIDI player from modern DOSBox yet enable the delaysysex thing like in

midiconfig=2 delaysysex

This will automagically delay all the SysEx messages to be compatible with old-gen devices.

Reply 15 of 20, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

For convenience of editing, I've moved all SysEx messages to a separate file. I have also replaced the FF bytes with zeros and split the last longish SysEx. Seems to sound more-or-less OK now.

Attachments

  • Filename
    1 - Boiler Buster.zip
    File size
    5.2 KiB
    Downloads
    53 downloads
    File license
    Fair use/fair dealing exception

Reply 19 of 20, by rhester72

User metadata
Rank Newbie
Rank
Newbie

Right, that's what I mean...for doing the remaining four, if I do the capture and pull out the sysex (and fix the display stuff for each song), I should be able to reuse your sysex for all the MIDs, correct?