Skip to content

Opus Arrives on the Fonix One

Opus Arrives on the Fonix One

Hot on the heels of the Fonix MP3 and Fonix AAC decoders, we're adding another format to the Fonix One's native playback lineup: Opus.

Why Opus matters

Opus is the modern audio codec behind much of today's streaming audio. It's what powers voice on WhatsApp and Discord, the audio track on YouTube, and a growing share of podcast feeds and music downloads. At typical bitrates it sounds noticeably better than MP3 while using less space, which is exactly why it's become the default for so many platforms.

If you've downloaded a podcast recently, ripped audio from a YouTube video, or pulled tracks from a modern streaming service, there's a good chance it landed on your drive as Opus. Until now, those files wouldn't play on the Fonix One. Today, they do.

Why it was no small task

Opus isn't really one codec, it's two stitched together. SILK is tuned for the human voice and handles speech at low bitrates with remarkable clarity. CELT is tuned for music and general audio, trading compression efficiency for sound quality. And then there's hybrid mode, which runs both at once for content that sits between the two, think a podcast with a musical intro, or a livestream that mixes voice and ambient sound.

We implemented all three paths, fit them inside the ESP32's tight memory budget, and verified the output matches the reference decoder sample-for-sample. Like the Fonix MP3 and AAC decoders before it, the Opus implementation runs entirely in fixed-point arithmetic, no floating-point, no external RAM, no compromises.

How it performs

A 20-millisecond frame of Opus audio decodes in roughly 6–8 milliseconds on the device, well within real-time limits, with plenty of headroom left over for everything else the player is doing. In practice, Opus files play as smoothly as MP3, AAC, FLAC, or WAV.

What this means for the Fonix One With Opus added, the Fonix One now covers essentially every mainstream audio format you're likely to run into, whether it came from a streaming download, a podcast, a CD rip, or a purchased album. That's MP3, AAC, M4A, MP4, FLAC, WAV, and now Opus, every single one decoded by code we wrote and optimised specifically for the ESP32.

Just load your files and press play. The Fonix One handles the rest.