Audio · 03
Ringtone maker
Pick a start, keep it under 40 seconds, and export an AAC file with a .m4r name. Phones treat that extension as a ringtone; the bytes are a normal M4A.
How to use it
Choose the audio, set the start in seconds, and set the length. Forty seconds is the cap because many phones reject longer tones, and a short hook is what people actually hear.
ffmpeg trims with -ss and -t, encodes AAC at 128 kbps, and fades 80 ms at the head and tail so the loop does not pop. The preview plays in the page. The download button saves the same bytes with an .m4r filename.
Install the tone the way your phone expects: AirDrop or Files on iPhone, or copy the file into the ringtone folder on Android. This page does not talk to either device.
Tips
- Start a bar before the hook, not in the middle of a word.
- A 20 to 30 second cut is easier to set as a default tone than a 40 second one.
- If the phone says the file is not a ringtone, rename is already done. The container is MP4 audio. Some Android skins want .m4a instead; the bytes are the same.
FAQ
Is an M4R a special codec?
No. It is AAC in an MP4 container, named .m4r so iOS offers it as a ringtone. Android often accepts the same file as .m4a.
Will this strip the vocals?
No. Use the vocal remover first if you want an instrumental bed, then bring that WAV here.
Why is 40 seconds the maximum?
Classic phone ringtones are short, and a long encode in the tab is wasted time. Cut the hook, not the whole song.
License
Encoding uses the single-thread ffmpeg.wasm build shipped with Cutshed. The JavaScript wrapper (@ffmpeg/ffmpeg and @ffmpeg/util) is MIT. The core binary is GPL-2.0-or-later because the build enables GPL components, including libx264, libmp3lame, libvorbis, and native AAC and FLAC. That license covers the encoder, not your recording.