Here's a nice surprise for everyone 
I found the sequencing data used in the old versions of the game (possibly everything is from Dinosaur Planet here, not sure yet though). I was even able to convert the sequencing data I found to MIDI!
The sequencing data is stored in AUDIO.bin. I sent an e-mail to SubDrag who might add support for it in N64 MIDI Tool, so let me just quote from that e-mail:
(note some of this information is probably wrong)
Basically what I did was this. Knowing that Diddy Kong Racing and the old Dinosaur Planet should be somewhat similar in certain aspects, and by judging from the debugging strings I found, the audio engine should be somewhat similar to each other. To find out for sure, I wanted to compare data from Dinosaur Planet with raw data that can be extracted from Diddy Kong Racing. For sequencing data in Diddy Kong Racing, I noticed that each sequence data has a header of 000000440000, and the end of the sequence is terminated by FF2F. So with this knowledge, I looked into some of the files that were included in Star Fox Adventures. TRACKS.bin contained nothing (in fact it seems compressed, it's probably a relic from Diddy Kong Racing), and the files you got your sample data from only contained the CTL/TBL (in that order).
So that left AUDIO.bin. The file seems to start with pointers/addresses of some kind, and then at 0xE37C the first sequence data is found. Judging by a quick search with the header value in my Hex Editor, there's 149 pieces of sequencing data in the file. Some perhaps belong to things other than music like ambient sound or sound effects that take advantage of mod or pitch shift.
So as a test I took data from 0xF434 and copied until 0xFBD7 and saved what I copied to a raw file. I took the raw file, opened up Diddy Kong Racing in N64 Midi Tool, went to 00A869B0:000032E8 (since I guess this is the largest sequence of data in the game?), and imported the raw file I created into the rom. Then I exported the data to MIDI, loaded the midi up in FL Studio and...check out the midi file. 
The track seems to be based on this song:
https://www.youtube.com/watch?v=ORTHS0Dnb0c&list=PLDA22110536CBFC17
Download what I just got converted here and see for yourself. Like I said, there's more sequencing data to rip. But hopefully SubDrag can streamline the process to make it easier to get everything out.
We can easily get the music out of Dinosaur Planet now. If we can't implement the data that we have in another game and play it that way, what we can do is extract all the sequencing data and convert each to MIDI. Then extract and convert the samples in MUSIC.bin to wavs with the correct loop point, rate, and root key. Then create a quick soundfont with the samples by each program number (in the converted midi for example, Patch 22 are samples with instrument hex number 15 like BANK_00_INSTR_0015_SND_0000 (since there is no MIDI patch 0) which are string samples). Then take the MIDI, chug it into a DAW (like FL Studio), apply your sound font, make sure everything sounds right with some tuning (note that some channels have patch changes in the same channel, so make sure to take care of those), then convert. It's a little bit of work, but it's do-able.
EDIT: Here's another tune. Sound familiar? It's from this. 
EDIT2: I'm currently making a quick soundfont. Should take a day or so.
EDIT3: Another surprise, MPEG.BIN isn't actually compressed at all. If you rename it to .MPEG and play it, you'll get 1 hour and 20 minutes of voice audio! Thanks to SubDrag for this find. You can download it here.
EDIT4: Music restoration project has begun. Making nice progress.
First 10 songs made very quickly. Used FL Studio 11 and a custom made soundfont, just added reverb and altered the volume here and there. Samples are from the files that came with the Star Fox Adventures prototype. I'll share the soundfont once I've tested every song with it, but it should be useable if it's able to produce these:
1.) http://www.mediafire.com/listen/lm1o3d1qf2i8d88/02_-_track_1_-_00000002_0000E444.mp3
2.) http://www.mediafire.com/listen/qc17to3bin5rmdn/03_-_track_2_-_00000003_0000F434.mp3
3.) http://www.mediafire.com/listen/znwl8ih7uxr2esx/04_-_track_3_-_00000004_0000FBD8.mp3
4.) http://www.mediafire.com/listen/512byefjq7w26ds/05_-_track_4_-_00000005_0001214C.mp3
5.) http://www.mediafire.com/listen/v0ve98vs8grhb42/06_-_track_5_-_00000006_00012F08.mp3
6.) http://www.mediafire.com/listen/a32mchbmzzkivez/07_-_track_6_-_00000007_000141B0.mp3
7.) http://www.mediafire.com/listen/gwvr8a3ty53k5g7/08_-_track_7_-_00000008_00014F90.mp3
8.) http://www.mediafire.com/listen/zae0c2e5z2nctna/09_-_track_8_-_00000009_00016194.mp3
9.) http://www.mediafire.com/listen/523ouwcorpwubom/0A_-_track_9_0000000A_000169E4.mp3
10.) http://www.mediafire.com/listen/14z1ldy2pbwq211/0B_-_track_10_-_0000000B_000175D0.mp3
Some of these should sound familiar, especially if you've watched last year's 50 minute gameplay video. These are still works in progress. They don't loop, they still need some work (there might be some inaccuracies on my part), but I figured I'd tease this. There's tons more to restore so stay tuned.
|