1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Custom Radio Stations Guide

Discussion in 'Guides and Tutorials' started by Toad King, Nov 20, 2011.

  1. Custom Songs, Saints Row, and You: A Primer

    Here's a very quick and very rough step-by-step guide to place your own music in Saints Row: The Third.

    WHAT YOU NEED

    * NOTE: I have also attached the bnk_tools and SR3_Audiotools archives to this post as well in case the above links are down. See the bottom of the post for download. -IdolNinja

    THE STEPS

    1. Use gibbed's tools to extract the following files from your SR3 install. All files should be in <your steam folder>/steamapps/common/saints row the third/packfiles/pc/cache:
    * misc_tables.vpp_pc
    * sounds_common.vpp_pc
    * soundboot.vpp_pc
    soundboot.vpp_pc must be extracted to its own folder, but I recommend you extract them all to separate folders so you don't get confused later on.

    2. Where you extracted sounds_common.vpp_pc, find the media file for your radio station you wish to edit. The filename should be in the format "radio_*_media.bnk_pc". Make sure it has "_media" in it, or else the next step won't work.

    3. Copy that file to a new folder you will work in, and extract the audio files and metadata from the archive:
    Code:
    bnk_pc_extractor radio_swim_media.bnk_pc
    This will extract all the audio files and make a metadata file. (In this case, the metadata file would be radio_swim_media.txt.) You can also simply drag and drop the .bnk_pc file over bnk_pc_extractor.
    You'll need to use ww2ogg to convert them to listinable tracks to find out which songs you are replacing later. Extract SR3_Audiotools here and run the riffwave2ogg bat file then the revorb one.

    4. Grab the audio file(s) you want to use and convert them to uncompressed .wav's. Audacity can do this easily.

    5. Fire up Wwise and make a new project. Remember what you named it, we'll need that later. Once the project is open, drag the .wav files you converted over the "Default Work Unit" list item under the "Interactive Music Hierarchy" item.

    [​IMG]

    An import window will pop up. Just click the import button.

    6. Expand the new item you created and find and double-click the same named item inside it. The track property editor on the side should change. In this window, go to the General Settings tab and make sure these options are set:

    [​IMG]

    7. Go to the Conversion Settings tab. Check the override parent box, then click the >> button. In the menu that pops down, choose Factory Conversion Settings->Vorbis->Vorbis Quality Medium

    [​IMG]

    8. Click the Edit... button and a new Window should pop up. For the Windows platform, if the file you are converting isn't already stereo (2 channels) and has a 44100 sample rate, change those settings.

    [​IMG]

    9. Click the Edit... button across from the Windows label and a new window should pop up. Make these changes then hit OK:

    [​IMG]

    10. Back in the previous window. Click the Convert... button. Make sure Windows is selected, then hit OK.

    11. Locate your converted file, They should be somewhere here: C:/Users/<windows username/Documents/WwiseProjects/<project name>/.cache/Windows/SFX

    [​IMG]

    12. Copy the .ogg file to the directory where you extracted all the other sound files from the radio station. Rename the file to a .wav file and give it a short a simple name for later, like song1.wav.

    13. Repeat steps 5 - 12 for each file you want to use.

    14. Okay we're getting near the end! Find the metadata file you created with bnk_pc_extractor and open it up. Scroll down to the files you want to replace and change the filenames after the number to the ones you want to replace. For example, if you're replacing radio_swim_media_00005.wav, "00005: radio_swim_media_00005.wav" would change to "00005: mysong.wav". DO NOT CHANGE ANYTHING ELSE! Then fire up your command line again and run bnk_pc_packer to pack up your new radio station .bnk_pc file. the bnk_pc_packer program works like this:
    Code:
    bnk_pc_packer radio_swim_media.txt radio_swim_media.bnk_pc
    15. If everything has been done right, you should now have two new files: radio_*_media.bnk_pc and radio_*_media.mbnk_pc. Don't lose those!

    16. Almost there! Now head into where you extracted misc_tables.vpp_pc and find the file for your radio station. All the files here can be opened with Notepad or any other text editors. If you don't know which file is your radio station, look in the radio_stations.xtbl file and it should tell you there.
    Code:
     <Info>
    <wwise_id>ADULT_SWIM</wwise_id>
    <xtbl_name>
    <Filename>adult_swim_radio.xtbl</Filename>
    </xtbl_name>
    <Station_flags>
    <Flag>Selectable</Flag>
    </Station_flags>
    <Genre>RADIO_STATION_GENRE_ADULT_SWIM</Genre>
    </Info>
    As you can see here, the Adult Swim radio station file is adult_swim_radio.xtbl

    17. In your radio station file, find the line with <Song_List> on it. Somewhere below that, you should find a group for the song(s) you replaced. This is where extracting and converting all the songs come in handy. Listen to the song(s) you replaced and find out what songs they were. THEY ARE NOT IN THE SAME ORDER AS THE EXTRACTED .WAVS! When you find the correct song, find their listing in the file.

    EDIT: Idolninja has gone through and made a list of some of the radio station songs. You can find that list here.
    Code:
     <Info>
    <Buyable>True</Buyable>
    <Length>263549</Length>
    <Cue>SWIM_ODD_FUTURE___ANARCHY</Cue>
    <Intros>
    <Cue>SWIM_INTRO_ODD_FUTURE</Cue>
    </Intros>
    <CallIns></CallIns>
    <Outros>
    <Cue>SWIM_OUTRO_07</Cue>
    </Outros>
    <Sing_along></Sing_along>
    </Info>
    See that <Length> value? That's the length of the song in milliseconds. Replace the value that is there with the length of the new song. Do this for every song you replace. After you're done, place the edited file in the misc_tables.vpp_pc folder you made earlier.

    18: Take your edited radio.xtbl file and the .bnk_pc file created before and stick them in your SR:TT folder. This should be in "<steam folder>/steamapps/common/saints row the third" and should be the folder with saintsrowthethird.exe in it.

    19. Take the .mbnk_pc file you created and the original copy of it in the folder you extracted soundboot.vpp_pc. After doing this, you have to repack the folder using gibbed's tools, like so:
    Code:
    "path\to\tools\bin_sr3\Gibbed.SaintsRow3.PackVPP" "C:\soundboot.vpp_pc" "C:/path/to/folder/"
    Replace the first one where you want the new soundboot.vpp_pc to be (make sure it is named soundboot.vpp_pc) and the second one to the folder you placed your extracted the original soundboot.vpp_pc, plus your replaced file. Place this new file into <your steam folder>/steamapps/common/saints row the third/packfiles/pc/cache. Make sure you make a backup copy of the original soundboot.vpp_pc somewhere.



    And you're done! Launch the game and enjoy your tunes! You can test out your new songs using the mixtape feature, but note that the previews will be of the old songs, but listening on the radio in-game, you should hear your new ones. If nothing plays, it means you messed something up. (Or I forgot to mention something in this guide.) Please provide feedback if you can get it to work.

    WARNINGS:
    * If your audio bank file ends up being larger than 128MB, odds are some songs will not work. The packer will warn you if this happens. I might put up a guide later for adding extra audio banks for the extra files, but I'm too busy to do so right now.

    Attached Files:

  2. So is there any way to do this without replacing the songs already in the game?
  3. Not yet, I still have to study the radio tables more.
  4. ertre

    ertre Pirate

    I think you forgot some stuff or something, because it just doesn't work.
    I followed the steps to the letter (except I used the k12 station), but in-game there is nothing but silence.
  5. Hey Toad King, nothing happens when i try to use the packer. Any idea about what I'm doing wrong?
  6. Are you two trying to use the packer from the command line, and is the command line's working directory the one with the audio files/metadata file? That second part is very important.

    Also check the filesize of the new .bnk_pc file it makes. if it's only a couple kb's big, then you did something wrong.
  7. Okay, I followed your instructions and was able to fix my problem with packing. I'm pretty sure I did everything after that exactly the way you wrote it but...I'm having the same trouble now that ertre has. When i load up the game with the added files, all I get is silence on what should be my new custom station.
  8. ertre

    ertre Pirate

    What about the .mbnk_pc file, it's only 300 bytes big. The new .bnk_pc file is of comparable size to the original.
  9. The .mbnk_pc file is simply the header part of the .bnk_pc file, which should be 28 + (# of sound files * 16) bytes large. Try only changing one of the song files, does it still work then? Also, you can, try uploading one of the new .wav files you generated so I can make sure you made it correctly. (Please only do this if the song is public domain or you can get it for free legitimately.)
  10. ertre

    ertre Pirate

    I think the problem lies with the replacement files, because even the old music is silent. But when I remove the files, the music plays again.