HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
RustAudio
cpal
Rust2019–2025
RustAudio / cpal

cpal

Low-level cross-platform audio I/O library in Rust

8Distinct people
8Mentions
0Explicit recommenders
4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Low-level cross-platform audio I/O library in Rust

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year8 dated mentions

Observed mentions: 2019-11-18 21:03:33 UTC to 2025-09-30 00:30:34 UTC.

01232019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303

What Hacker News says

8 sources
I have been working on my terminal editor, but I parked that for now -- https://github.com/bloomca/love. It is possible to load a file and edit it, copy/paste works, you can select text, etc. The next step is to integrate with the tree-sitter for syntax highlighting and then with LSP, but it took a bit more time than I wanted. Another project of mine is to play music from my audio CDs by myself. I built a simple Rust library to read TOC and raw PCM data from a CD drive -- https://github.com/Bloomca/rust-cd-da-reader (works on Windows, macOS and Linux), and a ripper -- https://github.com/Bloomca/audio-cd-ripper, which rips all tracks and encodes it as FLAC and fetches metadata from MusicBrainz. The next step is to play it. I looked into using cpal (https://github.com/RustAudio/cpal), but I feel like using low-level audio API for each platf
Read the rest
orm is a better approach for learning.
In Ask HN: What are you working on? (September 2025)
Listen close, please. The end goal of AI coding assistants is not > convert this rust library at https://github.com/RustAudio/cpal/tree/master to a haskell library using ghc2024. The end goal is something more like > Build me a website where users can make and share a link to a text document like a shopping list and edit it collaboratively This guy thinks LLMs are so great, but if he grew up with LLMs, not only would he not have the skill set to competently ask the LLM to produce that output, he wouldn't have any idea the output he's trying to produce. OpenAI, Google, Microsoft are not trying to sell the idea of helping out your senior engineers. They are trying to sell the idea that any of your interns could be senior engineers, so that you no longer have to pay for expensive senior engineers.
In An "oh fuck" moment in time
OpenFrameworks[0] is quite popular for creative coding even though it's written in C++ - framework is actually pleasant to use. If you want to do some creative coding on both iOS and Android you don't have many options. If you want to use sensors (cameras, microphones, gyroscope, accelerometer, etc) and e.g. process video stream at 120fps you have even less choices. Sadly OpenFrameworks development seems kind of stalled. Nannou + Rust could be a good or even better alternative: 1) painless cross-compilation to different platforms 2) plugins installation via cargo 3) more up-to-date plugins as tiny wrappers around CPAL [1] (audio I/O), nokhwa [2] (video i/o), opencv-rust[3] (video I/O and processing), rust-sdl2 [4](IMU sensors + game controllers), egui [5] (immediate mode gui + plotting) 4) better errors and more modern language [0] https:
Read the rest
In Nannou – An open-source creative-coding framework for Rust
In my experience the average C++ programmer (not concurrency expert) writing multithreaded code does not know how to properly use mutexes and atomics to guard against shared access. Sometimes they don't know they need mutexes (https://github.com/martinrotter/rssguard/issues/362), or lock the wrong mutex (https://github.com/dolphin-emu/dolphin/pull/10540), or only lock on writes but not reads, or the set of possible states is a confusing muddled mess that neither the author nor readers understand (https://github.com/thestk/rtaudio/issues/337#issuecomment-99...). Rust's &/&mut system and mutexes are a forcing function that naturally results in cleaner code (cpal's ALSA code (https://github.com/RustAudio/cpal/blob/master/src/host/alsa/...) is beautiful and statically marks state as thread-local or shared, RtAudio's code is an entangled mess
Read the rest
with data races).
In Why Rust mutexes look like they do
Yes this is a problem in Rust-land too. crates.io doesn't support user tokens to be limited to a crate only [1], but gives access to all the crates an user has access to. So if the token leaks, attackers have access to all your crates. For the cpal crate we worked around the issue by creating a new github user that has only access to the cpal crate (and maybe in the future a few other crates in the same org) but nothing more [2]. This solution isn't really good tho. [1]: https://github.com/rust-lang/crates.io/issues/849 [2]: https://github.com/RustAudio/cpal/pull/337
In Publish NPM Package with GitHub Actions

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.