1. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Mod custom music into Animal Crossing: New Horizons

    Things you'll need:
    * BWAV encoder (https://github.com/Extrasklep/openrevolution) or a BWAV file from https://smashcustommusic.net/
    * BARS patcher (https://github.com/Extrasklep/bars-patcher) or the online patcher here https://smashcustommusic.net/onlinetools/bars-patcher/
    * A dump of the game's files or at least the /Sound directory


    Step 1: Find a song
    Find the song that you want to mod into your game.
    If the song you want is from another game you can search for it on smashcustommusic.net, download a BWAV directly from the website and skip steps 2-3.


    Step 2: Prepare the song
    The openrevolution file converter requires a WAV at it's input so if your song is a different format like mp3, ogg, flac or other you'll have to convert it to WAV first.
    The simplest way to do it is using FFMPEG:
    ffmpeg -i yourfile.mp3/ogg/flac yourfile.wav
    but you can use any other program to do it.
    If you want to replace a K.K. song in the game then you'll also to have to mix the song into a 1 channel mono file.

    Step 2.1: Loop points
    The usual loop point stuff: open your file in Audacity or similar program, set the time counter to display the sample number, find a good loop point and copy the sample number.
    If you need more details about this look on other Nintendo game custom music guides.
    You can also skip this step if you don't care about having a proper loop and just set the loop point to 0 later.


    Step 3: Encode the BWAV file
    Compile the openrevolution BRSTM tools if you didn't do it yet.
    I will some day make an easy to use GUI for it with builds for Linux, Mac OS and Windows
    Run this command:
    ./brstm_converter yourfile.wav -o youroutputfile.bwav -l [Put your loop sample number here]
    Add "-c 1" to the end of the command if you're creating a mono file
    If the conversion was successful you should now have a BWAV file at your output file path.


    Step 4: Patching the BARS file
    You'll need to patch a BARS file in the game for the song to play correctly.
    I'm pretty sure all of the main songs in /Sound/Resource/Stream are in /Sound/Resource/Bgm_Base.bars
    Copy the BARS file and the BWAV file you want to replace into some local work directory. If you're replacing K.K. music (aircheck versions) copy all 4 versions of the BWAV files (Hifi, Retro, Cheap, Phono).

    Patching the file with the command line patcher:
    Compile the patcher with a standard C++ compiler without any special flags
    ./bars-patcher -i Bgm_Base.bars -o Bgm_Base.bars.patch -og BWAV_file_from_the_game.bwav -patch Your_custom_BWAV.bwav
    Online patcher:
    https://smashcustommusic.net/onlinetools/bars-patcher/
    Put the Bgm_Base.bars file in the BARS file field, the BWAV from the game in the Original BWAV field and your custom BWAV file in the Patch BWAV field.
    If you can't use the solutions above and you really hate yourself you should also be able to manually do it in a hex editor:
    Open the BARS file, original BWAV file and your custom BWAV file in the hex editor.
    From the original file copy the 4 bytes at offset 0x08 (CRC32 checksum).
    Switch to the BARS file and use a search function to find those 4 bytes.
    Switch to the custom BWAV file and copy all the bytes from the beginning until a chunk of 00's (should be around 160/0x9F bytes in 2 channel files).
    Switch to the BARS file, make sure you're in overwrite mode and paste the copied bytes in the correct place (so the BWAV word is in the same place as before).

    When replacing K.K. music you'll have to repeat this 4 times for each version of the original BWAV file and make copies of your custom BWAV file to replace all the versions in the game files.


    Step 5: Put the files in the game
    Name your files correctly and put them in the game's files using whatever methods for modding switch games there are.
    K.K. music file name list:
    Code:
    Agent K.K.       - BGM_Live_068_Keiji
    Aloha K.K.       - BGM_Live_019_Aloha
    Animal City      - BGM_Live_092_Town
    Bubblegum K.K.   - BGM_Live_088_Idol
    Café K.K.        - BGM_Live_050_Paris
    Comrade K.K.     - BGM_Live_044_Showakayo
    DJ K.K.          - BGM_Live_039_Eurobeat
    Drivin'          - BGM_Live_093_Drive
    Farewell         - BGM_Live_094_Sayonara
    Forest Life      - BGM_Live_057_Morinoseikatsu
    Go K.K. Rider    - BGM_Live_046_Kekerider
    Hidden Song 1    - BGM_Live_901_Hazure01
    Hidden Song 2    - BGM_Live_902_Hazure02
    Hidden Song 3    - BGM_Live_903_Hazure03
    Hypno K.K.       - BGM_Live_076_Utatanenoyume
    I Love You       - BGM_Live_054_Daisuki
    Imperial K.K.    - BGM_Live_023_China
    King K.K.        - BGM_Live_062_Daimyo
    K.K. Adventure   - BGM_Live_080_Hollywood
    K.K. Aria        - BGM_Live_009_Maria
    K.K. Ballad      - BGM_Live_043_Ballad
    K.K. Bazaar      - BGM_Live_082_Roma
    K.K. Birthday    - BGM_Live_091_Birthdaysong
    K.K. Blues       - BGM_Live_032_Blues
    K.K. Bossa       - BGM_Live_011_Bossa
    K.K. Calypso     - BGM_Live_012_Caripso
    K.K. Casbah      - BGM_Live_024_Turkey
    K.K. Chorale     - BGM_Live_001_Sanbika
    K.K. Condor      - BGM_Live_021_Peru
    K.K. Country     - BGM_Live_041_Country
    K.K. Cruisin'    - BGM_Live_035_Urban
    K.K. D&B         - BGM_Live_037_Drumnbass
    K.K. Dirge       - BGM_Live_047_Kowaiuta
    K.K. Disco       - BGM_Live_090_Disco
    K.K. Dixie       - BGM_Live_060_Dixie
    K.K. Étude       - BGM_Live_007_Etude
    K.K. Faire       - BGM_Live_018_Haisai
    K.K. Flamenco    - BGM_Live_086_Flamenco
    K.K. Folk        - BGM_Live_026_Minyo
    K.K. Fusion      - BGM_Live_006_Fusion
    K.K. Groove      - BGM_Live_084_Raregroove
    K.K. Gumbo       - BGM_Live_030_Neworleans
    K.K. House       - BGM_Live_074_House
    K.K. Island      - BGM_Live_078_Doubutsunoshima
    K.K. Jazz        - BGM_Live_005_Jazz
    K.K. Jongara     - BGM_Live_085_Jongara
    K.K. Lament      - BGM_Live_045_Enka
    K.K. Love Song   - BGM_Live_036_Lovesong
    K.K. Lullaby     - BGM_Live_008_Lullaby
    K.K. Mambo       - BGM_Live_014_Mambo
    K.K. Marathon    - BGM_Live_061_Gamelan
    K.K. March       - BGM_Live_002_March
    K.K. Mariachi    - BGM_Live_052_Senor
    K.K. Metal       - BGM_Live_070_Metal
    K.K. Milonga     - BGM_Live_083_Milonga
    K.K. Moody       - BGM_Live_087_Bolero
    K.K. Oasis       - BGM_Live_081_Maharaja
    K.K. Parade      - BGM_Live_051_Parade
    K.K. Ragtime     - BGM_Live_029_Ragtime
    K.K. Rally       - BGM_Live_069_Ondo
    K.K. Reggae      - BGM_Live_015_Reggae
    K.K. Rockabilly  - BGM_Live_067_Kekebily
    K.K. Rock        - BGM_Live_027_Rock
    K.K. Safari      - BGM_Live_025_Afro
    K.K. Salsa       - BGM_Live_013_Salsa
    K.K. Samba       - BGM_Live_010_Samba
    K.K. Ska         - BGM_Live_016_Ska
    K.K. Sonata      - BGM_Live_075_Sonata
    K.K. Song        - BGM_Live_053_Kekesong
    K.K. Soul        - BGM_Live_034_Soul
    K.K. Steppe      - BGM_Live_022_Cossack
    K.K. Stroll      - BGM_Live_077_Osanpo
    K.K. Swing       - BGM_Live_004_Swing
    K.K. Synth       - BGM_Live_089_Electronica
    K.K. Tango       - BGM_Live_017_Tango
    K.K. Technopop   - BGM_Live_038_Technobeat
    K.K. Waltz       - BGM_Live_003_Waltz
    K.K. Western     - BGM_Live_048_Western
    Lucky K.K.       - BGM_Live_020_Irish
    Marine Song 2001 - BGM_Live_064_Hunauta2001
    Mountain Song    - BGM_Live_063_Alpine
    Mr. K.K.         - BGM_Live_049_Sensei
    My Place         - BGM_Live_056_Bokunobasho
    Neapolitan       - BGM_Live_065_Napolitan
    Only Me          - BGM_Live_040_Onlyme
    Pondering        - BGM_Live_059_Kangaechu
    Rockin' K.K.     - BGM_Live_028_Rocknroll
    Soulful K.K.     - BGM_Live_033_Gospel
    Space K.K.       - BGM_Live_079_Minimal
    Spring Blossoms  - BGM_Live_072_Harunokomorebi
    Stale Cupcakes   - BGM_Live_071_Blueonigiri
    Steep Hill       - BGM_Live_066_Nidanzaka
    Surfin' K.K.     - BGM_Live_042_Eleki
    The K. Funk      - BGM_Live_031_Funk
    To the Edge      - BGM_Live_058_Naminami
    Two Days Ago     - BGM_Live_055_Ototoi
    Wandering        - BGM_Live_073_Horo
    Welcome Horizons - BGM_Live_095_Minnaatsumare
    You should now be able to boot up the game and hear your custom music.

    Please let me know if you have any issues or feedback.
     
    Last edited by Extrasklep, May 16, 2020
    falcorr, Kazalber, Mr. Looigi and 7 others like this.
  2. 98otiss

    98otiss irrelevant foxcoon
    Member

    Joined:
    Aug 22, 2015
    Messages:
    1,016
    Country:
    Canada
    >compile
    aight imma head out
     
  3. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Yeah I know not everyone can use this right now but I will add BWAV downloads on smashcustommusic and an online version of the BARS patcher soon and update the guide then
     
  4. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Updated the guide, you can download BWAV files from smashcustommusic now
     
    Anonymous456 and Coolsonickirby like this.
  5. Klick167

    Klick167 Newbie
    Newcomer

    Joined:
    Apr 18, 2020
    Messages:
    5
    Country:
    United States
    I'm guessing you need CFW for this, right?
     
  6. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Yes
     
    Klick167 likes this.
  7. Klick167

    Klick167 Newbie
    Newcomer

    Joined:
    Apr 18, 2020
    Messages:
    5
    Country:
    United States
    Do you play online with custom music? My only reservation about this would be inability to get the seasonal updates for holidays since they aren't in the base game.
     
  8. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    You're always at risk of getting banned if you mod your switch but this only changes the music on your side and doesn't make the gameplay any different so it probably doesn't matter
    I don't even have a modded switch, a person here helped me test the files in the game
     
  9. Klick167

    Klick167 Newbie
    Newcomer

    Joined:
    Apr 18, 2020
    Messages:
    5
    Country:
    United States
    That's what I figured. Thanks for the help!
     
    Extrasklep likes this.
  10. annson24

    annson24 The Patient One
    Member

    Joined:
    May 5, 2016
    Messages:
    1,152
    Country:
    Philippines
    Finally I can listen to this while gardening:



    Sent from my SM-N975F using Tapatalk
     
  11. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Updated again, there's an online version of the patcher now
     
    Anonymous456 and Klick167 like this.
  12. Keylogger

    Keylogger GBAtemp Addict
    Member

    Joined:
    May 3, 2006
    Messages:
    2,276
    Country:
    France
    Great I can finally put original musics from AC for NGC :)
     
    Extrasklep likes this.
  13. Anonymous456

    Anonymous456 GBAtemp Regular
    Member

    Joined:
    Jan 11, 2017
    Messages:
    130
    Country:
    United States
    I get "BARS patch error: Unable to find." on the online patcher when converting both 10 PM and 11 PM - Sunny
     
  14. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    It means that the information about the original files couldn't be found in the bars file, are you sure you're using the correct Bgm_Base.bars file and the correct BWAV file from the game in the original BWAV file field?
     
  15. Anonymous456

    Anonymous456 GBAtemp Regular
    Member

    Joined:
    Jan 11, 2017
    Messages:
    130
    Country:
    United States
    Yes, I used the original BWAV file and I renamed the downloaded patch.bars file to "Bgm_Base.bars" after every replacement.
     
  16. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Try it again from the beginning or maybe you already replaced that file but forgot about it
     
  17. Anonymous456

    Anonymous456 GBAtemp Regular
    Member

    Joined:
    Jan 11, 2017
    Messages:
    130
    Country:
    United States
    I get "BARS patch error: BWAV channel counts don't match." when converting the "Go KK Rider!" aircheck files. I am using the original dump files and the correct Bgm_Base.bars file.
     
  18. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Your custom file should be a 1 channel mono file like the K.K. songs in the game
     
  19. Anonymous456

    Anonymous456 GBAtemp Regular
    Member

    Joined:
    Jan 11, 2017
    Messages:
    130
    Country:
    United States
    I get a fatal error when I launch the game. "report_0000000032df4367.bin"
     
  20. Extrasklep

    OP Extrasklep gbaTemp Fan
    Member

    Joined:
    Aug 24, 2017
    Messages:
    956
    Country:
    Poland
    Sorry I don't know how to help with that
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Crossing, Horizons, Animal