Why Opus for short sounds
Opus is a modern open codec that gives good quality at low bitrates. It is supported by every modern browser, Android, and many chat, game and web apps. For short tones, this means small files that load instantly. Developers who need a set of alert sounds for a website or app, and people who collect many tones, often convert M4R to Opus for exactly this reason.
Bitrate suggestions
| Sound | Opus bitrate | 30 seconds |
|---|---|---|
| Voice tone or simple beep | 32 kbps, mono | about 120 KB |
| Melodic ringtone | 64–96 kbps | 240–360 KB |
| Rich music clip | 128 kbps | about 480 KB |
The same tone as a 256 kbps M4R is about 1 MB, so Opus can be several times smaller. Remember that both formats are lossy: going very low adds artefacts on top of those already in the AAC source.
48 kHz output
Opus always works at 48 kHz internally. Most ringtones are 44.1 kHz, so they are resampled during conversion. This is normal and you will not hear it, but players and editors will report the Opus file as 48 kHz.
Where Opus plays
- Works: Chrome, Firefox, Edge, Android, VLC, Discord, most web and game frameworks.
- May not work: older iPhones and Macs, many car stereos, older Windows players, some phone ringtone pickers.
So for a ringtone on a phone, M4R to MP3 or M4R to OGG is the more reliable choice. Opus is best when the sound is used inside an app or on the web.
Preparing sounds for an app
For interface sounds, trim silence at the start so the sound plays exactly when triggered; the audio editor makes this precise. Keep levels consistent across a set of sounds with Normalize. Titles from the M4R file are written as Vorbis comments, which Opus uses for tags. Tones with old copy protection from the early iTunes Store will not convert.