1. Step 1: RequirementsNot much is required to start modding. All you need is:
- A modded switch with atmosphere cfw
- Animal Crossing New Horizons
2. Step 2: Dumping the Game
2.1. Step 2.1: SD SetupOur first step is getting the NXDumptool on our SD Card. Put the .nro file in the /switch folder on your SD card. If you have CFW on your SysNand, you can skip Step 1.2.
2.2. Step 2.2: Getting ACNH On EmuMMCFor anyone like myself who has EmuMMC CFW, the save data and games are seperated from the SysNand to prevent getting banned. Most people also have Incognito_RCM on their EmuNand so that they won't get banned from connecting to Nintendo's servers, which means you cannot download the game or updates on there. To start, you want to go into System Settings on your SysNand and then go to Data Management. Click on Move Data Between System / microSD Card, and then Move to microSD Card. You then want to make sure all of the data (updates or the eshop game itself) from New Horizons is on your SD card. (If you do not have much space on your sd card, move some stuff to the System memory or archive)
Shut down your switch, and put your SD card into your computer. Copy the /Nintendo folder and paste it over the Nintendo folder in /emuMMC/RAW1. Overwrite any files, this has no harm on your switch and will not get you banned. This will carry over any saves, games, updates, and DLC from the sysnand that was moved to the SD card over to the SD part of EmuMMC.
2.3. Step 2.3: Starting the DumpBoot your switch into CFW and get ready to dump. This can take a long time as mine took almost 4 hours. Open the album or hold down R while starting the game to boot into the homebrew launcher. Click on the NXDumpTool. If you have a gamecard of ACNH, click Dump gamecard content. If you have a eShop version of ACNH, click Dump installed SD card/ eMMC content. Click on RomFS options, then once you are ready, click RomFS section data dump. This will dump everything to atmosphere/contents/01006F8002326000
You now have all of the moddable ACNH files on your SD Card.
3. Step 3: Music Mod Creation (bwav)Music in New Horizons are stored as .bwav files. For the most part .bwav files are located in /Sound/Resource/Stream. There are 2 ways to get .bwav files. If you are trying to port music from another game, you can most likely find the track at smashcustommusic.net. If not, you will have to create it yourself.
3.1. Step 3.1: SmashCustomMusicThis step is very simple. Go to the smashcustommusic website and look for the game of your choice. For me I'm going to import the Animal Crossing New Leaf 8 AM into New Horizons just like I did with my New Leaf Mod. Once you find the song you want, download the .bwav format of the song.
3.2. Step 3.2: Creating your own .bwavSorry this segment of the tutorial took some time! We're gonna create our own .bwav now.
You will need 2 tools for creating your own:
3.2.1. Step 3.2.1: Converting your audio fileYour first step is to open up Looping Audio Converter and add your audio file to the box at the top. It can be a .wav, .mp3, etc. It does not matter. Go to output and select BFSTM. FOR KK SONGS: Check the box that says "Convert to mono." Click start to convert your file. Your file will be in the /output folder of Looping Audio Converter. Double click on the BFSTM file to open it in Citric Composer. It will automatically open Isabelle Sound Editor for the next step.
3.2.2. Step 3.2.2: Loop PointsThis is probably the most irritating part of the tutorial. It's completely trial and error. If you song loops normally from start to end, then you should be good and can move on. If not, then you'll have to continue on. You can use the Green and Red sliders to make loop points for you song. 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 this.
You can play the song to listen for a good loop. Once you got it, proceed to the next step.
3.2.3. Step 3.2.3: Converting to .bwavThis is the last step for creating your .bwav. In the sound editor, go to File, then Export Binary. Save the file as a Binary Wave or .bwav. Just to make sure it works, open the file in Citric to make sure the loop is still there.
4. Step 4: .bars File InjectionEvery music or sound file has a .bars file associated with it in /Sound/Resource. You will need to inject the custom .bwav file into the .bars file. For hourly songs, the .bars file is Bgm_Base.bars.
The best way to inject the .bwav into the .bars is to visit https://smashcustommusic.net/onlinetools/bars-patcher/. Make a backup of the original bars file from the game files and then put it on the website. Put the original .bwav file that you are replacing into the website and then the custom one you made or downloaded. Download the new .bars file and place it somewhere away from the normal one.
5. Step 5: Placing Files on SD Card to Test/PlayMake sure your .bwav file has the same name as the ingame file and place it in /atmosphere/contents/01006F8002326000/romfs/Sound/Resource/Stream.
Place your custom .bars file in
Always test it in-game.
6. ConclusionThat should do it for the tutorial. If I need to go a bit more in-depth or you have any questions, please leave a comment. Enjoy!
As pointed out by Extrasklep in the comments, the Bgm_Base.bars mentioned in this tutorial is also used for all K.K., Bgm_Demo, Bgm_Indoor songs and most likely every other song in the /Sound/Resource/Stream folder
7. List of all K.K. Songs (thanks to Extrasklep)
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