Expand description
The per-seat voice service: listeners, the sentence queue, and synthesis.
Re-exportsΒ§
use std::collections::BTreeSet;πuse std::collections::HashMap;πuse std::sync::atomic::AtomicUsize;πuse std::sync::atomic::Ordering;πuse std::sync::Arc;πuse std::sync::Mutex;πuse forge_primitives::Message;πuse forge_primitives::SessionSlot;πuse forge_tts::Chunk;πuse forge_tts::Engine;πuse forge_tts::SpeakRequest;πuse tokio::sync::mpsc;πuse tokio::sync::oneshot;πuse tracing::Instrument;π
StructsΒ§
- Job π
- Preview
Slot π - Seat π
- Voice
Service - The per-seat voice service. One render queue per seat, so a second
saywaits behind the first, and one engine for the whole process, loaded at boot and kept for the processβs life; a failed warm is retried by the firstsay. - Voice
Settings - What one utterance renders with, from the
[tts]section. - Workspace
Notes π - The note dispatch a real workspace hands the service: the listener note enters the seat as a forge prompt, drawn as its own row.
- Workspace
Sink π - The sink a real workspace hands the service: every rendered clip crosses the update stream to the clients subscribed to the seat.
EnumsΒ§
- SayError
- Why a
saydid not reach the sink.
ConstantsΒ§
- LISTENING_
NOTE - The note the first clientβs turn-on puts into the seat.
- NOT_
LISTENING_ NOTE - What the session is told when the last client leaves.
- PREVIEW_
LINE - The line a voice preview speaks, so two previews can be compared.
TraitsΒ§
- Audio
Sink - Where a rendered clip goes.
- Note
Dispatch - How a listener note reaches the seatβs session.
FunctionsΒ§
- note_
envelope π - The envelope a note rides, so a view draws it as information rather than as the readerβs own turn.
- render π
Type AliasesΒ§
- Loader π