Part 5, Identifying What Channels Our Custom MIDI Should Use

If you didn’t start with Part 1, So You Want to Add Custom Music to Your Banjo-Kazooie Romhack, I highly recommend you start there first as it provides context and download links to what we’re using here.

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 | Part 7

At this point, we should have a midi that we intend to import into Banjo-Kazooie using the wonderful Banjo’s Backpack intermediary software. As I mentioned early, every single level, whether it be Bubble Gloop Swamp or the inside of Blubber’s ship, runs on its own set of specific channels. Once we’ve decided were we want our music to go, we need to determine what channels are available to use. How do we do this? Grab the Midi for that level using N64 Midi Tool once more.

Extracting Midi files from our ROM

1. Navigate to our BK Working folder and launch the N64 Midi Tool. Find Banjo-Kazooie in the drop down menu then press [Load] to point the application to your ROM’s location.

2. Press [Export All to Midi] then create a separate [midis] folder inside your BK Working folder, highlight it and press Ok.

3. Close out of the Midi Tool and navigate to your new folder full of BK Midi files. Within all of the Midis should be the one you’re looking for.

Note: BK’s naming scheme can sometimes be misleading. If the midi you’re looking to replace is the main theme of a level then it will probably have [01-] in front of it. However, levels inside of bigger levels often start with [02-] and so on. Reluctantly, guessing and checking can often be the own means of ensuring you have the right midi.

4. Once you’re sure you have the right midi, copy the file then navigate back to your working midis folder. Paste the midi here, next to your custom midi.

Identifying what channels are available to work in

Like I said before, we need to know which channels of the midi are used for dynamic zones. Here’s how you can find this information in no time.

1. Open up the midi you’re looking to replace through Sekaiju. A window will popup stating, ‘X number of MIDI channel events are found in the first tracks.’ This is very normal. Always click [yes] to this screen.

2. With your window to your Midi file open, adjust the view to how you see fit.

3. On a sheet of paper, jot down the Input/Output channels that this midi uses and how many you have total. For Spiral Mountain, I’ve got it easy. My channels used are 1-2, 4-5, 7-16 giving me 14 channels to write with.

Note: Don’t confuse the Input/Output Channels with the tracks used by Sekaiju. The farthest numbers to the left don’t mean anything. We only want to know the numbers in the boxes above.

Next, we must determine what channels are dedicated to the underwater theme inside Spiral Mountain.

4. Thankfully, underwater zones only use Harps to convey their aquatic feel in Banjo-Kazooie. Thus, I can assume that channels 13 and 16 are the only side-channels for Spiral Mountain. Just to be sure, I can listen to both by soloing the OutputOn for both channels.

If you’ve chosen a level that has more dynamic themes than just water (Mumbo’s Mountain, Most Grunty Lairs, ect…) It’s a good idea to compare the channels you suspect to be associated with a dynamic zones with videos of the game’s soundtrack on YouTube.

5. Distinguish what channels belong to what zone on your sheet of paper.If you’re still struggling to identify what channels are used where and have listened to the Banjo-Kazooie OST to no avail, I’d recommend consulting Bynine’s channel data over on the hack64.net wiki.

Realized in editing that I wrote Mumbo’s Mountain…

If you ARE ready to move on to the final, most creative part of this whole midi editing process, then part 6 is for you!

Part 6, Transforming Our MIDI Files to Fit the Banjo-Kazooie Soundfont

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 | Part 7