For a while now I've been working on maudio and it's very close to a complete interface to miniaudio.
maudio
Miniaudio is a very large audio C library, mainly aimed at game engines, but has pretty much everything you would need for audio. I think discord also uses(used?) it.
Initially, I wanted wanted to only grow it enough so I can make my own audio app with it, but lost interest in that as this was pretty fun. Even found a null ptr dereference bug in miniaudio along the way.
Maudio is technically just ffi library, but it offers a safe, rusty interface to the audio tools that miniaudio has, including custom nodes, custom data sources and data source chaining. I want to eventually also offer a safe(ish?) interface for custom backends as well. It's rather large now, but I did my best to document it and write examples, more to be added.
There is both a low and high level API. The high level API mostly centers around an Engine, which contains a node graph with nodes of various function, a low level device and a resource manager that can reference count loaded audio. This is the 'just play this sound' route.
The low level API uses the low level device directly which supports playback, capture, duplex and loopback.
There's also an encoder, decoder, mixing, many dsp primitives, pcm audio buffer / thread safe ring-buffer, noise, pulse and wave generators, device enumeration, backend selection, raw audio callbacks and some things that I forgot about.
Next on my todo list is to allow using a pre-compiled miniaudio binary, and maybe ship some optional pre-compiled binaries myself.
I'd love to hear some thoughts if anyone has interest in audio.
1 post - 1 participant
Read full topic
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Maplike - Crate with traits for abstract containers and operations on them | 2 | 7 | 06-07-2026 |
| 2 | [Project Announcement] tinyxml2-rs: A high-performance, drop-in Rust implementation of TinyXML2 | 5 | 7 | 01-07-2026 |
| 3 | BloomCraft: twelve Bloom filter variants under one API, looking for feedback | 5 | 6 | 06-07-2026 |
| 4 | CPUX - retained-mode GUI framework | 0 | 5 | 01-07-2026 |
| 5 | LiberSystem - the new OS written in Rust | 0 | 5 | 07-07-2026 |
| 6 | Mqtt-typed-client 0.2: a type-safe async MQTT client on top of rumqttc | 5 | 7 | 08-07-2026 |
| 7 | Looking for contributors: Rust transparent proxy & protocol parsing project | 5 | 7 | 08-07-2026 |
| 8 | Focused library for parsing and formatting ASNs | 0 | 5 | 08-07-2026 |
| 9 | Announcing logisheets-rs: a Rust spreadsheet engine with XLSX support | 7 | 8 | 07-07-2026 |
| 10 | fooyin 0.11.0 и 0.11.1 | 0 | 5 | 24-06-2026 |