Difference between revisions of "Sound Replacement Tutorial"
(Great guide, just updated for clarity. Thanks for the writeup.) |
|||
Line 1: | Line 1: | ||
− | + | These instructions should be relevant for Windows 7/10/11 users.<br> | |
− | |||
− | |||
<br> | <br> | ||
− | + | First, make sure you have [https://www.digitalocean.com/community/tutorials/install-python-windows-10 Python installed]. Then, download [https://cdn.discordapp.com/attachments/301121846944727040/358295103019679764/Pikmin2SoundHelperScripts.zip Yoshi2's sound helper] and extract the contents to your root's <b>AudioRes</b> folder. You can use [https://gbatemp.net/download/gamecube-iso-tool.33956/ Gamecube ISO tool] to expose the game's file structure (additional info can be found in [https://pikmintkb.com/wiki/General_instructions General instructions]). Run <b>create_workshop.py</b>, and wait for it to finish extracting everything.<br> | |
<br> | <br> | ||
− | + | In the <b>waves</b> folder are the extracted sounds which you must replace with <b>.wav</b> files that are at least very close in file size. It's recommended that all your sounds are in mono the same length and sample rate as the sounds they're replacing.<br> | |
<br> | <br> | ||
− | To change the | + | To change the sample rate, go to <b>Tracks</b> > <b>Resample...</b> in Audacity ([https://github.com/audacity/audacity/releases/download/Audacity-3.3.3/audacity-win-3.3.3-x64.exe Audacity 3.3.3]), and change the sample rate to match the existing sound file (ex. 22050 Hz). Next, click on the <b>Audio Setup</b> button and then <b>Audio Settings...</b> where you should see <b>Project Sample Rate.</b> You should change this number to the sample rate you need the sound to be (it should be the same number you just used in <b>Resample...</b>).<br> |
<br> | <br> | ||
− | + | To change the track to mono, go to <b>Tracks</b> > <b>Mix</b> > <b>Mix Stereo Down to Mono</b>. If this option is greyed out then the track is already in mono.<br> | |
<br> | <br> | ||
− | + | To modify the sound effect's volume, first click anywhere on the sound file and press <b>Ctrl + A</b>, then go to the toolbar and click on <b>Effect</b> > <b>Volume and Compression</b> > <b>Amplify</b> and modify the amplication (dB) desired. You can then click preview and apply.<br> | |
<br> | <br> | ||
− | + | Once finished, go to <b>File</b> > <b>Export</b> > <b>Export as WAV</b> and ensure the save as type is <b>WAV</b> and that encoding is set to <b>16-bit PCM</b>. Replace the vanilla sound <b>.wav</b> file with your edited sound. For a list of sounds in <b>wScene_0.aw</b>, go [[Guide_To_Sound_File_Names|here]]. Keep in mind the names of the sound files you are changing, as you will need it for the following steps.<br> | |
<br> | <br> | ||
− | + | Next, go in the workshop folder and open <b>wsys0.xml</b> in [https://notepad-plus-plus.org/downloads/ Notepad++]. Find each sound you replaced and do the following:<br> | |
<br> | <br> | ||
− | + | 1). Replace <b>\repack\</b> in the file path with <b>\waves\</b><br> | |
<br> | <br> | ||
− | + | 2). Replace <b>.raw</b> at the end of the sound file name with <b>.wav</b><br> | |
<br> | <br> | ||
− | + | 3). Remove <b>rate="XXXXX"</b>. This will make the program automatically calculate the sound's sample rate when it repacks the sounds. If you don't remove this, then the sound may be at the wrong pitch or speed in-game<br> | |
<br> | <br> | ||
− | + | 4). Certain sounds have a "loop point" that you can change. If you needed to make one of your sounds longer than the sound it's replacing, you should change this. To help determine which sample count you want it to loop at, open the sound file in Audacity, and at the bottom where it shows the current time the sound is at, click on the small down arrow at the end and change it to <b>hh:mm:ss + milliseconds</b>. Now whenever you select a part of your sound in Audacity, you can see which sample point you are at which should make it much easier to create a custom loop<br> | |
<br> | <br> | ||
− | + | Once you've followed these steps for each sound you've replaced, go back to the <b>AudioRes</b> folder and run <b>rebuild_soundfiles.py</b>. Once the script is finished, open the newly created <b>output</b> folder. Copy every new <b>.aw</b> file into <b>AudioRes/banks</b>, and copy <b>PSound.aaf</b> into the <b>AudioRes</b> folder.<br> | |
− | + | <br> | |
− | + | Finally you can save your <b>.iso</b> as trimmed using [https://gbatemp.net/download/gamecube-iso-tool.33956/ Gamecube ISO tool] and if your <b>.wav</b> files aren't too big then everything should work perfectly! |
Revision as of 16:01, 9 July 2023
These instructions should be relevant for Windows 7/10/11 users.
First, make sure you have Python installed. Then, download Yoshi2's sound helper and extract the contents to your root's AudioRes folder. You can use Gamecube ISO tool to expose the game's file structure (additional info can be found in General instructions). Run create_workshop.py, and wait for it to finish extracting everything.
In the waves folder are the extracted sounds which you must replace with .wav files that are at least very close in file size. It's recommended that all your sounds are in mono the same length and sample rate as the sounds they're replacing.
To change the sample rate, go to Tracks > Resample... in Audacity (Audacity 3.3.3), and change the sample rate to match the existing sound file (ex. 22050 Hz). Next, click on the Audio Setup button and then Audio Settings... where you should see Project Sample Rate. You should change this number to the sample rate you need the sound to be (it should be the same number you just used in Resample...).
To change the track to mono, go to Tracks > Mix > Mix Stereo Down to Mono. If this option is greyed out then the track is already in mono.
To modify the sound effect's volume, first click anywhere on the sound file and press Ctrl + A, then go to the toolbar and click on Effect > Volume and Compression > Amplify and modify the amplication (dB) desired. You can then click preview and apply.
Once finished, go to File > Export > Export as WAV and ensure the save as type is WAV and that encoding is set to 16-bit PCM. Replace the vanilla sound .wav file with your edited sound. For a list of sounds in wScene_0.aw, go here. Keep in mind the names of the sound files you are changing, as you will need it for the following steps.
Next, go in the workshop folder and open wsys0.xml in Notepad++. Find each sound you replaced and do the following:
1). Replace \repack\ in the file path with \waves\
2). Replace .raw at the end of the sound file name with .wav
3). Remove rate="XXXXX". This will make the program automatically calculate the sound's sample rate when it repacks the sounds. If you don't remove this, then the sound may be at the wrong pitch or speed in-game
4). Certain sounds have a "loop point" that you can change. If you needed to make one of your sounds longer than the sound it's replacing, you should change this. To help determine which sample count you want it to loop at, open the sound file in Audacity, and at the bottom where it shows the current time the sound is at, click on the small down arrow at the end and change it to hh:mm:ss + milliseconds. Now whenever you select a part of your sound in Audacity, you can see which sample point you are at which should make it much easier to create a custom loop
Once you've followed these steps for each sound you've replaced, go back to the AudioRes folder and run rebuild_soundfiles.py. Once the script is finished, open the newly created output folder. Copy every new .aw file into AudioRes/banks, and copy PSound.aaf into the AudioRes folder.
Finally you can save your .iso as trimmed using Gamecube ISO tool and if your .wav files aren't too big then everything should work perfectly!