Saturday, March 14th, 2009 | Author: pluc | Views: 17,913

You’ve all been annoyed at the default iPhone sounds sooner or later. They’re pretty ordinary, I’ll agree with you. One of the extremely useful features of JailBreaking your device is that you have the power to change the default sounds for pretty much any event. Today, I’ll show you how to replace your default SMS tones with custom ones of your choosing. In order to do so, you’ll need a jailbroken iPhone (running 2.x), Cydia, OpenSSH and optionally WinterBoard. You’ll also need the audio file you want to use (obviously) an SSH client (ideally a graphical SFTP frontend like FireFTP) and an audio editing application like Audacity. Ready? Here goes!

Step 1: Edit your sound file

Since we’re looking to replace a SMS tone, the sound file you choose should be short, ideally 3-4 seconds long. Personally, I was annoyed that the iPhone (and many other mobile devices) didn’t come with a simple “beep” alert, so I’ll be using two simple beep sounds in the example. You can download and/or preview them at the bottom of this post. If the sound you want is part of a longer track, you can easily edit it out with Audacity or any other audio editing application. I’ll assume you have your sound file ready. One thing that’s important in this step is that your sound file should be saved under the Audio Interchange File Format or AIFF. In order to do so, export your original file as an uncompressed .aiff file. Should be easy enough. If you dont have an AIFF export feature or Audio Converter program, dont worry, you can use iTunes to do the conversion. Import the MP3 file to iTunes. Goto iTunes -> Preferences (for Mac) or Edit -> Preferences (for PC). Navigate to Advanced -> Importing tab and set the “Import Using:” to AIFF then import the file. Once that’s completed, locate your sound file and replace the extension from .aiff to .caf (Apple Core Audio Format). At the end of this step, you should be left with a .caf file of a few kilobytes.

Step 2: Package your custom tones (optional)

This is where WinterBoard comes in handy. WinterBoard basically allows you to package your customizations in order to avoid replacing the iPhone’s default files. You can replace pretty much anything you might ever need to without modifying a thing and using WinterBoard’s nifty little interface to enable/disable your modifications. If you don’t have or don’t want WinterBoard, skip to step 3. Otherwise, read on!

Making a WinterBoard package is rather easy. You simply have to respect a given structure and place your custom files according to their original locations. There’s a great introduction/tutorial on how to make your own WinterBoard theme over at ModMyi if you’d like to know more. Start off by creating a folder on your desktop. Call it whatever you wish your WinterBoard package’s name to be; I’ll use “pLSounds”. Go into that folder and create another folder, name it “UISounds” (case sensitive). Put the .caf file resulting from step 1 into this folder (UISounds). What this will result in is simple. The iPhone’s default file structure places every sound file in /System/Library/Audio/UISounds – WinterBoard adds symbolic links in /Library such as “Themes”, “Ringtones” and “Wallpapers” pointing to WinterBoard’s file repository in /var/stash. In simple words, everything you will put in your package’s “UISounds” directory will, once activated, emulate overwriting the iPhone’s default “/System/Library/Audio/UISounds” folder, therefore allowing you to use your own custom data. Now, for SMS tones, the iPhone’s default files are named like this:

  1. /System/Library/Audio/UISounds/sms-received1.caf (Tri-tone)
  2. /System/Library/Audio/UISounds/sms-received2.caf (Chime)
  3. /System/Library/Audio/UISounds/sms-received3.caf (Glass)
  4. /System/Library/Audio/UISounds/sms-received4.caf (Horn)
  5. /System/Library/Audio/UISounds/sms-received5.caf (Bell)
  6. /System/Library/Audio/UISounds/sms-received6.caf (Electronic)

So in order to be able to use the custom SMS tones you create, you need to respect the default file nomenclature. If you’ve created two custom tones, name them “sms-received5.caf” and “sms-received6.caf”. Once enabled in WinterBoard, they will replace the Bell and Electronic tones in your iPhone’s Sound Settings panel.

Step 3: Upload your data

The rest is rather obvious and simple: you’ve created a WinterBoard package containing your custom SMS tones, now all you need is to send it on your iPhone! In order to do so, you will need to have OpenSSH installed and enabled on your iPhone. OpenSSH allows you to connect securely to your device and perform actions typically available on a BSD platform. To make it easier, we’ll transfer the files using the SFTP protocol (SSH File Transfer Protocol or Secure File Transfer Protocol). First you’ll need to figure out your iPhone’s IP address; this is much easier when you’re on a local network you control. To figure out your IP address, either use available applications (such as BossPrefs), check your router’s DHCP client table or log in to your iPhone via Terminal and type “ifconfig en0 | grep inet” at the prompt. Connect to it via SFTP and browse to the the appropriate directory (WinterBoard: /Library/Themes – without WinterBoard: /System/Library/Audio/UISounds) and upload your package’s directory or your caf files. If you’re not using WinterBoard, make sure to create backups of all the files you will overwrite just in case. Voila! You can now close everything, fire up WinterBoard on your iPhone and you should see your package. Enable it and check out the Sound Settings to set your custom SMS tone. Easy huh?

Sources and Downloads

  1. How to make your own WinterBoard theme tutorial at ModMyi
  2. Amplify UK

You can download the two audio files I’ve used for my custom SMS tones here in CAF format.



Category: Mobile
You can leave a response, or trackback from your own site.

11 Comments

Pages: « 1 [2] Show All

  1. hey, i know how to SSH im using WINSCP, and when I go to root/library I cant find audio or UIsounds.. idk if u can helpme

Pages: « 1 [2] Show All

Leave a Reply