pdeljanov/symphonia

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

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 15 seconds ago
Added to GitGenius on September 20th, 2026
Created on February 23rd, 2019
Open Issues & Pull Requests: 76 (+0)
GitHub issues: Enabled
Number of forks: 241
Total Stargazers: 3,399 (+0)
Total Subscribers: 19 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 27
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 689 days
Stale 30+ days: 23
Stale 90+ days: 19

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (10)
  • help wanted (5)
  • need data (1)

Detailed Description

Symphonia is a pure Rust multimedia format demuxing, tag reading, and audio decoding library.

Symphonia addresses the need for a native Rust solution to decode audio and extract media from container formats without relying on external C libraries. It provides automatic format and codec detection, allowing developers to work with audio files across multiple formats through a unified interface. The library handles demuxing of container formats like MP4, MKV, OGG, and WAV, decoding of audio codecs including MP3, FLAC, AAC, ALAC, and Vorbis, and reading of metadata and tagging formats. Gapless playback is supported for seamless audio reproduction.

Symphonia suits projects that require audio processing in pure Rust without external dependencies, particularly those targeting embedded systems, WebAssembly, or environments where linking C libraries is impractical. The library prioritizes safety and performance, using only safe Rust code while maintaining speed comparable to native implementations. By default it enables only royalty-free open standard codecs and formats, though additional codecs can be enabled via feature flags. Projects needing broad codec support can enable all formats at once. The library provides basic audio primitives for efficient audio data manipulation alongside its decoding capabilities.

Development activity shows consistent maintenance with passing continuous integration checks and up-to-date dependency management. The project maintains clear documentation including getting started guides, API documentation, and benchmark information. Individual audio codecs and media formats are organized as separate crates within the project structure, allowing modular feature selection. The roadmap indicates planned expansion to provide C and WebAssembly APIs for integration into other languages and web environments.