(Topic ID: 235242)

Exporting / Ripping MIDI (or instructions) from Game Roms

By Rdoyle1978

2 years ago


Topic Heartbeat

Topic Stats

  • 27 posts
  • 11 Pinsiders participating
  • Latest reply 1 year ago by Rdoyle1978
  • Topic is favorited by 4 Pinsiders

You

Linked Games

No games have been linked to this topic.

    #1 2 years ago

    Hi all -

    I am interested in updating the music on several older games - what I want to do is extract the music instructions (preferably to MIDI) from some older DE and System 9/11 games. I'm curious if there's a utility which already does this. Can I pull the music or chipset instructions somehow? If I can get that, I can upgrade the music and produce higher-quality music for these games using the same arrangements, but better sounding instruments.

    I know about M1 and PinMame, but these appear to just output .wav files, which is not what I want.

    thanks!

    #2 2 years ago

    https://www.pinsound.org

    You could try that and their forums to see how the re-orchistrate the music.

    #3 2 years ago
    Quoted from ForceFlow:

    https://www.pinsound.org
    You could try that and their forums to see how the re-orchistrate the music.

    Thanks - i am sure familiar with pinSound, but unfortunately this basically just works to the same end as doing the M1 route. and I'm finding pinsound doesn't appear to work on Sega/DE R2 games, which may make all this moot anyway.

    #4 2 years ago

    I know M1 can also output .vgm files, but I don't have any idea what kind of data those hold. Might be worth looking into though.

    Hope you can figure something out. I've been interested in finding a way to write music using System 11 tech, although I'm way too much of an audio noob to figure it out. Kind of wish someone would make an emulated System 11 VST or something.

    #5 2 years ago
    Quoted from Rdoyle1978:

    Hi all -
    I am interested in updating the music on several older games - what I want to do is extract the music instructions (preferably to MIDI) from some older DE and System 9/11 games. I'm curious if there's a utility which already does this. Can I pull the music or chipset instructions somehow? If I can get that, I can upgrade the music and produce higher-quality music for these games using the same arrangements, but better sounding instruments.
    I know about M1 and PinMame, but these appear to just output .wav files, which is not what I want.
    thanks!

    I'm pretty sure that the arrangement on system 11 games is not midi, based on interviews with Chris Granner. You might try and contact him directly to see what he remembers of the format.

    If anyone does figure out how to write new arrangements natively I think that would be really cool - I've been trying to read up on sound theory to generate new sounds with sound boards anywhere from the williams system 6/7 and the stern sb-300 but I have yet to translate what's happening from the mpu to the sound board (the sb300 specifically - I have the OS disassembled and I know what's data is being sent to the sound board, but how that translates into a specific sound is not connecting yet....)

    #6 2 years ago

    David Thiel did the sound for Secret Service and Torpedo Alley and has done recent stuff for JJP. Try reaching out to him.

    You might find the data sheets for the audio chips useful. The schematic for Time Machine shows Yamaha YM3012 and YM2151.
    http://www.ionpool.net/arcade/gottlieb/technical/datasheets/YM2151_datasheet.pdf
    https://www.datasheetarchive.com/pdf/download.php?id=4dd2ad957275a76074d8a7236f1f09d3646083&type=M&term=YM3012

    #7 2 years ago
    Quoted from YeOldPinPlayer:

    David Thiel did the sound for Secret Service and Torpedo Alley and has done recent stuff for JJP. Try reaching out to him.
    You might find the data sheets for the audio chips useful. The schematic for Time Machine shows Yamaha YM3012 and YM2151.
    http://www.ionpool.net/arcade/gottlieb/technical/datasheets/YM2151_datasheet.pdf
    https://www.datasheetarchive.com/pdf/download.php?id=4dd2ad957275a76074d8a7236f1f09d3646083&type=M&term=YM3012

    Awesome! Thanks for those links -

    2 weeks later
    #8 2 years ago

    I'm interested in this too.. My interest is mostly in the Williams system 4-7 games, and mostly from the perspective of building replacement sound/voice boards based on something like an arduino or RPi, rather than improving or changing the sounds. I dont know, but I assume that on the williams board, there's not much that would translate well to MIDI, but I could be wrong. This has always been kind of a back-burner "wouldnt it be cool" project for me but I haven't as much as looked at the schematics, but right now I actually have a Gorgar that needs a sound board ,and I have some sound boards to fix and install, so perhaps now is the time to learn and experiment with it!

    #9 2 years ago
    Quoted from PA28steve:

    I'm interested in this too.. My interest is mostly in the Williams system 4-7 games, and mostly from the perspective of building replacement sound/voice boards based on something like an arduino or RPi, rather than improving or changing the sounds. I dont know, but I assume that on the williams board, there's not much that would translate well to MIDI, but I could be wrong. This has always been kind of a back-burner "wouldnt it be cool" project for me but I haven't as much as looked at the schematics, but right now I actually have a Gorgar that needs a sound board ,and I have some sound boards to fix and install, so perhaps now is the time to learn and experiment with it!

    The old williams games aren't midi, that's for sure. Shouldn't be too hard to make an arduino play it, it's triggered very basically with some driver transistors (sys 4-6) and a PIA output (system 7).

    For the games that don't have background sounds, even easier, you don't have to worry about providing a way to ramp up the speed/pitch of the background.... just wait for your trigger and play the wav file.

    #10 2 years ago
    Quoted from slochar:

    The old williams games aren't midi, that's for sure. Shouldn't be too hard to make an arduino play it, it's triggered very basically with some driver transistors (sys 4-6) and a PIA output (system 7).
    For the games that don't have background sounds, even easier, you don't have to worry about providing a way to ramp up the speed/pitch of the background.... just wait for your trigger and play the wav file.

    I don't think any games are actually driven with MIDI, but many of the sound boards from back then have their instructions mapped to middleware which can output the resultant instructions in MIDI. I'm just not familiar enough with the DE sound boards to know if it's something off the shelf or proprietary - I still need to read through those links. This type of effort (if it even exists or could exist) would alleviate some of the concerns Chris Granner has with the PinSound board, and get the benefit of that board - i.e. still get higher quality sounds played live using samples or VSTs.

    I mean this is potentially a huge effort, but I am willing to bet a lot of the legwork is done, it's now a matter of stitching things together. I have no clue how these old boards work, but I know MIDI and general sound design very well, so mapping it to that made the most sense.

    #11 2 years ago

    I've heard of WAV to MIDI conversion tools, so the easiest approach might be to record the output as a sound file, and then run it through the conversion software.

    #12 2 years ago
    Quoted from ForceFlow:

    I've heard of WAV to MIDI conversion tools, so the easiest approach might be to record the output as a sound file, and then run it through the conversion software.

    I wish - those are a nightmare unfortunately. They work ok if you have a single instrument (which I think applies here), but they're just crappy glitch-fests. At least the ones I've used. There's got to be a way to do this in Visual Pinball; somehow they are converting those instructions into sounds the computer can create!

    #13 2 years ago
    Quoted from Rdoyle1978:

    I wish - those are a nightmare unfortunately. They work ok if you have a single instrument (which I think applies here), but they're just crappy glitch-fests. At least the ones I've used. There's got to be a way to do this in Visual Pinball; somehow they are converting those instructions into sounds the computer can create!

    I was thinking that the conversion software might have an easier time with the simpler music of early solid state games.

    I know there's no hope if you're trying to convert a full orchestral piece.

    #14 2 years ago
    Quoted from ForceFlow:

    I was thinking that the conversion software might have an easier time with the simpler music of early solid state games.
    I know there's no hope if you're trying to convert a full orchestral piece.

    You're probably right - I may just try it out. I have Reaper and Propellerheads Reason which both have ways to do this. let's see what happens...

    #15 2 years ago

    You need to export to a .VGM file using M1 or similar emulator. The VGM file format is basically a dump of raw data written to the sound chips. From a VGM file you might be able to convert it to MIDI with a conversion tool, I've had some success ripping notes from NES music. It will give you the pitches and you need to figure out the note durations yourself.

    Since you're interested in System 11, here's a rip of Black Knight 2000:
    https://vgmrips.net/packs/pack/black-knight-2000-williams-system-11b

    #16 2 years ago
    Quoted from RatShack:

    You need to export to a .VGM file using M1 or similar emulator. The VGM file format is basically a dump of raw data written to the sound chips. From a VGM file you might be able to convert it to MIDI with a conversion tool, I've had some success ripping notes from NES music. It will give you the pitches and you need to figure out the note durations yourself.
    Since you're interested in System 11, here's a rip of Black Knight 2000:
    https://vgmrips.net/packs/pack/black-knight-2000-williams-system-11b

    Killer! Thx

    2 months later
    10
    #17 2 years ago

    Hmmmm.... Just noticed this thread: Let me tell you a little about this (a blast from 1987).
    While I used a MIDI based DX7 as a musical typewriter into a PC based DAW (Cakewalk) after I got the composition in the ball park I transcoded the MIDI into a proprietary interactive token based interactive language of my design. Each 'track' of notes had 'opcodes' which could change things about the execution of the notes. Sync to a note clock at some chosen resolution (32nd, 16th, 8th), note transposition based on a global tone center, start other tracks, jump to sequence subroutines (each track had its own 'stack'), randomize playing and on and on.

    MIDI is a very linear format and not suited for an interactive environment like a pinball machine. So a composition will not play back the same way twice when it is reacting to pinball rule state. So even if you knew how to parse the tokens of the track streams you would not get the same results as happens when the game is pushing sound requests and the sound system is reacting to them.

    A simple example would be some background music playing. The player qualifies a 2X scoring timer for some number of seconds. The game requests the 2X scoring modifier. A sound string would fire up playing a cowbell on each quarter note of the music (no matter which background is currently playing). This lets the player know that they are in this state of grace and is still musical (more cowbell). When the double scoring state ends another sound code is serviced by the sound system and the cowbell track is shut down.
    I took full advantage of the fact that we were synthesizing the sound in 8 independent channels at run-time. The sounds were very adaptive and quite agile.

    ddt

    10 months later
    #18 1 year ago
    Quoted from RatShack:

    You need to export to a .VGM file using M1 or similar emulator. The VGM file format is basically a dump of raw data written to the sound chips. From a VGM file you might be able to convert it to MIDI with a conversion tool, I've had some success ripping notes from NES music. It will give you the pitches and you need to figure out the note durations yourself.
    Since you're interested in System 11, here's a rip of Black Knight 2000:
    https://vgmrips.net/packs/pack/black-knight-2000-williams-system-11b

    Hi RatShack,
    Did you put BK2000 sounds on that site? I didn't see any other Pinball musics or sounds on vgmrips.net, so I'm asking you if you are the one who put sounds from BK2000.
    I was wondering, if you are one who uploaded BK2000 sounds on vgmrips.net, can you upload sounds or musics from RFM on that site too? I've been looking for RFM music terribly badly, without finding it yet
    Thanks in advance

    #19 1 year ago
    Quoted from pinballfan2000:

    Hi RatShack,
    Did you put BK2000 sounds on that site? I didn't see any other Pinball musics or sounds on vgmrips.net, so I'm asking you if you are the one who put sounds from BK2000.
    I was wondering, if you are one who uploaded BK2000 sounds on vgmrips.net, can you upload sounds or musics from RFM on that site too? I've been looking for RFM music terribly badly, without finding it yet
    Thanks in advance

    No.

    #20 1 year ago

    Okay

    #21 1 year ago

    Funny this thread popped back up, I've been looking into trying to get the FM synth patches used in System 11 and WPC games the past few days. Unfortunately, I haven't gotten anywhere. The patches used in those games sound so much nicer to me than what you usually hear from games using the YM2151, but for some reason no one really seems interested in trying to rip them.

    I did discover how to play music and sounds through PinMAME though, so that was cool.

    #22 1 year ago

    To my knowledge nobody has ripped sequenced music to any usable format such as MIDI or MPT. Visual Pinball uses PinMAME to emulate the hardware. I'm also aware the Harris CVSD speech format has been problematic to decode for years. If you have an old copy of Pinball Hall of Fame: The Williams Collection, you can hear the CVSD speech sound warbled and off tone.

    Someone made an FPGA based CVSD codec:

    3 months later
    #23 1 year ago

    So I asked about this on VPforums and a developer working on PinMAME actually went ahead and added support for creating VGM files! You can try it with the latest beta found here: https://www.vpforums.org/index.php?showtopic=27063&p=456542 There are a few limitations (Notably that non-FM drums and voices are missing), but overall this is way more powerful for ripping pinball music than anything we've had before. Note that I was only able to get the VGMrip functionality to work by opening PinMAME through the command line. Once you get VGM ripping set up, you can use PinMAME's sound command mode (F4) to play literally any sound or piece of music in a game.

    You can use VGMTools to do a lot with these files. A bunch can be found here, but there are others scattered around the internet: https://vgmrips.net/wiki/VGM_Tools (Most notably VGMPlay, which I'm not sure is included in this pack)

    I'm using this functionality to get the FM Synth instrument presets to make my own music with, since System 11 and pre-DCS WPC games have some fantastic presets I wanted to get my hands on.

    I've also messed around with VGMPlay's features, mainly the ability to export waves and isolate individual channels. This might be what Rdoyle1978 is looking for since it makes recreating music pretty easy since you can clearly hear every individual note this way.

    #24 1 year ago
    Quoted from mystman12:

    So I asked about this on VPforums and a developer working on PinMAME actually went ahead and added support for creating VGM files! You can try it with the latest beta found here: https://www.vpforums.org/index.php?showtopic=27063&p=456542 There are a few limitations (Notably that non-FM drums and voices are missing), but overall this is way more powerful for ripping pinball music than anything we've had before. Note that I was only able to get the VGMrip functionality to work by opening PinMAME through the command line. Once you get VGM ripping set up, you can use PinMAME's sound command mode (F4) to play literally any sound or piece of music in a game.
    You can use VGMTools to do a lot with these files. A bunch can be found here, but there are others scattered around the internet: https://vgmrips.net/wiki/VGM_Tools (Most notably VGMPlay, which I'm not sure is included in this pack)
    I'm using this functionality to get the FM Synth instrument presets to make my own music with, since System 11 and pre-DCS WPC games have some fantastic presets I wanted to get my hands on.
    I've also messed around with VGMPlay's features, mainly the ability to export waves and isolate individual channels. This might be what rdoyle1978 is looking for since it makes recreating music pretty easy since you can clearly hear every individual note this way.

    Wow! This is miles beyond what we were able to do before. Since most of the music on the games I'm thinking of is fairly monophonic, it might not be all that hard to do an audio-to-midi conversion. Easy to clean up.

    #25 1 year ago

    Ok, that's pretty amazing. With a simple question you got a feature people have been coveting for 15 years! Simply incredible! I'll definitely have to play around with this.

    #26 1 year ago

    Melodyne does audio midi conversion extremely good. You do need to clean up the midi track though. and its pricey...

    #27 1 year ago
    Quoted from Axl:

    Melodyne does audio midi conversion extremely good. You do need to clean up the midi track though. and its pricey...

    heck yes it is! But it is certainly worth it if you're doing a lot of music stuff. And it's WAAAY better than AutoTune

    Hey there! Got a moment?

    Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside