Skip to content
Sauraen edited this page Jul 31, 2015 · 15 revisions

Quick Start Guide for SEQ64

Exporting a MIDI from Super Mario 64

  1. Download the correct version of SEQ64 for your platform, or compile it from source.
  2. Run SEQ64.
  3. Click ROM > Load... and select your Super Mario 64 ROM. This can be a .z64 (DCBA) or .v64 (BADC) file; if you have a .n64 file, try renaming it to .v64. The RomDesc below has the addresses for the (U) ROM; I don't know if they're different for others, since I only own the US SM64 cartridge.
  4. Click RomDesc > Load... and select the RomDesc file, sm64_info.xml.
  5. In the Known Files box, click on Audiobank Index. The Index Entries box on the right shows all the instrument sets in the game. Select one to edit its name if desired. (Editing the actual Audiobank files is coming soon (a.k.a. in a very long time).)
  6. In the Known Files box, click on Audioseq Index. The Index Entries box on the right shows all the sequences in the game.
  7. Select a sequence.
  8. Edit its name if desired. If you edit information like this, click RomDesc > Save to save your changes.
  9. In the Instrument Sets list, select one of the instrument sets associated with this song. (In most cases there is only one.) Drop down the box below it to change the instrument set.
  10. After making changes like this, click ROM > Save to save the changes to the ROM. The CIC will be automatically recalculated.
  11. Select a sequence and click Load Sequence. Switch to the Audioseq tab.
  12. The sequence data is viewable and editable in the area on the right. Edit as desired (good luck, but you won't break anything if you don't save the ROM). The definitions for sequence commands are editable on the left. Probably don't edit these, unless you're trying to make a RomDesc for a new game.
  13. Switch to the MIDI File tab.
  14. Adjust Global and Export Settings to taste.
  15. Click Export MIDI. Save the MIDI file somewhere. Keep in mind that the instrument and drum mapping is stored in Audiobank, so it will not be correct in the MIDI (for now).

Importing a MIDI with Super Mario 64

  1. If you want to import a MIDI (there's still problems with this, especially with the optimization), set the Global and Import Settings as desired, click Import MIDI and select your desired MIDI file. If the interface freezes, leave it for a minute, it's doing optimization (progress bar coming eventually). Once it comes back, go back to the Audioseq tab and edit commands as necessary (good luck, even I have trouble with this sometimes). Finally go back to the Files tab, select the sequence you want to replace, and click Save Sequence. Save the ROM.
  2. Load the ROM and RomDesc.
  3. Go to the MIDI File tab.
  4. Adjust the Import Settings as desired. Set the Seq Format and Seq Type commands to match those used typically in sequences in this ROM (if necessary, load a random sequence--preferably not the first one, as that usually has a different type--and see what they are). SM64 uses Seq Format of 0x80 and no Seq Type.
  5. The "jump-to-sections header" option is if you have specified sections in your MIDI file. Do this by making markers (Meta text 0x06) in any one track in the MIDI file that say "Section #" where # is the section number. If this option is enabled and sections are found, seq64 will write a header that will allow playback to resume from the specified section when the player enters a house and then exits to the area with your song. (Supported in OoT; not sure how SM64 ROM will handle this.)
  6. Keep in mind that pitch bend messages in MIDI have a default range of 2, while in the Audioseq format they have a default range of 6. You will have to scale the pitch bend messages in your MIDI file to one third of their original values.
  7. Pointer Type matters for sequences that are called from other sequences (like the sections in Hyrule Field). If you're not doing fancy things, leave it on the default.
  8. The Audioseq format has these really cool features where data that is used multiple times is only written once, and then "called" several times like a function. In addition, data that is repeated is written once with a loop command. seq64 analyzes the MIDI file for data like this and generates calls and loops; but right now, the calls are buggy, so please only use the loops.
  9. Make sure the MIDI Global Settings match your MIDI file.
  10. Click Import MIDI and select your MIDI file. If the interface "freezes", it's doing the optimization--progress bar coming soon. Leave it alone for a few minutes.
  11. The sequence will be loaded into the Audioseq tab. At the very least, you will have to edit the instrument each channel uses. Click on each sequence section labeled "Chn" and find the Instrument command. Edit the value to the index (usually 0-15) of the desired instrument in the Audiobank file you will use with this sequence.
  12. Note the sequence length shown at the top of the Audioseq tab. Go back to the Files Tab and choose an existing sequence that's at least that long. Click Save Sequence to save over that sequence.
  13. Select the appropriate instrument set by choosing the index from the list below (usually there's only one instrument set per sequence) and then changing it to the desired instrument set with the combo box below that.
  14. Save the ROM (preferably make a backup copy first...)

With Ocarina of Time / Majora's Mask

The only difference here is that these games have sections of compressed data in the ROM, and they must be decompressed before they work. Download ZDEC and run it on your ROM. It works on all N64 versions of both games that I know of, but the resulting ROM it produces for Majora's Mask is mangled--it will work with SEQ64 to get the music out, but it will not run in an emulator. Also, I put up RomDescs for the Ocarina of Time v1.0 ROM and the Debug ROM.

Clone this wiki locally