rodio
Rust audio playback library (by RustAudio)
Symphonia
Pure Rust multimedia format demuxing, tag reading, and audio decoding library (by pdeljanov)
rodio | Symphonia | |
---|---|---|
9 | 30 | |
1,914 | 2,573 | |
2.0% | 2.2% | |
9.7 | 4.1 | |
12 days ago | 27 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.
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.
rodio
Posts with mentions or reviews of rodio.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-24.
-
Yew + Tauri WASM Desktop App - Methods of Local Filesystem Access
I'm currently working on creating a desktop app with web UI using Yew (wasm32-unknown-unknown), and Tauri for the desktop packaging side of things. In this particular case, I'd like to be able to play audio files from the user's local filesystem using the rodio crate, and also to process text files for purposes such as configuration, for example by using the csv crate. I know for absolute certain that the app will only be run in a desktop context, i.e, Windows, Linux and MacOS, and therefore will always have a filesystem physically existent despite any WASM sandboxing (which I'm aware of, hence asking for any possible methods).
I'm currently working on creating a desktop app with web UI using Yew, and Tauri for the desktop packaging side of things. In this particular case, I'd like to be able to play audio files from the user's local filesystem using the rodio crate, and also to process text files for purposes such as configuration, for example by using the csv. I know for absolute certain that the app will only be run in a desktop context, i.e, Window, Linux and MacOS, and therefore will always have a filesystem physically existent despite any WASM sandboxing (which I'm aware of, hence asking for any possible methods).
-
An alternative to FFmpeg?
There's symphonia for audio, although it's quite low-level. rodio is a better choice if you just want to play some sounds.
-
Introducing the Music Player: A High-Performance, Extensible Application for Digital Audio Playback
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.
-
What is the simplest way to play an audio sample, across platforms, including web?
https://crates.io/crates/rodio Its based on cpal and has basic necessities like resampler.
-
Dungeoncrawler audio
I believe rodio is generally regarded as a good spot to start for audio in Rust. Open Game Art has a fair few tilesets, you could take a look there.
-
Modify pitch and volume while a sound file is playing
I have tried the https://crates.io/crates/rodio crate already but I did not find a way to change the parameters while the background thread is playing the song.
-
Streaming Youtube Audio/Video with Rust
I changed into mp3 cuz I didn't know how to use rodio to play other file format like m4a, because it needed symphonia and I could'nt find any example of symphonia on the internet.
-
Symphonia v0.3: pure-Rust decoders for MP3, WAV, FLAC, AAC
Also, you can now use Symphonia as a backend in rodio.
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
Symphonia for an amazing audio library
-
Streaming audio from url
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
-
Any libraries for Decoding AND Encoding to Opus audio codec?
Everything I can find on the internet seems to be abandoned. Opus-rs, Magnum, Magnum Opus, ect. Symphonia has been working on it for over 2 years, with work still ongoing. Heck, even FFMPEG seems to not have full support yet!. Is there any library that I have overlooked that provides this functionality?
-
Announcing zune-jpeg: Rust's fastest JPEG decoder
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?
- Symphonia – a pure Rust audio decoding and media demuxing library
-
Symphonia v0.5.2: Audio decoding in safe Rust, now often faster than FFmpeg!
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
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
-
How do I create a video merging tool in rust?
You can look at symphonia for a pure Rust solution.
What are some alternatives?
When comparing rodio and Symphonia you can also consider the following projects:
rust-portaudio - PortAudio bindings and wrappers for Rust.
swyh-rs - Stream What You Hear written in rust, inspired by SWYH.
hound - A wav encoding and decoding library in Rust
lofty-rs - Audio metadata library
cpal - Cross-platform audio I/O library in pure Rust
gitoxide - An idiomatic, lean, fast & safe pure Rust implementation of Git