Tutorial  Updated

Guide - Animal Crossing New Horizons Custom Music

Mod custom music into Animal Crossing: New Horizons

Things you'll need:
* BWAV encoder (https://github.com/ic-scm/openrevolution, or https://github.com/Gota7/Citric-Composer) or a BWAV file from https://smashcustommusic.net/
* Automatic BARS patcher on your Switch (https://gbatemp.net/threads/automatic-bars-patcher.579473/)
* A dump of the game's files or at least the /Sound directory, you can dump the game with nxdumptool.
* (Optional) An audio player with the vgmstream plugin to preview your BWAV files. Not necessary if you compiled openrevolution and have the brstm_rt program. https://github.com/vgmstream/vgmstream

Optional step 0: Dump the game's sound files
You don't need to do this if you already have the dumped files from the correct version of your game.

Open nxdumptool on your Switch, choose gamecard or SD depending on which version of ACNH you have, and go into RomFS options in Animal Crossing: New Horizons.
Make sure that "Save data to CFW directory" is set to no, and "Use update/DLC" is set to the newest game update. It's very important that you dump the updated version of the game. Then press "Browse RomFS section", navigate to the "Sound" and then "Resource" directory in the file browser, then press the Y button to dump the sound files. This can take some time, depending on your SD card and environment.



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 easiest way to do that is to open the file in a program like Audacity and to export it as WAV. You can also use ffmpeg directly or any other program capable of that. While you're in Audacity you can also pick out the loop points, see the next step.

If you want to replace a K.K. song, you will have to mix the song into a 1 channel mono file.

You can also use Citric Composer instead of openrevolution to encode your BWAV files, but I am unable to provide any help or assistance with that software.



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 (openrevolution brstm_converter)

Run this command:
./brstm_converter yourfile.wav -o youroutputfile.bwav -l [Put your loop sample number here]
If using Windows, replace "./brstm_converter" with "brstm_converter.exe".
If the conversion was successful, you should now have a BWAV file at your output file path.

You can also use Citric Composer for this step instead, but I am unable to provide any help or assistance with that software.



Step 4: 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.

When replacing the album versions of K.K. music, you also have to copy your custom file for all 4 versions of the K.K. song (Hifi, Phono, Retro, Cheap).

If you're using Atmosphere, you can just put your files in /atmosphere/contents/01006F8002326000/romfs/.
(For example: /atmosphere/contents/01006F8002326000/romfs/Sound/Resource/Stream/BGM_Title.bwav)



Step 5: Patching the BARS file
You'll need to patch the BARS file in the game for the songs to play correctly.

Make sure you have the original dumped sound files from the game somewhere on your Switch, and open the Automatic BARS patcher tool.
Select Animal Crossing: New Horizons.

The tool will now show you 4 different file paths.
Original BARS file should be the original unmodified Bgm_Base.bars file from the game.
Original BWAV folder should be the original unmodified /Sound/Resource/Stream/ folder.
Modded BWAV folder should be the location of your modded BWAV files.
Patched BARS output should be the location for the Bgm_Base.bars file in the mod. (For example: /atmosphere/contents/01006F8002326000/romfs/Sound/Resource/Bgm_Base.bars)

If these file paths are correct, press A to continue. If not, you can press B to make the necessary changes.
The tool should now show how many tracks it patched, and say "Success!".

Press + to exit the tool, and open Animal Crossing: New Horizons. You should now have your custom music correctly playing in the game.

All of the songs in /Sound/Resource/Stream should be 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).



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
----- 2.0 update songs -----
K.K. Fugue       - BGM_Live_096_Fugue
K.K. Polka       - BGM_Live_097_Polka
K.K. Slack-Key   - BGM_Live_098_Slackkey
K.K. Chorinho    - BGM_Live_099_Choro
Chillwave        - BGM_Live_100_Chillwave
K.K. Dub         - BGM_Live_101_Dub
K.K. Lovers      - BGM_Live_102_Lovers
K.K. Bashment    - BGM_Live_103_Bashment
K.K. Hop         - BGM_Live_104_Hiphop
K.K. Break       - BGM_Live_105_Break
K.K. Khoomei     - BGM_Live_106_Khoomii
K.K. Robot Synth - BGM_Live_107_Android

Please let me know if you have any issues or feedback.
 
Last edited by IC_,

IC_

GBAtemp's ???
OP
Member
Joined
Aug 24, 2017
Messages
1,569
Trophies
1
Location
The Forest
XP
5,399
Country
Antarctica
I'm assuming that can't be done with .bwav files downloaded from https://smashcustommusic.net/?
Some files there are single channel files but otherwise you'll have to decode the file downloaded from there, mix it into mono and encode it into a BWAV again
I'm planning to add an advanced download option on the website someday where you can do things like that but right now you can't do it unless you can get a BWAV encoder to work on your computer
 

spiller

Well-Known Member
Newcomer
Joined
Jan 16, 2017
Messages
99
Trophies
0
Age
29
XP
146
Country
Norway
but patched bwav file is that the one i compiled on my linux

--------------------- MERGED ---------------------------


s89j5o


--------------------- MERGED ---------------------------

https://prnt.sc/s89j5o

--------------------- MERGED ---------------------------

can you please look at screenshot and tell if this is right

--------------------- MERGED ---------------------------

i did what i showed in my screenshot and i got a patched.bars file what shall i do with this

--------------------- MERGED ---------------------------

but if i do it 4 times i will then have 4 patch.bars how can i then have the all 4 ballads files replaced
 

IC_

GBAtemp's ???
OP
Member
Joined
Aug 24, 2017
Messages
1,569
Trophies
1
Location
The Forest
XP
5,399
Country
Antarctica
but patched bwav file is that the one i compiled on my linux

--------------------- MERGED ---------------------------


s89j5o


--------------------- MERGED ---------------------------

https://prnt.sc/s89j5o

--------------------- MERGED ---------------------------

can you please look at screenshot and tell if this is right

--------------------- MERGED ---------------------------

i did what i showed in my screenshot and i got a patched.bars file what shall i do with this

--------------------- MERGED ---------------------------

but if i do it 4 times i will then have 4 patch.bars how can i then have the all 4 ballads files replaced
Yes this looks right
With doing 4 times I mean this:
Submit the current files like you did just now and you'll get a patch.bars file
On the next time put the patch.bars file you just got in the bars file field, a different version of the K.K. song from the game in the original bwav field, and your same custom file in the patch bwav field then repeat this for every other K.K. song version but with the new patch.bars each time
 

spiller

Well-Known Member
Newcomer
Joined
Jan 16, 2017
Messages
99
Trophies
0
Age
29
XP
146
Country
Norway
but that what i struggle if i get 4x patch.bars files shall i put each of them together with the custom song

--------------------- MERGED ---------------------------

and if i follow the file and folder structure for the mod i can only use one bars file
 

IC_

GBAtemp's ???
OP
Member
Joined
Aug 24, 2017
Messages
1,569
Trophies
1
Location
The Forest
XP
5,399
Country
Antarctica
but that what i struggle if i get 4x patch.bars files shall i put each of them together with the custom song
The first time you do it with the Bgm_Base.bars from the game and you get patch.bars (1) -> Repeat with the different K.K. song version and patch.bars (1) instead of Bgm_Base.bars and you get patch.bars (2) -> Same thing as before with patch.bars (2) and you get patch.bars (3) -> Same thing again with patch.bars (3) and you get patch.bars (4) -> Delete all the previous patch.bars files except the fourth last one and keep that one -> Rename it to Bgm_Base.bars and put it in the game
 
  • Like
Reactions: Anonymous42456

spiller

Well-Known Member
Newcomer
Joined
Jan 16, 2017
Messages
99
Trophies
0
Age
29
XP
146
Country
Norway
aaaah so once i did it 1 time i need to use the same patch.bars 3 more times with same patch bars and then i rename my custom song and make it right folder and file structure
 

spiller

Well-Known Member
Newcomer
Joined
Jan 16, 2017
Messages
99
Trophies
0
Age
29
XP
146
Country
Norway
  • Like
Reactions: IC_

IC_

GBAtemp's ???
OP
Member
Joined
Aug 24, 2017
Messages
1,569
Trophies
1
Location
The Forest
XP
5,399
Country
Antarctica

Jbheese07

Member
Newcomer
Joined
Apr 17, 2020
Messages
24
Trophies
0
Age
29
XP
66
Country
United States
I just found out that its not an editor out to add this right now unless someone knows one. Oh well thank you though. IT would have been nice to listen to the music
 

IC_

GBAtemp's ???
OP
Member
Joined
Aug 24, 2017
Messages
1,569
Trophies
1
Location
The Forest
XP
5,399
Country
Antarctica
Basically there is no editor as of yet to edit the details of the game file to put the BWAV on. I have tried EDIZON and JKSV but they are only meant for cheats.
Those are meant for editing save files, not modding the game data
Doesn't atmosphere have some layeredfs thing for changing game files?
 
  • Like
Reactions: Jbheese07

spiller

Well-Known Member
Newcomer
Joined
Jan 16, 2017
Messages
99
Trophies
0
Age
29
XP
146
Country
Norway
yes you make a folder name it the title id of the game then you then make a folder inside name it romfs then you follow the folder and files structure of the extracted game thne it will work put it inside content folder of atmosphere
 
  • Like
Reactions: Jbheese07

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • AncientBoi @ AncientBoi:
    LEOtck? Who's he? Never 'erd of the las. :)
  • LeoTCK @ LeoTCK:
    I only show the mirror to people and you all can't stand what you're seeing
  • LeoTCK @ LeoTCK:
    bunch of bullies
  • RedColoredStars @ RedColoredStars:
    Narcissistic Personality Disorder 101
  • LeoTCK @ LeoTCK:
    I think that's what you have
  • RedColoredStars @ RedColoredStars:
    Thanks for providing further evidence of my claim in a single comment. lol.
  • LeoTCK @ LeoTCK:
    pff\
  • RedColoredStars @ RedColoredStars:
    You're a gaslighting narcissist. Everyone out to get you. You wont get professional help because you'll just chalk up their diagnosis as another conspiracy out to get you.
  • LeoTCK @ LeoTCK:
    leave me alone, I'm not going to engage with you anymore, bye
  • LeoTCK @ LeoTCK:
    Motherfucker I was checked by a psychiatrist and there's nothing wrong with me
  • RedColoredStars @ RedColoredStars:
    okay. Bye. Thought you were leaving anyway. Why are you still around? You already said goodbye to everyone here.
  • LeoTCK @ LeoTCK:
    so stop spurting your nonsense
  • RedColoredStars @ RedColoredStars:
    lol. liar.
  • DinohScene @ DinohScene:
    knock it off now, both of you
  • LeoTCK @ LeoTCK:
    yea you're just a mean bully
  • LeoTCK @ LeoTCK:
    he SHOULD
  • LeoTCK @ LeoTCK:
    and NOW
  • RedColoredStars @ RedColoredStars:
    liar, loudmouth, cussing and swearing, all angry
  • RedColoredStars @ RedColoredStars:
    ok. sorry. ill stop now. promise
  • RedColoredStars @ RedColoredStars:
    Sooo. How about Dune part 1 & 2? The cinematography is fantastic, but thats some of the most boring ass sci-fi Ive seen in my life.
  • DinohScene @ DinohScene:
    haven't seen both
  • RedColoredStars @ RedColoredStars:
    Im going to see the new Godzilla next week. Sure they aren't some cinematic masterpieces but the last few were all really great and fun popcorn flicks to see on the big screen.
  • DinohScene @ DinohScene:
    can't remember the last time I went to the cinemas
  • RedColoredStars @ RedColoredStars:
    Me neither, not precisely. I think the last one I went to was Top Gun Maverick
  • RedColoredStars @ RedColoredStars:
    Oh. Wait. I took my mom to see Elvis. I think that was the last time I went. I'll most likely see the new Planet of the Apes in a theater too.
    RedColoredStars @ RedColoredStars: Oh. Wait. I took my mom to see Elvis. I think that was the last time I went. I'll most likely...