gestura_core_audio/
lib.rs

1//! Audio capture, speech processing, noise reduction, and STT abstractions.
2//!
3//! `gestura-core-audio` owns the platform-independent audio domain used by the
4//! workspace. It covers microphone capture, noise cancellation, speech
5//! processing helpers, and speech-to-text provider abstractions that can be
6//! consumed by both CLI and GUI entry points.
7//!
8//! ## Main entry points
9//!
10//! - `audio_capture`: recording helpers, input-device discovery, and
11//!   `AudioCaptureConfig`
12//! - `noise_cancellation`: configurable noise reduction processors and stats
13//! - `speech`: speech-focused processing utilities
14//! - `stt_provider`: the `SttProvider` trait plus concrete providers such as
15//!   OpenAI-compatible STT and local Whisper
16//!
17//! ## Architecture role
18//!
19//! This crate owns the reusable audio primitives and provider interfaces. GUI
20//! permission prompts, tray interactions, and other presentation-layer concerns
21//! remain outside this crate.
22//!
23//! ## Stable import paths
24//!
25//! Most application code should import these surfaces through:
26//!
27//! - `gestura_core::audio::*`
28//! - `gestura_core::audio_capture::*`
29//! - `gestura_core::stt_provider::*`
30
31pub mod audio_capture;
32pub mod noise_cancellation;
33pub mod speech;
34pub mod stt_provider;