09-04-04 — Voice Live: speech-to-speech (preview)
TL;DR
Voice Live (preview no Azure AI Foundry) é speech-to-speech em tempo real: o usuário fala, o agente responde com voz, com latência de ~500ms. Diferente do fluxo STT → LLM → TTS (três etapas separadas), o Voice Live processa tudo em um pipeline contínuo via WebSocket. Baseado no GPT-4o Realtime Audio. Casos de uso: contact centers com IA, assistentes de campo por voz, acessibilidade.
Arquitetura Voice Live vs pipeline tradicional
| Aspecto | Pipeline STT→LLM→TTS | Voice Live (Realtime) |
|---|---|---|
| Latência total | 2–5 segundos | ~300–600ms |
| Fidelidade emocional | Baixa (texto intermediário) | Alta (tom detectado direto) |
| Interrupções | Não suporta | Suporta (barge-in) |
| Complexidade | 3 serviços separados | 1 WebSocket |
| Custo | Menor | Maior (modelo mais pesado) |
| Status | GA | Preview |
Conectando ao Voice Live via WebSocket
import asyncio
import websockets
import json
import os
async def voice_agent_session():
# Endpoint Voice Live no AI Foundry
ws_url = (
f"{os.environ['AZURE_AI_FOUNDRY_ENDPOINT']}/realtime"
f"?api-version=2025-01-01-preview"
f"&deployment=gpt-4o-realtime-preview"
)
headers = {"api-key": os.environ["AZURE_API_KEY"]}
async with websockets.connect(ws_url, extra_headers=headers) as ws:
# Configurar sessão de voz
await ws.send(json.dumps({
"type": "session.update",
"session": {
"modalities": ["audio", "text"],
"instructions": "Você é um assistente de suporte da Impar. Responda em português, tom profissional.",
"voice": "shimmer", # ou alloy, echo, nova, onyx
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"turn_detection": {
"type": "server_vad", # detecta fim da fala automaticamente
"threshold": 0.5,
"silence_duration_ms": 500
}
}
}))
# Loop: recebe áudio do microfone, envia, recebe resposta em áudio
async for message in ws:
event = json.loads(message)
if event["type"] == "response.audio.delta":
# Reproduzir chunk de áudio
audio_bytes = bytes.fromhex(event["delta"])
play_audio_chunk(audio_bytes) # implementação no seu app
elif event["type"] == "response.done":
print("Resposta completa")
asyncio.run(voice_agent_session())
Casos de uso enterprise
Contact center com IA
Substitui URA (DTMF) por agente de voz natural. Integra com Foundry Agent Service para acesso ao histórico do cliente e base de conhecimento:
- Usuário liga → Voice Live atende instantaneamente
- Agente consulta CRM via function calling (tool customizada)
- Responde com voz em português, detecta frustração no tom
- Transfere para humano quando necessário (com handoff de contexto)
Assistente de campo
Técnico de manutenção usa fone de ouvido bluetooth no campo:
- "Qual o torque de aperto do parafuso M12 deste equipamento?"
- Agente busca no manual (file_search) e responde por voz
- Mãos livres, sem olhar para tela
Vozes disponíveis
| Voz | Característica | Melhor para |
|---|---|---|
| alloy | Neutra, profissional | Contact center, suporte |
| echo | Masculina, clara | Narração, documentação |
| shimmer | Feminina, amigável | Assistente consumer |
| nova | Feminina, enérgica | Apps jovens, varejo |
| onyx | Masculina, grave | Aplicações enterprise |
⚠️ Status preview: Voice Live estava em preview no Foundry em abril 2026. Não use em produção crítica sem validar SLA. O GPT-4o Realtime Audio tem custo significativamente maior que texto (~$0,06/min de áudio input + $0,24/min output). Calcule o budget antes de escalar.