azure-ai-voicelive-ts
Ajuda seu agente a ter conversas por voz em tempo real. Permite comunicação bidirecional para interações mais naturais.
O que ela faz
Este código permite criar aplicações que entendem e respondem por voz em tempo real. Ele conecta sua aplicação a serviços de voz da Azure para processar áudio e texto.
Quando usar
- ✓Criar um chatbot que fala com os usuários.
- ✓Desenvolver um assistente de voz para um aplicativo.
- ✓Integrar reconhecimento de voz em tempo real em um sistema.
Exemplo do que pedir para a IA
“Quero criar um assistente que responde perguntas sobre o tempo usando minha voz.”
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
O código estabelece uma conexão de áudio bidirecional com os serviços da Azure. Ele envia o áudio que você fala e recebe áudio ou texto como resposta, permitindo conversas fluidas.
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-tsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-voicelive-ts/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.
@azure/ai-voicelive (JavaScript/TypeScript)
SDK de IA de voz em tempo real para criar assistentes de voz bidirecionais com Azure AI em ambientes Node.js e de navegador.
Instalação
npm install @azure/ai-voicelive @azure/identity
# TypeScript users
npm install @types/node
Versão Atual: 1.0.0-beta.3
Ambientes Suportados:
- Versões LTS do Node.js (20+)
- Navegadores modernos (Chrome, Firefox, Safari, Edge)
Variáveis de Ambiente
AZURE_VOICELIVE_ENDPOINT=https://<resource>.cognitiveservices.azure.com
# Optional: API key if not using Entra ID
AZURE_VOICELIVE_API_KEY=<your-api-key>
# Optional: Logging
AZURE_LOG_LEVEL=info
Autenticação
Microsoft Entra ID (Recomendado)
import { DefaultAzureCredential } from "@azure/identity";
import { VoiceLiveClient } from "@azure/ai-voicelive";
const credential = new DefaultAzureCredential();
const endpoint = "https://your-resource.cognitiveservices.azure.com";
const client = new VoiceLiveClient(endpoint, credential);
Chave de API
import { AzureKeyCredential } from "@azure/core-auth";
import { VoiceLiveClient } from "@azure/ai-voicelive";
const endpoint = "https://your-resource.cognitiveservices.azure.com";
const credential = new AzureKeyCredential("your-api-key");
const client = new VoiceLiveClient(endpoint, credential);
Hierarquia de Clientes
VoiceLiveClient
└── VoiceLiveSession (WebSocket connection)
├── updateSession() → Configure session options
├── subscribe() → Event handlers (Azure SDK pattern)
├── sendAudio() → Stream audio input
├── addConversationItem() → Add messages/function outputs
└── sendEvent() → Send raw protocol events
Início Rápido
import { DefaultAzureCredential } from "@azure/identity";
import { VoiceLiveClient } from "@azure/ai-voicelive";
const credential = new DefaultAzureCredential();
const endpoint = process.env.AZURE_VOICELIVE_ENDPOINT!;
// Create client and start session
const client = new VoiceLiveClient(endpoint, credential);
const session = await client.startSession("gpt-4o-mini-realtime-preview");
// Configure session
await session.updateSession({
modalities: ["text", "audio"],
instructions: "You are a helpful AI assistant. Respond naturally.",
voice: {
type: "azure-standard",
name: "en-US-AvaNeural",
},
turnDetection: {
type: "server_vad",
threshold: 0.5,
prefixPaddingMs: 300,
silenceDurationMs: 500,
},
inputAudioFormat: "pcm16",
outputAudioFormat: "pcm16",
});
// Subscribe to events
const subscription = session.subscribe({
onResponseAudioDelta: async (event, context) => {
// Handle streaming audio output
const audioData = event.delta;
playAudioChunk(audioData);
},
onResponseTextDelta: async (event, context) => {
// Handle streaming text
process.stdout.write(event.delta);
},
onInputAudioTranscriptionCompleted: async (event, context) => {
console.log("User said:", event.transcript);
},
});
// Send audio from microphone
function sendAudioChunk(audioBuffer: ArrayBuffer) {
session.sendAudio(audioBuffer);
}
Configuração de Sessão
await session.updateSession({
// Modalities
modalities: ["audio", "text"],
// System instructions
instructions: "You are a customer service representative.",
// Voice selection
voice: {
type: "azure-standard", // or "azure-custom", "openai"
name: "en-US-AvaNeural",
},
// Turn detection (VAD)
turnDetection: {
type: "server_vad", // or "azure_semantic_vad"
threshold: 0.5,
prefixPaddingMs: 300,
silenceDurationMs: 500,
},
// Audio formats
inputAudioFormat: "pcm16",
outputAudioFormat: "pcm16",
// Tools (function calling)
tools: [
{
type: "function",
name: "get_weather",
description: "Get current weather",
parameters: {
type: "object",
properties: {
location: { type: "string" }
},
required: ["location"]
}
}
],
toolChoice: "auto",
});
Tratamento de Eventos (Padrão do SDK do Azure)
O SDK usa um padrão de tratamento de eventos baseado em assinatura:
const subscription = session.subscribe({
// Ciclo de vida da conexão
onConnected: async (args, context) => {
console.log("Conectado:", args.connectionId);
},
onDisconnected: async (args, context) => {
console.log("Desconectado:", args.code, args.reason);
},
…
Perguntas frequentes
Preciso saber programar muito para usar isso?
É recomendado ter um conhecimento básico de programação em JavaScript ou TypeScript, pois este é um kit de desenvolvimento de software (SDK).
O que é 'bidirecional'?
Significa que a comunicação funciona nos dois sentidos: você envia áudio para a IA e a IA envia áudio ou texto de volta para você.
Posso escolher a voz da IA?
Sim, o código permite configurar a voz da IA, incluindo o idioma e o tipo de voz (padrão ou personalizada).
Detalhes
Descrição original do autor
Azure AI Voice Live SDK for JavaScript/TypeScript. Build real-time voice AI applications with bidirectional WebSocket communication.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2290
- 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