GameBanana shows no ads to members. Sign up now!
Ads keep us online. Without them, we wouldn't exist. We don't have paywalls or sell mods - we never will. But every month we have large bills and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3

How to make your own music mod

A Tutorial for Sonic 3 A.I.R

Updates

But it's been a year! 20d
  • Overhaul Changed to provide info for the newer modding system then the old one
  • Addition Provide a list of terms used
It's been a while since I've checked this, This has been featured and has over 10K views. I hope this has helped, I made some changes to make this hopefully more readable and so it applies to newer versions of the game
Brother we need some loops 1y I don't know what to name this 1y Addition

This explains How to make your own music mod (Formerly "How to edit audio_replacements.json")

This tutorial shows you how you can make a custom soundtrack for Sonic 3 A.I.R

1. How to get to your mods folder

Your mod's folder is located at
Windows - %appdata%\Sonic3AIR\mods\

Linux(If you can get the game working for wine) - ~/.wine/drive_c/users/(username)/Application Data/Sonic3AIR/mods/

You can get there in 2 ways
  1. Go to the folder
  2. Rightclick the game while its loading, playing or anything but erroring and click "Open Save Data Folder"

All the screenshots you will see are from linux although it should be the same on linux and windows (Not sure if Sonic3AIR works on mac via wine)

2. Prerequsites

  • Some music
  • And a text editor (I will be using Sublime Text but Notepad++ will also work)
  • The ability to see filetypes(On Windows, Open explorer, click View then toggle "Show filetypes")

3. Terms used

OGG - The OGG File format 
MP3 - The Mpeg3 file format
JSON - A popular data format used commonly for Config's and storing data for things like Games and applications 

4. Step 1 - Getting the files and folders we need

After heading to your mods folder you're going to want to make a new folder named what you want to name your mod, Then inside that folder you're going to want a folder named "audio" and a file named "mod.json", Your mods folder should be laid out like the below

Open up the mod.json file with your text editor and input this
{
	"Metadata":
	{
		"Name": "My Music Mod",
		"Author": "Me!",
		"Description": "A pack that add's music I like!",
		"URL": "",
		"ModVersion": "1.0",
		"GameVersion": "Game version"
	}
}
Change everything to what you want. You can get the game version from the top right of the title screen
Now you will need to grab the "audio_replacements.json" file from the folder for sonic3AIR you downloaded, Go to the folder that you extracted Sonic 3 AIR to, then go to the doc's folder and modding then you should see a "audio_replacements.json" or "audio_replacements"(depending on if you have file extensions on) copy that to the audio folder we created earlier. You'll also need to copy some OGG files over with the audio_replacements file. They have to be OGG's, I would recommend using Audacity's "export" feature to export as an OGG file if its an MP3, Wav or other type of music files, MIDI is not supported though

5. Step 2 - Editing the file

So we have finally stopped messing around with files and its time to get serious,
I am guessing you want to instantly edit the file but if you are not used to json files Or haven't messed with commands in minecraft then you probably won't understand this
Here is alittle example code
{
//AIZ 1
    "01": { "File": "my_music.ogg", "Type": "Music" }
}
Do you understand how this is laid out? No? Don't feel bad,
This is what you would put in to edit the music for angel island zone,
The 01 in qoutes stands for the song you want to replace in its megadrive value
the
{ "File": "my_music.ogg", "Type": "Music" }
Tells the game that you want to use "my_music.ogg" and tells the game that it's type is "Music" so to edit hydrocity zone act one I would do
{
    "03": { "File": "music_file.ogg", "Type": "Music" }
}
Don't forget to replace the "music_file.ogg" with your song name so for example I would use "sonic-mania-hydrocity-zone.ogg" if I had a file named "sonic-mania-hydrocity-zone.ogg" in the audio folder

Getting lost yet?

From 01 to 17 are all of the zone's but It is not done as you may think instead of 8-9-10-11 it is 08-09-0A-0B-0C-0D-0E-0F-10 Instead so for flying battery zone you would use 
	"0A": { "File": "my_music.ogg", "Type": "Music" }
Not 
	"10": { "File": "my_music.ogg", "Type": "Music" }
If you need any more help just look at the example audio-replacements.json file and that should help
For my audio mod that I made(It just replaces the invincibility and super theme) I used

Just for a recap, the word's/numbers in the first quotes are the ID of the song,
"File": "super.ogg"
is the song file that we want to use so for example
"25_sonic3": { "File": "bgm_title.ogg", "Type": "Jingle" }
will change the sonic 3 title song the the file named "bgm_title.ogg" in the audio folder.
Whenever you have multiple songs always add a comma next to the last song like this
}
  "2C": { "File": "invinc.ogg", "Type": "Music" },
