• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

How to insert HIGH QUALITY cries using Sappy (no Pokecry here)

1,323
Posts
16
Years
  • Seen Dec 9, 2023
All of the other tutorials I've seen on cry inserting tell you to lower the quality of the cry to 11050Hz or 11025Hz. That is completely unnecessary, and simply serves do severely downgrade the quality of the cry. The Game Boy Advance can handle more than that.

While inserting new instrument samples with Sappy, I realized that if I can insert these samples at 13379Hz without any problems, then surely I can insert cries the same way. And so, my theory turned out to be true.

Yes, I am going to show you how to insert new Pokémon cries using Sappy, a program that was designed for a completely different purpose XD

Here's what you'll need:
*Sappy Mod 15 (get it here)
*Free Space Finder
*any random hex editor
*.wav files of your cries (All 649 cries download, credit to Pokerealm.com)
*Pokémon Game Editor (optional if you know what you're doing)

IMPORTANT: If you don't know how to use a hex editor, or if you don't know what a pointer is, then I'm afraid this tutorial is too advanced for you.

~~~~~~~~~~~~~~~~~~~~~~~~~

1. Open your ROM in Free Space Finder, find a really huge amount of free space (under the "Needed Bytes" label, I just type in 9999 even though I don't actually need 9999 bytes of free space)

------

2. Make sure your free space offset ends in 0, or 4, or 8, or C. If it doesn't, just go forward 1 byte until it does. KEEP TRACK OF THE OFFSET.

------

3. Open your ROM in Sappy

------

4. Go to Tasks ---> Import Sample
28vstbd.png


------

5. Select the cry you're going to insert, and insert at the free space offset you found earlier. You don't have to change any settings, just click "Import" right away.
3167rdv.png


Even though you just inserted the cry, still keep track of the offset.

------

6. READ: This step if for having a Pokémon's cry offset change to the new offset you just inserted a new cry at. If you know where the offset is by a method other than Pokémon Game Editor, then simply change the offset and skip this step. This step covers how to do it with Pokémon Game Editor.

Now open up Pokémon Game Editor, and go to the Pokémon that you're going to change its cry. Change the cry offset to the offset of the cry you inserted earlier.
2e5nrmd.png


However, there's a minor issue: This method will only work correctly if you're editing a Pokémon that's from Generation I or Generation II.

If you want to change the cry of a Generation III Pokémon, read this:
Spoiler:


------

7. Now that we've changed the cry offset, there's one last thing we need to do. Open up your ROM in a hex editor, and search for the pointer to your new cry. I inserted my cry at 0x7BC664, so the pointer I'm searching for is 64 C6 7B 08.
2nrg2mf.png


------

8. The search for the pointer should now take you to exactly where the offset is in the first cry table. Now go four bytes before that offset, and you should see the bytes "20 3C 00 00"
radz0l.png


Change "20 3C 00 00" to "00 3C 00 00".

Congratulations, you just inserted a high-quality cry. Now test your cry in-game, and it should be in unbelievably high-quality, much higher than Pokecry will ever let you. You'll never have to use Pokecry again!
 
Last edited:

shinyabsol1

Pokemon DarkJasper!?
333
Posts
13
Years
  • Seen Nov 23, 2022
Not sure why nobody has commented on this yet...great tutorial!

I hadn't got to inserting cries with Pokecry for my hack just yet, but I was dreading doing so because of all the problems I read about people having with it.

But since this method is so simple, I went ahead and inserted a bunch yesterday (and the cries really do sound great!) :)

Thanks for posting!
 
6
Posts
14
Years
  • Seen Dec 20, 2017
Great Tutorial Chaos Rush! I had problems with the pokecry, but this method is much more easy. No other programs, thanks.
 
50
Posts
11
Years
  • Seen Jan 4, 2021
When I download Sappy and try to run it, I get:

Spoiler:


Does anybody know how to fix this?
 

ipatix

Sound Expert
145
Posts
15
Years
@LCCoolJ95
Just a short little hint how offsets work on the GBA:
For the CPU of the GBA the ROM is located at 0x08000000.
For example you want to point to location 0x123456 your pointer would look like this:
0x08123456. In little endian (bytes swapped) it would look like this: 0x56 0x34 0x12 0x08.
And this is the reason why you always have this 0x08 in the end of a pointer.
And for your pointer "0x1000000" simply add "0x08000000" and you get this: 0x09000000.
Then you have to convert it to little endian and you get this: 0x00 0x00 0x00 0x09.

I hope I caould help you out with that ;-)

@Shubunkus:
Download this and install it (the onmodded version of Sappy):
http://helmet.kafuka.org/filebin/sappy12.exe
This installer adds automatically all files to your registry.

After that replace your .exe with the modded one and you should have your fun :D
 

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
When I download Sappy and try to run it, I get:

Spoiler:


Does anybody know how to fix this?

I do
download sappy mod 12 from elite maps homepage
Google it and find it
it installs vbalcboex6.ocx for you and mid2agb also.
 
142
Posts
15
Years
Im assuming that if you do this with too many Pokemon, the game might likely not work right anymore. So how many Pokemon do you think would be suggested before you would want to stop and do it the normal method of using Pokecry?
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Im assuming that if you do this with too many Pokemon, the game might likely not work right anymore. So how many Pokemon do you think would be suggested before you would want to stop and do it the normal method of using Pokecry?
386. Or 493. Or 649.

(nothing bad will happen)
 
142
Posts
15
Years
Ah I just need to watch what free space I use, cuz I can assume using cries this quality could overwrite into data that would be game breaking if overwritten right? Cuz I did this with maybe 10-15 Pokemon that had Pokemon that were 4th/5th Gen, their cries were still not changed, game didn't load up after trying to continue game. XD
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
Ah I just need to watch what free space I use, cuz I can assume using cries this quality could overwrite into data that would be game breaking if overwritten right? Cuz I did this with maybe 10-15 Pokemon that had Pokemon that were 4th/5th Gen, their cries were still not changed, game didn't load up after trying to continue game. XD
Yes, it does take up a lot of data, but you should know where your free space is if you're making a ROM hack. Sounds to me like you just don't know where your free space is, if I were you, I would insert all cries at the end of all the used data in the ROM, where FF bytes fill up the rest of the 16 megabytes. If you try inserting it into used data, of course things are gonna screw up.
 
12
Posts
10
Years
  • Seen Oct 16, 2021
How can I check cry offsets of my ROM without "Pokemon Editor"? I can't find "Pokemon Game Editor" ANYWHERE. I get how the repointing and hex editing editing works, I just can't tell which cry offsets to replace... Help me, please... :( Is there an alternative, easy way to do this? Or could anyone share the program? Whenever I try to look for it in the Toolbox the website's Porigon faints LOL.
 
1,344
Posts
14
Years
  • Seen Dec 10, 2021
I've been trying to insert new cries and so far this method was working well until I got to the hex editor part. When I search for the pointer for my new cry this is what I find:
Spoiler:

What did I do wrong? :(
 
Back
Top