
Today's iPhone hack-du-jour uses iTunes preview files for ringtones. As you probably know, iTunes freely offers short audio samples of its entire library. You can easily download these samples from iTunes and install them onto your iPhone as custom ringtones. Since your iPhone is authorized to your account, you'll be able to play back these otherwise protected audio snippets as ringtones. Here are the steps to take to make this work for you:
1. Create a new playlist. Drag unpurchased songs from the iTunes store into your playlist. The songs will retain their "Add Song" buttons and their price within the playlist.
2. Export your playlist. Select the playlist in the sources column. Control-click/Right-click the playlist name and choose Export Song List from the pop-up menu.
3. Save the playlist as plain text. Select Plain Text from the Format pop-up and save the playlist file to your desktop.
4. Open the playlist file. It is a tab-delimited file of columns, so you can open it up in Excel (my preference, make sure to option-drag the text file onto the Excel icon) or a text editor like TextEdit.
5. Locate the file URLs. Each file URL appears in the final Location column for each line. Copy the URL.
6. Download the files. In Safari 3.0, open the Downloads window (Windows->Downloads). Paste the URL into the Download window and allow the file to transfer. Your computer must be authorized to your iTunes account. You may want to try playing back the file in QuickTime Player just to be sure it downloaded correctly. If you're not a Safari 3.0 user, use your favorite alternate such as curl, wget, or so forth.
7. Rename. Give the file a more meaningful name than, for example, "mzi.rwgtaash.aac.p.m4p". Retain the .m4p extension.
8. Upload to the iPhone. Use your favorite method (iphoneinterface, sshfs, sftp, whatever) to copy the file to /Library/Ringtones on your iPhone.
9. Select the ringtone. On the iPhone, navigate to Settings -> Sound > Ringtone and select the new file. The ringtone will play back as you select it. Please note that some newer releases (including Nicole Scherzinger's Whatever U Like--thanks Drunk Dwarf) do not work as ringtones. I'm not sure why.
Congratulations, not only have you added a new 30-second custom ringtone to your iPhone, but iTunes usually picks the best 30 seconds of any song for its preview. Enjoy.
GeekNote: If you've got curl installed on your iPhone, you can curl the URLs directly to /Library/Ringtones.











Reader Comments (Page 1 of 5)
7-26-2007 @ 11:36PM
Tom said...
Wooo, neat... I wonder how long Apple will allow this...
Reply
7-27-2007 @ 9:32AM
Miroze said...
Confirmed, this does work. Thanks Erica for writing up the tutorial!
Reply
7-27-2007 @ 10:02AM
dale said...
Since when did this become the unofficial iphone weblog? Seriously, cut the iPhone coverage, its boring already.
Reply
7-27-2007 @ 10:18AM
Robert said...
Dale: Skip the iPhone articles you troll. The feature in your browser to do that is called scrolling. Use your mouse or "page down" button on your keyboard.
Erika: The curl on the iPhone hint is double plus cool.
Reply
7-27-2007 @ 11:02AM
SBro said...
Erica,
These iPhone posts are awesome! You really are doing a great job lately with all these neat tricks.
Thanks and keep up the good work!
Reply
7-27-2007 @ 11:59AM
Al said...
I agree with Dale. TUAW needs to start an iPhone blog, in the same manner that Engadget has created Engadget HD and Engadget Mobile.
Here's a tip, too: you don't have to use an extra program in order to download files in Safari. Just paste the url of the file (or html document, for that matter - if you wanted to download an html document...) in the address bar and hit option-Enter. The file will download! Ta da.
Reply
7-27-2007 @ 12:22PM
David said...
Wow, this is great. Thanks Erica!
Reply
7-27-2007 @ 12:50PM
Chuck said...
Explain to me how Step #8 works. Sorry. I'm new to this.
Reply
7-27-2007 @ 1:22PM
ChuckB said...
I don't have an iPhone, but this might be a simpler way. I use this with a plain old Sony Ericcson phone and it works great.
Start Wiretap Pro. Go to the ITMS. Set WTP to record. Play the song preview you want. Save as an mp3 file. Transfer to phone.
The procedure for file transfer would be different(?) with the iPhone, but it should work the same otherwise. What this avoids is issues with ITMS authorization. The slight degradation in quality of the sound in this method is certainly irrelevant for a ringtone.
Reply
7-27-2007 @ 2:53PM
Geoff Pado said...
This will work with Safari 2, as well. Just sayin'.
Reply
7-27-2007 @ 2:57PM
Justin said...
Great tip! Keep em coming. I am coming very close to hacking up my currently hack-virgin iPhone. This post has brought me the closest yet!
Reply
7-27-2007 @ 4:05PM
Demetrey said...
How do I copy the file onto the iPhone? I'm stuck there. Thanks.
Reply
7-27-2007 @ 4:23PM
dalasv said...
I was there when you figured this out! Yay!
Reply
7-27-2007 @ 4:35PM
britt said...
Hi erica....well I was really excited about this at first....but i dont understand step 8. do you put it back in to your itunes playlists? im sorry, im confused.
Reply
7-27-2007 @ 5:00PM
Ray said...
The /Library/Ringtones directory isn't visible using iphoneinterface. Are there any other steps needed to be run before #8??
Reply
7-27-2007 @ 5:01PM
Erica Sadun said...
Ray: You either need to jailbreak your iPhone (so /Library/Ringtones is visible) or use any of the third party ringtone installers
Reply
7-27-2007 @ 5:06PM
Erica Sadun said...
Google for iPhone Ringtone Maker and iFuntastic
Reply
7-27-2007 @ 5:10PM
lewandowskid said...
im stuck on line 8 also. i have the 30 second preveiws in my phone in the ipod section. i dont know how to set them as ringtones
Reply
7-27-2007 @ 5:24PM
mdnetguru said...
Alternately, I right-click a full song I already have in my library, click 'get info', click 'options' and pick my own start and stop point and usually apply an EQ filter like 'vocal booster' or 'reduced bass' (the iPhone speaker crumbles on bass heavy songs). After you trim the song as desired, right click the song and "convert selection to aac" and viola! an iphone ready ringtone file is created next to your original. Be sure to change your original file back to full length and turn off the EQ filter when your finished though.
Reply
7-27-2007 @ 5:39PM
Jeff said...
does not work for me.. the file downloaded is a m4p file and it's protected (with a lock on the icon) and iFuntastic 1.0 or 2.0 won't see that file.
am I doing something wrong?
Reply