The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.


Advertise here

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #1    
Old November 12th, 2009, 08:41 PM
RedYoshi's Avatar
RedYoshi
Wah! Yoshi!
 
Join Date: Feb 2008
Location: Yoshi's Island, DUH.
Age: 21
Gender: Male

Advertise here
Before anything, read DJG's tutorial first to figure out how
to insert cries.

IMPORTANT:You should also have a good understanding of how to use a Hex-Editor and PokeCryGUI

Hello everyone, this is a tutorial that'll teach you how to re-point cries using a Hex-Editor and a nifty way to use custom instruments!


WAV file requisites:
The Wave file should be in 8bit format, with 11k hz frequency. I'm not sure if being Stereo or Mono will affect the encoding process.

Here are the 2 Programs I mainly use for sound editing.

Audacity - Very useful for practically anything. Good for Pitch/Volume adjusting.
http://audacity.sourceforge.net/

FlexiMusic Wave Editor - Simple to use WAV file editor which makes it simple to export in 8bit 11khz format, however it costs $20. The free trial lasts for a Week
http://www.fleximusic.com/waveditor/overview.htm

Re-Pointing Cries
Well, from what I've read from DJGs PokeCry tutorial, the Sample Size has to be bigger than the Sample WAV, which can make importing some cries a hassle. By re-pointing you will avoid any errors caused by overwriting existing data, as in screwing up the cry data of another Pokemon because of the newly inserted Cry Data being longer than the original.


CRY TABLES
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


Let's Begin.
Choose the cry you will be re-pointing, in this case I'll use Bulbasaur's cry. I will be importing Shieldon's cry. The WAV file is much larger than the Sample/Original one.

PART ONE: Inserting Your Cry
Important Note: Load the Cry Table in PokeCryGUI and where it says PokeID type in the ID of the Pokemon whose cry you will be re-pointing
and hit SAMPLE. Now write down the SAMPLE OFFSET, it will be needed in a much later step.


So for me, Bulbasaur's SAMPLE OFFSET is 50 FB C4

So to begin with, insert your cry to an empty offset, please note that the encoded cry will take a good amount of free space.

For this tutorial I will use the offset 0x800000.
So set your "Sample Offset" to the offset you will be using; I will use 800000. MAKE SURE TO UNTICK "USE TABLE"



Now hit encode.


PART 2: Re-Pointing the Offset
Now that you've inserted the cry, its time to find the CRY POINTER
of the Pokemon whose cry you will be re-pointing. The cry uses 12 bytes (correct me if I used the wrong term here)
(example: FF FF FF FF FF FF FF FF FF FF FF FF)



The way to find your cry pointer in a hex editor would be by searching for this string in your hex editor

20 3C 00 00 (SAMPLE ID offset in REVERSE HEX)08 FF 00 FF 00

Use the code below:
Code:
20 3C 00 00 XX XX XX 08 FF 00 FF 00

My SampleID offset is: 50 FB C4
So my offset would be: 20 3C 00 00 C4 FB 50 08 FF 00 FF 00
and you should come up to your cry data pointer


So the data for Bulbasaur's cry in FireRed will look like this.



THE RED IS WHAT WE REALLY NEED TO LOOK AT
20 3C 00 00 C4 FB 50 08 FF 00 FF 00

See whats in red? It is your Sample Offset from PokeCryGUI, but in reverse hex.

Whats in red is your pointer to the Cry data, but again in Reverse Hex

This is what we will be editing in our Hex-Editor, for this step you will need to write the offset where you encoded the cry data (the free offset you used in the first part) in reverse hex.

I encoded the Cry data to the offset: 800000

So break this up into: 80 00 00 and flip it around to-> 00 00 80
now paste that in your hex editor where your pointer data is. (The part colored in Red...)



Hit save on your Hex-Editor and you're done! The cry has been re-pointed!
With re-pointing you can insert any size cry to any pokemon you want!

Now to move on to the funner parts of Cry Inserting.

Custom Instruments for Music
Quick example of a Custom Instrument:



Now, before anything, you should read AnimeX's tutorial on custom VoiceGroups to get a good idea on how instrument hex-data/pointer is written and such.

