PDA

View Full Version : [Tutorial] [Ruby] Inserting Cries


destinedjagold
October 28th, 2009, 12:08 AM
Inserting Cries
Based on ShinyQuagsire's cry changing tutorial on ROMHackTube

Introduction...
Hello there everyone. I am destinedjagold, the author of the Ruby Destiny series. Here, I will teach you guys how to insert new cries without corrupting the other existing cries. I hope you can find this tutorial useful.

What You Need...

PokeCryGUI - included in the EliteMap package...
A Hex Editor - in this tutorial, I'll be using Hex Workshop...
The .wav cry you wanna insert...
Your ROM - in this tutorial, I'll be using a Ruby ROM...
YAPE - For reference purposes...


Before We Begin...
Always remember the golden rule in hacking, always save a back-up copy of your hack.

Let's Get Started...
Step 1 - Setting Everything Up...
http://i54.tinypic.com/aweqhh.jpg
(1) Load your ROM...
(2) Load the cry you wanna insert...
(3) Type the POKéMON's number, the one you wish to replace...
This part is where I use YAPE.
http://i55.tinypic.com/29pubma.jpg
Simply locate the name of the PKMN you want it's cry to be changed, and copy the number in the 'Game' field...
(4) Click 'Samples' afterward. If you are hacking Ruby, the Table Offset(5) will be automatically displayed. Here, you can differenciate the sizes of the current and the new cry.
(5) Be sure to change the offset here if you're hacking besides Ruby...

Step 2 - Preparing...
http://i56.tinypic.com/2czsvh1.jpg
(1) Jot down on a paper, or type on MS Notepad the Table Offset.
(2) Jot down on a paper, or type on MS Notepad the Sample Offset.
http://i53.tinypic.com/8zo1uo.jpg
(3) Open your ROM with a hex editor and find an offset with lots and lots of free space. Jot it down or type the offset on MS Notepad as well.
http://i53.tinypic.com/10cw7bc.jpg
(4) Reverse the Sample Offset and the Free Space Offset. The screenshot above will show you how to reverse the said offsets...

Step 3 - Repointing & Inserting...
http://i53.tinypic.com/xas2dh.jpg
(1) In your Hex Editor already opened your ROM, go to (take note, "go to" (CTRL + G)) the Table Offset...
(2 - 3) Find (take note, "find" (CTRL + F)) the Reversed Sample Offset(without spaces, of course). Make sure it's in 'Hex Values' type...
http://i55.tinypic.com/2eqgpc4.jpg
(4) After you found the offset...
http://i53.tinypic.com/vsjqs6.jpg
(5) Change it into the Reverse Free Space Offset. Save it afterward...
http://i54.tinypic.com/34ebwwh.jpg
(6) Back to PokeCryGUI, click the 'Samples' button and you'll notice that the 'Samples ROM' now displays 'FFFF', which means the cry of the PKMN is blank. You'll also notice that the 'Sample Offset' now displays the free space offset.
(7) Now click the 'Encode' button, and presto! You successfully inserted a new cry to your PKMN without corrupting any other cries!

Ending Message...
Yeah, I just recycled this old thread o'mine. I am sure someone here posted the table offsets of the other PKMN games. You might as well look for it if you are not using Ruby.
Anyway, thanks for your time in reading this tutorial and I hope you will find this useful.
Cheers and good luck with your hacks/mods! ;)

ShadowForce_G
October 28th, 2009, 04:42 AM
Wow, PokeCryGUI tutorial...
This is the tutorial that I want...
I will try it...

HackMew
October 28th, 2009, 05:20 AM
Why PokeCry wouldn't work with FireRed? The cry format is exactly the same. But yeah... things will be easier with A-Cry.

EDIT:

Ruby US v1.0
0x452590

Sapphire US v1.0
0x4525EC

FireRed US v1.0
0x48C914

LeafGreen US v1.0
0x48C1F0

Emerald US v1.0
0x69DCF4

Bozster
October 28th, 2009, 07:03 AM
Yay, finally a tutorial! Thanks destinedjagold!
Just to clarify, the Pokemon numbers are their Pokedex numbers(ie. 2 = Ivysaur), right?
Also, at what number do the 'death cries' start?

HackMew
October 28th, 2009, 07:48 AM
Yay, finally a tutorial! Thanks destinedjagold!
Just to clarify, the Pokemon numbers are their Pokedex numbers(ie. 2 = Ivysaur), right?

