finds.dev← search

// the find

pdeljanov/Symphonia

★ 3,261 · Rust · MPL-2.0 · updated Jun 2026

Pure Rust multimedia format demuxing, tag reading, and audio decoding library

Symphonia is a pure-Rust library for decoding audio (MP3, FLAC, AAC, Vorbis, ALAC, etc.) and demuxing media containers (OGG, MKV, MP4, WAV). It's the go-to choice for Rust projects that need audio playback or processing without FFI into libav. Used as the audio backend in projects like Rodio and Bevy.

100% safe Rust with no unsafe blocks in the codec implementations — meaningful for sandboxed or security-sensitive contexts. Fuzz coverage per codec and per demuxer, which is exactly what you want for a library parsing untrusted binary data. Performance benchmarks show parity with FFmpeg within ±15%, which is a credible claim backed by actual numbers in the repo. The modular crate-per-codec structure means you pay only for what you enable — no AAC patent surface if you only need FLAC.

Opus and WavPack decoders are stubs — listed in the codec table with '-' status and no implementation, so the feature flags exist but do nothing useful yet. HE-AAC (the codec used in most streaming audio) is also unimplemented natively; you need the fdk-aac FFI adapter, which drags in a C dependency and a licensing headache. Gapless playback is missing for several format/codec combos (MP4/ISO, CAF, MKV), which is a real gap for music players. No encoding or muxing — this is decode-only, so if your pipeline needs to write audio files you're adding a second dependency.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →