Big N64 Midi Tool Update V2 by SubDrag at 8:14 PM EDT on April 22, 2016
A whole new, common N64 format has been found (in a couple variants). This adds many often requested games, such as Pokemon Stadium, so check to see if your game is there!

Note that not all instruments are playing at the right octave, some games are a little off - can be fixed easily in midi studio, but unclear at this time why. Composition is sound though. There are also some features of song format that are just not supported, so am unable to export things like ADSR. And some are more than 16 controllers, so exports to multiple midis (use a tool that allows multiple ports to play simultaneous midis).

http://goldeneyevault.com/viewfile.php?id=211

N64 Soundfont Tool also updated with new games that are both in Sound and Midi tool and can contain both (thanks to Punk9870 for adding the new games!)
http://goldeneyevault.com/viewfile.php?id=302

edited 8:16 PM EDT April 22, 2016
by punk7890-2 at 8:22 PM EDT on April 22, 2016
If there are any errors people encounter, be sure to post here or on Goldeneyevault. Some games have octave issues where they get exported on the wrong octave (we are unsure at the moment as to how this works as we don't see anything identifiable). No notes should be off key however, its always a octave difference. Some games have off sounding pitch in their soundbanks, unfortunately that's another unidentifiable thing.
With that, enjoy!
by soneek at 1:20 AM EDT on April 23, 2016
Yes!!! Finally, Mario Tennis midis...thanks for the hard work guys!!
by punk7890-2 at 3:29 AM EDT on April 23, 2016
Here's a tagged set of Battletanx: Global Assault if anyone wants it.
Also did two small test imports using Army Men Sarge's Heroes instrument set here. Songs are Dark World from A Link to the Past and Versus from Star Fox 64.

edited 3:56 AM EDT April 23, 2016
by robotortoise at 3:06 PM EDT on April 26, 2016
Ooh, sweet! This is pretty neat.

Have you guys ever tried working with Paper Mario?

I know that game has some fantastic songs, but the samples are pretty awful, yet sound like bog-standard General MIDI.
Someday I'd like to play around with them, see if more realistic samples wouldn't make them sound better.


It uses a weird non-standard sound engine, right?
by LuigiBlood at 3:21 PM EDT on April 26, 2016
About 64DD games, it should be mentioned that they may use sounds from 64DD IPL itself. That's the point of the 64DD IPL, sound bank and font bank for use.
by TheUltimateKoopa at 6:10 PM EDT on April 26, 2016
Does anyone know why pretty much most of the percussion in Mario Kart 64 is absent? There isn't even any notation for the percussion tracks.

And sometimes notes are missing when converting to MIDI? E.g. Banjo-Kazooie?
by punk7890-2 at 9:10 PM EDT on April 26, 2016
@robotortoise Unfortunately no known already supported sequence types appear to be used in that game. It's probably custom.
@LuigiBlood I've only come across one 64DD game that uses the sound bank from the IPL. I've also added a few 64DD games to N64 Sound Bank Tool. The bank tool package hasn't been updated yet, but you can grab the ini here. Here is what was added:
NUD-DSCJ-JPN - With Copying IPL ROM from 0x140000 to 0x3F4000 to this
NUD-DMPJ-JPN (you'll need to re-grab N64 Midi Tool for midis)
NUD-EFZJ-JPN (this uses the EAD ctl format so there is probably some EAD sequences in this game as well, but no midi's supported yet)
@TheUltimateKoopa I haven't run into that Mario Kart 64 issue. Can you show me a midi with missing notes and a example midi of the Banjo Kazooie issue?
by dj4uk6cjm at 6:15 PM EDT on April 29, 2016
Done some testing on Glover 64 using the new N64SoundTool and it works great! Although when extracting the midis and dls fonts and applying them in FL Studio I did notice during playback the music would fade out completely for a few seconds and fade in. Another thing I can't believe is that the composers used sampled loops for their percussion in the songs as opposed to the usual one shot sampled stuff. Even the midi files have one line of notes for the percussion ugh that makes them even more difficult to remake now lol.
by punk7890-2 at 10:42 PM EDT on April 29, 2016
What midi does this? I am not seeing anything wrong. When does it occur?
by dj4uk6cjm at 1:40 AM EDT on April 30, 2016
Well the ones I've tested in FL Studio where it happens so far are Atlantis Realm level 1 and the Fortress of Fear boss theme, can't say for sure a specific time of when some sounds fade out but they just occur randomly. Now it may just be FL Studios doing I'm not sure, maybe it isn't use to them.

edited 1:41 AM EDT April 30, 2016
by punk7890-2 at 2:37 AM EDT on April 30, 2016
I don't know the game off by hand. I need to know the offset's of the sequences in question. This picture shows the offset circled in red. It could be FL Studio related but, I always use that myself for DLS. Maybe you're still using the old tests I sent you?

edited 2:45 AM EDT April 30, 2016
by dj4uk6cjm at 4:06 AM EDT on April 30, 2016
Actually I started using the midi test files just by from ripping them with the new tool update myself so not the ones you sent me but I did take a listen to some of those you sent in mixcraft and they sounded just fine, I'm starting to think its an issue with FL Studio possibly and as for the offset names if you need to know the ones in question of course, for the first: Atlantis Realm 1 (006F8720:00002D00) and Fortress of Fear boss theme (007437C0:000038C0)
by punk7890-2 at 8:37 PM EDT on April 30, 2016
Yeah I don't see anything wrong with them. I did notice panning is off when there isn't any pan commands in the sequence though. Should be a fix up soon.
by TheUltimateKoopa at 9:16 PM EDT on April 30, 2016
Click Clock Wood - Spring (some notes are missing)

Toad's Turnpike (absolutely no kick or snare at all, that I could find)
by punk7890-2 at 11:17 PM EDT on April 30, 2016
Odd. We'll have to look into that one. It's probably a repeat command that's not getting translated.

The snare is patch 1 on channel 10 at note D#5 and the snare is patch 2 on B4 and C5. EAD games use really odd drums in their sound banks. Drums are mostly incorrect in EAD games unfortunately. You'll have to reorder them. All drum instruments should be always present, however.

edited 2:18 AM EDT May 1, 2016
by SubDrag at 8:15 AM EDT on May 1, 2016
I don't support "unwrapping" the loop commands in that midi format. Maybe one day, but it doesn't right now. So some songs will be off that use them.
by TheUltimateKoopa at 11:29 PM EDT on May 1, 2016
I have at least got the notes correct.

What I'm stuck on, is having each note have a different patch (i.e. patch 1 for kick drum, and patch 2 for snare). Also, what is the note, and patch for the cymbals?

edited 11:57 PM EDT May 1, 2016
by punk7890-2 at 12:30 AM EDT on May 2, 2016
Cymbal's are patch 3, C5 and B4. Patch 4 is a ride cymbal at C5. You'll manually have to figure out other song's percussion patches.
by TheUltimateKoopa at 6:24 PM EDT on May 3, 2016
Now what I want to know is how the fuck do you get the fucking percussion to play if each FUCKING NOTE has a separate fucking instrument patch?
by dj4uk6cjm at 6:59 PM EDT on May 3, 2016
I have noticed how difficult it is to map each individual percussion sample note when using DLS fonts in Synthfont or FL Studio for the ripped N64 midis the program outputs, at least for mario kart 64.

Is there a reason why percussion instrument notes are split like that, is it the composers doing on how he made them or how the program outputs them? Lol I know its weird, I'm just so used to percussion instruments in midi files being fused together as a whole like ps1 midis are occasionally.
by punk7890-2 at 7:23 PM EDT on May 3, 2016
It's how the program outputs them. As I said previously, Nintendo EAD game's drums are mostly not supported as they are handled very oddly. Zelda drum instruments are 10x worse. It's a complete mystery on how the EAD games sorts their drums as they are repeated a ton of times. If anyone has info on this issue, feel free to contribute.
by SubDrag at 7:07 AM EDT on May 8, 2016
Oh, as an aside, I am adding loops to the old N64 midi format - stuff like Aztec in GoldenEye's triangles should show up properly now finally. Should be in in a week or two.

edited 7:12 AM EDT May 8, 2016
by punk7890-2 at 11:22 PM EDT on May 8, 2016
Along with that update, we've figured out the problem with incorrect sounding sound banks. All games that have SNG sequences in them should be fixed now (if it has "Separate by Instrument" when selecting a game, it uses SNG or a new format that will be released shortly). You'll just have to re-save your bank from the updated tool. This will be coming in a week or so as well.
by ArcticJaguar725 at 1:04 AM EDT on May 9, 2016
Perhaps I'm just doing something wrong, but I have only been able to extract empty and corrupted MIDIs coming from The Legend of Zelda: Ocarina of Time, but I was able to extract the soundbanks. Is this a potential error, or do you know if the game is genuinely not fully supported yet?

edited 1:05 AM EDT May 9, 2016
by punk7890-2 at 1:19 AM EDT on May 9, 2016
It works for me. Are you sure your ROM is decompressed? You'll need Zdec.exe to decompress it. To use it, create a txt file with Zdec and Zelda ROM in the same directory. Open the text file and do something like this:
@echo off
zdec.exe OcarinaofTime1.z64 ZeldaDec.z64
pause

Once done, save it and rename the txt to something here.bat. Then double click the .bat file to run it. OcarinaofTime1.z64 would be your ROM name in this case, and ZeldaDec.z64 is the decompressed ROM after running the tool.

If you don't want to do this, there is a Debug version that is already decompressed. Only difference would be the Fire Temple sequence and sound bank.

Oh also, here's a tagged midi archive extracted from games. It includes Zelda as well so if you're still having trouble that's a option as well.

edited 3:38 PM EDT May 9, 2016
by punk7890-2 at 3:18 AM EDT on May 13, 2016
Updates coming soon:

We've now reverse engineered Konami's sequence format! That was quite tricky, yikes! Thankfully, Mystical Ninja Starring Goemon had a sound test for this. Would have been a nightmare without it (well, it still was generally a nightmare!). Unfortunately, there is quite a bit of automation that cannot be translated to midi due to this uniquely interesting system they use. That includes, pitch bend, tremolo (not supported by midi), volume increment/decrements, tempo increments/decrements, note fade outs (not channel volume related in this format), stereo swap, note trills (some sort of special effect for a note. Not a effect in midi), and sliding notes. This format uses milliseconds on when to start a pitch bend as well as volume/tempo/increments/decrements. Basically, during those milliseconds, it somehow starts increments and/or decrements based on the millisecond's time then reaches the desired value. This adds a ton of variable on which to translate to midi, as such it would be near impossible to get that all into midi correctly (the pitch bend range is beyond midi as well). Tempo timing seems to be off by a bit for unknown reasons. Most songs are generally off by +2 or +3 tempo.

Even with all that, it still has correct notation and volume/tempo static changes, and the banks play fine. ADSR hasn't been quite understood yet. Hopefully at a later time. If anyone would like my notes on this format, and ADSR notes for these banks, I could upload them (might be a bit messy, however). The ADSR has also been added to N64 Sound Tool on Konami games so you can look at the info for instruments in Konami games. Also Sng games now sound at least 90% correct in Sound Bank Tool and are exported much more correctly. If you had a bank that sounded off, you'll need to re-download the sound bank tool and re-extract them (games like Mario Tennis, Pokemon Stadium, Mission Impossible, Ogre Batte, etc). Also SubDrag added missing note info for a small amount of type 1 midi games (Banjo Kazooie, Aztec in Goldeneye).

edited 6:07 PM EDT May 13, 2016
by punk7890-2 at 6:03 PM EDT on May 13, 2016
And the update is now live! Enjoy. here's a tagged set of Mystical Ninja Staring Goemon midis.

edited 6:08 PM EDT May 13, 2016
by hcs at 1:44 AM EDT on May 14, 2016
Thank you for your research!
by vajuvaju at 12:18 AM EDT on May 15, 2016
Great update!

I have a small issue with Toy Story 2. MIDI and DLS are extracted well (you fixed an error in the previous update where the .mids were broken apart as "additional parts"), and the correct instruments are wrapped using the Fruity LSD Wrapper in FL Studio, but at least half of the instruments in the soundbank sound out of tune. Is it the MIDI files or the DLS's fault?
by punk7890-2 at 1:28 AM EDT on May 15, 2016
Woah that's really weird. There is no tune info at all for regular instruments in their respective banks for that game! All SFX are minus 5 coarse tune for some reason which I find odd as well. They must do some sort of unique RAM look up. Very odd. Good catch! I guess we'll have to look into that. The midi's are correct, however. Depending on how many instruments lookups there is for a sequence, it can throw out additional parts. That isn't a error.


edited 1:29 AM EDT May 15, 2016
by vajuvaju at 11:52 AM EDT on May 15, 2016
Thanks for looking into it!

I was just referring to how the MIDI tool extracted the midis before and after the latest update. The previous update had thrown out 44 mid files, with some of the instruments broken up as "additional parts", while the latest update exports 22 files, all correct and no additional parts. Just so you know!
by SubDrag at 2:11 PM EDT on May 15, 2016
The Separate by Instruments was on by default before, but I turned it off by default. That is why you are using less tracks in current exports, though it may be harder to edit if your goal is that. But the reason for these additional midis is that these formats can go above 16 channels and alas each midi is limited to 16.
by dj4uk6cjm at 7:06 PM EDT on May 15, 2016
Does that mean all percussive tracks are somewhat fused together as one now in this new update? That's great if so and it doesn't really hinder any editing process since most of us know how to split them back into separate tracks in our DAW's if needed but this is helpful! Thanks.
by punk7890-2 at 7:35 PM EDT on May 15, 2016
Games that have the "Separate by Instrument" check box is a work around to sorting instruments by their patch number. The reason for this is there are a ton of instrument changes in Sng/Konami channels. A small section can be a flute, while another note/section can be a drum. This gets really confusing for people to work with. It would ultimately be a nightmare sorting through all of those different patch and event changes. The whole idea behind "Separate by Instrument" is to sort through that mess and put all notes on their respective channels for that patch number. As such, this creates bigger midi files and more than 16 channels most of the time (hence the need for "additional" parts).

@dj4uk6cjm Drum tracks for these types of sequences won't be on one channel as all drums are different instruments and do not have instrument splits.

edited 7:39 PM EDT May 15, 2016
by SubDrag at 6:43 PM EDT on May 17, 2016
There was a mixup with detune, it should be applying it now as finetune again for these games, such as Banjo.
by LuigiBlood at 4:15 PM EDT on May 27, 2016
I'm pretty confused about "NUD-DSCJ-JPN - With Copying IPL ROM from 0x140000 to 0x3F4000 to this"

Zoinkity told me that I have to take IPL ROM from 0x140000 to end, and copy it to 0x3F4000 in the disk file.
That doesn't seem to work, I only get garbage sounds. Can I know what I did wrong?
by SubDrag at 4:52 PM EDT on May 27, 2016
That should be all you need to do. Overwrite, don't append the bytes. Also, make sure you use a non-byteflipped ROM.
by LuigiBlood at 5:25 PM EDT on May 27, 2016
That's what I exactly did and all the soundfonts I've listened to have garbage sounds.

edited 5:26 PM EDT May 27, 2016
by kode54 at 9:29 PM EDT on May 29, 2016
Regarding the Mystical Ninja Starring Goemon rip in this topic, it appears a SoundFont or DLS converted from this game will need to be assembled by concatenating all six of the banks from the ROM. Two from each numbered bank in the game.

Plus, for compatibility with SoundFonts, the bank numbers will need to be in the MSB control, not the LSB. For instance, the two vocal tracks from Gorgeous My Stage, bank #02-1 or #5, instruments 93 and 94.

Yup, vocal songs, consisting of 20 kHz pieces, assembled at the right spots in the sequences.
by punk7890-2 at 12:10 AM EDT on May 30, 2016
Yeah, I was thinking it should be in MSB, not LSB for Konami format. I'll let Sub know soon, unless he reads this topic in the morning. MSB would work much better with midi and when importing to game is supported as there is a bank select command (F0XX) in the sequence format that would convert properly (CC#0) to this Konami sequence format as well.

Also you'll noticed the vocal notes in midi are a bit odd as there is small notes when really it should be one long note. That's actually not a error in conversion, but due to the way this Konami sequence format handles them. It's a bit complicated as to why they do this exclusively for the vocals but it does now make a bit of sense on why they do this as this is a very nicely encoded sequence format that loves to save a ton of space (take a look at games that use the SNG format. They are quite massive!). I would go more into depth about how this works, but it shouldn't be a issue. You will just have to stretch the notes longer and erase the mini small notes that get placed around the vocal notes. You will also need to take note of the Fine Tune (E0XX) in the debug parse txt if you want to sync them up with proper timing. I believe you can use pitch bend for fine tune.

I could upload my notes on this format if you would like. They may be a bit messy, however.

edited 12:15 AM EDT May 30, 2016
by SubDrag at 10:28 AM EDT on May 30, 2016
There is a button in the soundbank tool for Konami games that exports the banks combined (and makes the drum bank). Is it not working properly?

Jet Force Gemini midis actually use Controller 32 in the midi itself, so those I kept using LSB.

MIDI CC0 Bank Select - When received, the following program change should select the MIDI program in this bank value
instead of the default bank of 0.
Also, I don't understand the MSB/LSB comment? Midis support both, using Controllers 0 and 32, so what is not supporting that? It seems like LSB is lower values so more natural, like 0, 2, 4, etc, while MSB is actually huge numbers of instrument.

For Konami format, the midis and soundfont use LSB 0-5, and MSB 0, while MSB 1 and LSB 0 is for drum bank.

Looking at SF2 specification, it seems to support:
http://www.synthfont.com/sfspec24.pdf

MIDI CC32 Bank Select LSB - When received, may behave in conjunction with CC0 Bank Select to provide a total of
16384 possible MIDI banks of programs.


edited 10:32 AM EDT May 30, 2016
by kode54 at 11:02 PM EDT on May 30, 2016
Most SoundFont synthesizers use the CC0 to choose the SoundFont bank, since SF2 only supports banks 0-127, with 128 being the drum bank.

Creative's driver supports configuring whether to obey CC0, CC32, or both, but defaults to CC0.

BASSMIDI observes patch banks as CC0, and patches must be specially loaded with mapping overrides per instrument to move them to CC32. Or the player must remap CC32 to CC0.

In foo_midi, with BASSMIDI, I override CC32 to no-op, and use CC32 to control per-channel mapping support, since there's no other way to do that with BASSMIDI, that I know of.

CC0 vs CC32 vs SF2 spec, is rather weird, actually. Considering that the SF2 format has a 16 bit bank field, but the standard only specifies support for bank numbers 0-128, with 128 being the drum bank.

I would love for this to support something more, but I haven't the faintest way to do this, other than writing or using my own open source synthesizer. The one in Polyphone looks promising, but it'll have to be de-Qt'd to be useful to me.

If you like, you could look at the code from Polyphone, and maybe help me with writing a DLS level 1 and 2 and SF2/SF3 bridge? Something that imports DLS into the specification in memory used by Polyphone, so we can contribute DLS loading and possibly saving to it. Not to mention DLS synthesis that we can totally control, bend, and extend in neat ways.
by punk7890-2 at 9:11 PM EDT on June 9, 2016
Another update: Paper Mario support! Midi support is added to Animal Forest as well (sound bank not so much).

Lots of work went into Paper Mario! Sadly, it seems this is the only game that uses this format. Enjoy! Remember if you spot any inconsistencies that are not listed below, do comment.

A few things to point out that are not supported:
Tremolo, pitch bend, a few volume controllers, special tempo increments, special volume/pan increment/decrements. For pitch bend, the game uses coarse tune + fine tune to do their pitch adjustments that emulates pitch bend. This isn't supported as the fine tune range goes beyond midi. Special tempo and the special volume/pan controllers are based on time adjustments that increment/decrement over time, hence not supported either. There is about 5 total volume controllers that somehow work with each other so we only ended up taking the one that's most commonly used. As a result, some tracks may start off quiet. The sound bank for this game is handled odd as well so we made a bank per song. Tuning however is not correct at the moment. I gave up on trying to figure out how coarse tune + fine tune work in this game. I might give it another go another time as I do see a pattern. ADSR is also not supported as it has odd timing like Konami did with their format. If anyone is interested in my notes, feel free to take a look. If you do use it for something, do credit us (punk7890 & SubDrag).

edited 9:13 PM EDT June 9, 2016
by AnonRunzes at 10:27 PM EDT on June 9, 2016
About the N64 Soundbank Tool...
I can't seem to select Sin and Punisment as the ROM because it is not listed in the program itself at all. All I want is the samples from that game whose audio isn't sequenced saved for that one midi file which the N64 Midi Tool detects.
Also, why DLS?

edited 10:29 PM EDT June 9, 2016
by punk7890-2 at 10:37 PM EDT on June 9, 2016
It's labeled as its Japanese name, Tsumi to Batsu - Hoshi no Keishousha (J).

Because SubDrag couldn't find a SF2 API at the time. If you have Awave Studio you can convert DLS to SF2.
by AnonRunzes at 10:48 PM EDT on June 9, 2016
"It's labeled as its Japanese name, Tsumi to Batsu - Hoshi no Keishousha (J)."
I still can't see it on the tool itself. Said tool requires you to select a specific ROM, right?

"If you have Awave Studio you can convert DLS to SF2."
Huh, I didn`t know that. Thanks for the tip.
by punk7890-2 at 11:15 PM EDT on June 9, 2016
Opps. Was a bit of a mix up with the naming. Download these and replace them in your sound bank tool folder. It adds the game as Sin and Punishment (J) now.
by robotortoise at 2:41 AM EDT on June 10, 2016
Oh, that's really cool that Paper Mario works now! Awesome job; this is really nifty!

It seems to spit up MIDIs and Soundfonts unnamed, though, which would be fine if there wasn't 610 MIDIs.

Is there a way to automatically stitch them together?


edited 2:43 AM EDT June 10, 2016
by punk7890-2 at 2:55 AM EDT on June 10, 2016
Ah yeah. Single exported midi's don't seem to have their name. I'll let Sub know about that. For now, you'll have to export all midis and sound banks using the "Export All Midis" and "Write All DLS Soundfont Banks" options for now to get the names to show.

The "Combine Sub-segments" tick box combines all sub-segments from their respective segment. For instance, Normal Battle_Segment0_SubSegment0, Normal Battle_Segment0_SubSegment2, Normal Battle_Segment0_SubSegment3 will simply become Normal Battle_Segment0.mid once using that tick box. This combines the sub-segments into a whole segment midi.

edited 3:02 AM EDT June 10, 2016
by robotortoise at 9:21 PM EDT on June 10, 2016
Oh, sweet. I tried that now. I mean, it still has segments, but it seems to have...less.
by punk7890-2 at 12:09 AM EDT on June 11, 2016
Is there something wrong with it? I'm not sure what you're trying to say. The goal (which it accomplishes) was to combine all sub-segments from its respective segment into a big segment file.

Also, Sub added individual named midi export now in sound bank tool.

edited 5:28 PM EDT June 11, 2016
by AnonRunzes at 8:19 PM EDT on June 11, 2016
Any support for F-Zero X?
by SubDrag at 10:58 AM EDT on June 12, 2016
I have to see if I can find any sequenced music, but I do know they have a ton of music stored as wav in soundbanks.
by AnonRunzes at 12:23 PM EDT on June 12, 2016
Well, they can be ripped as .wav files in N64 Sound Tool V1.2.
by robotortoise at 3:08 PM EDT on June 12, 2016
@punk7890-2

Maybe I'm not doing it correctly.

I try using N64MidiTool.exe and loading the Paper Mario ROM, and I check "combine sub-segments". It still exports quite a few, however, though.

For instance, I export the title screen, and it exports the following:

Paper Mario (U) 00000081 00F98F90 6A_Title Screen_Segment0.mid
Paper Mario (U) 00000081 00F98F90 6A_Title Screen_Segment1.mid
Paper Mario (U) 00000081 00F98F90 6A_Title Screen_Segment2.mid


They're not identical, so I think they might be versions of the same song, but it's...odd, to say the least. Am I doing it incorrectly?
by punk7890-2 at 4:56 PM EDT on June 12, 2016
That is correct. Normally you would get something like this. When selecting Combine Sub-segments, all of those small sub segments combine into their own segment file like what you listed above. The other segments in a song are generally the same song over again but with a different intro, or small variation. Like in Normal Battle, segment 0 is the normal version of it. The rest of the segments in that song have different intros to it, but the rest of the data is the same. Sometimes they are identical for unknown reasons.
by vajuvaju at 9:04 AM EDT on June 13, 2016
Will you guys be able to fix the issue with Toy Story 2 on the next release? Thanks!
by SubDrag at 9:12 AM EDT on June 13, 2016
What is the issue with Toy Story 2?
by robotortoise at 9:57 PM EDT on June 13, 2016
@punk7890-2

Ah, I see! So they're just discrete songs, basically. Lots of games do that.
I wasn't aware there were so many variations of each song!
by birdmanager6 at 5:35 PM EDT on June 14, 2016
Here's a game I've been wondering about that I was playing the other day: Earthworm Jim 3D. I've noticed that it's not on the list of the MIDI tool, but it is in the sample tool. Using the sample tool, I couldn't find any instrument samples, and I could find streams of music, but only a few. Does anyone know whether the music is sequenced or streamed, and where and how those samples, whether for individual instruments or streamed songs or sections of songs, stored? Because I did notice that F-Zero uses streams of music, by looking in the sample tool like you said.
by punk7890-2 at 8:53 PM EDT on June 14, 2016
If there is no instrument samples that would generally mean it does not use any sequences. If there is long streamed samples, then the game would be like F-Zero in that case and only uses those streams for it's music.
Best MIDI Editor by Devan Wolf at 9:48 PM EDT on June 14, 2016
Mostly some other people use Domino, the japanese MIDI editor designed to make their own Black MIDI. I use BRELS MIDI Editor (http://breno.sarmen.to/midi) to edit/tweak the MIDI files.
by vajuvaju at 4:57 PM EDT on June 15, 2016
@Subdrag

punk7890-2 talks about it on the top post on this page (my original question is on the page before that post):

https://hcs64.com/mboard/forum.php?showthread=45098&showpage=3

edited 5:19 PM EDT June 15, 2016
by SubDrag at 6:09 PM EDT on June 15, 2016
Did you check the latest midi tool? I believe that tuning issue if fixed for most games. The issue was the coarse tune had to be applied negative.

EDIT:
Oh apparently Toy Story 2 was all 00s...tuning must be some custom format here.

edited 8:20 PM EDT June 15, 2016
by SubDrag at 6:12 PM EDT on June 15, 2016
I did briefly look at Earthworm Jim, you'd think it would support N64 Wave Ptr V2...but as you mentioned, no samples, and I can't find evidence of that sound bank format. So that one is something unique, maybe game was cross platform, not sure, so it has something special? In any case not determined it yet.
by punk7890-2 at 6:04 PM EDT on June 17, 2016
Factory 5 sequence format now supported for converting to midi in N64 Midi Tool (Star Wars games, etc)! Not supported in sound bank tool as this format is extremely complicated and probably would never work correctly.

In midi, there will be no volume/pan in them because this format does not have those types of controllers it appears. It's all in the game's sound bank parameters.

edited 6:06 PM EDT June 17, 2016
by jimbo1qaz at 6:57 PM EDT on June 17, 2016
...what? is it because Factor 5 is trying to simulate an "orchestra" with fixed instrument positions?

possibly related: http://www.ign.com/articles/1998/02/25/whats-wrong-with-music-on-the-n64
by AnonRunzes at 1:26 PM EDT on June 19, 2016
Did anyone forget to mention Paper Mario?
by punk7890-2 at 4:57 PM EDT on June 19, 2016
@jimbo1qaz It pretty much has fixed everything. No commands in the sequences for anything really. There is a ton of weird commands in the sound bank along with fixed panning positions for instruments. Not to mention they could have easily went with a Nintendo sequence and bank format since every developer for the N64 got discs to use such tools in their games. The sequence format has a ton of useless padding that eats up a lot of space.

@AnonRunzes Paper Mario has been supported around the starting of the month (info on page 4).
by AnonRunzes at 5:36 PM EDT on June 19, 2016
@punk7890-2 - Yeah but I'm talking about the soundfont. Especially when I tried to play the .dls file with the corresponding .mid file, and when it's played, the samples are a bit off.
by punk7890-2 at 6:49 PM EDT on June 19, 2016
I gave up on trying to figure out how tuning works for that game. I might give it another shot sometime, however.
by LuigiBlood at 9:53 AM EDT on July 17, 2016
So I just dealt with F-Zero X Expansion Kit: Definitely some sequenced music in there. Track Editor and Car Editor songs. I do not know where it is though.
by SubDrag at 10:54 AM EDT on July 17, 2016
That's supported, I found it. It's in the latest midi tool ini. But I believe there are only 3 tracks. It showed as 0x17, but most were SFX. Also I think seq64 doesn't necessarily properly support all the commands, but it's a start.

[NUD-EFZJ-JPN]:type=Seq64

edited 10:55 AM EDT July 17, 2016
by LuigiBlood at 2:25 PM EDT on July 17, 2016
Using the latest N64 Soundbank Tool:
Loading NUD-EFZJ-JPN doesn't work, "Invalid sound bank # from ini for game or error loading". It didn't happen with a previous version (which I don't have anymore, oops).
by SubDrag at 3:34 PM EDT on July 17, 2016
Oops sorry forgot my own format, was a : not a ,. It should be fixed now in ini. Grab it again.

edited 3:34 PM EDT July 17, 2016
by LuigiBlood at 9:10 AM EDT on July 19, 2016
Just found out that Soundbank 0x11 in F-Zero X Expansion Kit is extracted wrong with Soundbank Tool. Awave Studio only plays garbage. It's supposed to be the last Expansion Kit exclusive song, I believe (Rendezvous Of Ghost).

Also, in gameconfig.ini, 08 and 17 are missing, both are sampled songs.
by SubDrag at 8:23 PM EDT on July 19, 2016
Ah shoot, that's right, the problem with both F-Zero games is that each sound bank can actually reference two tables with the data, and then sounds reference table A or B...I'm just not sure how it knows, so it's not quite right. Either that or I just messed that one up, if all the others are ok.

Added those back, I forget why I took them out, maybe they didn't process at all properly, there are some files that Seq64 cannot properly handle, and I guess one day I need to write my own convertor and figure out these.
by LuigiBlood at 7:57 AM EDT on July 20, 2016
"Invalid sound bank # from ini for game or error loading" again.
Tried to look at the INI to see if there's any obvious errors but no dice, not really familiar with your INIs.

edited 7:57 AM EDT July 20, 2016
by SubDrag at 5:17 PM EDT on July 20, 2016
Sorry mixup with punk7890, its back ok now. However, the only songs are 0x01, 0x14, and 0x15, and there is only one soundbank of instruments (0x16), so I assigned it that way and removed the rest of the sound banks. The rest are just streamed music, so use the N64 Sound Tool on that. And yeah, for some reason 0x11 doesn't work and is static, I think because of shared tables.

Also I should mention that Seq64 does not do a very good job on these songs, many commands are missing so I'm not sure how great they will sound. Song 0x01 it really is all off, that one its parse isn't even close. I eventually need to disassemble the game and make my own conversion.


edited 5:30 PM EDT July 20, 2016

edited 5:32 PM EDT July 20, 2016
by LuigiBlood at 5:53 PM EDT on July 20, 2016
Honestly song 0x14 and 0x15 are fine. I still had to deal with one problem with 0x15 that I corrected on the MIDI file: the program change happened after the first two notes of Track 4 (basically drums).
Aside from that, I cannot seem to make the difference between those and in-game.
However I have no idea what song 0x01 even is. I don't recall another sequenced song in the game.

edited 5:53 PM EDT July 20, 2016
by SubDrag at 7:19 PM EDT on July 20, 2016
Ah ok, there are still errors in the parse, but good that 0x14 and 0x15 are reasonable. 0x01 doesn't remotely parse correctly, it loses all the offsets right off the bat, so it will remain a mystery for a while I guess, until I sort out that format for real, myself.
by SubDrag at 7:05 AM EDT on July 31, 2016
Does anyone have any file locations in any Acclaim games for music, such as Turok 2. None of those games I can rip midis from, and their sound format was a slight modification. I feel like their midi would be as well, if I can find a sample.
by WDLmaster at 10:50 AM EDT on July 31, 2016
Shadow Man uses (some early version of) MP3 for music and speech of exceptionally low quality/bitrate. The compression artifacts are unbearable. Sounds like 8kbps 11kHz mono. As for the file locations ... I have no idea. Maybe look for some valid MP3 frame headers. There seems to be an offset table near the end of the ROM (@ 0x1DF0AB0 in the US version) with the same filenames as in the PC version of the game.
by Ghignarda at 4:04 PM EST on December 12, 2016
I was wondering if somebody were able to extract the sounds and/or the midis for Mario Artist: Paint Studio? Not sure if it's compatible, but its ID number has been listed, so I wasn't sure.

Any help at all would be massively appreciated.
by LuigiBlood at 6:47 AM EST on December 18, 2016
The MIDI is extracted alongside with their soundfonts but the tempo is all wrong.
by birdmanager6 at 5:19 PM EST on December 27, 2016
Since we've made so much progress on these awesome audio-ripping tools, we should make a list of all the normal (not bad dumps or hacks) GoodN64 sets that we have left to support for both MIDI and samples, as well as any audio from the supported games that are missing, in the future. I have also noticed that MIDI support for some regional versions of some games are missing, so those should be added in the future. We will have to also find out if there's any more custom formats to figure out. Keep up the good work!
by SubDrag at 6:21 PM EST on December 28, 2016
I try and maintain a complete list of sound and midi tool:
http://goldeneyevault.com/priv/n64roms.xlsx
by Jasper at 1:36 PM EST on January 22, 2017
So it seems the new version of vgmtrans crashes on Mario Party 2. Is my ROM bad?
by SubDrag at 4:01 PM EST on January 27, 2017
Hmm it's not crashing for me. I think you might have a bad ROM.
by vajuvaju at 4:42 PM EST on January 31, 2017
@Subdrag I downloaded your .xlsx and you have Toy Story 2 listed as N64WavePtrTableV2, while, in fact, it does use midi. I had told you about it in a previous post on this thread, because the tunings on the midis are all wrong when exported with N64 Midi Tool, and you responded that it must be some sort of custom format.
by SubDrag at 9:53 AM EST on February 3, 2017
Toy Story 2 uses Sng. You're looking at the wrong column, that is the sound, the other one is the music.

Bu the tuning is in the N64WavePtrTableV2, which I thought got right...not much there.
by LuigiBlood at 7:38 PM EST on February 16, 2018
I just want to indicate that I found the music data in Mario Artist Talent Studio, I don't know where it exactly begins, but I'm 99% sure that the start of the music data for either the title screen or main menu is at 0x14B5420 in the Disk File.

Mario Artist Talent Studio (DMTJ):
0x134380 - AudioCtl Index / RAM 801C0AD0
0x1464870:0x149BF80 - AudioCtl

0x134990 - AudioTbl Index / RAM 801C10E0
0x14E6848:0x1938EB8 - AudioTbl

0x134CE0 - AudioSeq Index / RAM 801C1430
0x14A3480:0x14E1760 - AudioSeq

0x135150 - Instrument Set Index / RAM 801C1890

Okay this time this is all right.

I've managed to extract MIDIs but the soundfont is where I have issues figuring out. I keep getting "Handle bank > 1".

Okay editing this one last time to include this.

Mario Artist Polygon Studio (DMGJ):
0x0EB940 - AudioCtl Index
0x1205E80:0x121B030 - AudioCtl

0x0EBDA0 - AudioSeq Index
0x12DDBA0:0x12F5830 - AudioSeq

0x0EBBD0 - AudioTbl Index
0x13B58C0:0x158B780?- AudioTbl

0x0EBFA0 - Instrument Set Index

I have also succeeded in exporting MIDI files for this one.


Mario Artist Communication Kit (DMBJ):
0xDDD20 - AudioCtl Index
0x17796F0:0x177C380 - AudioCtl

0xDDE00 - AudioSeq Index
0x178B5D0:0x17910B0 - AudioSeq

0xDDF10 - AudioTbl Index
0x17B8300:0x17FF570 - AudioTbl

0xDDDB0 - Instrument Set Index

This one I'm not too sure about but it's what it looks like.

edited 3:36 PM EST February 17, 2018
by SubDrag at 3:27 PM EST on February 22, 2018
Figured it out, the flags meant IPL bank. Added to Sound Tool properly now.

edited 3:27 PM EST February 22, 2018
by mariofan12ify at 12:14 PM EDT on April 15, 2019
Sorry to bump an old thread but I was wondering if there's a way I could extract midis from ROM hacks? Or is that not implemented yet?
info by InfernoNemesis at 7:18 AM EDT on April 21, 2019
just a little info

http://www.un4seen.com/
This make the conversor for sf2
https://github.com/FluidSynth/fluidsynth

some one tracks without sound is a effect for guitars or chord instruments
the modulation make more realistic the sound

http://www.bass.radio42.com/help/Index.html

by InfernoNemesis at 7:28 AM EDT on April 21, 2019
In what programming language do the applications to transform the sounds of the games, is that I want to learn to do what you do and what you need to know as a basis in that language.
by braun at 12:28 PM EDT on May 4, 2023
Could I get some info on the N64 tremolo and vibrato so I could recreate them myself? I've been using SFZ http://sfzformat.com/ to make instruments from GoldenEye and Jet Force Gemini, as SFZ includes support for pitch bend range, linear envelopes, more precise contol for envelopes than soundfonts, and tremolo and vibrato; but I don't know how to translate those to numbers I can use.
by SubDrag at 6:11 PM EDT on May 9, 2023
I'm not really sure, you'll have to use your ear and compare something known to values (maybe keep adjusting test ingame and compare?)


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