Skip to main content

Crate rusty_esp_audio

Crate rusty_esp_audio 

Source
Expand description

rusty_esp_audio — ESP-ADF / ESP-GMF / esp_codec_dev remade in Rust: I2S/PDM capture and playback, a fixed-block audio pipeline, codec-chip drivers, Opus/FLAC/ADPCM framing via the Remade codecs. Memory safe, no_std core.

This is the facade: it re-exports the no_std core and exposes the chip backends under esp. Depend on this crate; reach into the sub-crates only when you are building a backend.

Part of Janus (Remade With Rust). Plan: docs/plans/rusty_esp_audio.md.

Modules§

chip
Codec chips as register data — esp_codec_dev’s drivers remade.
codec
Framing and conversion: esp_audio_codec’s PCM/ADPCM remade, plus WAV headers, plus FLAC through the house rusty_flac behind the flac feature (the one allocating module). Lossy codecs are a measured decision (A4).
elements
The elements: ESP-ADF’s filter/resample/mixer elements and ESP-SR’s lite front end, each an Element over interleaved i16.
esp
Chip backends (esp-hal for Track B, esp-idf for Track A).
esp_core
rusty_esp_core — the shared vocabulary of the Janus ESP family.
pipeline
Element and Pipeline: ESP-ADF’s audio_element / audio_pipeline remade as a fixed-block chain over two halves of one caller scratch buffer.
prelude
The names a sketch or firmware wants in scope.
ring
RingBuffer: ESP-ADF’s ringbuf remade as a whole-frame ring over a caller-owned slice.
source
Where blocks come from and where they go.

Structs§

Pipeline
A fixed chain of N elements.
RingBuffer
A whole-frame byte ring over borrowed memory.

Constants§

VERSION
Crate version, for capability manifests and logs.

Traits§

AudioSink
Consumes blocks of PCM.
AudioSource
Produces fixed-size blocks of PCM into caller memory.
Element
One processing stage.

Functions§

rms_dbfs_i16
Level of an interleaved i16 block in dBFS (RMS over all channels). Digital silence returns -120.0.