AIToday
Large Language ModelsAudio & SpeechAmazon AI BlogPublished: Oct 23, 2026, 04:00 JST

AWS cuts TTS first-audio latency 52.4% with Kokoro-82M streaming

Send on LINE
AWS cuts TTS first-audio latency 52.4% with Kokoro-82M streaming

3 Key Points

  1. What happened

    AWS streamed each sentence to a hosted Kokoro-82M TTS model on Amazon SageMaker AI as an agent produced it; mean time to first audio fell from 329.3 ms to 156.7 ms, a 52.4 percent improvement.

  2. Why it matters

    Starting synthesis on sentence one instead of the finished response means a voice agent no longer makes a caller wait for a long multi-paragraph answer to complete before audio begins, which the post frames as the source of user frustration.

WHO IT HITSTeams building voice agents and chat frontends that already stream text over Server-Sent Events stand to benefit most, since the pattern lets them start audio playback before the full response is generated.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, every morning.

Context & Analysis

The post frames the problem as a gap between an agent having an answer and a caller hearing it. A one-sentence response might generate in 600 milliseconds, but a full response takes five seconds, and a conventional integration waits for all of it before synthesis starts. The proposed fix is to stream each sentence to a hosted Kokoro-82M TTS model on Amazon SageMaker AI the moment the agent produces it.

The architecture rests on a custom container on a SageMaker AI real-time endpoint that exposes two routes: POST /invocations for one complete input and WS /invocations-bidirectional-stream for a connection kept open across many messages. The post stresses that every message arrives as a binary WebSocket frame, so a handler expecting text fails on every request, and it recommends keeping the session open between messages and closing only on an explicit close message.

On the return path, the post compares base64-encoded audio inside SSE events with multiplexing raw binary audio and JSON control frames over the same bidirectional session. The unified approach avoids the roughly 33 percent payload inflation and the frame-realignment buffering that SSE requires, though the post notes the agent-to-caller leg still uses base64 because the managed runtime accepts only JSON-serializable dictionaries.

FAQ
What model does the solution use for text-to-speech?
It uses Kokoro-82M, a TTS model with 82 million parameters that AWS says is small enough to run cheaply on a single mid-tier GPU instance, here an ml.g5.xlarge.
How much does base64 encoding inflate audio payloads over SSE?
Base64 inflates every payload by close to 33 percent. In one measured response, four logical MP3 frames arrived as six delivery chunks, two ending mid-frame.
What is the difference between bidi and batch modes in the benchmark?
Bidi mode starts synthesis as each sentence is produced, while batch mode waits for the full response before one synthesis call, changing only when synthesis starts.
Amazon AI BlogRead Original Article
Send on LINE

AI news that matters for your work, delivered every morning.

Pick your industry and the AI tools you use, and get news related to your work every day.

Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →

Ask AI

Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.

Questions and answers are published on this page.

Related Articles

Next articleRecursive's Flint built by Eureka Machine in four months