Difference between revisions of "Custom Music"

From Custom Mario Kart
Jump to navigation Jump to search
(Done! May teak later depending on feedback)
Line 1: Line 1:
{{under-construction}}
 
 
 
Custom music is making songs compatible with MKWii so you can play them as background music. Many custom tracks have custom music included.
 
Custom music is making songs compatible with MKWii so you can play them as background music. Many custom tracks have custom music included.
  
 
If you want to make Custom Music for your track/battle arena, you need:
 
If you want to make Custom Music for your track/battle arena, you need:
  
 +
* [http://audacity.sourceforge.net/?lang=en Audacity].
 
* [http://www.smashboards.com/showthread.php?t=238861 BrawlBox].
 
* [http://www.smashboards.com/showthread.php?t=238861 BrawlBox].
 
* [http://www.mediafire.com/?yirz13w6dzvw3eh BRSAR Size Patcher].
 
* [http://www.mediafire.com/?yirz13w6dzvw3eh BRSAR Size Patcher].
* [http://audacity.sourceforge.net/?lang=en Audacity].
 
  
 
==Music Editing==
 
==Music Editing==
First you need to edit the song, for this you use your music editor. It is recommended to export the output format into WAV, wavs don't have that little space just before your song starts.
+
First you need to edit the song, using a music editor such as Audacity. It is necessary to export the output format into WAV, in order for BrawlBox to convert it to a BRSTM.
  
For the "final lap" music, you have two options: speed up the song or use another song.
+
==Amplifying the Volume==
 +
[[File:CustomMusicGuide_Volumes.jpg|thumb|right|Different volumes in Audacity]]
 +
When you open your song in Audacity, it will look something like one of these three examples. The difference in height between them is caused by the volume, with a smaller height meaning the song is quieter. If your song is too quiet you won't be able to hear it in-game. In order to prevent this you'll have to amplify it. You should be aiming to something close to the 3rd music file in the image.
 +
*Click "Efect" on the toolbar;
 +
*Click "Amplify";
 +
*Drag the percentage bar according to what you need (it may vary from 10db to just 2db, depending on the volume);
 +
*Enable clipping;
 +
*Cick OK.
 +
NOTE: the sound may start to crack if you amplify it too much. This will not be heard in-game to an extent.
  
==Speeding up a song==
+
==Speeding up a Song==
For Audacity use:
+
For the "final lap" music, you have two options: use another song or speeding up the same song.
 +
 
 +
For Audacity:
 
[[File:Audiacityexample1.png|700px|thumb|center|Speeding up songs]]
 
[[File:Audiacityexample1.png|700px|thumb|center|Speeding up songs]]
  
Line 23: Line 31:
 
*Click "Change Speed...".
 
*Click "Change Speed...".
 
**If you don't want pitch to change, and only speed change, then click "Change Tempo...".
 
**If you don't want pitch to change, and only speed change, then click "Change Tempo...".
*Drag the "Percent Change" bar.
+
*Drag the "Percent Change" bar (15% is a good recommended value).
 
*Click "OK"
 
*Click "OK"
  
  
For Hex Editor use (more risky):
+
Or you can use a Hex Editor (more risky):
  
 
*Only recommended if you know how to hex edit.
 
*Only recommended if you know how to hex edit.
Line 41: Line 49:
 
**This method may not work with all BRSTMs. Some BRSTMs will not play, but the game won't freeze.
 
**This method may not work with all BRSTMs. Some BRSTMs will not play, but the game won't freeze.
  
==Looped Song==
+
==Looping your Song==
 
A "loop" is the particular section of the song that replays over and over, you can use this if your song is too short, so your song will repeat until you end the race.
 
A "loop" is the particular section of the song that replays over and over, you can use this if your song is too short, so your song will repeat until you end the race.
  
Line 47: Line 55:
  
 
In Audacity:
 
In Audacity:
[[File:Audiacityexample2.png|700px|thumb|center|Loop the song]]
 
  
 
*Open your song.
 
*Open your song.
*Listen to it VERY carefully, and detect the part where you want your loop to start and end (if wanted).
+
*Listen to it VERY carefully, and detect the part where you want your song to loop. This is easier when using videogame music, as it is already intended to loop.
*Select the starting point.
+
 
*Press Ctrl+C.
+
[[File:CustomMusicGuide_LoopingPart1.jpg‎|center|Looping area]]
*Delete the selected part.
+
Yhe first area will be the loop start point, while the second are will be the loop end point. What this means is that when the song reaches the loop end point it goes back to the loop start point.
*Click on the end point of your loop.
+
In order to properly select the looping points, so that the song loops seamlessly, zoom in on that area of the song.
*Press Ctrl+V
+
 
*Delete the parts you don't need.
+
[[File:CustomMusicGuide_LoopingPart2.jpg‎|700px|thumb|center|Selecting the loop pints]]
*Go with the cursor on the loop start point, write down the time (you can see it at the buttom)
 
*do the same with the endpoint
 
*export your song as .wav
 
*go further with brawlbox
 
  
 +
*Try to select the same exact spot both on the start point and on the end point. A small tip is to select the area just before a "taller" part of the song, like it's done in the image.
 +
*Once you select your loop start point by clicking where you want it to be, write down the numbers in the bottom left corner (make sure the unit is in '''frames''').
 +
*Repeat for the endpoint.
 +
*Export your song as .wav (this can be done before if you prefer).
 +
*Proceed to BrawlBox
  
 
'''This is necessary all the time if your songs have to loop.'''  
 
'''This is necessary all the time if your songs have to loop.'''  
 +
 
==Converting to BRSTM==
 
==Converting to BRSTM==
 
BRSTM is the format of the videogame's audio, they are used since GameCube games, and they appear in almost every actual videogame.
 
BRSTM is the format of the videogame's audio, they are used since GameCube games, and they appear in almost every actual videogame.
Line 69: Line 78:
  
 
For this you can use BrawlBox:
 
For this you can use BrawlBox:
 
  
 
[[File:Brawlbox-tutorial.JPG]]
 
[[File:Brawlbox-tutorial.JPG]]
 
  
 
*Open Brawlbox
 
*Open Brawlbox
 
** 1. Go to: File > New > Brstm Audio Stream
 
** 1. Go to: File > New > Brstm Audio Stream
 
** 2. Select your song (need to be .wav format)
 
** 2. Select your song (need to be .wav format)
** 3. Go with the cursor to the time with the startpoint/endpoint, than press on the * next to the sample form.
+
** 3. Go with the cursor to the time with the startpoint/endpoint and write down the numbers you got from Audacity.
** 4. Change the sample numbers to perfect the loop.
+
** 4. Check the loop by listening to the song (make sure to tick the "loop" box)
** 5. Click Okay, and go to File > Save (as) and save as brstm.
+
** 5. Click Okay, and go to File > Export (as) and save as brstm.
 +
 
 +
You can also perfect the loop points in BrawlBox, so getting the loop points from Audacity is not specifically needed.
  
You can perfect the loop in brawlbox, so getting the loop points from audacity is not specifically needed.
 
  
Rename them to their correct ID, so they can sound ingame. [http://www.mariokartwii.com/f72/all-mkwii-file-names-list-69522.html Which are those IDs?]. And make sure your songs replace the same slot than your CT.  
+
Rename them to their correct ID, so they can sound in-game. [http://www.mariokartwii.com/f72/all-mkwii-file-names-list-69522.html Which are those IDs?]. And make sure your songs replace the same slot than your CT.  
 
If you use [[Riivolution]] you have to put your BRSTMs into My Stuff folder.
 
If you use [[Riivolution]] you have to put your BRSTMs into My Stuff folder.
  
Line 94: Line 102:
 
Next open BrawlBox and get your loop points, just like with regular BRSTMs:
 
Next open BrawlBox and get your loop points, just like with regular BRSTMs:
  
[[File:MBRSTMTutorialPart1.jpg]]
+
[[File:MBRSTMTutorialPart1.jpg|center]]
  
  
Line 102: Line 110:
 
 
  
[[File:MBRSTMTutorialPart2.jpg]]
+
[[File:MBRSTMTutorialPart2.jpg|center]]
  
  
Line 108: Line 116:
  
 
 
[[File:MBRSTMTutorialPart3.jpg]]
+
[[File:MBRSTMTutorialPart3.jpg|center]]
  
  
Line 116: Line 124:
 
 
  
[[File:MBRSTMTutorialPart4.jpg]]
+
[[File:MBRSTMTutorialPart4.jpg|center]]
  
 
...you get your MBRSTM!
 
...you get your MBRSTM!

Revision as of 11:14, 4 January 2013

Custom music is making songs compatible with MKWii so you can play them as background music. Many custom tracks have custom music included.

If you want to make Custom Music for your track/battle arena, you need:

Music Editing

First you need to edit the song, using a music editor such as Audacity. It is necessary to export the output format into WAV, in order for BrawlBox to convert it to a BRSTM.

Amplifying the Volume

Different volumes in Audacity

When you open your song in Audacity, it will look something like one of these three examples. The difference in height between them is caused by the volume, with a smaller height meaning the song is quieter. If your song is too quiet you won't be able to hear it in-game. In order to prevent this you'll have to amplify it. You should be aiming to something close to the 3rd music file in the image.

  • Click "Efect" on the toolbar;
  • Click "Amplify";
  • Drag the percentage bar according to what you need (it may vary from 10db to just 2db, depending on the volume);
  • Enable clipping;
  • Cick OK.

NOTE: the sound may start to crack if you amplify it too much. This will not be heard in-game to an extent.

Speeding up a Song

For the "final lap" music, you have two options: use another song or speeding up the same song.

For Audacity:

File:Audiacityexample1.png
Speeding up songs
  • Open your song.
  • Select the song.
  • Click "Effect" on the toolbar.
  • Click "Change Speed...".
    • If you don't want pitch to change, and only speed change, then click "Change Tempo...".
  • Drag the "Percent Change" bar (15% is a good recommended value).
  • Click "OK"


Or you can use a Hex Editor (more risky):

  • Only recommended if you know how to hex edit.
  • Go to 0x64. This is the data rate of the song in hz. (Controls how fast data is read) The value is two bytes.
  • Open Calculator (or use a calculator that can work with hex)
  • Type the value in and add about 15%-30% to the value
  • Replace 0x64 with the new value
  • Save As a new brstm. It will play faster.
    • This method is risky because Mario Kart Wii wants BRSTMs that are 32000hz. Track music doesn't seem to be too picky about this (though sometimes, it still causes problems), but fanfares don't like other values (and can freeze the game if played too long, actually). To avoid problems, stick with 32000hz and use one of the other methods listed above.
    • However, an advantage to this method is that you do not have to find loop points twice for track music if you use a sped up version of the same song for the final lap, simply because you are only reading the data faster, not actually changing the amount of samples.
  • A safety variant to change the speed with Hex Editor is to change the values on 0x64 to B4 00. It will sound like the original speed up (found out by MrBean35000vr).
    • This method may not work with all BRSTMs. Some BRSTMs will not play, but the game won't freeze.

Looping your Song

A "loop" is the particular section of the song that replays over and over, you can use this if your song is too short, so your song will repeat until you end the race.

It consists of two sections: the "Start point" and the "End point".

In Audacity:

  • Open your song.
  • Listen to it VERY carefully, and detect the part where you want your song to loop. This is easier when using videogame music, as it is already intended to loop.
Looping area

Yhe first area will be the loop start point, while the second are will be the loop end point. What this means is that when the song reaches the loop end point it goes back to the loop start point. In order to properly select the looping points, so that the song loops seamlessly, zoom in on that area of the song.

Selecting the loop pints
  • Try to select the same exact spot both on the start point and on the end point. A small tip is to select the area just before a "taller" part of the song, like it's done in the image.
  • Once you select your loop start point by clicking where you want it to be, write down the numbers in the bottom left corner (make sure the unit is in frames).
  • Repeat for the endpoint.
  • Export your song as .wav (this can be done before if you prefer).
  • Proceed to BrawlBox

This is necessary all the time if your songs have to loop.

Converting to BRSTM

BRSTM is the format of the videogame's audio, they are used since GameCube games, and they appear in almost every actual videogame. Mario Kart Wii obviously uses BRSTMs; and they appear in courses, battle arenas, miscellaneous sounds and more.

For this you can use BrawlBox:

Brawlbox-tutorial.JPG

  • Open Brawlbox
    • 1. Go to: File > New > Brstm Audio Stream
    • 2. Select your song (need to be .wav format)
    • 3. Go with the cursor to the time with the startpoint/endpoint and write down the numbers you got from Audacity.
    • 4. Check the loop by listening to the song (make sure to tick the "loop" box)
    • 5. Click Okay, and go to File > Export (as) and save as brstm.

You can also perfect the loop points in BrawlBox, so getting the loop points from Audacity is not specifically needed.


Rename them to their correct ID, so they can sound in-game. Which are those IDs?. And make sure your songs replace the same slot than your CT. If you use Riivolution you have to put your BRSTMs into My Stuff folder.

Multi Channel BRSTM Making

You might notice that even if you follow all these steps your custom music cuts off. Thats because 6 tracks in the game (Toad's Factory, Wario's Gold Mine, Koopa Cape, Dry Dry Ruins, Moonview Highway and Bowser's Castle) use Multi Channel BRSTMs instead of regular BRSTMs, which allows the slight music change in some parts of the tracks. The number of channels you need will depend on the track. Toad's Facory, Wario's Gold Mine, Dry Dry Ruins and Moonview Highway require a 4CH BRSTM, Koopa Cape requires 8CH and Bowser's Castle 6CH. In order to make Custom Music for these tracks you'll need the same files used in regular Custom Music making plus the MBRSTM Maker


First of all, you need to make your wav file mono, because stereo doesn't work. In Audacity go to Tracks -> split stereo to mono. Then export the file as a wav.

Next open BrawlBox and get your loop points, just like with regular BRSTMs:


LoopStartSample is your loop start point and NumSamples is your end point. Don't close BrawlBox yet.

Then you need to copy your wav to your MBRSTM build folder, making as many copies as the number of channels you want to make (4 copies for 4CH, 8 copies for 8CH), numbering them 1-4/6/8. It should look like this for a 4CH MBRSTM:



Next, right click -> edit on the BUILD XCH BRSTM you want (x being the number of channels). It should look like this but with different numbers:



The number in red is the loop start point and the number in green is the end point. As you see, they don't match the numbers from BrawlBox, so replace them on all the lines (not just in one).

You can now close the window, saving your changes. Then, double-click the file you just modified, wait for it to do its thing and...


...you get your MBRSTM!

Now rename it and repeat for the final lap.

The BRSAR

So, if you tested your songs ingame, you might have noticed that they cut off at 5 seconds or less.

Why did this happen??

You copied your BRSTMs in your SD card, yes, that's correct; but there's another file inside MKWii's ISO, called revo_kart.brsar.

This file is the file which governs the loop points and maximum size for all the BRSTM files in the game. It also has the sounds contained within it, like character's voices, kart/bike sound effects, menu's sounds, drifting sounds, star power music, etc. Unfortunately, all this sounds can only be edited through hex.

This is the reason your songs cut off, your BRSTMs don't fit into original ones, they are bigger.


In here, you have two options: Make a shorter song (this means a very short song), or use the BRSAR Size Patcher to make your songs fit:

*You need revo_kart.brsar for this. You can find it inside ISO:Partition1\sound\revo_kart.brsar

File:BRSARexample.png
This is BRSAR SP v0.8, but v0.7 works the same too.
  • Now open BRSAR SP.
    • 1. Load your revo_kart.brsar by clicking Load BRSAR
    • 2. After you loaded it, load just one BRSTM.
    • 3. Select your track's song ID.
  • Remember, _n for first laps and _f for final lap.
    • 4. Click on Patch New Size
  • Your revo_kart.brsar now has a new maximum size, your song will not cut off anymore.
  • Repeat steps 2 - 4 if you have to patch multiple songs.


You don't have to click any Save button, the changes you do will be automatically saved. Now you can copy your BRSTMs and your revo_kart.brsar into "My Stuff" folder (if you use Riivolution), and if you play using a custom ISO, replace the correct files using Wii Scrubber. You can see where are the files located to replace here: Filesystem.

If you test ingame, your songs shouldn't cut off, and you are done with CM making. Have in mind that if you plan to make more Custom Music, you need to use the same revo_kart.brsar for patching again (you can replace old songs with new songs every time you want it).


HAVE FUN!