"supertheme_sonic2": { "File": "super.ogg", "Type": "Music" }
}
It is important you add that comma as the game may error if you miss a comma, And lastly always add the "{" at the beginning and add the "}" at the end, tell me if I did something wrong, also if you need a good json parser/JSON  then use https://jsoneditoronline.org/ or jsonformatter.org

6. Extra Step - Looping (Thanks to MaybeGreg for this part)

Looping your music can be difficult if you aren't sure what you're meant to do, but let's go through it.
Bring your music track back into Audacity. What you want to do is find the point where the music jumps back to a previous point, or if it doesn't naturally a point where it can. Example. This point in the song is where the goes back. Delete everything from this point onwards. No point having extra.
Now that we've got the end of the loop, we need to go to the start. This is where everything extra you just deleted is played for the first time. In our example case, here. Select the exact point. At the bottom of Audacity, you see the current time. Click the selector, and choose samples. Keep note of this number.
Now, export the song as stated above.
Go into your json again, and do the exact same steps. However, this time, it should look more like this:
"0A": { "File": "my_music.ogg", "Type": "Music", "LoopStart": "X" }
Remember that number you wrote down? Replace X with that. Save it, restart your game, and you should be able to hear the loop work just fine. Here's my SMB1 example in practice:
"0A": { "File": "SMB1_Overworld.ogg", "Type": "Music", "LoopStart": "114688" }

7. Step 3 - Finalising


So now you have completed your mod and you want to play with it ingame, well thats easy just boot up the game and hope you did not mess up any of the code, If you need help feel free to ask in the comments, Have fun modding the game!

Sign up to access this!
1-10 of 14
1
Pages
  • 1
  • 2
