creek
Realtime disk streaming IO for audio (by MeadowlarkDAW)
cpal
Cross-platform audio I/O library in pure Rust (by RustAudio)
Our great sponsors
creek | cpal | |
---|---|---|
4 | 11 | |
97 | 2,419 | |
- | 3.5% | |
7.5 | 7.8 | |
3 months ago | 28 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | 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.
creek
Posts with mentions or reviews of creek.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-14.
-
Maybe this is a dumb question, but I'm still a bit rusty to rust (Question about CPAL)
Another option is to read the file in another thread, buffer it so there's a window of samples, and sync that back to the audio thread. This is tricky, but thankfulky theres the creek crate that does this for you and has a player demo: https://github.com/MeadowlarkDAW/creek
-
Resources for audio decoding?
If you're also interested in real-time disk streaming of audio then there's this crate (which uses symphonia for decoding): https://github.com/MeadowlarkDAW/creek.
-
Modify pitch and volume while a sound file is playing
Rodio is high level and likely not really suited to what you're trying to do. Rodio is nice if you just want to play sound files and don't care about the details. If you want to manipulate audio in realtime, Creek is likely a better fit. You can take a look how I am combining Creek and Rubato for realtime tempo changes in the DJ application I am writing.
-
What’s everyone working on this week (2/2022)?
I'm using this creek library from RustyDAW for realtime safe decoding of audio files. It can also record to WAV. It would likely be useful for project as well.
cpal
Posts with mentions or reviews of cpal.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-28.
-
What's everyone working on this week (22/2023)?
debugging this nightmare bc its blocking my hobby project. by far the most fucked up issue ive encountered since i started rust.
- Nannou – An open-source creative-coding framework for Rust
-
Creating an Audio File Player from scratch
There is a cross-platform audio library for Rust: cpal https://github.com/rustaudio/cpal
-
Read the voice from the microphone for accessibility
cpal crate should work fine for this use case, though it might be unnecessarily low-level for your use case.
-
Modify pitch and volume while a sound file is playing
I had to do something similar to this a while back. I used cpal.
- RustAudio/cpal: Cross-platform audio I/O library in pure Rust
-
What’s everyone working on this week (including AoC, 51/2021)?
Working on a live performance software that would let our band have live real-time practices over the internet. Top priority is minimum latency, so I'm trying to hook it up through ASIO. Not much luck yet. I've tried cpal, but I've run into numerous known random bugs (and some versions don't compile for me). At least I confirmed that I can push the audio through a TCP socket successfully.
-
How to read out decibels from default audio input device?
With https://github.com/RustAudio/cpal you can access the microphone in a cross platform way, but you’ll get values of range [-1,1] out only. To calculate absolute decibels you would need to calibrate for your specific microphone with a known source.
-
How can I visualize currently playing audio in Linux?
source of example
-
Hey Rustaceans! Got an easy question? Ask here (7/2021)!
you need to use a "loopback" device, as shown here - https://github.com/RustAudio/cpal/pull/478 (note, ive only tested this on windows - if its not supported on linux you could always plug your sound card output into its line-in/mic jack)
What are some alternatives?
When comparing creek and cpal you can also consider the following projects:
rtrb - A realtime-safe single-producer single-consumer (SPSC) ring buffer
rodio - Rust audio playback library
fnr - Intuitive find and replace tool
swyh-rs - Stream What You Hear written in rust, inspired by SWYH.
wordtop - | sort | uniq -c but in top-like form (pipe stream, it counts words and displays stats every N seconds)
rubato - An asyncronous resampling library written in Rust
openal-rs
basedrop - a set of memory-management tools for real-time audio
rust-vst2 - VST 2.4 API implementation in rust. Create plugins or hosts.
sudo.rs
rust-cookbook - https://rust-lang-nursery.github.io/rust-cookbook