Important Note: This is still being experimented with, don't expect any perfect results your first time. I encourage others to try experimenting with this also, there are some instruments which aren't as easy to replace like the Strings and Timpani. Im guessing the Midi KeySplite table and Samples Type affect this.

Code:
*Samples Type (4 Bytes)
*Sample Pointer (4 Bytes)
*Midi key split table pointer (4 bytes)

Well, by now you should know how cry data is written in hex
(20 3C 00...). It uses 12 Bytes (correct me if I used the wrong term here xD) and instrument data also uses 12 bytes. The way PokeCry encodes cry data is similar to the encoded Instrument data.

VoiceGroups use pointers for their Instrument Data similar to the way Cries use pointers for their Cry Data.

In a nutshell: VoiceGroups use pointers, the same way Cries use pointers, and through copy/pasting, we can use the Cries as Instruments and Vice-Versa.

So my Bulbasaur Cry Pointer is
20 3C 00 00 C4 FB 50 08 FF 00 FF 00

I'll use the trumpet here as an example. The pointer for the Trumpet data in hex is
40 00 00 00 5C A5 48 08 E4 30 4A 08

See how they only use 12 bytes? If you were to paste your cry data over the trumpet data in any voice-group, the cry would be used as an instrument, and there you go, custom instruments. So here's a quick step guide.

1: Encode a cry/instrument sound to an empty offset.

2. Make a Pointer to your encoded data using the format below:
Code:
20 3C 00 00 XX XX XX 08 FF 00 FF 00
XX XX XX is where the offset you used should be (Reverse Hex!)


3. Go to the address of a VoiceGroup in your hex editor.
(List of VoiceGroups in Fire-Red)
(List of VoiceGroups in R/S/E)

4. Paste your Cry/Instrument Pointer over an instrument of your choice in any voicegroup.
Find the instrument pointers (Under the section titled "Hex Values")on AnimeX's Custom Voicegroup Tutorial

Important Note: You may have to adjust the Pitch of your WAV file for instruments in order for them to sound right in your Rom.

My best guess would be that the WAV file encoded is the C5 key (Middle Key in a Piano), though I don't have proof of this as of yet...


There you go, custom instruments! The end result should be similar to the video.



CREDITS:

DJG - For the tutorial on Cry Inserting
AnimeX - The tutorial on Custom Voice groups + the Instrument Hex Values
Magnius - The list of FireRed VoiceGroups
HackMew - The list of Cry Tables for PokeCry


DO NOT TAKE WITHOUT PERMISSION

Last edited by hashtag; April 15th, 2010 at 07:40 AM.
Reply With Quote
  #2    
Old November 14th, 2009, 10:34 AM
NTA's Avatar
NTA
Where?
 
Join Date: Nov 2007
Nature: Adamant
having a little troublle finding it in my hex editor im using hex workshop
__________________

Reply With Quote
  #3    
Old November 14th, 2009, 10:38 AM
RedYoshi's Avatar
RedYoshi
Wah! Yoshi!
 
Join Date: Feb 2008
Location: Yoshi's Island, DUH.
Age: 21
Gender: Male
Quote:
Originally Posted by NTA View Post
having a little troublle finding it in my hex editor im using hex workshop
Exactly what are you having trouble finding?
__________________
Quote:
Originally Posted by Yoshi
Yoshi!
Reply With Quote
  #4    
Old November 14th, 2009, 10:41 AM
NTA's Avatar
NTA
Where?
 
Join Date: Nov 2007
Nature: Adamant
this always happens i tell someone it isnt working then i do it again and it works >.>

i was searching for this: 20 3C 00 00 and i was more than sure it said something about not being found but i just did it again and it worked :D thnx for the um tutorial

also if i reversed 8002F8 would it be F82008 right?
__________________

Reply With Quote
  #5    
Old November 14th, 2009, 10:44 AM
RedYoshi's Avatar
RedYoshi
Wah! Yoshi!
 
Join Date: Feb 2008
Location: Yoshi's Island, DUH.
Age: 21
Gender: Male
Quote:
Originally Posted by NTA View Post
this always happens i tell someone it isnt working then i do it again and it works >.>

