Hey!
Welcome to my tutorial on inserting "original songs" into Sappy!
First of all, what do I meant by "original songs"? Original songs, for me at least, is to insert a new song into the game - no remixes, no "music stealing" from another game, just... original.
If you are looking for a tutorial on inserting songs from DS, follow gogo's tutorial: https://www.pokecommunity.com/showthread.php?t=301027.
Okay, let's start!
PART 1: COMPOSING THE SONG
PART 2: LOOPING
PART 3: INSERTING THE SONG
PART 4 (OPTIONAL): BREAKING THE LIMITS
Well, we're kinda done!
Credits:
Jambo51 - DirectSound limit extending and helping me making great music (even though he doesn't like GBA music)...
SSJSonic21 - Helping me with music hacking.
Team Fail - Looping!!!!!!
Welcome to my tutorial on inserting "original songs" into Sappy!
First of all, what do I meant by "original songs"? Original songs, for me at least, is to insert a new song into the game - no remixes, no "music stealing" from another game, just... original.
If you are looking for a tutorial on inserting songs from DS, follow gogo's tutorial: https://www.pokecommunity.com/showthread.php?t=301027.
Okay, let's start!
PART 1: COMPOSING THE SONG
Spoiler:
Okay, this part can actually take you hours, but with the time, it will be less and less...
Okay, let's start this ugly thing! (lol)
Recommended insturments: (FireRed/LeafGreen soundfont)
Battles:
01 - Acoustic Grand (used for drums)
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
48 - String Ensemble 1
53 - Voice Oohs (I'd suggest for special battles more than regular fights)
56 - Trumpet
60 - French Horn
81-88 - Leads
127 - Gunshot (Noise)
Ch.10 - Drums
Towns/Cities:
14 - Tubular Bells
24 - Acoustic Guitar Nylon
48 - String Ensemble 1
56 - Trumpet
60 - French Horn
81 - 88 - Leads
Caves:
01 - Acoustic Grand (Drums)
02 - Bright Acoustic (Highly recommended)
21 - Accordian
56 - Trumpet
60 - French Horn
126 - Applause (Noise)
127 - Gunshot (Noise)
Ch.10 - Drums
Those sounds are my very own opinion and not else!!!
I hope I did not forget something ~_~
Step I. Starting!
Okay, for this, I will recommend you to use Anvil Studio. Why? It's a free program that does a really great job, at least in my opinion. If you're looking for a professional program, try Cubase, but sadly it costs money, so make your opinion on that thing ^^!
For now, I will use Anvil Studio.
Click on File > New to create a new song.
Now, let's start!
If you have been noticed, a battle theme has some kind of wierd quick start.
This a template on a random start I made:
I highly recommend this. Why? Because of the low-duration notes. If you will put really short notes like that, you'll get a sound like a quick start of battles.
Before going to the next step, I would highly recommend to add more tracks.
So let's insert one!
Go to Track > Create > Insturment Track.
This is a great start!
If you wanna here what is sounds like, go right here: https://midishrine.com/midi/50025.mid .
Rememmber, you can take the start for your music, as long you give me credit ^^.
Okay for the start->middle to the song, I will recommend something REALLY fast, something I like to call as "hyperactive" (not a good name, I never was good with names).
For the middle of the song, I will recommend something fast, but a bit slower than "hyperactive".
For the middle->end it would be slower than the middle.
For the end, do something fast, like the "hyperactive", because rememmber you need to loop the song!
Now, I will recommend you to play around with the L/R balance.
Also, check out Magnius' advanced Sappy tutorial, he sure explains better on MIDI events than me! Linky: https://www.pokecommunity.com/showthread.php?t=190961
Okay, let's start this ugly thing! (lol)
Recommended insturments: (FireRed/LeafGreen soundfont)
Battles:
01 - Acoustic Grand (used for drums)
24 - Acoustic Guitar Nylon
29 - Overdriven Guitar
30 - Distortion Guitar
48 - String Ensemble 1
53 - Voice Oohs (I'd suggest for special battles more than regular fights)
56 - Trumpet
60 - French Horn
81-88 - Leads
127 - Gunshot (Noise)
Ch.10 - Drums
Towns/Cities:
14 - Tubular Bells
24 - Acoustic Guitar Nylon
48 - String Ensemble 1
56 - Trumpet
60 - French Horn
81 - 88 - Leads
Caves:
01 - Acoustic Grand (Drums)
02 - Bright Acoustic (Highly recommended)
21 - Accordian
56 - Trumpet
60 - French Horn
126 - Applause (Noise)
127 - Gunshot (Noise)
Ch.10 - Drums
Those sounds are my very own opinion and not else!!!
I hope I did not forget something ~_~
Step I. Starting!
Okay, for this, I will recommend you to use Anvil Studio. Why? It's a free program that does a really great job, at least in my opinion. If you're looking for a professional program, try Cubase, but sadly it costs money, so make your opinion on that thing ^^!
For now, I will use Anvil Studio.
Click on File > New to create a new song.
Now, let's start!
If you have been noticed, a battle theme has some kind of wierd quick start.
This a template on a random start I made:
![[PokeCommunity.com] Inserting "original songs" into Sappy [PokeCommunity.com] Inserting "original songs" into Sappy](https://i.imgur.com/sdvyfIY.jpg)
I highly recommend this. Why? Because of the low-duration notes. If you will put really short notes like that, you'll get a sound like a quick start of battles.
Before going to the next step, I would highly recommend to add more tracks.
So let's insert one!
Go to Track > Create > Insturment Track.
![[PokeCommunity.com] Inserting "original songs" into Sappy [PokeCommunity.com] Inserting "original songs" into Sappy](https://i.imgur.com/r00TfGk.jpg)
This is a great start!
If you wanna here what is sounds like, go right here: https://midishrine.com/midi/50025.mid .
Rememmber, you can take the start for your music, as long you give me credit ^^.
Okay for the start->middle to the song, I will recommend something REALLY fast, something I like to call as "hyperactive" (not a good name, I never was good with names).
For the middle of the song, I will recommend something fast, but a bit slower than "hyperactive".
For the middle->end it would be slower than the middle.
For the end, do something fast, like the "hyperactive", because rememmber you need to loop the song!
Now, I will recommend you to play around with the L/R balance.
Also, check out Magnius' advanced Sappy tutorial, he sure explains better on MIDI events than me! Linky: https://www.pokecommunity.com/showthread.php?t=190961
PART 2: LOOPING
Spoiler:
Looping, alright!
For looping, check out Team Fail's thread: www.pokecommunity.com/showthread.php?t=292547.
Or let me make it easy for you.
Go to the end of the song, insert new cue. The text of the cue would be "]".
And now, go to the point where you want the loop will start. The text of the cue would be "[".
Okay, once you done it, go to File > Export MIDI-Format 0 File and save it in the folder where your mid2agb is.
Easy, lawl.
For looping, check out Team Fail's thread: www.pokecommunity.com/showthread.php?t=292547.
Or let me make it easy for you.
Go to the end of the song, insert new cue. The text of the cue would be "]".
And now, go to the point where you want the loop will start. The text of the cue would be "[".
Okay, once you done it, go to File > Export MIDI-Format 0 File and save it in the folder where your mid2agb is.
Easy, lawl.
PART 3: INSERTING THE SONG
Spoiler:
Once you've saved the song in mid2agb's folder, simply drag the song into mid2agb.exe and a .S file will pop out under near you .mid file.
Go to sappy, open up your ROM and choose the song you want to replace.
Then click Tasks>Assemble song.
Near the .S file name, there's a blank box. Click on it and import your .S file.
On the "best destination offset" edit-box, I will recommend you to pick up a Free-Space offset of 10,000 bytes, just for safety.
On the "Voicegroup offset" edit-box, pick up the offset of the song's insturments.
For a document of FireRed's voicegroups and what insturments they play, check out Magnius' tutorial: https://www.pokecommunity.com/showthread.php?t=148811.
Once you've done everything, click on "Assemble song" and just click Yes on the "done" popup.
That's it! Congratulations! You've just inserted an "original song"!
Go to sappy, open up your ROM and choose the song you want to replace.
Then click Tasks>Assemble song.
Near the .S file name, there's a blank box. Click on it and import your .S file.
On the "best destination offset" edit-box, I will recommend you to pick up a Free-Space offset of 10,000 bytes, just for safety.
On the "Voicegroup offset" edit-box, pick up the offset of the song's insturments.
For a document of FireRed's voicegroups and what insturments they play, check out Magnius' tutorial: https://www.pokecommunity.com/showthread.php?t=148811.
Once you've done everything, click on "Assemble song" and just click Yes on the "done" popup.
That's it! Congratulations! You've just inserted an "original song"!
PART 4 (OPTIONAL): BREAKING THE LIMITS
Spoiler:
Woah! A good title!
Anyway, if might notice, some of your tracks won't play. That's because GBA has the limit of playing 5 DirectSound tracks at same time. LET'S BREAK IT MUAHAHAHA! (-_-)
Mkay, just to make it clear, jambo51 is the guy discovered that, for the original post, check out the quick Research&Development thread.
Okay, he's post looks like this:
Go to extra and down there, there is "Directsound voices limit".
Just change the number "5" to the number of tracks you've changed to.
And you're done!
Thanks again, jambo!
Anyway, if might notice, some of your tracks won't play. That's because GBA has the limit of playing 5 DirectSound tracks at same time. LET'S BREAK IT MUAHAHAHA! (-_-)
Mkay, just to make it clear, jambo51 is the guy discovered that, for the original post, check out the quick Research&Development thread.
Okay, he's post looks like this:
Okay, done that! Now, go to sappy. Open up Options>Settings.So, I've gotten sick of being asked for this, so I figured it might be a good idea to share it. It's so short and easy that it definitely doesn't warrant having its own thread, so putting it here seems like a good compromise.
Extending the Number of Direct Sound Tracks on 3rd Gen Pokémon Games
It's as easy as this:
Search for the hex string "00 C5 94 00" in your ROM
Replace said string with "00 CX 94 00" where X stands for the number of maximum DS tracks
Now, there are limits here. Fire Red and Emerald (presumably Leaf Green too) can support a maximum of 12 (0xC) tracks, so you can put 00 CC 94 00 for these ROMs, however, Ruby (presumably Sapphire too) are different. RS can only support a maximum of 7!
BPR - 12
BPG - 12
BPE - 12
AXV - 7
AXP - 7
Go to extra and down there, there is "Directsound voices limit".
Just change the number "5" to the number of tracks you've changed to.
And you're done!
Thanks again, jambo!
Well, we're kinda done!
Credits:
Jambo51 - DirectSound limit extending and helping me making great music (even though he doesn't like GBA music)...
SSJSonic21 - Helping me with music hacking.
Team Fail - Looping!!!!!!