How to Create Custom Alarms for the Alarm on the iPhone/iPod Touch using music from your library.

First of all you will need a jailbroken iPhone/iPod touch. Secondly you'll need to have openssh installed on your iPhone/iPod, and an SSH client for your computer.

  1. Turn SSH ON on your device if it's not already on (You can turn SSH on in SBSettings).
  2. Open your SSH client on your computer, and login.
  3. Once you're logged in, navigate to the MUSIC folder on your iPod/iPhone. The location of the music folder is: /private/var/mobile/Media/iTunes_Control/Music/
  4. In this folder there will be more folders labeled with an F then a number. All of the music on your device is located in these folders. Now search through the folders until you find the song you would like to make the alarm. It may take a while since all the songs are labeled with random letters, but once you find the song, write down the file name.
  5. Now navigate to the Ringtones folder in your SSH program (This is where all the beeps are located for the alarm). The location of the ringtones folder is: /private/var/stash/Ringtones.RpbzVQ
  6. You will see a list of all the ringtones that can be used as alarms. Now the ringtones are in .m4r (ringtone) format, which is basically just an aac file. You do not need to convert your music file to aac format, and rename it to .m4r. In your SSH program create a link in the ringtone folder (Files->New->Link... in WinSCP).
  7. When you create the link you can name it whatever you want, most likely the name of the song. This is what will show up in the alarm app when you go to choose an alarm. Now the most important important part is to add .m4r after the name of the link (Ex: Song Title.m4r). This is what will trick the alarm app into thinking that the music file is actually in Apple Ringtone format (.m4r) even if is really an mp3, m4a, or m4p file. Now for the place point link/shortcut to type the location of the music file. The location should be something like /private/var/mobile/Media/iTunes_Control/Music/-->part that varies [F##/Random Letters.m4a/mp3/m4p]
  8. Once you're done click OK to create the link, and then Exit your SSH session. You should now be able to open up the Clock app go to Alarm, and create an alarm with your custom sound.

As far as I know there is no limit as to how long the sound can be, so yes you can use the whole song