Convert an Audio File into an Android or iPhone Ringtone from Terminal

Feb 14, 2014 - 5 Comments

Convert a ringtone from the command line Ever wanted to create an iPhone or Android ringtone from an existing audio file, but wanted to complete the process entirely from the command line? You’re in luck, because OS X has a little audio conversion tool that can turn any existing audio track into an Android or iPhone compatible ringtone in seconds. We’ll break the command down for both Android and iPhone users, though whichever method you choose you’ll still need to sync the ringtone over to the device yourself.

This is obviously geared towards a bit more advanced users who like to mess around in the Terminal, and it’s certainly not the most user friendly way to craft ringtones like how it can be done with iTunes or Garageband. No, this is for users who want to avoid the GUI for whatever reason, and instead turn over to the terminal, perhaps to automate the task or maybe just to gain some geekier cred.

Note that iPhone ringtones created this way will still need to fall within the 45 second maximum length to actually be used on the device. Android smartphones don’t have that same time limit, but you can always trim the audio anyway

Converting an Audio File to an iPhone Ringtone from the Command Line

The iPhone uses the m4r ringtone format, which is a variant of the m4a audio file type. We’ll be using the afconvert command to take an existing audio file and convert it directly to m4r. The general syntax to use is as follows:

afconvert [original-audio-file] [ringtone-file] -f m4af

For example, we’ll take a short song called “Waiting” from the iTunes library and convert it into an m4r that will sit on the desktop:

afconvert ~/Music/iTunes/iTunes\ Media/Music/Shook/Waiting.mp3 ~/Desktop/Waiting.m4r -f m4af

Going a step further, we’ll convert an audio track (mp3 in this case) into a m4r, then import it directly into iTunes by opening it through there:

afconvert ~/Music/Sample.mp3 ~/Sample.m4r -f m4af && open ~/Sample.m4r

Yes you can drop m4r files directly into the Tones folder instead, but iTunes must be launched either way to import it.

You will still need to sync the ringtone over to the iPhone yourself unless you have automatic syncing turned on, once it’s on the iPhone, set it as your normal ringtone through Settings > Sounds, or assign it to a contact if you’d rather it be unique to a person.

Converting an Audio File into an Android Ringtone via Terminal

Android phones accept mp3 and m4a as ringtone files, so all we need to do is adjust the afconvert command to specify a different file format output. The syntax is otherwise the same as the conversion outlined above:

afconvert /path/to/original /destination/ringtone.m4a -f m4af

For example, this command will take an audio file on the desktop named “1up.aiff” and turn it into an Android ringtone:

afconvert ~/Desktop/1up.aiff ~/Desktop/1up.m4a -f m4af

Now you just need to get the ringtone onto the Android phone, either through Google Play, with Android File Transfer, or by mounting it as a drive and copying it to the phone file through the filesystem. If you’re copying through the file system, be sure to drop it into the “Ringtones” folder on the Android phone – if that folder doesn’t exist for some reason or another just make it yourself. Once it’s on the Android phone in the proper location, you can find it in Settings > Sound > Phone ringtone.

Enjoy this tip? Subscribe to the OSXDaily newsletter to get more of our great Apple tips, tricks, and important news delivered to your inbox! Enter your email address below:

Related articles:

Posted by: Paul Horowitz in Command Line, iPhone, Mac OS X, Tips & Tricks


» Comments RSS Feed

  1. Jeff says:

    In the 3rd example, shouldn’t the “-m4af” actually be “-f m4af”? I haven’t tested this out, but am just comparing this example to the previous two.


  2. Mason_Moore says:

    Have any objections about me publishing this on my twitter?

  3. Tillamook Chobani says:

    For (some) Android flavored phones like the Nexus 5 and Galaxy line, you can use mp3’s directly as ringtones, basically your entire music library is open to you.

    The iPhone can’t use mp3 as ringtone, mysteriously, and requires the m4r format for no obvious reason. Perhaps because they are charging $1 or whatever per ringtone, or at least they used to I think? I don’t know because I would never pay for a ringtone when they are so easy to make, someone else probably knows their price on iTunes.

Leave a Reply


Shop on and help support OSXDaily!

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates

Tips & Tricks


iPhone / iPad



Shop on Amazon to help support this site