Go to page:
  • Dash&Knuckles avatar
    Dash&Knuckles Joined 3mo ago
    Offline
    389 points Ranked 49,343rd
    7d
    I've never heard the same song so many times to find the Loop ... and I still can't find it ... :(
    I just Download Mods for now. avatar
    Mantra
    I just Download Mods for now.
    URL to post:
  • tom avatar
    tom username pic Joined 19y ago
    End Boss Ripe Supporter TBS2 Manager Super Admin
    Offline
    1,183 points Ranked 23,647th
    72 medals 13 legendary 10 rare
    • Achieved Super Admin clearance Medal icon
    • 10 years a member Medal icon
    • Thanked 500 submitters Medal icon
    • Submitted 200 Blogs Medal icon
    • Submitted 200 Threads Medal icon
    • Submitted 60 Polls Medal icon
    tom avatar
    tom
    End Boss
    11d
    Great tutorial, thank you.
    • Thanks x 1
    testing 1234 222
    URL to post:
  • TurboShell avatar
    TurboShell Joined 4mo ago
    Offline
    237 points Ranked 55,646th
    2mo
    I'm working on a mod that replaces the ost with the 3D blast ost but only some of the songs worked and most of them won't load into it and I did the same thing for all of them.

    One that doesn't work:
    "2F": { "File": "menu.ogg", "Type": "Music" },

    one that does work:
    "15":      { "File": "ss1.ogg", "Type": "Music" },
    please help.
    Gamer
    URL to post:
  • I did the coding, but it still doesn't work.

    // ICZ 1
            "0B":      { "File": "FullSizeRender.ogg", "Type": "Music", "LoopStart": "44100" }

    This is what I typed.

    Bananite
    URL to post:
  • JustinB77 avatar
    JustinB77 Joined 3y ago
    Offline
    349 points Ranked 50,615th
    4mo 4mo
    Having some trouble with this. I have done this in the past with no issue, but now it just doesn't want to work. Maybe I'm blind or something, but I honestly have no clue.

    This is how mine is formatted:
    {
    // Extra life jingle
    //  -> First ID is S&K version, second is S3 version
    "2A_sonic3": { "File": "life.ogg", "Type": "Jingle" },
    // Additional super theme
    "supertheme_sonic2": { "File": "super.ogg", "Type": "Music", "LoopStart": "144688" }
    }

    (Gamebanana formatted where things are weirdly so they look out of place)

    Anything I can do differently?
    A Fat Cactus
    URL to post:
  • LancerAnimates avatar
    LancerAnimates Joined 8mo ago
    Offline
    439 points Ranked 48,057th
    5 medals 1 legendary 1 rare
    • Returned 5000 times Medal icon
    • Returned 1000 times Medal icon
    • One month a member Medal icon
    • Returned 100 times Medal icon
    • 6 months a member Medal icon
    5mo
    Why is it not working for me???
    Am I the only one???
    Canancer avatar
    Mantra
    Canancer
    URL to post:
  • BlastoiseVeteran avatar
    BlastoiseVeteran Joined 2y ago
    Offline
    199 points Ranked 58,340th
    5mo 5mo
    What if I want to loop a certain point of the song (for seamless loops)? Would I just use a LoopEnd or something else, or is it not supported at the moment?

    EDIT: My bad, it seems I've misunderstood the tutorial. Thanks for posting on how to do this, though!
    Bananite
    URL to post:
  • I'm having some trouble. I'm trying to mod in the theme from Sonic 3D Blast's Volcano Valley in place of the theme for Lava Reef. I've made .ogg files for both acts, at both normal speed and x1.25 for the speed shoes, found a sample value for looping, based everything on the audio_replacement.jsod file that came with the game, and made sure it was a .jsod file.

    {
    // Lava Reef Act 1
    "13": { "File": "11_Volcano_Valley_Zone Act_1_For_Loop.ogg", "Type": "Music" , "LoopStart": "40440" },
    // Lava Reef Act 2
    "14": { "File": "12_Volcano_Valley Zone_Act_1_For_Loop.ogg", "Type": "Music" , "LoopStart": "85178" },
    // Lava Reef Act 1 Sped Up
    "13_fast": { "File": "11_Volcano_Valley_Zone_Act_1_Fast_For_Loop.ogg", "Type": "Music" , "LoopStart": "31543" },
    // Lava Reef Act 2 Sped
    "14_fast": { "File": "12_Volcano_Valley_Zone_Act_1_Fast_For_Loop.ogg", "Type": "Music" , "LoopStart": "66536" }
    }


    Is there anything I'm missing?
    Bananite
    URL to post:
  • [PL] SnopYT avatar
    [PL] SnopYT Joined 9mo ago
    Offline
    9mo
    How to change Act clear? is this an Jingle or Music etc.

            // Act Clear

            "29": { "file": "clear.ogg", "Type": "Music" },

    Pls help!

    Error: Audio must specify a ... or source
    Bananite
    URL to post:
  • andrewmac1111 avatar
    andrewmac1111 Joined 2y ago
    Offline
    763 points Ranked 43,227th
    1y 1y
    Help I Getting A Error That Says *Error parsing JSON file 'data/audio/audio_replacements.json':
    * Line 151, Column 6
    Missing '}' or object member name
    Chao! avatar
    Mantra
    Chao!
    URL to post:

Embed

Share banner
Image URL
HTML embed code
BB embed code
Markdown embed code

Credits

Key Authors
Superpowrs04
Making the tutorial
MaybeGreg
MaybeGreg Joined 7y ago
SSBB Manager
Offline
Smash 3C Team Flag Affiliation: Smash 3C Team
16,627 points Ranked 357th
24 medals 2 legendary 5 rare
  • Submitted 100 Skins Medal icon
  • Returned 5000 times Medal icon
  • Returned 1000 times Medal icon
  • Achieved Game Manager clearance Medal icon
  • Submitted 50 Skins Medal icon
  • 6 years a member Medal icon
For helping with loop's
Special Thanks
Eukaryot
For making Sonic 3 AIR & knuckles
Sega & knuckles
For Sonic 3 & Knuckles

Submitter

Superpowers04 avatar
Superpowers04 Joined 3y ago
Offline
1,415 points Ranked 22,566th
8 medals 1 rare
  • Returned 1000 times Medal icon
  • One month a member Medal icon
  • Returned 100 times Medal icon
  • 6 months a member Medal icon
  • Submission featured Medal icon
  • 1 year a member Medal icon
Superpowers04
Creator
  • Donate by commenting
    Superpowers04's Donate by commenting
    Just comment suggestions, I don't do any of this for money. I just do it to have fun and hopefully allow other people to have fun with the mods I make
Sign up to access this!
Sign up to access this!
Sign up to access this!

Game

Sign up to access this!

Category

Details

Difficulty Level
Beginner

Attributes

Share

  • Share on Reddit
  • Share on Twitter
  • Share on Facebook
  • Today's Pick
    Featured on Apr 16 2019
  • 11
  • 11.4k
  • 45
  • 1y
  • 20d
  • 20d

WiPs by Submitter

More Other/Misc Tutorials