This tutorial will allow you to change the cries of your Pokemon to whatever you want. This is a very important factor if you're going to add your own custom pokemon, or Pokemon from newer generations. You need a hex editor, theres no other way around this and you'll have to learn to live with it.
Each cry declaration is 6 bytes long, and located at F2747. They are in order of Pokedex number. To find what Pokemon you want to edit, simply take your windows calculator (If you don't have windows or cant find the calculator, USE GOOGLE to find an online version to convert hex to dec).
Let's say we want to edit Zubat's cry. Zubat's number 41, now subtract that by 1, then multiply that by 6, which equals 240. Convert it to hex (F0), and add that to the starting location (F2747), and it equals F2837. That is where Zubat's cry is.
01 = Basic sound. You know that some pokemon share the same cry, but did you know that there are only 67 unique cries in the game? Here is a list of them.
As we can see here, these cries can be altered so they sound nothing like each other, such as Celebi and Entei, and Squirtle and Zubat. Do NOT go above 44, it will create glitch cries that can have odd effects to the music, and may take forever to finish.
02 = KEEP THIS VALUE AT 00! This is the ninth bit to basic sounds, and if you change it to 01 or above, the cry will be glitched. This sparks some curiosity, hinting maybe Gamefreak was originally going to put in more cries.
03 = Pitch. The higher the value is, the higher the pitch is, and visa versa.
04 = This is a cool effect, it creates a single echo of the cry. The higher the value, the more loud the echo is. Mostly used by Johto Pokemon, one of them is Chikorita, who uses FF, being the highest echo the game can allow.
05 = Length. The higher the value is, the longer the cry is stretched out. The "normal" length is usually 80. However, some Pokemon, especially Johto use 00 with the next byte as 01
06 = This is the next byte to the length. Only 00 and 01 are used, and can be used to REALLY stretch out the cries. However, you can go 02 and above, but that could make the cries way too long...
Heres some examples of cries.
Metapod: 1C 00 CC 00 81 00
Chikorita: 31 00 F0 FF B0 00
Entei: 37 00 00 00 80 01
Celebi: 37 00 4A 01 11 01
Mewtwo: 1E 00 99 00 7F 01
Mew: 1E 00 EE 00 7F 01
And now you know how to edit the cries.
Want to know why Missingno typically has Nidoran/sandshrew's cry, but shorter? Gamefreak made all of the values in the cry 00. The method in Red/Blue is similar, but no second bytes to each method and no echo value. So 00 as the Base cry, 00 as the length, and 00 as the pitch, you have Missingno's cry!
Attached is a recording of all of the cries used with no special pitch and average length. You can use these for reference.