Animal Crossing Modding

A central source of info for modding AC.

View on GitHub Ways of Contact Privacy

This guide is available on Youtube!

Music in this game is stored in BWAV (Binary Wave) files. All music can be found in the Sound directory of the games romFs, which you’ve hopefully dumped before. This page goes over how to mod custom music into the game, and how to extract audio from bwav to normal wav.

If the song you want to replace already exists in another game, like New Leaf, then you can go to smashcustommusic.net. It provides pre-made files in BWAV to import into other games. If your song can’t be found however, you’ll have to create your own. You can do this two ways.

Open Revolution, or Citric Composer with the Looping Audio Converter. Open Revolution is a CLI app, but works on Windows, Arch Linux and Mac. Citric Composer and Looping Audio Converter are GUI apps, but work on Windows only. If you want to use Open Revolution, skip to this section.

Table of Contents

Creating BWAV (in CC/LAC)

Download Looping Audio Converter. You’ll also need to download Audacity from this link. Download the version corresponding to your OS. The last thing you need is Citric Composer. Follow the default settings throughout the installation.

Conversion

Now, extract the zip of the Looping Audio Converter and open the app. Add your song to the list at the top. If you want to convert multiple songs, then you can add them the same way. Change the output format to BCSTM, and then hit start. If you’re replacing a KK slider song, check Convert to Mono before clicking start. All songs, excluding KK Sliders, have 2 channels. For your song to play correctly it needs the right amount of channels. All songs will be in the output folder of Looping Audio Converter. Double click on the file, and it should play in the Isabelle Sound Editor. Make sure you have the right amount of channels for your song.

Loop Points

Some songs in the game have loop points. This means that a portion of the song will be heard once, but when the song repeats it will not be heard again. If your song loops normally from start to end, then you don’t have to worry about this. But if it doesn’t, you can use the Green slider on the left and Red slider on the right of Citric Composer to make loop points for you. The green segment is the beginning of the song that does not loop, it only plays once. The red slider is for the end of the song, and the end of the loop. If your song doesn’t have a fade out or a silent period at the end, you shouldn’t have to change the red slider. With your loop points set (or not) click on project info then check the loop box in the top left. Expand the window vertically, and then click update project info. Afterwards, click File > Export Binary. Make sure to have it named the same as in the games romFs, or the song will not load. I recommend putting the song in a separate folder, to have a backup of the original.

Using the layeredFs folder that you should’ve created here, put your custom bwav into the same directory as in the romFs. For example, if you’re replacing the BGM_Title.bwav, then you’d place it in Sound/Resource/Stream of the layeredFs.

Creating BWAV (in Open Revolution)

If you’re on Windows, download Open Revolution here.
If you’re on Arch Linux, download it from the Arch User Repository. You can follow these commands in your terminal to do so:

sudo pacman -Syu                                           ## Optional, use to update all system packages
sudo pacman -S git base-devel                              ## Downloads packages to build from AUR
git clone https://aur.archlinux.org/openrevolution-git.git ## Clones OR to PC
cd openrevolution-git                                      ## Change Directory to OR folder
makepkg -si                                                ## Builds and installs Open Revolution

If you’re on MacOS, install it with Homebrew through freeapp2014/stuff. You can follow these commands in your terminal to do so:

xcode-select --install      ## Installs xcode
                            ## Go to https://brew.sh and copy the command there into the terminal
brew tap freeapp2014/stuff  ## Adds the freeapp2014 repo
brew install openrevolution ## Installs openrevolution

Open Revolution requires a .wav as its input. If your song is not a wav already, download Audacity from this link. Download the version corresponding to your OS. When installed, drag the song to Audacity, then go to File > Export > Export as WAV.

Conversion

On Windows, extract the zip and open the folder in the CMD prompt. This can be done by typing cmd inside the searchbar.

On Linux or Mac, open the terminal in the same location as the wav. Now, run this command:

brstm_converter input.wav -o output.bwav --loop 0

On Windows, add .exe to the end of brstm_converter. Make sure your output.bwav is named the same as in the games romFs, or the song will not load.

BARS Patching

Switch Games that use BWAV files have information stored about them in a separate BARS archive. When replacing a BWAV with your own custom music, you’ll also need to replace the information about the BWAV in the BARS file. This can be done with the Automatic BARS patcher. Download the nro and place it in the switch folder on your SD card.

To use the Automatic BARS patcher, you’ll need the dumps of your romFs on the Switch. If you moved it to your PC and don’t want to wait another 4 hours for it to dump, you don’t have to. Just redump the Sound directory, which is where the BARS are. Read this to do so.

With that done, exit NXDumptool by pressing + and launch the automatic bars patcher.

Press A to select ACNH, and review the file paths shown to you. Make sure they’re correct, and if not, press B to edit them. Once everything’s set, press A to Accept & Patch. Hopefully, it’s a success, and if not, review the error message. It should tell you what went wrong.

Now go home and launch Animal Crossing. You should hear the patched songs.

Extracting Tracks

In Citric Composer, go to Edit > Export WAV… and save it wherever you’d like. Or use the shortcut Ctrl + Shift + E. At this point, you can open it in your favorite music player.

K.K. Music List

If you’re replacing a KK slider song, check Convert to Mono before clicking start. You can see a list of all K.K. songs here.

Song Name File Name
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
Chillwave BGM_Live_100_Chillwave
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
K.K. Adventure BGM_Live_080_Hollywood
K.K. Aria BGM_Live_009_Maria
K.K. Ballad BGM_Live_043_Ballad
K.K. Bashment BGM_Live_103_Bashment
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. Break BGM_Live_105_Break
K.K. Calypso BGM_Live_012_Caripso
K.K. Casbah BGM_Live_024_Turkey
K.K. Chorale BGM_Live_001_Sanbika
K.K. Chorinho BGM_Live_099_Choro
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. Dub BGM_Live_101_Dub
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. Fugue BGM_Live_096_Fugue
K.K. Fusion BGM_Live_006_Fusion
K.K. Groove BGM_Live_084_Raregroove
K.K. Gumbo BGM_Live_030_Neworleans
K.K. Hop BGM_Live_104_Hiphop
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. Khoomei BGM_Live_106_Khoomii
K.K. Lament BGM_Live_045_Enka
K.K. Love Song BGM_Live_036_Lovesong
K.K. Lovers BGM_Live_102_Lovers
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. Polka BGM_Live_097_Polka
K.K. Ragtime BGM_Live_029_Ragtime
K.K. Rally BGM_Live_069_Ondo
K.K. Reggae BGM_Live_015_Reggae
K.K. Robot Synth BGM_Live_107_Android
K.K. Rock BGM_Live_027_Rock
K.K. Rockabilly BGM_Live_067_Kekebily
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. Slack-Key BGM_Live_098_Slackkey
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
King K.K. BGM_Live_062_Daimyo
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