rubato
An asyncronous resampling library written in Rust (by HEnquist)
rotary
A crate for working with audio in Rust (by udoprog)
Our great sponsors
rubato | rotary | |
---|---|---|
2 | 4 | |
154 | 73 | |
- | - | |
6.5 | 5.8 | |
about 2 months ago | about 2 months ago | |
Rust | Rust | |
MIT License | Apache 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.
rubato
Posts with mentions or reviews of rubato.
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!
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?
-
Modify pitch and volume while a sound file is playing
If you want to change tempo and pitch together, that's resampling. You can use Rubato's asynchronous resamplers for that.
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!
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.
-
Continuous Looper - Deep dive into an open-source live-looper and sampler written mostly in Rust
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 :)
Sweet! No more duplication just to get my code checked by miri.
What are some alternatives?
When comparing rubato and rotary you can also consider the following projects:
cpal - Cross-platform audio I/O library in pure Rust
snd-firewire-ctl-services - A set of server programs for audio and music units on IEEE 1394 bus supported by Linux sound subsystem a.k.a. ALSA.
rodio - Rust audio playback library
rust - Empowering everyone to build reliable and efficient software.
dizi - Server-client music player written in Rust
Symphonia - Pure Rust multimedia format demuxing, tag reading, and audio decoding library
loopers - Loopers is graphical live looper, written in Rust, designed for ease of use and rock-solid stability