i was searching for this: 20 3C 00 00 and i was more than sure it said something about not being found but i just did it again and it worked :D thnx for the um tutorial

also if i reversed 8002F8 would it be F82008 right?
Break it up into this, 80 02 F8

flip it around to F8 02 80
__________________
Quote:
Originally Posted by Yoshi
Yoshi!
Reply With Quote
  #6    
Old November 14th, 2009, 10:46 AM
NTA's Avatar
NTA
Where?
 
Join Date: Nov 2007
Nature: Adamant
lol thanks i was close
if i have any more problems ill let u know if i cant understand
__________________

Reply With Quote
  #7    
Old November 14th, 2009, 01:09 PM
RedYoshi's Avatar
RedYoshi
Wah! Yoshi!
 
Join Date: Feb 2008
Location: Yoshi's Island, DUH.
Age: 21
Gender: Male
One important note for those inserting new instrument sounds:

You may have to adjust the Pitch and Volume of your instrument sound. In some cases the sound will be a little off. I've included links to two programs which are IDEAL for Cry inserting. I am still looking for a free alternative for Fleximusic Wave Editor

__________________
Quote:
Originally Posted by Yoshi
Yoshi!

Last edited by RedYoshi; November 14th, 2009 at 01:29 PM.
Reply With Quote
  #8    
Old November 14th, 2009, 09:08 PM
Liquid Shadow's Avatar
Liquid Shadow
xD
 
Join Date: Mar 2008
Gender:
Hmm... this is interesting.

A few months ago I imported FireRed instruments into Ruby. This, however, lets you import any instrument... The only problem for me is how on earth do you get the WAV file for an instrument?
__________________

4 truths of life
1. You cannot touch all your teeth with your tongue.
2. All idiots, after reading the first truth, will try it.
3. And discover that the first truth is a lie.
4. You're smiling now because you're an idiot.
Reply With Quote
  #9    
Old November 14th, 2009, 10:39 PM
RedYoshi's Avatar
RedYoshi
Wah! Yoshi!
 
Join Date: Feb 2008
Location: Yoshi's Island, DUH.
Age: 21
Gender: Male
Quote:
Originally Posted by Liquid Shadow View Post
Hmm... this is interesting.

A few months ago I imported FireRed instruments into Ruby. This, however, lets you import any instrument... The only problem for me is how on earth do you get the WAV file for an instrument?
Well, you can rip sounds from other games using the "Record Sound" feature (This is where I recommend using Audacity to edit the sound clip), or you could try some sound packs for Fruity Loops Studio. There's tons of them out there and most are in WAV format. In fact, that's how I got the sample sound for the "Custom Instrument" video.
__________________
Quote:
Originally Posted by Yoshi
Yoshi!
Reply With Quote
  #10    
Old November 17th, 2009, 01:12 AM
AmineX's Avatar
AmineX
Music Expert
 
Join Date: Feb 2008
Location: Algeria
Age: 25
Nature: Gentle
Send a message via ICQ to AmineX Send a message via Windows Live Messenger to AmineX Send a message via Skype™ to AmineX
I havea better to resample the waves free
Link:http://www.voxengo.com/product/r8brain/
resample to: 21024 Hz 8 Bit to get the best sound quality
__________________
AmineX


All my pokemon music related videos here:
http://www.youtube.com/user/LHV1?feature=mhee
Reply With Quote
  #11    
Old November 20th, 2009, 02:55 PM
Great Mazinger's Avatar
Great Mazinger
nope.avi
 
Join Date: Sep 2009
Age: 22
Gender: Male
Programs such as GBA2MIDI and VGM Trans can export samples from compatible GBA and DS games. It's also possible in a slightly more roundabout way to extract samples from PSF and PSF2 music files.
__________________
Reply With Quote
  #12    
Old November 20th, 2009, 02:56 PM
NTA's Avatar
NTA
Where?
 
Join Date: Nov 2007
Nature: Adamant
Quote:
Originally Posted by AmineX View Post
I havea better to resample the waves free
Link:http://www.voxengo.com/product/r8brain/
resample to: 21024 Hz 8 Bit to get the best sound quality
lol i set it to 21024 Hz 8bit and i sounds distant
__________________

