For years, voice AI followed a predictable playbook: speech-to-text (ASR) → language understanding (LLM) → text-to-speech (TTS). Break down voice into text, reason about it in language space, then synthesize a response back into audio. It works. It's also profoundly suboptimal.
Each conversion step—ASR to text, reasoning in text, TTS back to audio—introduces latency, strips prosody and emotional context, and forces quantization through a 1D text bottleneck. A human conversation doesn't stop at text. We communicate through tone, pacing, breathing, pauses. Traditional cascades throw all of that away.
The last 18 months have broken this paradigm. New speech-to-speech models—OpenAI's GPT-4o voice, Google's Gemini Live, Amazon's Nova Sonic, and research systems like StreamingLLM—skip the text layer entirely. They take audio in and produce audio out, preserving emotional nuance and achieving sub-500ms end-to-end latency for the first time at scale. This article explores the technical foundations, real-world applications, and what this means for voice-first AI.
The Cascade Problem: Why ASR→LLM→TTS is a bottleneck
Let's trace a simple voice query through the traditional pipeline to understand its limitations:
Latency Tax
A user asks a question. The system records audio, sends it to an ASR model (e.g., Whisper), waits for the transcript (100–500ms), passes that to an LLM (200–1000ms depending on query complexity), receives a text response, and then feeds it to a TTS model (200–800ms). Even with aggressive parallelization and model optimization, you're looking at 700ms–1500ms minimum. For voice interaction, that's the difference between feeling natural and feeling sluggish.
Real-world latencies are worse. APIs add network latency. LLMs often need to stream multiple tokens to complete a thought, and you can't start TTS synthesis until the LLM finishes generating text. The Twilio Voice Assistants I've worked with consistently hit 2–3 seconds of round-trip delay at the P95 percentile in production, even with careful optimization.
Prosody Loss
Speech carries information beyond words. Prosody—intonation, stress, rhythm—encodes nuance: sarcasm, uncertainty, emphasis, emotion. When ASR collapses audio into text, it discards that layer entirely. The transcript reads as emotionally flat. The LLM has no signal about whether the original speaker was angry, confused, or joking. So even if the LLM generates semantically perfect text, the TTS model synthesizes it in a neutral, generic voice.
This is particularly damaging in customer service. A frustrated caller needs to be recognized as frustrated, not treated with the same neutral tone as someone making a routine inquiry. Healthcare providers need to detect patient anxiety or pain in voice patterns, not just process word sequences.
Information Quantization
Text is a lossy encoding of speech. Homophones, accents, emphasis—all collapse into identical text. Consider: "I don't think so" vs. "I don't think so." Same words, opposite meanings, identical transcription if the difference is purely prosodic. Modern ASR handles this reasonably well (context helps), but the point remains: text is lower-bandwidth than audio. A speech-to-speech model that processes continuous audio embeddings preserves information that no ASR model can recover.
The cascade isn't just slow—it's a fundamental information bottleneck. Every text conversion is a quantization step. End-to-end speech-to-speech models that work directly in audio space avoid this entirely.
Speech Tokenization: The Bridge to End-to-End Models
How do you build a neural network that takes audio in and produces audio out? The challenge: audio signals are high-dimensional (44.1kHz sample rate = 44,100 values per second) and continuous. Transformer architectures work on discrete token sequences. You need a way to discretize audio while preserving semantic content.
Enter speech tokenization—techniques that compress audio into a discrete, low-bandwidth token stream that's amenable to language modeling.
SpeechTokenizer
One of the most influential recent approaches, SpeechTokenizer, works by:
- Semantic Tokenizer: A VQ-VAE (Vector Quantized Variational Autoencoder) that maps acoustic features to discrete semantic tokens. This captures what is being said—the phonetic and prosodic content.
- Acoustic Tokenizer: A second quantizer that preserves fine-grained acoustic detail—timbre, speaker characteristics, background noise. This captures how it is being said.
The result: a speech signal is encoded as roughly 50–100 tokens per second (vs. 44,100 samples per second raw audio, or 10–15 words per second in ASR). This token stream can be fed into a transformer as input or target sequence. You can even mix semantic and acoustic tokens in different layers or attention heads—so the model can reason about the high-level meaning separately from low-level sound characteristics.
dMel and Spectral Tokenization
Other approaches tokenize spectrograms directly. dMel (from Meta), for instance, uses mel-spectrogram features and applies hierarchical VQ to produce tokens at multiple granularities. Coarser tokens represent broad prosodic features; fine-grained tokens capture detail.
The advantage: you preserve more acoustic information than semantic tokenization alone. The trade-off: tokens are less aligned with linguistic units, so the model's reasoning about language semantics is less transparent.
Modern Speech-to-Speech Models in Production
Several platforms now ship end-to-end speech-to-speech capabilities:
OpenAI GPT-4o Voice
OpenAI's implementation (released in mid-2024) processes audio directly. The model combines GPT-4's language understanding with a speech-to-speech adapter. Under the hood, it's likely using speech tokenization similar to what I've described. Key characteristics:
- Latency: 200–400ms for typical queries (near real-time).
- Emotional Preservation: The model attempts to preserve the speaker's tone; requests for a thoughtful, careful response yield appropriately measured synthesis.
- Streaming: Supports streaming input and streaming output, so you can interrupt and hear responses incrementally.
- Cost: Priced per minute of audio (cheaper than cascaded ASR + LLM + TTS on most platforms).
Google Gemini Live
Google's approach emphasizes bidirectional real-time conversation. Gemini Live can interrupt, clarify, and maintain conversational context across long exchanges. The technical implementation likely involves:
- Continuous State: Conversation state is maintained in embedding space, not serialized to text.
- Streaming Architecture: Audio chunks are processed as they arrive, with preliminary responses generated before the full input is received.
- Multimodal Grounding: If the conversation references web search, images, or documents, the model integrates them without collapsing to text.
Amazon Nova Sonic
AWS's Nova family includes a specialized speech-to-speech variant optimized for customer service and voice agents. Features:
- Configurable Voice: Choose from multiple synthesis voices and control prosody parameters (speed, emotion, formality).
- Latency-Optimized: Designed for sub-300ms response times on typical queries.
- Integration: Runs via Amazon Bedrock, easily integrated with AWS Lambda, Connect, and other enterprise services.
| Model | Provider | Typical Latency | Streaming | Prosody Control |
|---|---|---|---|---|
| GPT-4o Voice | OpenAI | 200–400ms | Yes (bidirectional) | Implicit (tone preservation) |
| Gemini Live | 150–350ms | Yes (bidirectional) | Conversational, context-aware | |
| Nova Sonic | Amazon | 200–400ms | Yes (unidirectional) | Explicit (voice profiles) |
| Cascade (Whisper + GPT-4 + ElevenLabs) | Multiple | 1500–3000ms | Partial | Limited (TTS voice choice) |
Real-Time Streaming Architecture
Achieving sub-500ms latency requires careful system design. Here's what a production speech-to-speech system looks like:
WebSocket-Based I/O
HTTP request-response is too slow for real-time voice. Production systems use WebSocket connections that persist for the duration of a conversation session. Audio chunks (typically 20–40ms windows) are sent as binary frames:
// Client-side streaming
const ws = new WebSocket('wss://api.example.com/voice');
const audioContext = new AudioContext();
navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
const processor = audioContext.createScriptProcessor(4096, 1, 1);
const source = audioContext.createMediaStreamAudioSource(stream);
source.connect(processor);
processor.connect(audioContext.destination);
processor.onaudioprocess = (event) => {
const chunk = event.inputBuffer.getChannelData(0);
ws.send(chunk); // Send audio chunk
};
});
ws.onmessage = (event) => {
// Receive audio response
const audioChunk = event.data;
playAudioChunk(audioChunk);
};
Buffering and Backpressure
Real-time systems must handle mismatches between input rate and processing rate. If the model is slow, audio accumulates in buffers. If the network is slow, output audio playback must wait. Robust implementations:
- Input Buffering: Accumulate incoming audio in a ring buffer. If it fills beyond a threshold, signal backpressure (stop accepting input) or drop frames.
- Output Playback: Buffer outgoing audio and play it with smooth jitter correction. Maintain a target buffer level (e.g., 200ms worth of audio).
- Timeout Handling: If the model doesn't respond within a timeout (e.g., 10 seconds), close the connection gracefully.
Stateful Conversation Management
Unlike request-response APIs, streaming voice systems maintain state. The model needs context from the entire conversation history, but you can't re-process all prior audio every time. Solutions:
- Embeddings Cache: Store conversation context as dense embeddings in the server. When a new utterance arrives, compute its embedding and attend over prior embeddings.
- Summary Tokens: Periodically summarize the conversation into a fixed-size token sequence and prepend to the context window.
- KV Cache Persistence: For transformer-based models, cache key and value matrices across turns. A long conversation doesn't require re-computing attention for prior turns.
Sub-500ms latency requires: WebSocket I/O, ring buffering for input/output, predictable model latency (quantized or distilled), and stateful conversation context. No amount of infrastructure optimization beats slow model inference.
Applications: Where Speech-to-Speech Shines
Customer Service & Voice Agents
This is the killer app. A customer calls with an issue. A voice agent responds naturally, understands frustration in the caller's tone, and responds with appropriate empathy. No "press 1 for billing, press 2 for technical support." Just natural conversation.
Companies like Dial (acquired by Scale AI) and Seasons AI are building voice agents on top of speech-to-speech models. Early results show call resolution rates of 70–80% on routine issues, with customers often unaware they're talking to an AI.
Ambient Healthcare Monitoring
Hospitals are deploying voice AI to monitor patient status in real-time. A patient's voice patterns—breathlessness, slurred speech, pain indicators—can signal acute deterioration. Ambient voice systems (running on bedside devices) can alert nurses without requiring explicit patient interaction.
Speech-to-speech models that preserve prosody are critical here. Text transcription loses the vocal strain that indicates acute distress. The acoustic signal itself is the diagnostic data.
Real-Time Translation
Imagine a conversation where two people speak different languages and communicate in real-time without text. Person A speaks Spanish, the system translates to English semantics while preserving prosody, and Person B hears an English response in a voice that matches the emotional tone of the original speaker.
This is no longer theoretical. Systems like Google's ear buds (Pixel Buds with live translate) are shipping this now. The difference from cascaded ASR→MT→TTS is stark: the conversation feels natural, not like talking through a translation layer.
Accessibility & Assistive Technology
For users with visual impairments, speech-to-speech interfaces are more natural than text-based systems. Low-latency responses mean faster interaction loops. Prosody preservation makes AI companions more emotionally supportive for users with cognitive or mental health challenges.
Latency Benchmarks: The Sub-500ms Promise
How realistic is the sub-500ms target? Let's break down end-to-end latency:
- Audio Buffering & Collection: 40–100ms (depends on chunk size)
- Network Transmission (client → server): 20–100ms (geographically dependent)
- Speech Tokenization: 50–150ms (real-time or slower)
- Model Inference: 100–300ms (depends on model size and hardware)
- Audio Synthesis (tokenization → waveform): 50–150ms
- Network Transmission (server → client): 20–100ms
- Playback & Audio Processing: 20–50ms
Sum: 300–950ms. This assumes optimal conditions. To hit sub-500ms, you need:
- Streaming Inference: Start generating response tokens before the full input is received.
- Speculative Decoding: Use a smaller draft model to generate candidate tokens faster, then verify with a larger model.
- Quantization: Run 4-bit or 8-bit quantized models to reduce compute.
- Geographic Proximity: Low-latency routing to the nearest server.
- Batching Avoidance: Process single requests, not batches (no queue delays).
Major providers invest heavily in this optimization. OpenAI's infrastructure is tuned specifically for GPT-4o latency. Amazon's Bedrock uses dedicated hardware with optimized inference pipelines. Google leverages its global edge network.
The Emotional Frontier: Beyond Text-Neutral Responses
One of the most intriguing aspects of end-to-end speech models is their emerging ability to modulate emotional tone. How does this work?
If the model receives input that includes prosodic markers of confusion, frustration, or urgency, it can (through training) learn to respond in kind: with patience, with reassurance, or with urgency. This happens implicitly in the embeddings—the model learns correlations between input prosody and appropriate output prosody.
Some systems make this explicit. Amazon Nova Sonic, for instance, allows you to specify a "voice profile" that embeds emotional context. You can request "professional and reassuring" or "warm and conversational." The model then generates speech synthesis parameters that match that profile.
This is still early. Emotional AI is fraught with risks: overloading AI with too much emotion-mimicry can feel manipulative, especially in customer service (customers may feel patronized by a too-solicitous bot). But when used thoughtfully, it's powerful. A healthcare assistant that responds with measured calm to a panicked patient can be genuinely therapeutic.
Future Directions: Multimodal Speech Models
The next frontier combines speech with vision, text, and other modalities. Imagine a voice agent that can:
- Listen to a user describe a problem while looking at a screen (camera input).
- Understand the user's emotional state from voice prosody.
- Visually identify objects or UI elements in the environment.
- Generate a spoken response that references both the visual and acoustic context.
This is already being researched (OpenAI's GPT-4V with voice extensions, Google's Gemini multimodal models), but it's not yet in mainstream production. The latency challenges compound: more modalities, larger models, more compute. But the vision is clear: interfaces that understand the full context of human communication—not just words, but tone, gesture, environment.
Practical Considerations: When to Use Speech-to-Speech
Not every voice AI application benefits from end-to-end speech-to-speech. Guidance on when to adopt:
Use Speech-to-Speech When:
- Latency Matters: Sub-500ms response time is critical (customer service, emergency response).
- Prosody Signals Meaning: Emotion, sarcasm, or tone conveys important information (healthcare, education, therapy).
- Interruption is Expected: Conversations are natural and bidirectional, with frequent interruptions and clarifications.
- Cost is a Concern: Speech-to-speech APIs are often cheaper than cascaded ASR + LLM + TTS.
Stick with Cascaded Pipelines When:
- Explainability is Critical: You need to audit intermediate steps (what was transcribed? what reasoning did the LLM apply?).
- Text Modification is Required: You need to inject rules, modify outputs, or post-process before synthesis.
- Latency Doesn't Matter: Async applications (voicemail processing, recorded lectures).
- Cost Optimization Requires Batching: High volume, where batch processing of ASR/LLM/TTS is cheaper than per-request streaming.
Most teams start with cascaded pipelines for simplicity. As latency requirements tighten and use cases become more conversational, gradually migrate to speech-to-speech for the critical paths. Hybrid systems (cascade for some requests, end-to-end for others) are common during transition.
Conclusion: The De-Bottlenecking of Voice AI
The shift from cascaded ASR→LLM→TTS to end-to-end speech-to-speech models is not merely an optimization. It's a fundamental reconceptualization of how AI interfaces with human voice. By eliminating the text bottleneck, we preserve the richness of human speech—emotion, nuance, context—and enable interactions that feel genuinely natural.
Latency has dropped from 1–3 seconds to 200–400ms. Emotional nuance is preserved. Costs have fallen. The barriers to deploying sophisticated voice AI in production are lower than ever.
In the next 18–24 months, expect:
- Widespread adoption in customer service (most major platforms will have speech-to-speech agents).
- Healthcare expansion (ambient monitoring, patient communication).
- Multimodal versions that integrate vision and language seamlessly.
- Smaller, specialized models optimized for specific industries (legal, medical, financial).
The text bottleneck is being dissolved. Voice AI is becoming truly conversational. What's next is not yet determined—but the substrate is finally ready for innovation.