+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Extracting sounds/music from N64 ROMs?
Pages: [1] 2
Author Topic: Extracting sounds/music from N64 ROMs?  (Read 2 times)
Tyrukia
Guest
« on: April 27, 2008, 07:20:12 pm »

I've got a ROM, and theres some sounds on it.

What would I have to do to and what would I have to download to get the sounds off the ROM and onto my computer, in perhaps, a .wav file?

Is it possible even? Help appreciated.
Karatorian
Guest
« Reply #1 on: April 28, 2008, 11:48:25 am »

I don't know exactly how the N64 handles sound, but it's definely possible. If you can figure out the location in the ROM where the sounds are stored and what format they're in, chances are that SoX can convert them into a .wav (or several other formats).
Tyrukia
Guest
« Reply #2 on: April 28, 2008, 01:56:10 pm »

What's SoX, and where can I find out where the sounds are?
Karatorian
Guest
« Reply #3 on: April 29, 2008, 06:03:00 pm »

Sox is Sound eXchange, the swiss army knife of sound utilities. You can download it from it's homepage.

As for finding the sound data in a ROM, that can be easy or difficult depending on your skill level and/or how well documented the ROM is. Finding the location of data in a ROM is one of the core ROM hacking skills and there are several ways to do it.

The easiest way is to let someone else do it. If the ROM you're interested in has been hacked on by others, they may have provided some documentation, like a ROM map, that could guide you. Check the documents section of the RHDN database to see if any info is availible. However, as the N64 isn't a very popular hacking platform, there may not be any docs for the game you're interested in.

The real methods are basically three, looking at the code, trial and error, and ROM corruption (which is basically automated trial and error).

Looking at the code requires knowledge of the architechture of the platform you're hacking. There are basically three methods, dissasembly, debugging, and code tracing. These are all pretty advanced topics, but there are tutorials and such that can help you. I don't know what sorts of tools are availble for the N64 as I've never hacked it, but you could check the utilities database and see what you can find.

Basically what you want to do is find parts of the code that interact with the N64's sound registers and investigate it to see where it's getting it's data from. To do this you'll need some documentation on the N64's sound system and at least a rudimentary knowledge of ASM.

To find it by trial and error, you basically hexedit the ROM and see what changes. This can be a long proccess, especially if you've got no basis from which to start and/or the ROM is large. ROM corruption is a proccess that uses programs to somewhat automate this proccess. Again, knowledge of the platform is helpful to avoid simply floundering in the dark.

In all likelyhood, what you're looking for is a pointer table that points to the various pieces of sound data. If you locate such a table, it will tell you where in the ROM the sounds are. Look for docs in the database on pointers, pointer tables, repointing, etc. and chances are you'll find some helpful info.

Somewhere around here is a list of docs for newbies, I think it's in the FAQ thread, but I'm not sure. If you've never done any ROM hacking before, you should read all of them.

Edit: I just realized that there is no FAQ thread. Hmm.
Tyrukia
Guest
« Reply #4 on: April 29, 2008, 06:23:24 pm »

Thanks, but I can't find anything on that site that's .exe, and source makes my head hurt.

Anyway, I looked in documents, nothing on N64 sound. I'm using Super Smash Bros., if that helps. I'll google some tutorials later, but could you help me with SoX?
Karatorian
Guest
« Reply #5 on: April 29, 2008, 10:17:51 pm »

Right on the front page under Release Information there is a link to "sox-14.0.1.zip" that's clearly labled "Win32 Binary".
haogden
Guest
« Reply #6 on: April 29, 2008, 10:37:18 pm »

Also, if you're using the emulator Project64, you can open your ROM file, go to "Options", "Configure Audio Plugin", and "Start sound logging" and the emulator will make you a .wav file of whatever sound goes on in the game.
Tyrukia
Guest
« Reply #7 on: April 30, 2008, 02:11:28 pm »

Thanks, I am using P64, but I'd like the sounds individual without background music.

As for SoX, I had downloaded that before, but if I run the .exe, it just opens a Command Prompt like window, that scrolls text quickly and closes after about half a second. I tried open the ROM using the .exe, but the same thing happened.
creaothceann
Guest
« Reply #8 on: April 30, 2008, 03:10:23 pm »

Open a console window (cmd.exe in case of WinNT/2k/XP) and navigate to the directory with the "cd" command. You can then start the program and the window will stay open.
Disch
Guest
« Reply #9 on: April 30, 2008, 03:47:11 pm »

alternatively

type this into notepad or something, save it as "whatever.bat" and put it in the same directory as the exe.. then run it:

Code:
name_of_exe_you_are_running
pause
Tyrukia
Guest
« Reply #10 on: April 30, 2008, 08:18:08 pm »

Bad news. I can't find any ROM maps for SSB.

Anyway, I got it to open through the command prompt, but the batch file didn't work, it just tells me to press any key, and if I press one it closes. Anyway, from the program, I have no idea what to do.

Wouldn't I just be able to make the whole ROM a .wav file using SoX, and take the parts I need from that, then delete the probably huge file after?
Karatorian
Guest
« Reply #11 on: April 30, 2008, 08:43:06 pm »

Perhaps. However, you'd have to know what format the sounds are in. Furthermore, some sound encoding methods are dependant on the byte alignment and/or contents of the preceeding data, so you may not get any useful results. Actually, if you took care not to renecode the sound file to a different sample size or sample rate, the wav would be only slightly larger than the ROM. However, that's still likely to produce a lot of what will sound basically like white noise (static). Finding anything useful whould be very tedious and may not produce any results.

If you do decide to experiment like this, I'd recommend that rather than just cutting and pasting the sounds with a sound editor, you instead use the time location of any sounds you do find to calcualte where in the ROM the sounds are and seek to extract them properly.
Tyrukia
Guest
« Reply #12 on: April 30, 2008, 08:46:09 pm »

Thanks, I'll see what happens, and this may make extracting them easier, especially with no documentation...
Tyrukia
Guest
« Reply #13 on: April 30, 2008, 08:56:21 pm »

Also, .n64 isn't a supported file format, what would I have to do for it to read it?
KungFuFurby
Guest
« Reply #14 on: May 03, 2008, 04:39:38 pm »

To extract sounds and music, it'll be a headache to do it. Provided you have Windows, the job can be done via a format called USF.

More info on USF here.

Ripping the sounds off of there will be a headache, depending on game. If the game is on the ripped list for USF music, you can download the USF set. If not, it'll be a headache...

Believe me, the N64 doesn't really have a standard for sound... the link has the info on sound for the N64.
Pages: [1] 2  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC