There's a moment in every AI voice call that determines whether the prospect
trusts the AI or hangs up immediately.
It happens in the first response. The prospect finishes talking. Then silence.
In a standard cascade voice pipeline (STT → LLM → TTS), here's what's
happening during that silence:
Total: ~940ms of dead air.
On Indian mobile calls, anything above 800ms reads as a dropped connection.
The prospect says "Hello? Hello?" — and by the time the AI responds,
trust is already gone.
Voice-to-voice processes audio end-to-end without intermediate text conversion.
python
import asyncio
import websockets
import json
async def voice_to_voice_session():
url = "wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview"
async with websockets.connect(url, extra_headers={
"Authorization": f"Bearer {OPENAI_KEY}",
"OpenAI-Beta": "realtime=v1"
}) as ws:
await ws.send(json.dumps({
"type": "session.update",
"session": {
"modalities": ["audio", "text"],
"voice": "alloy",
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
}
}))
async for message in ws:
event = json.loads(message)
if event["type"] == "response.audio.delta":
yield bytes.fromhex(event["delta"])
Latency comparison:
Architecture Total Latency First-Response Hang-up Rate
Cascade 940ms 38%
Voice-to-Voice 180ms 8%
TTGE Native 200ms 8%