- 250
- Posts
- 7
- Years
- Seen Apr 23, 2025
I've always wanted there to be a way so that people could upload their custom music from their ROM hacks to a place so that others could easily access them and put them into their own hacks. I have finally done just that!
I have created a Google Form where anyone can upload their custom ROM hack music or sound effects onto a Google Drive. I made a seperate Google Account from my own personal one to hold this data. Further down in this post, you'll find a link to the Google Form so as to upload your songs/sound effects, and a link to the Google Drive, so that you can download songs that others have uploaded.
There are some guidelines to be followed when uploading and downloading, so please take the time to read through these.
When anyone upload's a song/sound effect, it will just be put into the general ROM Music Files folder, which is where the Google Drive link will take you into. Every once in awhile, I'll go through the Google Drive and organize it, putting songs/sound effects into folders based upon their original sources. If you were to look into the Google Drive now, you would see a few of these folders set up already, like one for Legend of Zelda: Wind Waker, one for Chrono Trigger, and so on. This is the first time that I've dealt with a Google Form that takes in file uploads, so if something goes wrong, just let me know in this thread, and I'll try to fix it at soon as I can.
I hope you all enjoy sharing your custom music, as well as enjoy seeing what others have created!
I have created a Google Form where anyone can upload their custom ROM hack music or sound effects onto a Google Drive. I made a seperate Google Account from my own personal one to hold this data. Further down in this post, you'll find a link to the Google Form so as to upload your songs/sound effects, and a link to the Google Drive, so that you can download songs that others have uploaded.
There are some guidelines to be followed when uploading and downloading, so please take the time to read through these.
Upload Guidelines:
Spoiler:
1. Before you even consider uploading a song/sound effect, check to see if it has already been uploaded by someone else. If it has, and you still want to upload your version, you will need to denote your files to indicate that your files are different from the other version of this song/sound effect. Adding something like "ver_2" at the end of your file's filenames will work nicely.
2. Do not have any spaces in your file names! If you want to separate words in your filenames, use underscores (_) instead of spaces. The ROM compiler doesn't take kindly to filenames with spaces. Also, have all of the files you upload (aside from any instrument files) have the exact same filename. It will make it easier to organize your files, and will make things less complicated for those who want to add your files to their ROM hack.
3. When you upload your song/sound effect, you must include:
• the name of the song/sound effect
• the original source of the sound, such as the name of a video game, movie, music artist, etc.
• the .s file
• the .mid file
• and an audio sample of the song/sound effect. The audio sample should be a recording of how the song/sound effect sounds coming out of the GBA, and in an easy-to-use audio format, like .wav, .mp3, or something like that. This is so that others who may want to use your song can know what it actually sounds like before downloading it. If you're using VisualBoyAdvance, I know it has a built-in functionality where you can record the audio of the game that you are playing directly into a .wav file.
• If you introduced custom instruments for this song/sound effect, you will also need to upload the instrument file(s) as well.
4. At the top of your .s file, you need to add some important information. This would include:
• a credit to you for making the .s file
• credit to the original source of the song/sound effect
• credit to where you acquired the .mid file from
• as well as the voicegroup you used or a VOICE legend.
Here's an example of what this might look like:
As you can see, I started by noting that I was the one who made this .s file. I then credited Chrono Trigger as the original source of the song. I also decided to throw in the composers of the game as well, but that isn't necessary. I then wrote down where I found the .mid file that I used, along with a link. Finally, I created a VOICE legend, which can allow other people to know which instruments relate to which numbers for VOICE commands. For instance, every VOICE command that uses 45 uses the pizzicato strings voice. I tend to use a VOICE legend, as I have one massive voicegroup that I use for most of my songs, so it would be really annoying for me and for everyone else to copy that into each one of my songs. However, if you do have a simple voicegroup, instead of making a VOICE legend, you could do something like this:
For this song, I simply copied the voicegroup that is used for the song at the top of the file, since it's so short. It's also important to note the "@" symobls that are to the left of these lines. These symbols allow the assembler to ignore these lines within the file. If you do not add those symbols, anyone who uses this song won't be able to compile their ROM.
5. For your audio sample, make sure it plays all the way through your song/sound effect. If your song loops, then have your audio sample play all the way through, and then play a little ways past the loop point before stopping.
6. This should go without saying, but make sure your song actually works before uploading. I know it can be tedious, but it's important that, right before you decide to upload, to make sure that the current form of your files won't cause a ROM to fail to compile.
7. This is less of a guideline and more of a statement, but uploading your song/sound effect here means you are allowing anyone to use your song in their ROM hack. They still need to give you credit for using your song/sound effect, but they are free to use it as they please.
2. Do not have any spaces in your file names! If you want to separate words in your filenames, use underscores (_) instead of spaces. The ROM compiler doesn't take kindly to filenames with spaces. Also, have all of the files you upload (aside from any instrument files) have the exact same filename. It will make it easier to organize your files, and will make things less complicated for those who want to add your files to their ROM hack.
3. When you upload your song/sound effect, you must include:
• the name of the song/sound effect
• the original source of the sound, such as the name of a video game, movie, music artist, etc.
• the .s file
• the .mid file
• and an audio sample of the song/sound effect. The audio sample should be a recording of how the song/sound effect sounds coming out of the GBA, and in an easy-to-use audio format, like .wav, .mp3, or something like that. This is so that others who may want to use your song can know what it actually sounds like before downloading it. If you're using VisualBoyAdvance, I know it has a built-in functionality where you can record the audio of the game that you are playing directly into a .wav file.
• If you introduced custom instruments for this song/sound effect, you will also need to upload the instrument file(s) as well.
4. At the top of your .s file, you need to add some important information. This would include:
• a credit to you for making the .s file
• credit to the original source of the song/sound effect
• credit to where you acquired the .mid file from
• as well as the voicegroup you used or a VOICE legend.
Here's an example of what this might look like:
Code:
@ Made by WiserVisor
@ Original Source: Chrono Trigger (Yasunori Mitsuda/Nobuo Uematsu)
@ MIDI Source: VGSynth (https://www.vgsynth.com/uploads/2/2/6/9/22693494/wind_scene.mid)
@ VOICE Legend
@ 32 = voice_directsound 60, 0, acousticbass48, 255, 253, 0, 188
@ 45 = voice_directsound 60, 0, DirectSoundWaveData_sc88pro_pizzicato_strings, 255, 216, 0, 165
@ 48 = voice_keysplit voicegroup006, KeySplitTable2
@ 73 = voice_directsound 60, 0, DirectSoundWaveData_sc88pro_flute, 255, 127, 231, 127
@ 96 = voice_keysplit_all voicegroup002
.include "MPlayDef.s"
.equ mus_wind_scene_grp, voicegroupmidi
.equ mus_wind_scene_pri, 0
.equ mus_wind_scene_rev, reverb_set+80
.equ mus_wind_scene_mvl, 127
.equ mus_wind_scene_key, 0
....................................
Code:
@ Created by WiserVisor
@ Original Source: Pokemon OmegaRuby/AlphaSapphire (Shota Kageyama/Minako Adachi/Hideaki Kuroda/Hitomi Sato)
@ MIDI Source: Winged Souls (https://www.youtube.com/watch?v=kElBrkMqJJo)
@ voicegroup195::
@ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 100, 255, 0, 221
@ voice_directsound 60, 0, DirectSoundWaveData_sc88pro_french_horn_72, 150, 0, 224, 165
@ voice_directsound 60, 0, DirectSoundWaveData_sc88pro_organ2, 200, 0, 255, 210
@ voice_directsound 60, 0, DirectSoundWaveData_sc88pro_harp, 255, 242, 0, 204
.include "MPlayDef.s"
.equ mus_soaring_illusions_grp, voicegroup195
.equ mus_soaring_illusions_pri, 0
.......................................
5. For your audio sample, make sure it plays all the way through your song/sound effect. If your song loops, then have your audio sample play all the way through, and then play a little ways past the loop point before stopping.
6. This should go without saying, but make sure your song actually works before uploading. I know it can be tedious, but it's important that, right before you decide to upload, to make sure that the current form of your files won't cause a ROM to fail to compile.
7. This is less of a guideline and more of a statement, but uploading your song/sound effect here means you are allowing anyone to use your song in their ROM hack. They still need to give you credit for using your song/sound effect, but they are free to use it as they please.
Download Guidelines:
Spoiler:
1. Give credit. When you use someone else's song in your ROM hack, make sure to give credit to them. Making these songs can be pretty tedious and difficult, so the least you could do is acknowledge them for their hard work. Even if you do a bit of touching up of the file(s) after you download it, you are still basing your work off of there's, so still give credit.
2. The odds are that a lot of the songs that will be uploaded here will take advantage of increasing the DirectSound instrument limit from 5 to 12 and increasing the track limit from 10 to 16. To do this, you'll need to go to src/m4a.c, and look for this line of code:
Change that 5 to a 12, and then the DirectSound instrument limit will be increased!
For the track limit, you will have to go to src/m4a_1.s and make this change:
Then go to sound/music_player_table.inc and change the 10 after "gMPlayTrack_BGM" to 16. With that, your project is ready to handle any song you come across in this database!
3. If you need help with adding a song to your ROM hack, you can look at the "How to Add a New Song to Your ROM" section of my music hacking tutorial.
2. The odds are that a lot of the songs that will be uploaded here will take advantage of increasing the DirectSound instrument limit from 5 to 12 and increasing the track limit from 10 to 16. To do this, you'll need to go to src/m4a.c, and look for this line of code:
Code:
| (5 << SOUND_MODE_MAXCHN_SHIFT));
For the track limit, you will have to go to src/m4a_1.s and make this change:
Code:
gMPlayTrack_BGM:
.space 0x320
↓ ↓
gMPlayTrack_BGM:
.space 0x500
3. If you need help with adding a song to your ROM hack, you can look at the "How to Add a New Song to Your ROM" section of my music hacking tutorial.
When anyone upload's a song/sound effect, it will just be put into the general ROM Music Files folder, which is where the Google Drive link will take you into. Every once in awhile, I'll go through the Google Drive and organize it, putting songs/sound effects into folders based upon their original sources. If you were to look into the Google Drive now, you would see a few of these folders set up already, like one for Legend of Zelda: Wind Waker, one for Chrono Trigger, and so on. This is the first time that I've dealt with a Google Form that takes in file uploads, so if something goes wrong, just let me know in this thread, and I'll try to fix it at soon as I can.
I hope you all enjoy sharing your custom music, as well as enjoy seeing what others have created!
Current Song List:
Spoiler:
Avengers
Chrono Trigger
Dragon Quest III
Jojo's Bizarre Adventure
Legend of Zelda: Ocarina of Time
Legend of Zelda: Wind Waker
Ludvig von Beethoven
Octopath Traveler
Pokémon Black/White
Pokémon Diamond/Pearl/Platinum
Pokémon HeartGold/SoulSilver
Pokémon OmegaRuby/AlphaSapphire
Super Mario Galaxy
Sword Art Online
Spoiler:
Avengers Theme
Chrono Trigger
Spoiler:
Wind Scene
Dragon Quest III
Spoiler:
Adventure (Overworld Theme)
Jojo's Bizarre Adventure
Spoiler:
Bloody Stream
Legend of Zelda: Ocarina of Time
Spoiler:
Hyrule Field
Legend of Zelda: Wind Waker
Spoiler:
Molgera Theme
Ludvig von Beethoven
Spoiler:
Allegro con Brio
Octopath Traveler
Spoiler:
My Quiet Forest Home
Orewell, Beneath the Crags
Orewell, Beneath the Crags
Pokémon Black/White
Spoiler:
Battle! Ghetsis
Route 4 (Spring)
Trainer Battle
Route 4 (Spring)
Trainer Battle
Pokémon Diamond/Pearl/Platinum
Spoiler:
Encounter! Cynthia
Route 209
Trainer Battle
Route 209
Trainer Battle
Pokémon HeartGold/SoulSilver
Spoiler:
Battle! Champion
Route 32
Trainer Battle
Route 32
Trainer Battle
Pokémon OmegaRuby/AlphaSapphire
Spoiler:
Soaring Illusions
Super Mario Galaxy
Spoiler:
King Bowser
Sword Art Online
Spoiler:
Everyday Life
Upload Link (Google Forms): https://script.google.com/macros/s/...UzmacLH8LsRSSO4KaPUarrTDT3-KW6CvQh0RKf2A/exec
Download Link (Google Drive): https://drive.google.com/drive/folders/1Ownew1E7t7c7UPIJgaKAx2mq1sa9RK3F?usp=sharing
Download Link (Google Drive): https://drive.google.com/drive/folders/1Ownew1E7t7c7UPIJgaKAx2mq1sa9RK3F?usp=sharing
Last edited: