zk-audio 0.1.0

Audio processing library for voice recording and enhancement
Documentation
//! # zk-audio
//!
//! A Rust library for real-time audio capture, voice enhancement, and microphone simulation.
//!
//! ## Features
//!
//! - **Native Audio Capture** - CPAL-based cross-platform audio input
//! - **Voice Enhancement Pipeline** - 19 DSP processor stages for professional voice quality
//! - **Microphone Simulation** - Emulate classic microphones (Neumann U87, Shure SM7B, etc.)
//! - **Profile-Based Processing** - Pre-configured profiles for different environments
//! - **WAV Output** - Built-in WAV encoding
//!
//! ## Quick Start
//!
//! ```rust,no_run
//! use zk_audio::{AudioProfile, NativeCaptureBackend, CaptureBackend};
//! use std::path::PathBuf;
//!
//! let config = zk_audio::NativeCaptureConfig::new(
//!     PathBuf::from("recording.wav"),
//!     AudioProfile::VoiceClean,
//! );
//!
//! let backend = NativeCaptureBackend::new();
//! let mut recording = backend.start(config).unwrap();
//! // ... recording happens here ...
//! let diagnostics = recording.stop().unwrap();
//! ```
//!
//! ## Audio Profiles
//!
//! - [`AudioProfile::Raw`] - No processing, for reference recordings
//! - [`AudioProfile::VoiceClean`] - Light processing for quiet environments
//! - [`AudioProfile::VoiceNoisyRoom`] - Moderate noise reduction
//! - [`AudioProfile::VoiceHvac`] - Aggressive HVAC noise suppression
//!
//! ## Platform Support
//!
//! Currently supports Linux via PipeWire/PulseAudio. macOS and Windows are planned.
//!
//! ## Feature Flags
//!
//! - `native-capture` (default) - Enables CPAL-based native audio capture

pub mod builder;
pub mod contracts;
pub mod core;
pub mod factory;
pub mod metrics;
pub mod mic_sim;
pub mod native;
pub mod pipeline;
pub mod processors;
pub mod profiles;
pub mod runtime_stats;
pub mod types;

#[allow(unused_imports)]
pub use builder::{NativePipelineBuilder, PipelineBuildRequest};
#[allow(unused_imports)]
pub use contracts::{
    AudioProcessor, AudioSink, CaptureBackend, DeviceEnumerator, MetricsCollector,
    ProcessorBuildRequest, ProcessorFactory,
};
pub use core::{
    ActiveListening, ActiveRecording, AudioProfile, CaptureDiagnostics, DelayEffectConfig,
    DelayEffectPreset, NativeCaptureConfig, ProcessorOverrideMode, SUPPORTED_AUDIO_PROFILES,
    SUPPORTED_DELAY_EFFECT_PRESETS,
};
#[allow(unused_imports)]
pub use factory::ProfileProcessorFactory;
#[allow(unused_imports)]
pub use mic_sim::{
    MicrophoneSimConfig, MicrophoneSimModel, MicrophoneSimulatorFactory,
    SUPPORTED_MICROPHONE_SIM_MODELS,
};
pub use native::NativeCaptureBackend;
pub use native::{list_input_devices, set_default_input_device};
pub use profiles::{ProcessorStage, SUPPORTED_PROCESSOR_STAGES};
#[allow(unused_imports)]
pub use types::{AudioBlock, ProcessContext, ProcessorInfo, SinkReport};