Difference between revisions of "Custom Music"

From Custom Mario Kart
Jump to navigation Jump to search
m (changed mkboards link to the corresponding mariokartboards link (mkboards is now defunct))
(→‎The BRSAR: Addition information for CTGP users)
Line 153: Line 153:
  
 
Open Patch that BRSAR! and open or drag and drop revo_kart.brsar in the program. All BRSTM slots that are linked from the BRSAR will be patched to their maximum size.
 
Open Patch that BRSAR! and open or drag and drop revo_kart.brsar in the program. All BRSTM slots that are linked from the BRSAR will be patched to their maximum size.
 +
 +
'''Please note that CTGP-R does this automatically, and if you patch your revo_kart you will need to disable automatic patching in settings.'''
  
 
If you open the BRSAR in [[BrawlBox]], provided the folder structure remains intact, you can make an edit (such as volume changing or custom SFX inserting) and it will automatically patch the BRSAR file.
 
If you open the BRSAR in [[BrawlBox]], provided the folder structure remains intact, you can make an edit (such as volume changing or custom SFX inserting) and it will automatically patch the BRSAR file.

Revision as of 16:29, 25 December 2018

Making 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)
  • Check the "Enable clipping" box
  • 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 (~10% is a good recommended value for changing the tempo)
  • Click "OK"

Creating properly tuned tracks

This method is closer to the original game but produces a small amount of crackling.

  • Open the file in Audacity
  • Effect (menu) -> Change Tempo => Percent Change: 10% -> Click "OK"
  • Effect (menu) -> Change Pitch => Semitones (half-steps): 1.00 -> Click "OK"

The order doesn't matter a lot, though changing tempo first may produce slightly better results, depending on the type of music.


The sliding time scale produces much better results but is much slower.

How modern Mario Kart games (including Mario Kart Wii) speeds up their music:

  • Effect -> Sliding Time Scale/Pitch Shift
    • Initial and Final Tempo Change (%): 10%
    • Initial and Final Pitch Shift -> (semitones) [-12 to 12]: 1
  • Click "OK"

OR

How the first three Mario Kart games (Super Mario Kart, Mario Kart 64, and Mario Kart: Super Circuit) speeds up their music:

  • Effect -> Sliding Time Scale/Pitch Shift
    • Initial and Final Tempo Change (%): 10%
  • 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

You can also 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.
  • Another method is to multiply the decimal value by 12/13 and convert this back to hex. For example, 48000hz would become 52000hz, so BB80 would become CB20.

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 (VGM), 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 points
  • 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. And make sure your songs replace the same slot than your custom track. 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.

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 Mario Kart Wii, called revo_kart.brsar.

This file governs the loop points and maximum size for all the BRSTM files in the game. It also contains sound effects, like characters' voices, kart/bike, menu, 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 Patch that BRSAR!:

*You need revo_kart.brsar for this. You can find it inside Filesystem/sound.

Open Patch that BRSAR! and open or drag and drop revo_kart.brsar in the program. All BRSTM slots that are linked from the BRSAR will be patched to their maximum size.

Please note that CTGP-R does this automatically, and if you patch your revo_kart you will need to disable automatic patching in settings.

If you open the BRSAR in BrawlBox, provided the folder structure remains intact, you can make an edit (such as volume changing or custom SFX inserting) and it will automatically patch the BRSAR file.