!!!DS Music Tutorial
\\
Make sure you have extracted your .sdat file from your DS ROM. There are many ways to do this, but EveryFileExplorer is one decent option. In Mario Kart DS, you can find it by opening the ROM with EFE and going to data/sound. Right click on the file and export it.\\
\\[EveryFileExplorer Download|https://gbatemp.net/threads/release-every-file-explorer.373615/]
\\
\\Links to other tools you may need:\\
-[Anvil Studio|https://www.anvilstudio.com/]\\
-[DS Sound Studio|https://cdn.discordapp.com/attachments/336555023205138433/704390295038722130/DSSoundStudio.zip]\\
-[Nitro Studio 2|https://www.romhacking.net/utilities/1639/]\\
-[smfonv/seqconv|https://cdn.discordapp.com/attachments/957828780783706143/957828900728242327/conv-tools.zip]\\
-[wav2swav/swav2swar|https://cdn.discordapp.com/attachments/957828780783706143/957829456838402058/swav-tools.zip]\\
-[Wavosaur|https://www.wavosaur.com/download.php]\\
\\
========================================================================================================================\\
\\
File types:\\
.sdat - the main sound file; holds all the sound data in a DS game\\
.sseq - the DS equivalent of a MIDI file; holds note info, track info tempo, etc\\
.smft - an uncompressed sseq file; can be opened and edited with notepad\\
.ssar - a collection of sseq files, mainly used for sound effects; can be converted with Nitro Studio and opened with notepad\\
.swav - the DS equivalent of a WAV/AIFF file; used for instrument samples, voices, etc\\
.swar - a collection of swav files\\
.sbnk - sorts the individual instrument samples into full instruments\\
.strm - the DS equivalent of an MP3 file, used for full songs in some games; currently cannot be used in Mario Kart DS\\
\\
========================================================================================================================
\\
!USING DEFAULT INSTRUMENTS
Importing your MIDI file:
\\
\\
Tools:\\
-Anvil Studio\\
-DS Sound Studio\\
-seqconv\\
-smfconv\\
\\
1. Open your SDAT in DS Sound Studio and open your MIDI in Anvil Studio.\\
\\
2. In DSSS, find the sequence that you want to replace. In the third column (labelled "Bank") of the list of sequences, there will be a bank number. You can change this number in the future if you want to use a different sound bank, but for now, open the "Banks" folder on the left and scroll down until you find that number, then double click to open the bank.\\
\\
3. Listen to the different instruments. In Anvil Studio, replace the instruments in your MIDI with whichever DS instruments in the sound bank you think would best replace the ones in your MIDI. To do this, take the instrument number in DSSS, add 1, and change the instrument in Anvil Studio. Drum tracks do not have to be Track 10, and you can have as many as you want.\\
\\
4. To create a loop point, click on Track 1 and find and click on the beginning of the loop. Go to Edit > Insert MIDI Event. Make sure "Include Meta events" is checked, then change "Kind of event" to "Marker". In the text box at the bottom, type "{{[[}}" (without the quotes). Go to the end of the loop and do the same thing, but type "{{[]]}}" instead.\\
\\
5. Save your MIDI. Find your MIDI in the file explorer and drag your MIDI onto smfconv to create an SMFT file. Then, drag the SMFT file onto seqconv to create a SSEQ file.\\
\\
6. Go back to DSSS. Go back to the "Sequences" folder and find the sequence you want to replace. Right click > Replace, and find your SSEQ file.\\
\\
7. Double click the sequence and listen to it. If you want, you can go back and change instruments around again or edit the loop points. If the loop points are slightly off no matter what you do, change Channel 1 in Anvil Studio and try again with a different Track.\\
\\
8. Save the SDAT and enjoy!\\
\\
========================================================================================================================
\\
!USING CUSTOM INSTRUMENTS
Importing custom instrument samples:\\
\\
Tools:\\
-DS Sound Studio\\
-Nitro Studio (Optional)\\
-swav2swar\\
-wav2swav\\
-Wavosaur\\
\\
Things to note:\\
-The DS has a very small memory. This means your SWAV/SWAR files cannot be too large, or the game can and will not play any sounds. Really, any file being too large can cause the game to mute, but too many or too large SWAV files are the easiest to fix.\\
-Mario Kart DS and some other DS games have a common SWAR (SWAR 80 in MKDS). This SWAR is used in many SBNK files across the game, so changing it will probably cause other songs to sound wrong. The only way to fix this is to either not replace the file or change every SBNK that uses this SWAR. It is recommended to replace this SWAR if you are creating a full hack, but not if you are creating a one song music hack.\\
-If you plan on creating a full Mario Kart DS hack, it is recommended to start with the goal, results, and starting grid music. This will allow you to create a basis for your common SWAR. The common SWAR only needs to be filled with instruments that are used in these songs, so it is a good idea to start with that and then you can leave it alone.\\
-Additionally, in MKDS, SWAR 98 replaces SWAR 80 when playing online. SWAR 98 is much smaller than SWAR 80 but has all the same instruments. This means that if you want your hack to work online, you will need to make a lower quality version of your SWAR 80. SWAR 98 is ~59KB, but the limit can vary based on all your other SWARs.\\
\\
1. Create a folder of instrument samples (WAV or AIFF files) that you want to use in your song. You can also use Nitro Studio to export SWAV/WAV files from DS games if you would like to use some DS samples.\\
\\
2. Open a WAV/AIFF file in Wavosaur.\\
\\
a. There is a lot to consider when changing the quality or size of your samples, but generally if it is going to be used as a background instrument and/or you have a lot of samples, change the hertz to a lower number (~22050 hertz or less) at Process > Resample. 32000 hertz is the maximum recommended quality.\\
\\
b. To create loop points, select a portion of the sound wave, press the space bar to hear the sound on repeat, drag the selection until there is no or very few clicking sounds (you can zoom in by scrolling up), and then click the red "L" at the top left area of the screen. Select everything after the end loop point and hit the delete key.\\
\\
Repeat for all your WAV/AIFF files.\\
\\
3. In the file explorer, drag all your WAV/AIFF files onto wav2swav to create a bunch of SWAV files. Then, open swav2swar and drag all your SWAV files into it. Click "Create SWAR".\\
\\
4. Open your SDAT in DS Sound Studio. Locate the sound bank number of the SSEQ you will be replacing in the third column (labelled "Bank). Then go to the "Banks" folder on the left and scroll down to find the bank number. In the columns labelled "Wave Archive 0" and "Wave Archive 1", you will likely see an 80 and another number. Remember the other number and go to the "Wave Archives" folder. Scroll down to the other number, right click > Replace with the SWAR you just created.\\
\\
5. Save the SDAT and continue to create a custom SBNK.\\
\\
========================================================================================================================
\\
!Creating a custom sound bank
Tools:\\
-Nitro Studio\\
\\
1. Open your SDAT in Nitro Studio. Locate the SBNK that you will be editing in the "Instrument Bank" section and double click to open it (should be the same number as in the custom instruments section of this tutorial).\\
\\
2. In the new window, open both folders, labelled "BANK_NAME.sbnk" and "Block 0". A list of "Record"s will pop up. These are all the instruments in your SBNK.\\
\\
3. Edit your SBNK.\\
\\
a. Add more instruments by right clicking on the "Block 0" folder and clicking "Add". Delete instruments by right clicking them and clicking "Delete".\\
\\
b. Change the type of instrument by clicking on the record, choosing a type from the dropdown menu, and clicking "Change Instrument". "1 - Universal" is for one-sample instruments. "16 - Ranged" is for drum kits, so you have to set a sample for each key in between the key range that you provide. "17 - Regional" is for multi-sample instruments (you can have up to 8 samples per instrument).\\
\\
c. When using a one-sample instrument, click on the "Universal Instrument" under the "Record". The "Swar Number" can be found in DS Sound Studio (Under "Banks", you will see columns for "Wave Archive X" (X is 0, 1, 2, or 3). If the SWAR that your sample comes from is in column 1, use 1 in "Swar Number"). "Swav Number" can be found by going to "Wave" > (the ID of whichever SWAR you're using), double clicking, and listening to the samples to find the one you want to use. "Attack/Decay/Sustain/Release Rate" are different effects that your instrument can have (127 is no effect, 0 is full effect). "Note Number" is which key your sample lies on (if you don't know how to find that out, you can experiment with it until you find the right key). "Pan" is when you hear the instrument more to the left, right, or in the center (64 is center, 0 is left, 127 is right). Ignore "Unknown" and click "Update Data".\\
\\
d. When using a drum kit, click on the "Ranged Instrument". You can set where the drum kit starts and ends, and how many keys you want to use, by editing "Lower Note" and "Upper Note". When you click "Set New Range", you will be able to double click and open the "Ranged Instrument" and edit the different keys. To edit each key, see the previous paragraph, step 3c.\\
\\
e. When using a multi-sample instrument, click on the "Regional Instrument". There are 8 "Regions" available. Each box contains the final key that a sample will be used on (Setting the first box to 64 means the first sample will be used between keys 0 and 64. 0 means the region will not be used). When you click "Create New Regions", you will be able to double click and open the "Regional Instrument" and edit the different regions. To edit each region, see the previous paragraph, step 3c.\\
\\
4. When you finish editing the instruments, click File > Save on both the SBNK window and the SDAT window. Continue to importing your MIDI file.\\
\\
========================================================================================================================
\\
!Importing your MIDI file
Tools:\\
-Anvil Studio\\
-DS Sound Studio\\
-seqconv\\
-smfconv\\
\\
1. Open your SDAT in DS Sound Studio and open your MIDI in Anvil Studio.\\
\\
2. Change the instruments in your MIDI to match the SBNK you just created. If you forget, you can always open the SBNK in DSSS and listen to your instruments.\\
\\
3. To create a loop point, click on Track 1 and find and click on the beginning of the loop. Go to Edit > Insert MIDI Event. Make sure "Include Meta events" is checked, then change "Kind of event" to "Marker". In the text box at the bottom, type "{{[[}}" (without the quotes). Go to the end of the loop and do the same thing, but type "{{[]]}}" instead.\\
\\
4. Save your MIDI. Find your MIDI in the file explorer and drag your MIDI onto smfconv to create an SMFT file. Then, drag the SMFT file onto seqconv to create a SSEQ file.\\
\\
5. Go back to DSSS. Go back to the "Sequences" folder and find the sequence you want to replace. Right click > Replace, and find your SSEQ file.\\
\\
6. Double click the sequence and listen to it. If you want, you can go back and change instruments around again or edit the loop points. If the loop points are slightly off no matter what you do, change Channel 1 in Anvil Studio and try again with a different Track.\\
\\
7. Save the SDAT and enjoy!\\
\\
''%%(color:gray)Tutorial made by Yoshimaster on 4/21/19%%''