1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! Skadoosh — a modular, low-latency local voice agent framework.
//!
//! Pipeline: cpal mic capture (16 kHz mono) → Silero VAD (`vad`) →
//! whisper-rs STT (`stt`) → streaming LLM over an OpenAI-compatible API
//! ([`llm`], Ollama by default) → clause-split → ONNX TTS ([`tts`], Kokoro-82M
//! with a sine-wave mock fallback) → cpal playback with barge-in ([`audio`]).
//! The `pipeline` orchestrator spawns and supervises every stage. The VAD,
//! whisper STT, cpal I/O, echo-cancellation, and orchestrator stages all live
//! behind the `audio` feature (on by default); a `--no-default-features` build
//! drops them and the system audio libraries they need.
//!
//! All internal audio is `f32` samples: 16 kHz on the capture/VAD/STT side,
//! 24 kHz out of TTS, resampled at the device edges ([`audio::resample`]).
//!
//! # SDK
//!
//! [`Agent`] (see [`agent`]) is the embedding facade: build it from a
//! [`Config`] plus optional engine trait objects
//! ([`stt::SttEngine`], [`llm::LlmBackend`], [`tts::TtsEngine`]), subscribe
//! to [`AgentEvent`]s, and drive the full audio loop (`Agent::run`, behind the
//! `audio` feature), single text turns ([`Agent::text_turn`], [`Agent::repl`]),
//! or one-shot speech synthesis (`Agent::say`, behind `audio`;
//! [`Agent::say_to_wav`]).
pub
pub
pub use ;
pub use ;
pub use ;
pub use MemoryStore;
pub use ;
pub use ;
pub use TtsEngine;