Reply With Quote
  #13    
Old November 20th, 2009, 09:42 PM
RedYoshi's Avatar
RedYoshi
Wah! Yoshi!
 
Join Date: Feb 2008
Location: Yoshi's Island, DUH.
Age: 21
Gender: Male
Quote:
Originally Posted by Great Mazinger View Post
Programs such as GBA2MIDI and VGM Trans can export samples from compatible GBA and DS games. It's also possible in a slightly more roundabout way to extract samples from PSF and PSF2 music files.
Yea, theres this program called "Nintendo Ds Sound Extractor" or NdsSndExt. Its a pretty useful program which rips Voice Clips, Instrument Sounds, and Midi Compositions from a Nintendo Ds Rom

Here's the attachment below.

Also there's this program which lets you save WAV samples from an SNES rom, but most of the sounds are just voice clips and sound effects. Not so much instruments.

http://www.zophar.net/utilities/rippers/snessor95.html
Attached Files
File Type: zip ndssndext_v04.zip‎ (56.1 KB, 23 views) (Save to Dropbox)
__________________
Quote:
Originally Posted by Yoshi
Yoshi!
Reply With Quote
  #14    
Old November 21st, 2009, 11:54 AM
jjboy22
Beginning Trainer
 
Join Date: Jun 2009
Gender: Male
im confused on how to get the cry of a pokemon can someone help me
Reply With Quote
  #15    
Old December 8th, 2009, 11:37 PM
12345's Avatar
12345
Sky
 
Join Date: Aug 2007
Gender: Male
Nature: Calm
Send a message via Windows Live Messenger to 12345
This isn't work with all free offset. I found many free spaces and only some of them work. In Emerald, there aren't many free space, and can I reponit it with offset that have 7 number, such as 1011FB3....
__________________


Favorite Pokemon Game: GBA-Emerald, DS-Platinum, Dungeon-Red/Blue, Ranger - Guardian Signs
Reply With Quote
  #16    
Old December 8th, 2009, 11:45 PM
rokrdude's Avatar
rokrdude
POKEMON : SINNOH QUEST CREATOR
 
Join Date: Oct 2009
Gender: Male
Thanks a million for the tutorial
I was looking everywhere for it and finally i found it.
__________________
If U wanna play a ruby hack which is COMPLETE and has ALL SINNOH REGION POKEMON
(All Capturable)



Anyone interested in making Titlescreen or banners kindly contact me or post on the thread


Pokemon Sinnoh Quest
http://www.pokecommunity.com/showthread.php?t=203273


SALIENT FEATURES AND SCREENSHOTS

Spoiler:
1) 385 Pokemon available in the game which are placed strategically throught the game i.e ALL Sinnoh pokemon and 85% of pokemon from Kanto,Jonto and Hoenn
!!!!ALL ARE CAPTURABLE!!!

2) Some d/p Exclusive attacks added like Aura Sphere,Dark Pulse,Close Combat



Last edited by rokrdude; December 16th, 2009 at 12:23 PM.
Reply With Quote
  #17    
Old December 28th, 2009, 06:59 AM
Bozster's Avatar
Bozster
Chief Lunatic
 
Join Date: Jul 2008
Gender: Male
This is a great tutorial, and explains why my Dialga cry sounded like this in game:
Attachment 51677(Creepy)
Just one question, though:
With Audacity, how do you change it to 8-bit?

Last edited by Bozster; January 2nd, 2013 at 07:27 AM.
Reply With Quote
  #18    
Old December 29th, 2009, 11:39 AM
RedYoshi's Avatar
RedYoshi
Wah! Yoshi!
 
Join Date: Feb 2008
Location: Yoshi's Island, DUH.
Age: 21
Gender: Male
Quote:
Originally Posted by Bozster View Post
This is a great tutorial, and explains why my Dialga cry sounded like this in game:
Attachment 51677(Creepy)
Just one question, though:
With Audacity, how do you change it to 8-bit?
It's rather complicated to explain how to do it on Audacity. You're better off using
this program right here. This one is not as complicated
http://www.voxengo.com/product/r8brain/
Reply With Quote
  #19    
