Skip to content

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

Description

@JarbasAl

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions