Pular para o conteúdo
Skillpedia
Conectores (MCP)48 mil · #2289

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-voicelive-py/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-voicelive-py/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-py

Ou 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.md
Conteú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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2289
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas