Difference between revisions of "Custom Music"

From Custom Mario Kart
Jump to navigation Jump to search
Line 152: Line 152:
 
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.
 
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.
+
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. These can be edited through [[BrawlBox]].
Unfortunately, all these 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.'''
 
'''This is the reason your songs cut off, your BRSTMs don't fit into original ones, they are bigger.'''

Revision as of 17:47, 20 May 2013

Making a Custom Music is taking any song you want and making it compatible with Mario Kart Wii, so it plays as background music. Some Custom Tracks are even released with Custom Music included.

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


Music Editing

You will have to use a Music Editor in order to edit your song (such as removing the silent part in the beginning, making it louder and cropping unwanted parts) and get your loop points. You can use any music editor you want. However, this guide will only focus on Audacity. It is always 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 "Effect" 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
  • Click 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: using another song or speeding up the same song.

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 the pitch to change, and only want it to play faster, then click "Change Tempo"
  • Drag the "Percent Change" bar (15% is a good recommended value for changing the tempo)
  • Click "OK"

VirtualDJ

VirtualDJexample.jpg
  • Drag your song into a plate.
  • Use the Pitch Bar to change its speed.
  • Go to the "Record" tab
  • Click on Config to set the file's final directory
  • Click on "Start Recording" and play your song with the new speed.
  • If needed, you can edit then your song for deleting useless parts.


Hex Editor

Or you can use a Hex Editor on your normal lap BRSTM (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 will have to loop your song if it's 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

The first area will be the loop start point, while the second area will be the 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 samples).
  • Repeat for the endpoint.
  • Export your song as .wav (this can be done before if you prefer).
  • Proceed to BrawlBox

NOTE: BrawlBox has trouble dealing with mono WAV files. You can turn your song from mono to stereo in Audacity by clicking "Edit" > "Duplicate" and the clicking the little down arrow next to the song name on the first track and selecting "Make stereo track".

Converting to BRSTM

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

In order to convert your WAV file to BRSTM 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. Write down the loop start point/end point in their respective boxes
    • 4. Check the loop by listening to the song (make sure to tick the "loop" box)
    • 5. Click Okay, and go to Edit > Export (as) and export as a BRSTM.

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


Next, you'll need to rename your custom BRSTMs to their correct ID, so they play in-game. Which are those IDs?. And make sure your songs replace the same slot than your CT. If you use Riivolution you just 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. That's because six 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 Factory, Wario's Gold Mine, Dry Dry Ruins and Moonview Highway require a 4CH BRSTM, Koopa Cape requires 8CH and Bowser's Castle 6CH. However, for unknown reasons, sometimes a 6CH MBRSTM will still cut off at the part where the Bowser statues throws fireballs at you, so to be safe you can always make an 8CH MBRSTM for that track as well.

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. You should also amplify your song a bit more than you would for a normal BRSTM as these tend to be quieter in-game. When you're done 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. Write these numbers down.

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:



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 you got 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 in game, you might have noticed that they cut off.

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. These can be edited through BrawlBox.

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 your song shorter (this means a very short song), or use the BRSAR BRSTM 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 Patcher v0.8, but v1.0 works the same too.
  • Now open your BRSAR BRSTM Patcher.
    • 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 in game, your songs shouldn't cut off, and you have successfully made your own Custom Music. 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).