azure-ai-voicelive-py
Faz seu agente se comunicar por voz em tempo real. Útil para criar experiências de conversação interativas.
O que ela faz
Este programa permite que você crie aplicativos que entendem e respondem com voz em tempo real. Ele conecta sua aplicação a um serviço de inteligência artificial que pode processar áudio e texto.
Quando usar
- ✓Criar um chatbot que fala.
- ✓Desenvolver um assistente virtual para um jogo.
- ✓Fazer um aplicativo que transcreve áudio e responde em voz.
Exemplo do que pedir para a IA
“Quero criar um assistente que me diga o tempo em São Paulo e responda em português.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele funciona enviando áudio ou texto para a nuvem da Microsoft e recebendo de volta a resposta em áudio ou texto. Usa uma conexão especial chamada WebSocket para comunicação rápida.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill azure-ai-voicelive-pyOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-voicelive-py/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Suporte upstream incluído
Arquivos de suporte estão incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.
Azure AI Voice Live SDK
Crie aplicações de voz com IA em tempo real com comunicação bidirecional via WebSocket.
Instalação
pip install azure-ai-voicelive aiohttp azure-identity
Variáveis de Ambiente
AZURE_COGNITIVE_SERVICES_ENDPOINT=https://<region>.api.cognitive.microsoft.com
# For API key auth (not recommended for production)
AZURE_COGNITIVE_SERVICES_KEY=<api-key>
Autenticação
DefaultAzureCredential (preferencial):
from azure.ai.voicelive.aio import connect
from azure.identity.aio import DefaultAzureCredential
async with connect(
endpoint=os.environ["AZURE_COGNITIVE_SERVICES_ENDPOINT"],
credential=DefaultAzureCredential(),
model="gpt-4o-realtime-preview",
credential_scopes=["https://cognitiveservices.azure.com/.default"]
) as conn:
...
Chave de API:
from azure.ai.voicelive.aio import connect
from azure.core.credentials import AzureKeyCredential
async with connect(
endpoint=os.environ["AZURE_COGNITIVE_SERVICES_ENDPOINT"],
credential=AzureKeyCredential(os.environ["AZURE_COGNITIVE_SERVICES_KEY"]),
model="gpt-4o-realtime-preview"
) as conn:
...
Início Rápido
import asyncio
import os
from azure.ai.voicelive.aio import connect
from azure.identity.aio import DefaultAzureCredential
async def main():
async with connect(
endpoint=os.environ["AZURE_COGNITIVE_SERVICES_ENDPOINT"],
credential=DefaultAzureCredential(),
model="gpt-4o-realtime-preview",
credential_scopes=["https://cognitiveservices.azure.com/.default"]
) as conn:
# Update session with instructions
await conn.session.update(session={
"instructions": "You are a helpful assistant.",
"modalities": ["text", "audio"],
"voice": "alloy"
})
# Listen for events
async for event in conn:
print(f"Event: {event.type}")
if event.type == "response.audio_transcript.done":
print(f"Transcript: {event.transcript}")
elif event.type == "response.done":
break
asyncio.run(main())
Arquitetura Principal
Recursos de Conexão
O VoiceLiveConnection expõe estes recursos:
| Recurso | Propósito | Métodos Chave |
|---|---|---|
conn.session |
Configuração da sessão | update(session=...) |
conn.response |
Respostas do modelo | create(), cancel() |
conn.input_audio_buffer |
Entrada de áudio | append(), commit(), clear() |
conn.output_audio_buffer |
Saída de áudio | clear() |
conn.conversation |
Estado da conversa | item.create(), item.delete(), item.truncate() |
conn.transcription_session |
Configuração de transcrição | update(session=...) |
Configuração da Sessão
from azure.ai.voicelive.models import RequestSession, FunctionTool
await conn.session.update(session=RequestSession(
instructions="You are a helpful voice assistant.",
modalities=["text", "audio"],
voice="alloy", # or "echo", "shimmer", "sage", etc.
input_audio_format="pcm16",
output_audio_format="pcm16",
turn_detection={
"type": "server_vad",
"threshold": 0.5,
"prefix_padding_ms": 300,
"silence_duration_ms": 500
},
tools=[
FunctionTool(
type="function",
name="get_weather",
description="Get current weather",
parameters={
"type": "object",
"properties": {
"location": {"type": "string"}
},
"required": ["location"]
}
)
]
))
Streaming de Áudio
Enviar Áudio (PCM16 Base64)
import base64
# Read audio chunk (16-bit PCM, 24kHz mono)
audio_chunk = await read_audio_from_microphone()
b64_audio = base64.b64encode(audio_chunk).decode()
await conn.input_audio_buffer.append(audio=b64_audio)
Receber Áudio
async for event in conn:
if event.type == "response.audio.delta":
audio_bytes = base64.b64decode(event.delta)
await play_audio(audio_bytes)
elif event.type == "response.audio.done":
print("Audio complete")
Tratamento de Eventos
async for event in conn:
…
Perguntas frequentes
Como configuro o programa?
Você precisa instalar algumas bibliotecas e configurar variáveis de ambiente com seu endereço e chave de acesso ao serviço da Microsoft Azure.
Posso usar minha própria voz?
O programa permite escolher entre algumas vozes pré-definidas, como 'alloy', 'echo', 'shimmer', 'sage'.
Ele entende comandos de voz para executar outras tarefas?
Sim, é possível configurar o programa para que a IA possa chamar funções externas, como obter a previsão do tempo, com base no que você diz.
Detalhes
Descrição original do autor
Build real-time voice AI applications with bidirectional WebSocket communication.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2289
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
speech
Ajuda seu agente a transformar texto em áudio falado. É útil para criar narrações, áudios de aulas ou locuções rápidas.
nexu-io/open-design
Docker Hub Automation
Faz seu agente automatizar operações no Docker Hub. Gerencia repositórios, equipes e webhooks para seus contêineres.
ComposioHQ/awesome-claude-skills
New Relic Automation
Ajuda seu agente a automatizar tarefas no New Relic. Ele pode gerenciar alertas, monitorar aplicações e configurar notificações.
ComposioHQ/awesome-claude-skills