Extracting midi from N64 roms? by madstarr at 7:01 PM EDT on June 5, 2010
Ok, I know that there are ways of doing this like the old version of VGMTrans with an ability to extract midis from N64 Roms. I want to know if anyone knows how I can get a hold on the older version of VGMTrans that works with the N64 Roms, because I can't find it anywhere. Help would really be appreciated.
Franpa is correct that, basically, the N64 ROMs do not use MIDI for their audio. Nonetheless, it is possible to "import" a N64 ROM, and convert/export the audio into MIDI format. Similar to "importing" NGC DSP streamed files (or Wii BRSTM files) and exporting WAVs. Obviously, converting streamed files is significantly different than converting sequenced files, but the concept is the same.
So, while Franpa is correct, and therefore you can't extract MIDI files from N64 ROMs, you can export MIDI files from N64 ROMs, with the right tools (and as long as the original sequence data in the ROM is something the tool, in this case VGMTrans, can understand). So, technically, TheUltimateKoopa is incorrect. He didn't extract MIDIs from Super Smash Bros. However, he did extract them, and I can certainly understand why one would confuse the two. For the end user, extraction/exportation is essentially the same thing, since they are unable to see the processes involved to extract (where the data is unchanged) and export (where the data undergoes some form of conversion).
In the case of Super Smash Bros., if the audio data had been extracted, it wouldn't have come out as MIDI files. Unless the original audio data was in fact MIDI files. Which is possible, though generally speaking, unlikely.
In other words, there's no need to get jumpy over the issue, since the two methods (although different) can be identical to the end user, so long as the original data is MIDI. Otherwise, if you were to extract (and not export/convert) from N64 ROMs, you would rarely get MIDI files, since very few games use MIDI as the format for their audio data.
I just thought I'd clarify that, because I felt that the responses received were not entirely called for. Obviously, it's very easy to confuse the two. Please consider that for next time. Mouser X over and out.
as i understand, the sequence formats used by playstation, saturn, N64 and DS that can be ripped as General MIDI are practically midi data in the first place. whatever conversion tools like seq2mid and vgmtrans do, it isn't a whole lot. just some header changes i would guess, and changing file extensions.
anyway, through all your smugness all three of you failed to help the guy. here's a link to vgmtrans that works with N64 ROMs: http://www.shakal.net/lunar/temp/VGMTrans.rar (the DS ones are in there as well.)
I've never used VGMTrans (I'm not even sure I've ever downloaded it) otherwise I would have put it up somewhere.
Also, there's certainly more than a header change going on in the conversion. Often, games have commands that MIDI doesn't have. Thus, some conversion must take place. However, you are basically correct. Frequently, the formats are fairly similar, but to say they're MIDI would be icorrect (regardless of file extension, the format is most certainly not straight MIDI most of the time). As I said though, on occasion, a game will use MIDI, but it doesn't happen often. In the case of N64 games, Nintendo provided a "sequence engine" with their Development Kit. A lot of games use this engine, and the format is not MIDI. In fact, for those games that use it, they've often modified it a bit (the Dev Kit provided source code, IIRC), which is why a "generic driver" doesn't exist for N64 USF rips (as opposed to 2SF or PSF, which both have "generic drivers"). HCS tried to write one, but every game he used it on was little different, and didn't work as expected. If the games used straight MIDI (the header wouldn't make a huge difference here, if it was straight MIDI, and very rarely do N64 ROMs even have file names/extensions), writing a generic driver would have worked much better than it did.
I wasn't intending to be smug. My intention was to add clarification, because I really don't like it when people are rude. Especially when the topic in question is, really, very easy to confuse. There was no good reason for the response that Franpa received. Thus, I wanted to clarify the difference between extraction and exportation/conversion. There is a difference, though to the end user, it is subtle. Thus, to me, TheUltimateKoopa's response was (though only mildly) inappropriate.
Yes, such things happen a lot on this forum. Usually though, the people who do it know the differences in their arguments. While still inconsiderate, they are usually (depending on the person) correct in their argument. I don't like to see it happen, but it's not worth the effort to say anything. Not to mention the fact that, depending on the person, they'd probably start doing it to me in return.
Anyway, if my post(s) came across as snooty/snobbish/inconsiderate/rude/haughty, or even smug, I'm sorry. I had no such intention. My intention (as almost always - there are exceptions) was to provide clarification, and to explain how both parties are right, in different ways.
Lunar, thanks for helping out. I'm sure that madstarr will appreciate it. If I could have, I would have helped. I'm glad that someone still has that version of VGMTrans lying around. Mouser X over and out.
Thanks Lunar. And I was wondering, how EXACTLY do you extract sound files as midi's? I open up some roms and I get a whole bunch of hex code and I'm not particularly sure on what to do with it. I have some experience with HEX, but not too much.
Is there a version that supports converting to .dls? This version gives me a message saying: You selected ContextMenu1 and nothing happens. This happens on PS1 and PS2 files
As Mouser said, it's not a MIDI extractor per se, it just recognizes a few specific formats. Try it on Super Smash Bros, that was the main game it was tested with.
Essentially, there isn't any ROMs that can have their music extracted as MIDIs. There might be some, but I don't know of them.
EXPORTING/CONVERTING MIDIs from N64 ROMs is possible, and can be done, using VGMTrans, with a reasonable number of ROMs. Did you not read my posts above? Extraction and exporting are two very different things, that, unfortunately, get mixed up a lot because the end result is so similar. You don't want to extract the audio data (well, for your use, that's pretty unlikely), you want to convert it to a format you can use. That's what VGMTrans is for. It converts the audio data in certain ROMs to MIDI. It is incapable of extraction (as far as I know).
But yes, only certain ROMs are compatible with VGMTrans. Imagine you have a program that can convert MP3s into WAV files. If you were to "feed" a WMV (Windows Media Video) to this program (or a MIDI for that matter), the program would most likely choke. The program is unable to recognize what the file is that you're "feeding" it. The same is true for VGMTrans. When it converts the N64 audio data to MIDI, it is looking for a "specific" "format". As I said earlier, the "format" used in N64 games is often very similar among different games, because they essentially use the same driver (aka, they use the same program to play their music. Though, in most cases, that "program" has been slightly modified. This means that the "format" could also end up being slightly modified, and thus VGMTrans is unable to parse/interpret it 100% correctly). For specific examples, there are games that use the MusyX driver. Rogue Squadron and Battle for Naboo are the ones I can immediately think of that use the MusyX driver. Since I've never used VGMTrans, I don't know for certain, but my understanding is that games that use the MusyX driver are not compatible to VGMTrans. I'm sure there's others that aren't compatible (see above - some games modified the driver/format, and others probably use a custom driver). But, if my memory is correct, more than half of the N64 games use the "standard" driver (though, somewhat modified), so VGMTrans should work with a large number of games with no problems.
Short answer: Essentially, no, you can't extract MIDIs from N64 games. You can export/convert MIDIs from N64 ROMs, meaning the original data undergoes alteration, to make it usable for you. This is what VGMTrans is for. It should work on at least half the games released on the N64, so long as my memory is correct about the number of games that use the "standard" driver. Hopefully that clarifies it. Mouser X over and out.
Mouser X, in your first post of the thread, 2nd paragraph, you mistakenly wrote Extract twice in a row when one of them was meant to be the word Export.
Not so. Please re-read the last paragraph of my previous post. If my memory is correct, more than half of the N64 games should be compatible to VGMTrans.
Nintendo used their "standard" driver frequently. VGMTrans understands the format the "standard" driver uses reasonably well (or so I've heard). As TheUltimateKoopa meant, he was able to export MIDIs from Super Smash Bros. For that matter, someone else (I forget who - it might have been jurassicPieter) did some work on the "standard" driver format. Mario and Zelda use essentially the same driver (and thus the same format, basically).
Extracting MIDIs is the problem. Exporting them (using VGMTrans posted by Lunar on the previous page) should work more often than not.
Has everything I've said really been that confusing? Yes, VGMTrans might not work, but your chances are pretty good that it will work. Just give it a try. You certainly don't have anything to lose by trying that. Mouser X over and out.
Ok. I understood what you said, but how EXACTLY do I export them using VGMTrans. All I get is a bunch of Hex code and there isn't anything like a list that I can use to attempt an exportion of midi's. (I understood the part in which I can't extract midis, but can export/convert to midi.)
"Has everything I've said really been that confusing?"
well i don't get why you're beating the hell out of the exporting vs. extracting issue; it's entirely impractical, it's just semantics and doesn't matter to end users at all. other than that it all makes sense.
"All I get is a bunch of Hex code and there isn't anything like a list that I can use to attempt an exportion of midi's"
if you've used a game that works with vgmtrans then in addition to the hex code you'll see a list of sequences down the right. you just right click and export from there. if no sequences appear, chances are the game doesn't work.
whats odd, was that i checked a US version of Mario Kart 64, there weren't any files showing on the right. Then i checked the European version of the game, i found something weird. There were files to the right, but those files weren't from MK64, but they sounded as if they were from Mario party 1. Does anyone know why would that be the case? I'm sure the ROM isn't the Mario party rom because when loaded to an emulator, it's the MK64 game.
No, MK64 was the only game opened up, no other roms were opened. It was the Mario Kart 64 (E) V1.1 that had the Mario Party 1 audio sequences showing. Why would that be the case?