Wii Music: Custom Song Tutorial
Hi, I promised that I would make this tutorial after the release of RiiMajor. It took a while for me to finally make it because I was working on a lot of other things.
So let's just get right into it. I asked about this a while ago and I got a couple replies, one basically telling me to fuck off and that nobody cares. Well, It turned out to be the opposite seeing how many people downloaded RiiMajor.
BEFORE YOU START
You're going to have to hex edit. Yeah, I know. The reason for that is... Wii Music uses an older version of BRSAR which BrawlCrate does not support. We've asked so many times and submitted a ton of bug reports but since it's not a Brawl related issue, the devs don't want to try and look into fixing the error you get while trying to save the edited BRSAR. So you'll have a lot of limitations. Which are:
STEP 1: FIND THE OFFSETS AND SONG LENGTHS
I already did it for you http://jimmysstuff.tk/WiiMusicDataTable.html
STEP 2: PREPARE A MIDI FILE THAT YOU WANT TO USE
I already planned to import one, so that's the midi I'll be using as an example.
The midi must have 4 tracks. They must be in this order:
Track 1 must have the tempo data in it or else it wont work properly
- One bar of your midi will equal one entire line of score in Wii Music, so you may need to ensure it is fast enough.
- There needs to be at least one track that has a note that plays at the end of the last bar, otherwise the track lengths will be weird.
- Wii Music does not properly support 1/128 notes.
- Notes are not allowed to overlap in time, unless they all start at the same time as a chord.
Look at the datatable for the length in time of the song you want to put the song over, delete any notes that go over that length in the midi.
STEP 3: CONVERT MIDI TO BRSEQ
The wonderful kitlith has made a program that allows you to change the tempo in a brseq file and keep the notes the same.
So lets say that the midi you converted to BRSEQ was 70BPM, but the song you want to put it over is 100 BPM. Well this program allows you to make the BPM 100. But the notes
will sound exactly how they were at 70BPM.
You can download it here!
Usage:
Z.brseq = The recommended name for the BRSEQ you want to change the tempo of. Of course, you can name it whatever you want.
160 = The tempo that the BRSEQ will be changed to. Change it to whatever you want.
OTHER: (OPTIONAL) LOOPING
In all 4 tracks in the midi you plan to use, find the place where you want the song to start looping, and end looping.
STEP 4: ADD THE SONG IN THE BRSAR
First, Find this: (Find the info for whatever song you plan to replace)
REPLACING "SONG"
1. Open the BRSAR in HXD
2. Press CTRL+E
3. Type in the "SONG" offset where it says "Start Offset" (Offsets will vary depending on what song you are replacing)
4. Type in "LENGTH" (In hex, not the song length) where it says "Length" (Length will vary depending on the song you replace)
5. Press OK
6. Right Click on the highlighted area
7. Select "Fill Selection"
8. Enter in "00"
9. Press "OK"
10. Repeat Steps 2 - 5
11. Open the BRSEQ you got from either Step 3 or Step 3.5
12. Press CTRL+A
13. Press CTRL+C
14. Go back into the BRSAR you have open
15. Press CTRL+V
REPLACING "SCORE"
1. Open the BRSAR in HXD
2. Press CTRL+E
3. Type in the "SCORE" offset where it says "Start Offset" (Offsets will vary depending on what song you are replacing)
4. Type in "LENGTH" (In hex, not the song length) where it says "Length" (Length will vary depending on the song you replace)
5. Press OK
6. Right Click on the highlighted area
7. Select "Fill Selection"
8. Enter in "00"
9. Press "OK"
10. Repeat Steps 2 - 5
11. Open the BRSEQ you got from either Step 3 or Step 3.5
12. Press CTRL+A
13. Press CTRL+C
14. Go back into the BRSAR you have open
15. Press CTRL+V
Now you are ready to test it in the game!
-------------------------------------------------------
I'll admit, the tutorial was a bit thrown together, I also had some problems with formatting that I couldn't figure out how to fix. But this method was how I imported all of my songs for RiiMajor. Let me know if you have any issues!
Credits:
So let's just get right into it. I asked about this a while ago and I got a couple replies, one basically telling me to fuck off and that nobody cares. Well, It turned out to be the opposite seeing how many people downloaded RiiMajor.
BEFORE YOU START
You're going to have to hex edit. Yeah, I know. The reason for that is... Wii Music uses an older version of BRSAR which BrawlCrate does not support. We've asked so many times and submitted a ton of bug reports but since it's not a Brawl related issue, the devs don't want to try and look into fixing the error you get while trying to save the edited BRSAR. So you'll have a lot of limitations. Which are:
- The song can't be bigger than the original in hex
- The tempo has to be the same as the original song
- 1/128 notes don't work Correctly
STEP 1: FIND THE OFFSETS AND SONG LENGTHS
I already did it for you http://jimmysstuff.tk/WiiMusicDataTable.html
- Offset = The hex offset into the file
- Length = The length of the file in hex.
STEP 2: PREPARE A MIDI FILE THAT YOU WANT TO USE
I already planned to import one, so that's the midi I'll be using as an example.
"Beverly_Hills_Cop__Axel_F__mar2track_fmin_version1.mid"
The midi must have 4 tracks. They must be in this order:
Track 1 = MELODY
Track 2 = HARMONY
Track 3 = CHORD
Track 4 = BASS
Track 1 must have the tempo data in it or else it wont work properly
- One bar of your midi will equal one entire line of score in Wii Music, so you may need to ensure it is fast enough.
- There needs to be at least one track that has a note that plays at the end of the last bar, otherwise the track lengths will be weird.
- Wii Music does not properly support 1/128 notes.
- Notes are not allowed to overlap in time, unless they all start at the same time as a chord.
Look at the datatable for the length in time of the song you want to put the song over, delete any notes that go over that length in the midi.
STEP 3: CONVERT MIDI TO BRSEQ
- Download GotaSequenceCmd
- Unzip it
- (Highly Recommended) name the midi file "Z.mid"
- Drag the midi into "from_midi.bat
The wonderful kitlith has made a program that allows you to change the tempo in a brseq file and keep the notes the same.
So lets say that the midi you converted to BRSEQ was 70BPM, but the song you want to put it over is 100 BPM. Well this program allows you to make the BPM 100. But the notes
will sound exactly how they were at 70BPM.
You can download it here!
Usage:
Code:
tempo.EXE Z.brseq -t 160
Z.brseq = The recommended name for the BRSEQ you want to change the tempo of. Of course, you can name it whatever you want.
160 = The tempo that the BRSEQ will be changed to. Change it to whatever you want.
OTHER: (OPTIONAL) LOOPING
In all 4 tracks in the midi you plan to use, find the place where you want the song to start looping, and end looping.
- Create a note with the velocity set to 0 and the note set to 0 where you want the loop to start in all 4 tracks
- Create a note with the velocity set to 0 and the note set to 127 where you want the loop to end in all 4 tracks
- Convert the midi to BRSEQ with "from_midi.bat"
- Drag the outputted BRSEQ into "dissassemble.bat"
- Open it in a text editor
- Search for
cnm1 0
- Replace it with
Track_X_LOOPSTART:
- Search for
gn9 0
- Replace it with
jump TRACK_X_LOOPSTART:
- Drag it into "assemble.bat"
- Go to Step 4.
STEP 4: ADD THE SONG IN THE BRSAR
- Open the datatable in a new tab.
- Search for the name of the song you want to replace with your custom song.
- Copy the offsets for both "SONG" and "SCORE"
- Once you have found it, open the Wii Music BRSAR ("/Sound/MusicStatic/rp_Music_sound.brsar") in HXD.
- Continue down below.
First, Find this: (Find the info for whatever song you plan to replace)

