Jump to content
IGNORED

Extracting audio from ROMs?


Recommended Posts

Is it possible to get music and sound samples from the ROMs (aside from recording emulator footage with FRAPS and taking the audio from video)? I'm trying to remake some games in HTML5, and have been able to easily extract the graphics, but getting the sounds is a whole other issue. Anyone know if this is possible?

Link to comment
Share on other sites

Not from the ROMs directly, since they are not sample or wave files. Sound effects on the Intellivision are generated in the old-school way: by programming the sound chip directly, or using the built-in EXEC sound scripting framework. Either way it's less sound information and more instructions on how to manipulate the sound generating chip.

 

Your best bet is to sample the audio yourself by recording the emulation using software (I use Screenflow on the Mac). Alternatively, you could plug in the RCA cable into a VCR or something like that, and capture the audio out with an analog-to-digital converter, the kind used to digitize VHS tapes.

 

dZ.

Link to comment
Share on other sites

Thanks DZ and tacrec. There isn't a way to dump audio data out of jzIntv or anything like that? The issue I keep having is sound fx coming in during playthroughs while attempting to record music, and then I have to record very long segments and try to edit them together to create a clean copy, which takes a LOT of work. I've seen stuff for NES for example, where you play the game with a debugger running and it grabs the audio and lets you dump it into formats like .nsf, .wav or even MIDI.

Edited by clowerweb
Link to comment
Share on other sites

The Intellivision has three sound channels, or voices. You might be able to disable sound channels in the emulator to ensure cleaner sound. If there isn't an option already in jzintv I am sure it would be easy to add. Eg ctrl + 1 2 or 3 to toggle.

 

Another tricky option is to use knowledge of how the Inty sound chip works and reproduce sound that way eg with a simulated sound chip like jzintv does. Pretty sure the inty sound chip just produces simple waveforms like sine, triangle and square plus white noise.

Link to comment
Share on other sites

Thanks DZ and tacrec. There isn't a way to dump audio data out of jzIntv or anything like that? The issue I keep having is sound fx coming in during playthroughs while attempting to record music, and then I have to record very long segments and try to edit them together to create a clean copy, which takes a LOT of work. I've seen stuff for NES for example, where you play the game with a debugger running and it grabs the audio and lets you dump it into formats like .nsf, .wav or even MIDI.

 

There is no "audio data" in the way that you're thinking. There are simply byte values which are fed to the PSG in order to generate sound and music. And that's an important if subtle point - music and sound are exactly the same things on an INTV. The only available audio separation, as mentioned, would be to isolate each sound channel (if an emulator supported it). Which has its own drawbacks, as many sound effects and a lot of music is multi-channel. Plus the envelope and noise generators come into play which complicates things as they can be hooked into more than one channel at a time.

 

Realistically, the only way to truly isolate sound effects and music would be to disassemble the ROM and re-write the game to spit out each effect and music note separately. Given enough time, you could isolate the exact data that's being fed into the PSG, and write your own program to push each chunk into the emulated PSG. Which would require a butt-ton of work, plus understanding of what the programmer was doing in the first place.

Link to comment
Share on other sites

Or you could just use jzintv -F<filename.wav> to capture the audio into a *.wav file ;) e.g.

 

jzintv -Ffred.wav fred.rom

 

Will create fred.wav which you can load into any sound editor.

 

Yeah, that's most likely the best option here. It seems like it would be too difficult to attempt to do any other way. Thanks guys!

Link to comment
Share on other sites

Yep, you can ask jzIntv to record all audio output with jzintv -Ffoo.wav as noted above. Alternately, if you're trying specifically to get Intellivoice samples, use jzintv -Vprefix which will create a series of files named prefix####.wav, each containing an Intellivoice sample (where #### is a four digit number from 0000 to 9999).

Edited by intvnut
Link to comment
Share on other sites

How is the AY addressed on the Intellivision, through some OUT or similar instructions or if it is memory mapped? I'd assume the routines for playing music and sound effects are separate, so if you were to hack an existing ROM, it could be enough to NOP out calls to the AY chip in one routine and leave them in the other. You still need to dump sound to file as described, but in that way you hopefully could eliminate sound effects on top of the music.

Link to comment
Share on other sites

How is the AY addressed on the Intellivision, through some OUT or similar instructions or if it is memory mapped?

The CP1610 doesn't have IN/OUT instructions like the x86 or Z80, so its memory mapped.

 

I'd assume the routines for playing music and sound effects are separate, so if you were to hack an existing ROM, it could be enough to NOP out calls to the AY chip in one routine and leave them in the other.

Its a lot of work to reverse engineer the ROM in order to find the sound/music routines and then single out particular sounds. Unless of course you really, really want those sounds ;).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...