rotary VS Symphonia

Compare rotary vs Symphonia and see what are their differences.

rotary

A crate for working with audio in Rust (by udoprog)

Symphonia

Pure Rust multimedia format demuxing, tag reading, and audio decoding library (by pdeljanov)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
rotary Symphonia
4 30
72 2,060
- -
5.8 7.9
25 days ago 3 days ago
Rust Rust
Apache License 2.0 Mozilla Public License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

rotary

Posts with mentions or reviews of rotary. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-24.
  • Symphonia v0.5.2: Audio decoding in safe Rust, now often faster than FFmpeg!
    6 projects | /r/rust | 24 Jan 2023
    One major difference between the audio crate and Symphonia's buffers is that the audio crate doesn't (currently) convey the sample rate with the buffer, but that could be added. If you find anything else missing, feel free to open an issue on https://github.com/udoprog/audio/issues.
    6 projects | /r/rust | 24 Jan 2023
    Regarding improving the API for 0.6, something that bugs me about the current Rust audio ecosystem is that everyone is reinventing the wheel with their own audio buffer types each with their own API that downstream users have to learn. This makes it more of a hassle to pass audio data from one library to another than it should be. I've been contributing to the audio crate which provides buffer structs and traits for working with audio buffers with a common API regardless of their layout in memory. I have a work-in-progress branch for Rubato refactoring it to use the audio crate, though there's a bit more work to do in the audio crate to complete that. Would you be interested in using the audio crate in Symphonia?
  • Continuous Looper - Deep dive into an open-source live-looper and sampler written mostly in Rust
    2 projects | /r/rust | 12 Apr 2022
    Something that bugs me about the current state of the Rust audio ecosystem is that everyone is rolling their own audio buffer structs, which makes it cumbersome to pass audio data between crates. I hope the audio crate can help with this, but the author is waiting for GATs to stabilize before developing it further.
  • Miri can now run doctests :)
    3 projects | /r/rust | 6 Apr 2021
    Sweet! No more duplication just to get my code checked by miri.

Symphonia

Posts with mentions or reviews of Symphonia. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-28.
  • Festival v1.0.0 - A music player
    6 projects | /r/rust | 28 Jun 2023
    Symphonia for an amazing audio library
  • Streaming audio from url
    2 projects | /r/rust | 23 May 2023
    Are you trying to play audio from something like an internet radio station where the stream has an infinite length? The content length header is optional. It uses that to support seeking within the file. Symphonia, one of the underlying backends for Rodio, has an option to tell the decoder that the source is not seekable if the size of the file is not known. Unfortunately, Rodio currently hardcodes this setting to true https://github.com/RustAudio/rodio/blob/master/src/decoder/read_seek_source.rs#L19. I actually wrote this code a few years ago so I should know this, but I can't remember why exactly. I think there was no easy way to communicate this information to Rodio since the other backends don't have a setting like this. The other Rodio backends may handle this differently. There's a lot of great info in this discussion on the Symphonia repo about this use case which helped me with my implementation: https://github.com/pdeljanov/Symphonia/discussions/153
  • Announcing zune-jpeg: Rust's fastest JPEG decoder
    7 projects | /r/rust | 1 Mar 2023
    In other areas, miniz_oxide is faster than miniz, Symphonia is faster than ffmpeg on most codecs, the not-yet-announced zune-png beats both libpng and the more heavily optimized libspng, and the png crate is getting considerable improvements too and also beats libpng.
  • What would you rewrite in Rust?
    44 projects | /r/rust | 11 Feb 2023
    i think op means https://github.com/pdeljanov/Symphonia
    44 projects | /r/rust | 11 Feb 2023
  • Symphonia v0.5.2: Audio decoding in safe Rust, now often faster than FFmpeg!
    6 projects | /r/rust | 24 Jan 2023
    Symphonia is an audio decoder framework in 100% safe Rust supporting the most popular media formats (MP4/M4A, OGG, MKV/WebM, WAV) and audio codecs (AAC-LC, ADPCM, ALAC, FLAC, MP1/2/3, Vorbis, PCM).
  • Introducing the Music Player: A High-Performance, Extensible Application for Digital Audio Playback
    7 projects | dev.to | 17 Jan 2023
    The Music Player is based on Rodio, which is a high-performance audio playback library for Rust, and Symphonia, which is a Rust library for working with music metadata and audio decoding. This allows the Music Player to provide high-quality audio playback and management.
  • BWF WAV Reading/Processing/Writing
    2 projects | /r/rust | 8 Jan 2023
  • Extracting frames from an .mp4 file
    2 projects | /r/rust | 7 Oct 2022
    There is also https://github.com/pdeljanov/Symphonia
  • ffmpeg port in Rust.
    3 projects | /r/rust | 4 Aug 2022
    I am rather more interested in projects like https://github.com/pdeljanov/Symphonia that implement format decoding in safe Rust, guaranteeing memory safety in the most critical part of the process.

What are some alternatives?

When comparing rotary and Symphonia you can also consider the following projects:

rodio - Rust audio playback library

swyh-rs - Stream What You Hear written in rust, inspired by SWYH.

rust-id3 - A rust library for reading and writing ID3 metadata

gitoxide - An idiomatic, lean, fast & safe pure Rust implementation of Git

not-yet-awesome-rust - A curated list of Rust code and resources that do NOT exist yet, but would be beneficial to the Rust community.

FFmpeg - Mirror of https://git.ffmpeg.org/ffmpeg.git

libnyquist - :microphone: Cross platform C++11 library for decoding audio (mp3, wav, ogg, opus, flac, etc)

lofty-rs - Audio metadata library

rust-async-coap - A flexible, asynchronous library for using and serving CoAP resources in Rust.

raui - Rust implementation of Renderer Agnostic User Interface

crates.io - The Rust package registry

rust-vst2 - VST 2.4 API implementation in rust. Create plugins or hosts.