OpenVoiceOS / OpenVoiceOS/architecture

Spec proposal: OVOS-AUDIO-1 — Audio Output Service

Open
#49 0 comments 0 reactions 0 assignees View on GitHub

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.queue for scheduled sounds, ovos.audio.play_sound for immediate playback
  • Output lifecycleovos.audio.output.started / ovos.audio.output.ended with session identity from context.session.session_id
  • Speaking-status queryovos.audio.is_speaking (session-scoped via context)
  • Stop integrationovos.audio.stop and universal ovos.stop; MAY scope to session
  • Listen triggerovos.mic.listen emitted after playback ends when listen: true is set on the speak message

PR

PR #38

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.