Remaining N64 Midi Tool games by SubDrag at 8:59 PM EST on January 27, 2022
The N64 Sound Tool (https://github.com/jombo23/N64-Tools/tree/master/N64%20Sound%20Tool/N64SoundListToolUpdated/Release) should be able to rip sound from 100% of the games. If you notice anything missing that are not instruments/from the music, please let me know.

However, music is not as simple, and though most are known, there are still a bunch of games without music rippable by the N64 Midi Tool (https://github.com/jombo23/N64-Tools/tree/master/N64%20Midi%20Tool/Release). Just throwing this out there, especially as some of these titles are cross-platform, to see if anyone knows if this any of this music is known on N64 due to the other platforms?

It is possible some don't have music or they are fully contained in sound bank.

Giving this a shot, even identifying one remaining would be nice.

Current list left of music:
Dezaemon 3D (J) [!] - Note this format is known, and game has a music editor, it's just...not easily translatable to midi
Fighting Force 64 (E) [!]
Fighting Force 64 (U) [!] - Sequences are 8C7CC4, filename, size, #samples, sample offset/flags, 8 is looping
Kobe Bryant in NBA Courtside (E) [!] - SQ3
Kobe Bryant's NBA Courtside (U) [!] - SQ3
NBA Courtside 2 - Featuring Kobe Bryant (U) [!] - MUS
Nightmare Creatures (U) [!] - Unknown .xm format (not fast tracker)
Space Invaders (U) [!]
Stunt Racer 64 (U) [!] - Challenging Pattern format
World Driver Championship (E) (M5) [!] - Challenging Pattern format
World Driver Championship (U) [!] - Challenging Pattern format

edited 11:16 AM EST February 13, 2022
by hcs at 12:04 AM EST on January 28, 2022
Congrats on getting sound for all games working!
by SubDrag at 7:28 AM EST on January 28, 2022
Thanks! Pretty amazing it was possible.

The one that jumps out at me is the .xm from Nightmare Creatures. It's not FastTracker, but has to be a standard...

Also feel like the EA games probably are music shared among different platforms? And South Park Rally likely is too, but no one ever decoded rbh for music.

Nightmare Creatures .xm
0xF23D20    bin    U_XMGOTHIK1B.XM
0xF2C480    bin    U_XMGOTHIK2B.XM
0xF366C0    bin    U_XMGOTHIK3B.XM
0xF3EE00    bin    U_XMGOTHIK4B.XM
0xF48380    bin    U_XMBONUS.XM
0xF496A0    bin    U_XMBOSS1.XM
0xF4E960    bin    U_XMBOSS2.XM
0xF543A0    bin    U_XMBOSS3.XM
0xF57CA0    bin    U_XMBOSS4.XM
by WDLmaster at 6:41 PM EST on January 28, 2022
Unfortunately I know none of those games except Shadowman. It uses streamed music which is not ADPCM-based. You can clearly hear the MP3-like compression artifacts. There's actually no point to rip audio from the N64 version because not only is the sound quality absolutely devastating compared to the PC version but the music is also incomplete, which is only logical considering the PC music is over 270 MB in size (ADPCM 44100 Hz stereo).
by SubDrag at 7:31 PM EST on January 28, 2022
Thanks that was actually really helpful, I found Shadowman and it's a format I already have decoded. Anyone know of a sound format that includes sin/cos, from the 2000 era, with a table of like 8 shorts it uses with it that it decodes first? It's that. I have it decoding from assembly but would be nice to know what it is.

edited 8:27 PM EST January 28, 2022
by punk7890-2 at 11:08 PM EST on January 28, 2022
Great work as always Sub!

Do the remaining Konami games not use the typical format found in the Goemon games?
by SubDrag at 7:06 AM EST on January 29, 2022
None of the remaining games were Konami as far as I know? They weren't for sound at least.

Any help identifying music would be appreciated.

Also note: Found out Turok 2, Turok 3, All-Star Baseball, NFL QB Club 99, 2000, 2001 (not 98), South Park Chef's Luv Shack use the same format as Shadow Man's "Streaming Audio as Music", so they're off the list.

Robotech Crystal Dreams off too since just Compressed N64 Midi.

edited 1:09 PM EST January 29, 2022
by SubDrag at 5:02 PM EST on January 29, 2022
You're right, I missed two Konami games (Perfect Striker 2 and Jikkyou Stable). Any more in the list?

Think the Madden/Knockout King games music is fully in sound bank.

Current list left of music:
Dezaemon 3D (J) [!]
Fighting Force 64 (E) [!]
Fighting Force 64 (U) [!]
Kobe Bryant in NBA Courtside (E) [!]
Kobe Bryant's NBA Courtside (U) [!]
NBA Courtside 2 - Featuring Kobe Bryant (U) [!]
Nightmare Creatures (U) [!]
South Park Rally (E) [!]
South Park Rally (U) [!]
Space Invaders (U) [!]
Spider-Man (U) [!]
Stunt Racer 64 (U) [!]
Super Bowling (J) [!]
Super Bowling 64 (U) [!]
World Driver Championship (E) (M5) [!]
World Driver Championship (U) [!]

40 Winks (Alpha) (Fixed)
40 Winks (E)
40 Winks (USA)
Die Hard 64 Prototype - 1
Die Hard 64 Prototype - 2
Die Hard 64 Prototype - 3
Frogger 2 Milestone 4
Mortal Kombat Trilogy (USA) (Proto).5-13-1996
South Park Rally PAL Prototype - Music in rbh

edited 8:55 PM EST January 29, 2022

edited 9:13 AM EST January 30, 2022

edited 11:07 AM EST January 30, 2022

edited 3:51 PM EST January 30, 2022
by soneek at 9:28 PM EST on February 1, 2022
Thank you SubDrag! It's been fun seeing the progress over the years.
by SubDrag at 8:03 AM EST on February 6, 2022
Can someone (Punk7890?) identify the commands in South Park Rally US version. It's super simple. Just keep hitting A till get into level, and when timer hits 1 it starts music. Function 8004E6EC parses.

Debug from program below (RAM addresses slightly vary just use ASM, breakpoint at 8004E6EC)

Debug
https://pastebin.com/BX0Y5Mv9

C++ of Music Parse Function (breaks and goes back after seeing a 00 in parse)

Basically has a bitflag of 8 possible commands, that's it.

https://pastebin.com/D6xk3kLy


edited 8:04 AM EST February 6, 2022
by braun at 5:09 PM EST on February 6, 2022
Excitebike 64 SNG is really glitchy

edited 6:18 PM EST February 6, 2022
by SubDrag at 6:19 PM EST on February 6, 2022
Yeah it was the best I could do. It's just really slapping together wavs, but I never was able to figure out the timing properly. You can mess with the timing interval to see if you can get it better.
by braun at 6:21 PM EST on February 6, 2022
also each sound has a drop-out at 1024 samples. i know you're doing what you can lol

edited 6:24 PM EST February 6, 2022
by SubDrag at 6:45 PM EST on February 6, 2022
Oh dang, you're right...I never noticed that, sorry. I don't think it's a dropout, it's an accidental gap. It's fixed in latest N64 Sound Tool...

Now as for Sng. It's an ultra simple format...basically timestamp + sample # over and over (though can play up to 4 simultaneously), but I can't figure out the timestamp to samples formula... I set to 32 before. I changed to 128, I think that sounds better for some songs (but weirdly some songs still have spots with no sound, not sure why, even at lower amounts). Maybe you can help me out and compare what I'm putting out to the songs somewhere.

Try again please on latest! And if you can give me the most problematic song and a youtube video or captured output to compare..


edited 7:20 PM EST February 6, 2022
by braun at 7:21 PM EST on February 6, 2022
sure, i'll take a look. you're doing the lord's work
by vajuvaju at 8:47 PM EST on February 6, 2022
Re-Volt has sequenced music for sure. I used N64 Sound Tool on it and it has instrument samples of the main menu music (which is streamed on every other platform).
by SubDrag at 8:56 PM EST on February 6, 2022
Ah yeah sorry I did find re volt music. The list above is more accurate. Did discount spider man as no sequenced and die hard found one midi.
by SubDrag at 6:39 PM EST on February 7, 2022
Not sure how to get the instruments in there, but SP Rally is confirmed to be Impulse Tracker!
by hcs at 6:50 PM EST on February 7, 2022
I made the first post in this thread permanently editable in case you want to keep the list in one place, here's an edit link (do a test edit first before investing much time in case I messed up)

edited 8:07 PM EST February 7, 2022
by SubDrag at 9:18 PM EST on February 7, 2022
Thanks!! That's hugely helpful.
by SubDrag at 12:20 PM EST on February 13, 2022
Space Invaders has ZTRK format...it doesn't look too bad, bunch of commands.

8010FC10 in first level is a song. Lots of commands though.
by braun at 12:41 PM EST on February 15, 2022
Took some time to take a look at ExciteBike 64 and take some notes. I used the USA rom (U).

For the “SFX” files, it looks like they have extra samples at the end, from the same file, not the following file. (Here i'll referring to each Instrument, as each Instrument has only one Sound). Instrument 0000 has 512 extra samples, Instrument 0001 has 256 extra samples, Instrument 0008 has 128 extra samples, Instrument 001C has 384 extra samples. I wouldn't know if this was on the encoding or decoding side of things. Aside from this, all of the Instruments play at the proper sample rate.

Addressing SNG now: Banks 00 and 05 are the only ones which use 11.025 Hz samples, which play at double speed. 00 only uses one sample at 11.025, but 05 uses 11.025 and 22.050 samples together. Instruments 0052, 0059, and 005A should be 11.025, while 0053-0058 should be 22.050. I don't know how the SNG structure works so I can't say what would be do-able on your end. All of the other Banks (songs) use only 22.050 samples which play at the proper speed.
Here I'll be using SNG Bank 02 as an example: At the very beginning, Instruments 4D (bass line) and 4E (drum break) play together, but 4D cuts off halfway through (sample is 2 measures, but plays only 1 measure). Instrument 4E is one measure, and is followed by 43 (another drum break) which is also one measure. This could be an issue with Instruments of different lengths cutting off longer Instruments that are still playing. This also happens at 41 seconds where the fourth beat of the guitar line is a separate Instrument and cuts off the drum break Instrument. At 1:01 in SNG Bank 02 there is an extra 13.7 seconds where nothing plays. Cutting out that gap (using an audio editor), the Instruments that do play again (starting at 1:15) line up with the original song (comparing it to the USF version). Again, though, there is the cut-off issue with Instruments of different lengths.
Comparing the N64 Sound Tool SNG and the USF version, it sounds like some of the Sounds could be slightly off 22.050, for example 22.049 or 22.051. It's hard to say.
I would be interested in knowing how the SNG structure works, whether it's based on musical tempo or sample offsets. I'm not a programmer so trying to look at the source code is beyond me

edited 3:37 PM EST February 15, 2022
by SubDrag at 4:50 PM EST on February 15, 2022
Thanks, that's very helpful!!

Check it out again. It's really close. Just not sure about the 11025 hz samples...they may be half the size...can you scrutinize it one more time - it's much closer. Not sure if they should be stretched out to double the size, so they playback at 22050 hz fully, or what.

edited 9:41 PM EST February 15, 2022

edited 9:42 PM EST February 15, 2022
by braun at 11:46 AM EST on February 16, 2022
The 11.025 samples (Instruments 00, 52, 59, and 5A) should simply play at that rate with no other alterations. see this for reference: https://www.youtube.com/watch?v=U4ccAi35REI

edited 3:12 PM EST February 16, 2022
by SubDrag at 6:30 PM EST on February 16, 2022
I'm getting confused on how to handle the samples. So instruments 58 and 5A are both 00007634 samples. However, 58 is 22050 hz and 5A is 11025 hz.

In Song 5, they are both reporting, when it plays the sound, to play time range of 0x378. That's what confuses me. So if you do multiplier of 128, it cuts off half of the 11025 hz sound if it is extended to match the 22050 playback rate.

If you grab latest sound tool can you tell me if it sounds off, or what you make of it? I think it is sounding the same, but I could be missing something subtle.

edited 6:36 PM EST February 16, 2022
by braun at 6:39 PM EST on February 16, 2022
The three instruments in song 05 that are 11.025 are the two main drum/bass loops and the scream. all of the rest are 22.050. Those three sounds are 8 beats long and the whistle melody sounds are 4 beats

edited 7:22 PM EST February 16, 2022
by SubDrag at 6:40 PM EST on February 16, 2022
Can you compare the current sound tool output? Especially regarding the 11025 hz samples.
by braun at 7:47 PM EST on February 16, 2022
These sound great. The sample playback speed is right, the instrument overlap works, and I notice that volume levels have changed a bit. The only problem that all of the tracks stop at the halfway point
by SubDrag at 8:40 PM EST on February 16, 2022
Oops...that explains the half length issue...fixed. Forgot the x2 since each sample is 2 bytes. Thanks for the help!
by braun at 12:27 PM EST on February 17, 2022
Noticed two more problems. Songs 03 and 04 are missing a loop in the last 2 seconds (it's currently silent), which should be Instrument 14. Songs 06 and 07 are missing another instance Instrument 5E at the end. Song 01 is missing Instrument 2F

Another issue: Songs 03 and 04 are identical except for the animal sounds in Song 03, and Song 04 has loud clicks that are probably associated with those animal samples that don't play, at 0.725 seconds, 4.725, 8.103, 9.351. These loud clicks were not present in the previous build, where the Songs only played half length.

Similarly, Song 06 has a loud click at 2.555, and Songs 06 and 07 are identical except for the first 7 seconds. That click however was present in the half length build.

I would still also like to know how the SNG format works, and if there's a sequence of a events similar to MIDI

edited 1:16 PM EST February 17, 2022
by SubDrag at 4:43 PM EST on February 17, 2022
Not hearing those clicks? It looks to me like Song 3 and 4 are identical, except Song 4 only has 1 track, and track 0 is sound 0x66 which is empty? In a previous version it probably accidentally parsed extra data and had sound when shouldn't? While Song 3 has the same track + animal noises track. What is it supposed to sound like for song 4.

SNG format is ultra simple. It has in beginning table of instrument offsets into the instrument idx table. Then there are basically a series of 4 byte values, which are 2-byte timestamp, 1 byte instrument table index, and 1 byte track # (0-3).



edited 4:44 PM EST February 17, 2022
by braun at 5:34 PM EST on February 17, 2022
The clicks are easy to see if you invert cancel the rendered output with an audio editor. Invert Song 04 and mix/paste over Song 03 so only the difference remains. I can provide some FLAC files if we're getting different outputs or something. Looking at the half-length build from a couple days ago, Song 04 does have the clicks at the times i described that aren't in the Instrument sounds (11, 19, 1A, and 1B) but they're quieter
by SubDrag at 5:37 PM EST on February 17, 2022
Did you use the latest? This is song 4, split into two tracks, and combined. Track 0 is basically nothing.

https://gyazo.com/464fd346602c439d5cfbde39c760f9bf

This is track 3 combined, then split
https://gyazo.com/d1a057abfb02eb54459165124728bf72

edited 5:38 PM EST February 17, 2022
by braun at 6:07 PM EST on February 17, 2022
Yeah I'm using the newest version. the first click in Song 04 is at 15999 samples:
https://gyazo.com/8cafb91f1d7408441d1061365af52ffd

The big click in Song 06 is at 56355 samples:
https://gyazo.com/ac8584b13e0c604f209689fdac844b2f

and like my previous post, some of the songs are missing instruments at the very end:
https://gyazo.com/136cace147d4e80118f2e026adc20570

Also I noticed that, while i'm pretty certain I was using the same build, I got slightly different output this time. The click is lower than when I used the program yesterday. Could it have something to do with an installed library on my computer or something?

edited 6:15 PM EST February 17, 2022
by SubDrag at 6:35 PM EST on February 17, 2022
I think there's something wrong with Sound 0x66 ingame? For some reason it's empty too which doesn't make sense. Like the last little bit throws up a random value due to algorithm.

Are you sure there's something missing at end? Maybe it's just supposed to be cutoff earlier.
by braun at 6:50 PM EST on February 17, 2022
No, they're definitely missing. The last four measures of 03 and 04 are three instances of Instrument 13 and one of 14, but 14 doesn't play. The last measure of 01 is four instances of 2A concurrently with 2F, and 2F doesn't play. The last four measures of 06 and 07 is two instances of 5E concurrently with two instances of 63, but the second instance of 5E doesn't play. I'm pretty sure the rest are fine

And I'd love to be able to get my hands on the SNG files, even just as a list of timestamps and instrument triggers

edited 6:55 PM EST February 17, 2022
by SubDrag at 7:05 PM EST on February 17, 2022
The source code is public for sound tool. This is the file that contains SNG (search SNG in hex editor) for US version:
https://www.mediafire.com/file/85o08wggr92hivl/eb.bin/file
by braun at 7:47 PM EST on February 17, 2022
bro i ain't even know what a source code is lol
by SubDrag at 11:08 AM EST on February 18, 2022
Yeah ok fixed the end of Excitebike 64, my bad.
by braun at 12:01 PM EST on February 18, 2022
just downloaded the new build and it's the same output :/
by SubDrag at 12:05 PM EST on February 18, 2022
Should show no gap now:
https://gyazo.com/548c498934570027ed7f7887878e121f

I repushed just to be sure it got pushed.
by braun at 5:09 PM EST on February 18, 2022
thank you, it works proper this time

i noticed another issue 😓 : instrument 2F cuts off prematurely in Song 01 at 1:48

the SNG files are pretty easy to parse, thanks for that too

edited 5:14 PM EST February 18, 2022
by SubDrag at 6:29 PM EST on February 18, 2022
Is that 22050 hz or 11025 hz?
by braun at 6:49 PM EST on February 18, 2022
22050
by SubDrag at 7:29 PM EST on February 18, 2022
OK don't know then. I'm guessing the remaining issues are related to the sounds themselves, and not the sequence.


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source