With the latest version of iTunes, Apple buried the interface for making ringtones on the Mac. It’s still possible but a lot more cumbersome to manage.
A little-known secret is that you can actually make custom alert ringtones for iOS on your iPhone itself, using GarageBand. Here’s how.
Try Amazon Prime 30-Day Free Trial
This feature has been around for a while but it’s pretty hidden so it’s worth stepping through how you make custom ringtones with iOS.
If you go to the Sounds settings pane on iPhone or iPad, Apple shows you its extensive default set of available tones (and a bunch more under the ‘Classic’ section) or directs you to the iTunes Store to download music ringtones.
If you already own the music, you can do all of this for free. Download GarageBand on your iOS device to get started. Tangentially related: the new GarageBand update looks fantastic on the extra-wide iPhone X display.
Now, start a new song. GarageBand has adopted the Files app picker so you can store GarageBand documents anywhere in iCloud Drive. To quickly start a new one, tap the + button in the toolbar.
You can now create whatever beat, tone or sound you want to be your ringtone. It can literally be anything as long as the total duration doesn’t exceed 30 seconds.
If you want to use a track from your music library, follow these steps. Select an instrument and record some random noise. You are going to delete this clip in a second, it’s just necessary to record something upfront before having access to the full editor.
Tap the button to take you to the project overview which shows all the tracks. Right now, you’ll have just one. It’s time to import your chosen song from the music library. After the song is imported, we will delete the placeholder keyboard beat (or whatever instrument you tapped).
Tap the Loops button in the top right toolbar. Then select the audio source, most likely ‘Music’ to pick from the iPhone Music Library. (You can pick Audio Files and source an audio clip straight from iCloud Drive).
You can then navigate around your playlists and albums to find a song you want to turn into a ringtone. Some protected music cannot be imported unfortunately.
Tap on a song to preview it. When you find the one you want, hold down on the row to make a draggable item. If you move a finger a little, the modal picker will dismiss and you can then drop the song into the tracks.
You can now delete the placeholder noise you made earlier, leaving you with just the desired music track. To delete a track, tap on it to select it and tap again to show the context menu. Then, tap ‘Delete’.
Remember, ringtones have a maximum duration of 30 seconds. Use the trimming and split editing features of GarageBand to select the part of the song you want to hear.
To split a clip, move the playhead to a point in the file. Then long press on the clip and select ‘Split’. Confirm you are in the right spot and simply pull down on the scissors to split the clip into two.
You can change the total duration of the project by pressing the small + button in the top right corner of the app. The default is 8 bars, or sixteen seconds.
When you have your finished sound, up to 30 seconds in length, you are now ready to save it as a ringtone. Awkwardly, this cannot be achieved in the editor UI. You have to back out to the ‘My Songs’ picker first.
Find your song in the Recents tray. Long-press on it to reveal contextual menu options. Tap Share.
Then tap Ringtone. You can name the ringtone whatever you want. Then tap Export.
After a couple of seconds of processing, it will say Ringtone Export Successful. Tap OK.
Now, you can jump into the Settings app and navigate to Sound screen. When you go to set a tone now for phone calls, texts or other alerts, your newly-exported custom ringtone will appear as a selectable option at the top of the list.
… Now if you make a mistake or decide you don’t want to keep your custom ringtone anymore, how do you delete it? Well, intuitively, you might expect to be able to swipe to delete it from the Sounds screen. Unfortunately, this is not the case.
To delete a custom ringtone you have made, open GarageBand again. Tap Share on the project and return to the Ringtone screen. Rather than tapping the blue Export button, tap on the bolded row ‘Your Ringtones’.
This lists all the custom ringtones you have exported and if you tap Edit in the toolbar, you can delete them from there.
Did you know the iPhone X includes an exclusive default ringtone ‘Reflection’? If you are dedicated enough, you can rip the Soundcloud file from that page using your Mac, sync it to iCloud Drive as an audio file, and then use the above steps on your older iPhone to get the ringtone imported as a selectable custom ringtone.
Custom ringtones on iOS are very much a supported feature, Apple just doesn’t really talk about it that much.
I think it’s fair to say the user interface for editing and accessing this feature could do with some improvements and polish though. That being said, this is how you pull off custom ringtones on iPhone and iPad without involving iTunes at all!