SONG = The notes the tutes play
SCORE = The notes you play.
You just have to replace them both with your custom BRSEQ.
REPLACING "SONG"
1. Open the BRSAR in HXD
2. Press CTRL+E
3. Type in the "SONG" offset where it says "Start Offset" (Offsets will vary depending on what song you are replacing)
4. Type in "LENGTH" (In hex, not the song length) where it says "Length" (Length will vary depending on the song you replace)
5. Press OK
6. Right Click on the highlighted area
7. Select "Fill Selection"
8. Enter in "00"
9. Press "OK"
10. Repeat Steps 2 - 5
11. Open the BRSEQ you got from either Step 3 or Step 3.5
12. Press CTRL+A
13. Press CTRL+C
14. Go back into the BRSAR you have open
15. Press CTRL+V
REPLACING "SCORE"
1. Open the BRSAR in HXD
2. Press CTRL+E
3. Type in the "SCORE" offset where it says "Start Offset" (Offsets will vary depending on what song you are replacing)
4. Type in "LENGTH" (In hex, not the song length) where it says "Length" (Length will vary depending on the song you replace)
5. Press OK
6. Right Click on the highlighted area
7. Select "Fill Selection"
8. Enter in "00"
9. Press "OK"
10. Repeat Steps 2 - 5
11. Open the BRSEQ you got from either Step 3 or Step 3.5
12. Press CTRL+A
13. Press CTRL+C
14. Go back into the BRSAR you have open
15. Press CTRL+V
Now you are ready to test it in the game!
-------------------------------------------------------
I'll admit, the tutorial was a bit thrown together, I also had some problems with formatting that I couldn't figure out how to fix. But this method was how I imported all of my songs for RiiMajor. Let me know if you have any issues!
Credits:
AdamCrossing and Paniaal - Extensive Testing of how BRSEQ worked in game.
kitlith - Tempo.exe and other BRSEQ handling programs.
Gota7 - GotaSequenceLib and GotaSequenceCmd.