OpenVoiceOS / OpenVoiceOS/architecture
Spec proposal: OVOS-AUDIO-1 — Audio Output Service
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 3
- Forks
- 0
- Avg merge
- 15h 20m
- Merged PRs (30d)
- 90
Description
Proposal for OVOS-AUDIO-1, the audio output service specification.
Problem
The audio output service — the pipeline's output-side counterpart that consumes ovos.utterance.speak and renders responses as audio — has no normative contract. Topics, queue semantics, lifecycle signals, and stop integration are all implementation-defined.
Proposal
Defines the full contract for the audio output service:
- Rendering pipeline — dialog-transformer chain → TTS synthesis → TTS-transformer chain → playback queue
- Sequential playback queue — TTS speech and sound effects in declared order;
ovos.audio.queuefor scheduled sounds,ovos.audio.play_soundfor immediate playback - Output lifecycle —
ovos.audio.output.started/ovos.audio.output.endedwith session identity fromcontext.session.session_id - Speaking-status query —
ovos.audio.is_speaking(session-scoped via context) - Stop integration —
ovos.audio.stopand universalovos.stop; MAY scope to session - Listen trigger —
ovos.mic.listenemitted after playback ends whenlisten: trueis set on the speak message
PR
PR #38
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the proposal and PR #38 first, focusing on the listed topics, queue semantics, lifecycle signals, session identity, and stop integration. Done means the OVOS-AUDIO-1 specification has a complete normative contract for the rendering pipeline, playback, status queries, stopping, and listen triggering.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100