From ModMyi - Wiki
Aiden1983:
This is a little tutorial on how to make custom SMS sounds (text messaging sounds). I see on the forum that this has been asked about 100's of time so I decided to put it somewhere we can all find it. This will be written primarily for mac users in mind but the basic steps are the same. I will use AFP to transfer the sounds onto the iPhone.
Step 1, Download or create a short mp3, approximately 2-3 sec.
***Longer mp3's will work but remember that you cannot mute the sound like you can rings (ie. hit the top button to silence the ring) and the second problem with the longer mp3's is the fact that the sound plays even when you are on the phone so a 30 sec song would get pretty annoying pretty fast.***
Step 2, Open up Quicktime, Click File-->Open File then navigate to your mp3, Click File-->Export, Select Sound as AIFF under the Export list.
Step 3, Locate the File you just exported, Control Click, then go to Get Info, Rename it one of the following:
sms-received1.caf This will replace Tri-tone
sms-received2.caf Chime
sms-received3.caf Glass
sms-received4.caf Horn
sms-received5.caf Bell
sms-received6.caf Electronic
***Make sure you click use .caf***
Step 4, Turn on your iPhone, Make sure AFP is turned on.
Step 5, On your computer Open Finder and Hit Command K, Open Root File System then navigate to /System/Library/Audio/UISounds
Step 6, If you would like to save a copy of the original SMS sound then select the one you are about to replace and rename it something like sms-received2original.caf or something like that and just leave it on the phone. If you do write over it you can download it from the download section on your favorite website :)
Step 7, You can now replace the SMS sound by Dragging and Dropping your new SMS Sound into the Folder and Restart the iPhone
Step 8, On your iPhone go to Settings-->Sounds-->New Text Message and select the SMS sound you just replaced
This should now work, if it doesn't turn off the iPhone and try again, if you followed the steps then you have a new sms ringtone :)
If I forgot anything please let me know and I can correct it.