Hey, it wasn't that hard if you actually tried :P
Anyway, remember any Pokémon after Celebi will not follow the usual, National Dex numbering. For a list of values you might use the stdpoke.rbh file included with XSE, for example. Oh, and don't forget that the values are in hex (0x181 for example), but PokéCry requires the decimal value.

TAKUORO
October 28th, 2009, 02:31 PM
Thanks!!
I have never try to change the crys( well a couple of times but they din't work good )
But is a very simple and easy tutorial!
It will help a lot of people ;D

Btw, whats is A-cry?
A cry modifier tool?

I would like to see it since pokecry doesn't work 100% good with fr

destinedjagold
October 28th, 2009, 09:13 PM
Why PokeCry wouldn't work with FireRed? The cry format is exactly the same. But yeah... things will be easier with A-Cry.

EDIT:

Ruby US v1.0
0x452590

Sapphire US v1.0
0x4525EC

FireRed US v1.0
0x48C914

LeafGreen US v1.0
0x48C1F0

Emerald US v1.0
0x69DCF4

So it works with FireRed as well? I never knew, though I shouldn't never know about that since I only hack Ruby. :P
A-Cry? So you are making a cry tool? =3

Yay, finally a tutorial! Thanks destinedjagold!
Just to clarify, the Pokemon numbers are their Pokedex numbers(ie. 2 = Ivysaur), right?
Also, at what number do the 'death cries' start?

I forgot where the 'death cries' starts though... :\
Also, yeah, it uses their PokéDex numbers, however, the Hoenn ones, like HackMew said, doesn't follow the numberings anymore.
And as HackMew suggested, you can look at their numbers in HM's XSE's stdpoke.rbh file. Though you should convert it to decimal, k? =3

Bozster
October 29th, 2009, 02:17 AM
Thanks, Hackmew and destinedjagold!

ShadowForce_G
October 29th, 2009, 04:41 AM
How do you make/get the Pokemon cry in .wav?

I know to repoint it.
Change the offset in "Sample Offset" with free offset, then click "Repoint", I think...

destinedjagold
October 29th, 2009, 06:56 AM
How do you make/get the Pokemon cry in .wav?

I know to repoint it.
Change the offset in "Sample Offset" with free offset, then click "Repoint", I think...

I already tried that and it didn't work for me.
Also, I will post a link for you to download the cries. i just need to ask permission first, though~

Bozster
October 29th, 2009, 02:51 PM
Sorry, me again.
I have a problem. I do what it says in the tutorial. I enter number 13(Weedle) and want to replace its cry with Dialga's. I click 'Encode.'
50728
However, it doesn't actually do anything. I boot up VBA and Weedle's cry is exactly the same. Have I done something wrong or is it something to do with the size of the files?

HackMew
October 29th, 2009, 03:02 PM
Sorry, me again.
I have a problem. I do what it says in the tutorial. I enter number 13(Weedle) and want to replace its cry with Dialga's. I click 'Encode.'
50728
However, it doesn't actually do anything. I boot up VBA and Weedle's cry is exactly the same. Have I done something wrong or is it something to do with the size of the files?

Seriously, you should pay more attention. Look at the table offset. It's 0... Which can't be good, for obvious reasons.

Bozster
October 31st, 2009, 02:41 AM
Seriously, you should pay more attention. Look at the table offset. It's 0... Which can't be good, for obvious reasons.

Sorry, but what is a table offset, and what should I change it to?

HackMew
October 31st, 2009, 04:48 AM
Sorry, but what is a table offset, and what should I change it to?

Now you understand why I said more attention?

http://i38.tinypic.com/axd65y.png

Bozster
October 31st, 2009, 08:11 AM
Now you understand why I said more attention?

http://i38.tinypic.com/axd65y.png
All right, all right, I'm sorry, I should have noticed that.
But what is a Table Offset for and how do I know what I have to change it to for Emerald?

destinedjagold
October 31st, 2009, 09:31 AM
All right, all right, I'm sorry, I should have noticed that.
But what is a Table Offset for and how do I know what I have to change it to for Emerald?

The table offset is telling the tool where to start looking for the cries.
Use the offsets HackMew gave us. ;)

Bozster
October 31st, 2009, 01:36 PM
The table offset is telling the tool where to start looking for the cries.
Use the offsets HackMew gave us. ;)

Sorry, again!
What offset would that be, then(for Emerald)?

Banjora Marxvile
October 31st, 2009, 01:38 PM
Sorry, again!
What offset would that be, then(for Emerald)?

Learn to read HackMew's posts! Look in this list he gave a bit above yours!

Why PokeCry wouldn't work with FireRed? The cry format is exactly the same. But yeah... things will be easier with A-Cry.

