|
* TinkerDifferent *
Retro Computing Community |
| Home | Forums | What's New | Search | Settings |
| Reverse-engineering vintage MIDI playback |
Forums > Vintage Other > Other
|
Mu0n Active Tinkerer Quebec -------- Joined: Oct 29, 2021 Posts: 649 Likes: 606 |
Jun 16, 2024 - #1
I'm using a 486 playing a game that uses MIDI signals (Ultima Underworld 1). it sends them out its joystick port pin12 (so far, nothing special). This gets converted with my custom cables into a midi cable, that I send into a modern MIDI USB interface, plugged on my 2024 PC. I then intercept those MIDI signals with the darker window screencapped above. I can analyze which instrument is loaded as the command passes through. I can learn which instrument # is being used as a playback is done. for bonus points, I'm using MIDITRIX, a midi matrix input/output setter so that the signal will not be merely analyzed and stopped on my 2024 PC, but will also get sent back through the midi interface, back into a real Roland MT-32 so I can also hear it as intended, while it's being scrutinized Goals with this: I can spy which instrument is being used in MT-32 or sound canvas music for each channel and I can reproduce them by playing/recording them one by one, to do some covers........... Setup #1 used: 486's midi out to modern usb 1x1 midi interface's IN (plugged into a modern 2024 PC). usb 1x1 OUT to MT-32 in. MIDItrix modern app acting as a signal repeater to make the interface act as a THRU MIDIView to display MIDI commands as they're read from the interface in real time Problem with setup #1: most of the time, it will give a blue screen of death (even in windows 11) because I guess it creates an avalanche of midi command echoes since the IN and OUT are through the same device. I swear it has worked temporarily under certain conditions
|
|
Mu0n Active Tinkerer Quebec -------- Joined: Oct 29, 2021 Posts: 649 Likes: 606 |
Jun 16, 2024 - #2
Setup #2 used:
I have a Serdashop DB15MIDI adaptor that creates 2 OUTs from my 486. One is sent independently to my modern PC for analysis with MIDIView, the other is sent independently to my MT-32 for playback (not essential, but nice). Once I learn which program change # are used, I switch over to a keyboard controller plugged into the MT-32 or sound canvas and navigate to that instrument number with hopes of being able to play the notes myself for that track. Problem with setup #2: I can notice which program changes are being done, but the "raw" instrument choices don't sound the same as what I hear from the tune (example: Ultima VII's title screen). So I suspect the heaps of SYSEX commands at the start modify/patch the instruments in such a way that they are necessary to get the feeling of the tune. This creates a huge barrier to being able to get it ready for recording a cover, track by track.
|
|
Mu0n Active Tinkerer Quebec -------- Joined: Oct 29, 2021 Posts: 649 Likes: 606 |
Jun 17, 2024 - #3
I switched to MIDI-OX, which is way more full-fledge featured than MIDIVIEW, here's what it looks like:
Here's a video of the soundtrack I'm trying to reproduce, captured through hardware by someone else years ago: Below, you can find a quick recording of me playing it, track by track, combined in Audacity, trying to aim for a quick demo instead of perfect accuracy. I'm using the exact same program changes as seen above with the Cx commands (which means 'Prg Chng') by navigating to the same hex number transformed into decimal (ie: 0x30 becomes 48) and here's a link to the standard list of instruments: As seen in the MIDI-ox screencap above, I list what the MIDI signal gives as prg needs -> what I can navigate to myself Channel 2: needs '26' = 38 = Warm Bell -> I find Warm Bell Channel 7: needs '1B' = 27 = Synth Brass 4 -> I find Synth Brass 4 Channel 4: needs '70' = 112 = Tinkle Bell -> I find Timpani Channel 6: needs '30' = 48 = String Ens 1 -> I find String Ens 1 Channel 3: needs '26' = 38 = marked as Synth Bass1 -> I hear Warm Bell Here's my first cover using this technique:
|
| Page 1 of 1 |
| Home | Forums | What's New | Search | Bookmarks | RSS | Original | Settings |
| XenForo Retro Proxy by TinkerDifferent.com |