hound
A wav encoding and decoding library in Rust (by ruuda)
Symphonia
Pure Rust multimedia format demuxing, tag reading, and audio decoding library (by pdeljanov)
hound | Symphonia | |
---|---|---|
5 | 30 | |
444 | 2,113 | |
- | - | |
4.7 | 7.7 | |
2 months ago | 9 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.
hound
Posts with mentions or reviews of hound.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-27.
-
Hey Rustaceans! Got a question? Ask here (9/2023)!
One of the simplest encodings would be WAV, for which the crate hound exists (it's linked from rodio's README): https://github.com/ruuda/hound/blob/master/examples/append.rs
- BWF WAV Reading/Processing/Writing
-
Create audio "file" from opus packets
I'm no expert when it comes to audio, but this works and is basically copied from the readme.md in hound's repository, along an utility trait that adds ringbuffer-like behavior to VecDeque. How does decoding Opus come into play here?
-
What audio library to use?
To load the audio data from file you need a separate library, e.g. hound for .wav files.
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 hound and Symphonia you can also consider the following projects:
rust-portaudio - PortAudio bindings and wrappers for Rust.
rodio - Rust audio playback library
rust-fmod - A rust binding for the FMOD library
swyh-rs - Stream What You Hear written in rust, inspired by SWYH.
rust-id3 - A rust library for reading and writing ID3 metadata
minimp3-rs - minimp3 rust bindings + wrapper
gitoxide - An idiomatic, lean, fast & safe pure Rust implementation of Git
portmidi-rs - High-level PortMidi bindings and wrappers for Rust
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.
rust-vst2 - VST 2.4 API implementation in rust. Create plugins or hosts.
FFmpeg - Mirror of https://git.ffmpeg.org/ffmpeg.git