EDIT:

Ruby US v1.0
0x452590

Sapphire US v1.0
0x4525EC

FireRed US v1.0
0x48C914

LeafGreen US v1.0
0x48C1F0

Emerald US v1.0
0x69DCF4

Some people...

Anyway, good tutorial DJG. PokeCry looks so simple, sounds so complicated, but this tut makes the simple look seem... Correct.

Bozster
October 31st, 2009, 06:07 PM
Learn to read HackMew's posts! Look in this list he gave a bit above yours!

Oh, jeez, I'm really sorry!
Thanks again, everyone

MEWTH
November 1st, 2009, 01:00 AM
Wow! This will help me a lot!
Before, I have no idea on how to use PokeCryGUI.
But now I know!

Thanks!

Blaziquaza
November 1st, 2009, 04:35 PM
OK,so I tried this,replacing Mewtwo's cry with Dialga's.I tested it in game.Buuut,it was a glitchy sound.I got everything right.Could somebody tell me what happened?

ShadowForce_G
November 3rd, 2009, 06:44 AM
OK,so I tried this,replacing Mewtwo's cry with Dialga's.I tested it in game.Buuut,it was a glitchy sound.I got everything right.Could somebody tell me what happened?

Because PokeCryGUI need cry in .wav with 8 bit (audio sample size) and 11 kHz (audio sample rate).
Djg will post the link to download the cries.

Capitalist Ness
November 12th, 2009, 01:23 AM
Hey, everyone!
Hold link with working Cries!

@New Link!
http://www.sendspace.com/file/jb5l1u
http://rapidshare.com/files/305871304/PokemonCry.rar.html



(http://rapidshare.com/files/305871304/PokemonCry.rar.html)

Blaziquaza
November 29th, 2009, 12:47 AM
I'm guessing those are for working cries?Can somebody test 'em?

NeoS
November 30th, 2009, 09:58 AM
Hi. I have a problem ...
I'm working on a FireRed ROM (E) and used the offset table 48C914 (Thanks Hackmew), but when i replace the Mankey's cry (56) for the Starly's Cry, sounds good on Mankey, but the cry of Primeape (57 ) is ruined. One after of i inserted. What can I do?

(Sorry if my english is too bad xD)

Wichu
November 30th, 2009, 10:00 AM
Repoint the cries, maybe? That shouldn't be too hard...

destinedjagold
December 2nd, 2009, 07:08 AM
Hi. I have a problem ...
I'm working on a FireRed ROM (E) and used the offset table 48C914 (Thanks Hackmew), but when i replace the Mankey's cry (56) for the Starly's Cry, sounds good on Mankey, but the cry of Primeape (57 ) is ruined. One after of i inserted. What can I do?

(Sorry if my english is too bad xD)

Tutorial Notes...
* The 'Sample ROM'(number 4) should be bigger than the 'Samples WAV'(number 5)...

Learn to read though...
It'll be helpful.

NeoS
December 2nd, 2009, 08:48 AM
Repoint the cries, maybe? That shouldn't be too hard...
I know, i know... repoint the offset... the question is how... because if i use the option "Repointed" of PokecryGUI, the rom broke down.

rokrdude
December 8th, 2009, 01:04 AM
The 'Sample ROM'(number 4) should be bigger than the 'Samples WAV'(number 5)...while inserting cries using Pokecry

What if i want to insert a cry which is smaller in size at compared to sample wav
( i replaced weedle with starly in my game)

Is there no way I can insert the cry?
(may be some repointing)

Found the solution
http://www.pokecommunity.com/showthread.php?t=200527

Full Metal
December 13th, 2009, 10:00 AM
So it works with FireRed as well? I never knew, though I shouldn't never know about that since I only hack Ruby. :P
A-Cry? So you are making a cry tool? =3



I forgot where the 'death cries' starts though... :\
Also, yeah, it uses their PokéDex numbers, however, the Hoenn ones, like HackMew said, doesn't follow the numberings anymore.
And as HackMew suggested, you can look at their numbers in HM's XSE's stdpoke.rbh file. Though you should convert it to decimal, k? =3


Repoint the cries, maybe? That shouldn't be too hard...

Okay people, the fact that no-one else has pointed this out bugs me.
To repoint ur cries.
1) Find the offset of the cry to be repointed
2) Insert the cry into a clean fr rom at 0x800000 and see how many bytes it takes
3) Open fsf with the rom that u originally intended to insert the cry for
4) Search for however many bytes you need (you got this from step2)
5) In a hex editor, search your ROM for a pointer to the cries current offset.
6) Repoint it to the offset given from FSF
7) Open the ROM in pokecry
8) Paste the table
9) Load your pokemon number, and WAV file
10) Encode
There, you successfully repointed and inserted ur cry.
Please note: You only need to repoint if the amount of samples in your WAV is more than the samples of the current cry. Also, the "death cry" is just the "(living?) cry" of the pokemon only the ROM does something to it run time. As in, there's only one wav for each pokemon, the rest is done for you.

