#![deny(missing_docs)]
pub mod buffer;
pub mod capture;
pub mod device;
pub mod error;
pub mod playback;
pub mod stt;
pub mod tts;
pub mod types;
pub mod wav;
#[cfg(feature = "native")]
pub mod hardware;
#[cfg(feature = "native")]
pub mod api;
#[cfg(feature = "flac")]
pub mod flac;
#[cfg(feature = "local-stt")]
pub mod local;
pub use buffer::AudioRingBuffer;
pub use capture::AudioCapture;
pub use device::{AudioDevice, DeviceDirection};
pub use error::{AudioError, AudioResult};
pub use playback::AudioPlayback;
pub use stt::SpeechToText;
pub use tts::TextToSpeech;
pub use types::{
AudioBuffer, AudioConfig, OutputFormat, SampleFormat, SttOptions, Transcript,
TranscriptSegment, TtsOptions, Voice,
};
pub use wav::{decode_wav, encode_wav};
#[cfg(feature = "native")]
pub use api::{
AzureStt, AzureTts, CartesiaTts, DeepgramStt, DeepgramTts, ElevenLabsStt, ElevenLabsTts,
FishStt, FishTts, GoogleTts, MurfTts, OpenAiResponsesStt, OpenAiResponsesTts, OpenAiStt,
OpenAiTts,
};
#[cfg(feature = "flac")]
pub use flac::{decode_flac, encode_flac};
#[cfg(feature = "native")]
pub use hardware::{CpalCapture, CpalPlayback};
#[cfg(feature = "local-stt")]
pub use local::WhisperStt;