1#![deny(missing_docs)]
2pub mod buffer;
9pub mod capture;
11pub mod device;
13pub mod error;
15pub mod playback;
17pub mod stt;
19pub mod tts;
21pub mod types;
23pub mod wav;
25
26#[cfg(feature = "native")]
28pub mod hardware;
29
30#[cfg(feature = "native")]
32pub mod api;
33
34#[cfg(feature = "flac")]
36pub mod flac;
37
38#[cfg(feature = "local-stt")]
40pub mod local;
41
42pub use buffer::AudioRingBuffer;
44pub use capture::AudioCapture;
45pub use device::{AudioDevice, DeviceDirection};
46pub use error::{AudioError, AudioResult};
47pub use playback::AudioPlayback;
48pub use stt::SpeechToText;
49pub use tts::TextToSpeech;
50pub use types::{
51 AudioBuffer, AudioConfig, OutputFormat, SampleFormat, SttOptions, Transcript,
52 TranscriptSegment, TtsOptions, Voice,
53};
54pub use wav::{decode_wav, encode_wav};
55
56#[cfg(feature = "native")]
57pub use api::{
58 AzureStt, AzureTts, CartesiaTts, DeepgramStt, DeepgramTts, ElevenLabsStt, ElevenLabsTts,
59 FishStt, FishTts, GoogleTts, MurfTts, OpenAiResponsesStt, OpenAiResponsesTts, OpenAiStt,
60 OpenAiTts,
61};
62#[cfg(feature = "flac")]
63pub use flac::{decode_flac, encode_flac};
64#[cfg(feature = "native")]
65pub use hardware::{CpalCapture, CpalPlayback};
66#[cfg(feature = "local-stt")]
67pub use local::WhisperStt;