Awanshazwan
December 22nd, 2009, 03:43 AM
Yes
it finally work!
Thanks for your help.

Ashachu
December 25th, 2009, 07:09 AM
Anyone got the download site?

Elite Trainer Red
May 16th, 2010, 10:53 AM
thanks really helped,
Yoshi cries here i come!

LCCoolJ95
May 26th, 2010, 05:59 PM
Hi, I tried replacing Bulbasaur's cry (1) and it becomes ruined. I'm using an English Version of Firered. What's the problem?

xGGxToiZ
May 27th, 2010, 02:36 AM
Hi, I tried replacing Bulbasaur's cry (1) and it becomes ruined. I'm using an English Version of Firered. What's the problem?

Umm . . Let's see, it could be because:

A. Your WAV File is bigger than the original cry. (I doubt that.)
B. Your WAV File is not encoded in 88Kbps (11025Khz).
-> So the outcome becomes a beep or something like static.
C. It's your ROM acting up. (Not likely but hey!)

Idk, but if its A, just repoint it.

And what do you mean by "ruined", exactly?

Shiny Quagsire
May 27th, 2010, 05:53 AM
Hi, I tried replacing Bulbasaur's cry (1) and it becomes ruined. I'm using an English Version of Firered. What's the problem?

It has to be in 8 bit format, 11025 khz. You can convert that with r8brain which you can get here (http://www.voxengo.com/product/r8brain/).

destinedjagold
September 21st, 2010, 03:20 PM
Yes, I am reviving this old thread o'mine.
I am the thread owner, so I guess reviving this is fine, plus, it's a tutorial anyway.

I updated the first post of this thread.
This time, you can now insert cries without corrupting the other existing cries!
Check it out.

ดูดดื่ม
September 27th, 2010, 08:08 AM
I will try.
Thank you so much. :D

Tropical Sunlight
October 12th, 2010, 11:44 PM
I inserted Victini's cry over Jirachi's and I only hear silence. I'm pretty sure I did everything according to the tutorial, and I'm doing this on FR.
I changed Victini's cry to 8bit and 11025 before I inserted it. And I use XVI32, if it helps.

Here are the offsets I used:
Table Offset: 48C914
Sample Offset: 69B278
Reverse Sample: 78B269
Free Space: A48DAB
Reverse Free: AB8DA4

Help would be appreciated.

Shiny Quagsire
October 13th, 2010, 02:57 PM
I inserted Victini's cry over Jirachi's and I only hear silence. I'm pretty sure I did everything according to the tutorial, and I'm doing this on FR.
I changed Victini's cry to 8bit and 11025 before I inserted it. And I use XVI32, if it helps.

Here are the offsets I used:
Table Offset: 48C914
Sample Offset: 69B278
Reverse Sample: 78B269
Free Space: A48DAB
Reverse Free: AB8DA4

Help would be appreciated.

This has happened to me before. I'm not sure why, but the cry has to be under ~1.36 seconds.

Tropical Sunlight
October 13th, 2010, 10:54 PM
This has happened to me before. I'm not sure why, but the cry has to be under ~1.36 seconds.
Okay, I'll try to make it shorter with Nero Wave Editor.
I'll inform you via VM if it worked. :)

Darkest Shade of Light
December 16th, 2010, 12:01 PM
Uhm, over a month...
Anyways, why is it that when I follow all the instructions for overwriting Venusaur's cry with Torterra's, I either get the silent treatment, or I get this static stuff? Am I doing something wrong?

Shiny Quagsire
December 16th, 2010, 03:11 PM
Uhm, over a month...
Anyways, why is it that when I follow all the instructions for overwriting Venusaur's cry with Torterra's, I either get the silent treatment, or I get this static stuff? Am I doing something wrong?

First off, the cry most likely won't work if it's over 1.36 seconds. It's just a number that's been common for my cries to work. Next, your cries need to be 8 bit depth 11025 hz. You can do that in r8brain (http://www.voxengo.com/product/r8brain/).

Darkest Shade of Light
December 16th, 2010, 03:44 PM
First off, the cry most likely won't work if it's over 1.36 seconds. It's just a number that's been common for my cries to work. Next, your cries need to be 8 bit depth 11025 hz. You can do that in r8brain (http://www.voxengo.com/product/r8brain/).
So most of the Sinnoh cries won't work? Because I've tried Piplup's cry at 11,025 Hz and 8 bit stereo, but I get this sound like Piplup hit puberty and dropped six octaves

Shiny Quagsire
December 16th, 2010, 04:16 PM
So most of the Sinnoh cries won't work? Because I've tried Piplup's cry at 11,025 Hz and 8 bit stereo, but I get this sound like Piplup hit puberty and dropped six octaves

Just cut off parts that are empty audio at the beginning or end.

Darkest Shade of Light
December 17th, 2010, 05:40 PM
Just cut off parts that are empty audio at the beginning or end.
How do I do that? Is there some program I need to cut it open and so on?

Shiny Quagsire
December 17th, 2010, 08:02 PM
How do I do that? Is there some program I need to cut it open and so on?

Try windows sound recorder or audacity.

SkieTheKitsune
January 3rd, 2011, 04:02 PM
The problem I seem to keep coming across is that Hex Workshop keeps telling me it's not finding the reverse offsets of the Samples I'm typing in. :I

Right now I'm attempting to replace Sunkern's cry with Blitzle's. I already edited it in Audacity to make it 11025 Khz (the same KhZ I use for micspams, conveniently enough :3) , and I've got everything set up by following the tutorial exactly, so at least I've gotten this far. :V

eman9405
March 17th, 2012, 02:07 PM
After I did this, the cry was silent. I made sure everything was correct. Is there something I'm missing?

Christianzeo
March 17th, 2012, 02:29 PM
So will this work for any other pokemon games? like, later games, or earlier ones? if so, I'd love to insert Arceus's cry into a Generation 1 Magikarp xD

Zoachu
July 25th, 2012, 03:38 PM
Again, thank you! I am working on hacking and this will be very helpful for me.

AtecainCorp.
April 21st, 2013, 02:55 AM
I have a question... How add new cries to blank Pokemons <252-267 id> Using PokeCry? I try do it a lot of Times... Allways fail.

I have a question... How add new cries to blank Pokemons <252-267 id> Using PokeCry? I try do it a lot of Times... Allways fail. I ask about add new Cries in Pokemon Ruby to ???????? placeholders.

Zirto
June 11th, 2013, 09:06 AM
Windows Smart Screen wont let me run Pokecry, can someone tell me if its safe?

Hex4g0n
December 21st, 2013, 03:09 PM
Hello all !
I have a problem on this thing...
I'm trying to completely erase Wurmple to put Larvesta in Emerald. I already changed the sprite, the stats, eveything but the cry.
I followed the tutorial by each word, but when I save with hex editor it does not print FFFF on PokeCry and all I got in the game is a very high satured static noise.
When I edit the cry with Wavosor it says it's in 8 bit and 11025 Hz.
My values were :
Table Offset : 69DCF4
Sample Offset : 86BC80
Rev Sample Offset : 80BC86
Free Space : ED85F0
Rev Free Space : F085ED

Thanks a lot !

Hex4g0n
December 22nd, 2013, 07:33 AM
Hello all !
I have a problem on this thing...
I'm trying to completely erase Wurmple to put Larvesta in Emerald. I already changed the sprite, the stats, eveything but the cry.
I followed the tutorial by each word, but when I save with hex editor it does not print FFFF on PokeCry and all I got in the game is a very high satured static noise.
When I edit the cry with Wavosor it says it's in 8 bit and 11025 Hz.
My values were :
Table Offset : 69DCF4
Sample Offset : 86BC80
Rev Sample Offset : 80BC86
Free Space : ED85F0
Rev Free Space : F085ED

Thanks a lot !

I somehow managed to put Larvesta's cry onto Wurmple's, because I don't know why but I had to put 291 instead of 290 for Larvesta.... It's working good, with a little attention you can guess it's a hack but it's always better than the freakin static I had at the beginning.
But now my problem is I cannot put Volcarona's cry onto Silcoon (which I modified to put Volcarona) ! (I basically cut all the evolution patterns of Wurmple and put only "Larvesta evolves in Volcarona (Silcoon) at level 59)
But now when Volcarona is supposed to cry, it doesn't ! The sound of the games lowers as if it were here, but in fact it's like the sound of Volcarona was erased, and whatever file I put (even the original sound) it doesn't cry !

This is so raging !