pub mod codec;
pub mod error;
pub mod frame;
pub mod mixer;
pub mod pipeline;
pub mod providers;
pub mod tools;
pub mod traits;
#[cfg(feature = "fx")]
pub mod fx;
#[cfg(feature = "mlx")]
pub mod mlx;
#[cfg(feature = "onnx")]
pub mod onnx;
#[cfg(feature = "livekit")]
pub mod bridge;
#[cfg(feature = "desktop-audio")]
pub mod desktop;
#[cfg(feature = "desktop-audio")]
pub use desktop::{
AudioCapture, AudioDevice, AudioPlayback, AudioStream, CaptureConfig, VadConfig, VadMode,
VadTurnManager, VoiceActivityEvent,
};
pub mod registry;
pub use codec::{AudioFormat, decode, encode};
pub use error::{AudioError, AudioResult};
pub use frame::{AudioFrame, merge_frames};
pub use mixer::Mixer;
pub use pipeline::{
AudioPipelineBuilder, PipelineControl, PipelineHandle, PipelineInput, PipelineMetrics,
PipelineOutput, SentenceChunker,
};
pub use tools::{ApplyFxTool, GenerateMusicTool, SpeakTool, TranscribeTool};
pub use traits::{
AudioProcessor, Emotion, FxChain, MusicProvider, MusicRequest, Speaker, SpeechSegment,
SttOptions, SttProvider, Transcript, TtsProvider, TtsRequest, VadProcessor, Voice, Word,
};
#[cfg(feature = "tts")]
pub use providers::tts::{
CartesiaTts, CloudTtsConfig, ElevenLabsTts, GeminiTts, OpenAiTts, SpeakerConfig,
};
#[cfg(feature = "qwen3-tts")]
pub use providers::tts::{Qwen3TtsNativeProvider, Qwen3TtsVariant};
#[cfg(feature = "stt")]
pub use providers::stt::{AssemblyAiStt, DeepgramStt, GeminiStt, WhisperApiStt};
#[cfg(feature = "fx")]
pub use fx::{
DynamicRangeCompressor, LoudnessNormalizer, NoiseSuppressor, PitchShifter, Resampler,
SilenceTrimmer,
};
#[cfg(feature = "livekit")]
pub use bridge::RealtimeBridge;
#[cfg(feature = "mlx")]
pub use mlx::{MlxQuantization, MlxSttConfig, MlxSttProvider, MlxTtsConfig, MlxTtsProvider};
#[cfg(feature = "onnx")]
pub use onnx::{
OnnxExecutionProvider, OnnxModelConfig, OnnxTtsProvider, Preprocessor, PreprocessorOutput,
TokenizerPreprocessor,
};
#[cfg(feature = "kokoro")]
pub use onnx::{KokoroPreprocessor, KokoroVoices};
#[cfg(feature = "chatterbox")]
pub use onnx::{ChatterboxConfig, ChatterboxTtsProvider, ChatterboxVariant};
#[cfg(any(feature = "whisper-onnx", feature = "distil-whisper", feature = "moonshine"))]
pub use onnx::{
DistilWhisperVariant, MoonshineVariant, OnnxSttConfig, OnnxSttConfigBuilder, OnnxSttProvider,
SttBackend, WhisperModelSize,
};
pub use registry::LocalModelRegistry;