Old April 10th, 2010, 01:38 AM
Bozster's Avatar
Bozster
Chief Lunatic
 
Join Date: Jul 2008
Gender: Male
Quote:
Originally Posted by RedYoshi View Post
It's rather complicated to explain how to do it on Audacity. You're better off using
this program right here. This one is not as complicated
http://www.voxengo.com/product/r8brain/
Brilliant! Thanks for the help!

Sorry to bother you, but I have one more question - how do you change the cries of the ? Pokemon in between Celebi and Treecko? Because If I try to repoint one, it repoints all of them, including Unown's.

Last edited by Bozster; April 10th, 2010 at 06:17 AM. Reason: Your double post has been automatically merged.
Reply With Quote
  #20    
Old April 16th, 2010, 11:49 PM
xGGxToiZ's Avatar
xGGxToiZ
>.//:SO HOT:\\.<
 
Join Date: Mar 2010
Location: We're now near the Tin Tower! . xD
Age: 18
Gender: Male
Nature: Modest
I've been waiting for a tut like this!

Thanks!

But I have discovered some "odd" things with the offsets.

Refer to my other post.
__________________


JOHTO ELITE FOUR


. . .


Last edited by xGGxToiZ; April 20th, 2010 at 02:38 AM. Reason: No, I don't like generic posting . .
Reply With Quote
  #21    
Old April 17th, 2010, 06:35 AM
zZJoennZz's Avatar
zZJoennZz
What da!?
Community Supporter
 
Join Date: Apr 2010
Location: alpha world line
Gender: Male
Nature: Jolly
Send a message via Skype™ to zZJoennZz
It's look like hard ...... but nice tutorials!
__________________

...mehehehe
Reply With Quote
  #22    
Old April 17th, 2010, 12:39 PM
giradialkia's Avatar
giradialkia
Community Supporter
 
Join Date: Apr 2009
Location: Ireland
Age: 20
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to giradialkia
Quote:
Originally Posted by Bozster View Post
Brilliant! Thanks for the help!

Sorry to bother you, but I have one more question - how do you change the cries of the ? Pokemon in between Celebi and Treecko? Because If I try to repoint one, it repoints all of them, including Unown's.
Unown's and the slot's cries are the same thing- I don't think they're actually separate cries, but they definately make the same sound, so I'd assume they're actually using the one cry.
__________________

This one's called 'Red', and it's actually kinda Pokémon themed, so have a listen! Check out the links below for more stuff, if you like this!



This is the Doctor
This is my Soundcloud
This is my bandcamp

My Pokémon Y character is the same as my username. If you see me as a Passerby let me know! I tend to get a lot of Passerby requests and I often wonder if it's people from this site.
Reply With Quote
  #23    
Old April 19th, 2010, 01:56 AM
xGGxToiZ's Avatar
xGGxToiZ
>.//:SO HOT:\\.<
 
Join Date: Mar 2010
Location: We're now near the Tin Tower! . xD
Age: 18
Gender: Male
Nature: Modest
I don't know if this has been discovered already.(Too tired to read)

When re-pointing cries, free space offsets that ends in B, E and F somehow don't work.

Well at least, for me.

How about you people?


__________________


JOHTO ELITE FOUR


. . .

Reply With Quote
  #24    
Old May 1st, 2010, 09:32 PM
Jackson5fan7
Beginning Trainer
 
Join Date: Apr 2010
Gender: Male
im having troubles with cries cuz it sound a bit odd can someone help me:/
Reply With Quote
  #25    
Old May 1st, 2010, 11:52 PM
12345's Avatar
12345
Sky
 
Join Date: Aug 2007
Gender: Male
Nature: Calm
Send a message via Windows Live Messenger to 12345
Quote:
I don't know if this has been discovered already.(Too tired to read)

When re-pointing cries, free space offsets that ends in B, E and F somehow don't work.

Well at least, for me.

How about you people?
I used xx0000 free space offsets, it always works.
xx is random.
__________________


Favorite Pokemon Game: GBA-Emerald, DS-Platinum, Dungeon-Red/Blue, Ranger - Guardian Signs
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 02:24 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.