Skip to content

feat(voice): stream Pocket audio during synthesis - #133

Merged
johnmatthewtennant merged 10 commits into
mainfrom
jtennant/stream-pocket-tts-audio
Aug 21, 2026
Merged

feat(voice): stream Pocket audio during synthesis#133
johnmatthewtennant merged 10 commits into
mainfrom
jtennant/stream-pocket-tts-audio

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Pocket TTS streams synthesized audio chunks into a single player as decoder output becomes available. Synthesis and playback run concurrently within one utterance.

The backend accepts incremental text, releases the first complete sentence immediately, and forms later model-safe chunks within Pocket's 50-token input limit. Cancellation and delivery status remain scoped to the whole utterance rather than its internal text or audio chunks.

This is audio-output streaming from Pocket into playback. Streaming an LLM response into the TTS input is a separate path.

Reviewer-reproducible examples

  • Play a long Pocket-voiced response. Confirm playback begins after the first text chunk is available while later chunks are synthesized concurrently.
  • Interrupt a long response shortly after playback starts. Confirm current audio and queued synthesis stop together and no later audio resumes.
  • Observe the response status during playback. Confirm the text block receives one speaking, spoken, or interrupted lifecycle rather than one status per internal synthesis chunk.

@johnmatthewtennant
johnmatthewtennant marked this pull request as ready for review August 19, 2026 21:55
@johnmatthewtennant
johnmatthewtennant marked this pull request as draft August 20, 2026 01:43
@johnmatthewtennant
johnmatthewtennant force-pushed the jtennant/stream-pocket-tts-audio branch 2 times, most recently from c6b83a0 to 63deda0 Compare August 20, 2026 11:52
@johnmatthewtennant
johnmatthewtennant marked this pull request as ready for review August 20, 2026 14:54
kalvinnchau
kalvinnchau previously approved these changes Aug 20, 2026
Base automatically changed from jtennant/vendor-pocket-tts-engine to main August 20, 2026 18:12
@johnmatthewtennant
johnmatthewtennant requested a review from a team August 20, 2026 18:12
@johnmatthewtennant
johnmatthewtennant dismissed kalvinnchau’s stale review August 20, 2026 18:18

The merge-base changed after approval.

@johnmatthewtennant
johnmatthewtennant force-pushed the jtennant/stream-pocket-tts-audio branch from 0462f0e to 6e60999 Compare August 20, 2026 18:30
@johnmatthewtennant
johnmatthewtennant merged commit 6405382 into main Aug 21, 2026
8 checks passed
@johnmatthewtennant
johnmatthewtennant deleted the jtennant/stream-pocket-tts-audio branch August 21, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants