Can I extend the iPhone's maximum ringtone duration?

Solution 1:

This is a way to trick the iPhone (iOS 6.0) into making ringtones longer than the ~40 second maximum:

Note: This may now be a moot point since you can select songs for the default alarm, but the one advantage is it allows the phone to vibrate when it is a ringtone and the vibrate alert is enabled.

Summary: Add a short 15sec .m4r song to iTunes. Replace the source file with the full length .m4r version, then drag it from the Library to your iPhone. iTunes will be expecting the short version but will copy the whole thing without error.


Prerequisites: Create two .mp3 versions of the song. One the full length, the other a short version <30sec.

Detailed instructions:

1) Create two folders. One with the full length version of the song. The other with a 15s version.

2) Add the short version to the iTunes Library via File>Add File to Library

3) Convert the short version to AAC, then search for it in Music. Once you find it, right click to Show in Windows Explorer. Rename the file extension of the short song to .m4r. Keep the Window Open.

4) Move the .m4r version to the short folder in Step 1.

5) Remove the AAC listings in the Music Library.

6) Repeat the AAC conversion for the full version, following Steps 3-5 while working from the full length folder. This is to prevent confusion. Use file size to help separate if needed.

6) From the short folder in Step 1, drag the .m4r into the Library section in iTunes.

7) Rename the short .m4r file extension to .m4r_short

8) Copy the full length .m4r into the short directory.

9) From within the iTunes Library, open Tones and then drag the song to your iPhone. The entire full length song will copy without any errors.

Solution 2:

Method that semtex41 mentioned still works on iOS 8.

On Mac (OS X) you can do this:

  1. Create two folders, one for short and one for long
  2. Create two .m4r (.m4a, renamed) ringtones, one to each folder
    • Short one must be LESS than 40 seconds
  3. Give both files same name
  4. Open iTunes and drag the short tone to tone library
  5. Close iTunes
  6. Open /Music/iTunes/iTunes Media/Tones
  7. Rename the ringtone from eg. tone.m4r to tone.m4r_short
  8. Copypaste long version to Tones folder mentioned in 6, and make sure it has same name as short one had
  9. Open iTunes, the Ringtones (or Tones) sections shows, that your tone's length is same as the short one's but content is from the long one.
  10. Connect your iDevice, select Tones, select tones to sync, and click sync
  11. Done!

Solution 3:

A custom ringtone can be up to 40 seconds - my custom ones are 38 seconds, and are made with iTunes - like this: http://artoftheiphone.com/2009/01/19/how-to-create-an-iphone-ringtone-using-itunes/

Solution 4:

iOS 7 update: the below procedure requires that you first install the ToneEnabler tweak, as Apple changed the way ringtones are loaded.

If your device is jailbroken:

  1. Create your ringtone file (neroAacEnc -if ringtone.wav -of ringtone.m4r).
  2. Establish an SSH tunnel to your device (iphone_tunnel --iport 22 --lport 22).
  3. Connect to your device using WinSCP or similar tool.
  4. Browse to /Library/Ringtones/ (there should be a bunch of .m4r files in there).
  5. Drag and drop your ringtone file in with the others.
  6. Re-open "Sounds" in your device's settings.

Your ringtone (of arbitrary length) should now be available to you.

Note: Tested on iOS 5.1.1

Solution 5:

I'm wondering if there is a way to extend the maximum duration of ringtones for my iPhone past 30 seconds.

iPhone ringtones cannot be longer than 40 seconds.