There are many apps that allows you to set your Songs as Ringtone of iPhone, but none of them gives the accurate access to the folders that have those songs to appear in the Tones List. Instead you have to save the .m4r file to your PC and Sync them with iPhone using iTunes. The one way is to follow the Rule of Gargaband, which can create and save ringtones to your iPhone.
How To Use Garageband to Make a Ringtone on an iDevice Running iOS 6.
Open iTunes. From the Library, Right-Click the Song you want to choose as Tone, then Select Get-info. Select the Options Tab and Tick the Start and Stop time. You might have to listen the track to set the Start and Stop time. The Time limit is 30-seconds. Click OK, now Right-Click the Track again and select Create ACC version, iTunes will then convert the song. It will appear as a Duplicate link, you can identify it because of the Track Length. Right-Click on the Original Track > Getinfo and return the start and stop points of the Track back to original, Otherwise the original track will be edited too. Right-Click the short track and Click to show in Windows Explorer, now rename it to .m4r for .m4a. Double Click the file to add it to iTunes Library. Then in iTunes, click the Drop-Down arrow to select the Tone section of our Library. Connect your iDevice with PC and Click on iPhone, when it appears on left side. Make sure the tone is set to Sync with your iPhone. When the Sync is Finished, on iPhone Tap Settings > Sounds > Ringtone and select the New Tone. It should appear at the Top of List, above the Default ringtones.