azure-ai-voicelive-dotnet
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 é um kit de ferramentas para criar assistentes de voz que conversam em tempo real. Ele permite que seu programa de computador envie áudio para a IA e receba a resposta em áudio e texto.
Quando usar
- ✓Criar um chatbot falante para um jogo.
- ✓Desenvolver um sistema de atendimento ao cliente por voz.
- ✓Fazer um aplicativo que responde a comandos de voz.
Exemplo do que pedir para a IA
“Crie um assistente de voz que me ajude a planejar minhas férias.”
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 conectando seu programa a um serviço da Microsoft via internet. Seu programa envia sua voz, a IA processa e responde com voz e texto.
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-dotnetOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-ai-voicelive-dotnet/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 (.NET)
SDK de IA de voz em tempo real para criar assistentes de voz bidirecionais com Azure AI.
Instalação
dotnet add package Azure.AI.VoiceLive
dotnet add package Azure.Identity
dotnet add package NAudio # For audio capture/playback
Versões Atuais: Estável v1.0.0, Preview v1.1.0-beta.1
Variáveis de Ambiente
AZURE_VOICELIVE_ENDPOINT=https://<resource>.services.ai.azure.com/
AZURE_VOICELIVE_MODEL=gpt-4o-realtime-preview
AZURE_VOICELIVE_VOICE=en-US-AvaNeural
# Optional: API key if not using Entra ID
AZURE_VOICELIVE_API_KEY=<your-api-key>
Autenticação
Microsoft Entra ID (Recomendado)
using Azure.Identity;
using Azure.AI.VoiceLive;
Uri endpoint = new Uri("https://your-resource.cognitiveservices.azure.com");
DefaultAzureCredential credential = new DefaultAzureCredential();
VoiceLiveClient client = new VoiceLiveClient(endpoint, credential);
Função Necessária: Cognitive Services User (atribuir no Portal do Azure → Controle de acesso)
Chave de API
Uri endpoint = new Uri("https://your-resource.cognitiveservices.azure.com");
AzureKeyCredential credential = new AzureKeyCredential("your-api-key");
VoiceLiveClient client = new VoiceLiveClient(endpoint, credential);
Hierarquia de Clientes
VoiceLiveClient
└── VoiceLiveSession (WebSocket connection)
├── ConfigureSessionAsync()
├── GetUpdatesAsync() → SessionUpdate events
├── AddItemAsync() → UserMessageItem, FunctionCallOutputItem
├── SendAudioAsync()
└── StartResponseAsync()
Fluxo de Trabalho Principal
1. Iniciar Sessão e Configurar
using Azure.Identity;
using Azure.AI.VoiceLive;
var endpoint = new Uri(Environment.GetEnvironmentVariable("AZURE_VOICELIVE_ENDPOINT"));
var client = new VoiceLiveClient(endpoint, new DefaultAzureCredential());
var model = "gpt-4o-mini-realtime-preview";
// Start session
using VoiceLiveSession session = await client.StartSessionAsync(model);
// Configure session
VoiceLiveSessionOptions sessionOptions = new()
{
Model = model,
Instructions = "You are a helpful AI assistant. Respond naturally.",
Voice = new AzureStandardVoice("en-US-AvaNeural"),
TurnDetection = new AzureSemanticVadTurnDetection()
{
Threshold = 0.5f,
PrefixPadding = TimeSpan.FromMilliseconds(300),
SilenceDuration = TimeSpan.FromMilliseconds(500)
},
InputAudioFormat = InputAudioFormat.Pcm16,
OutputAudioFormat = OutputAudioFormat.Pcm16
};
// Set modalities (both text and audio for voice assistants)
sessionOptions.Modalities.Clear();
sessionOptions.Modalities.Add(InteractionModality.Text);
sessionOptions.Modalities.Add(InteractionModality.Audio);
await session.ConfigureSessionAsync(sessionOptions);
2. Processar Eventos
await foreach (SessionUpdate serverEvent in session.GetUpdatesAsync())
{
switch (serverEvent)
{
case SessionUpdateResponseAudioDelta audioDelta:
byte[] audioData = audioDelta.Delta.ToArray();
// Play audio via NAudio or other audio library
break;
case SessionUpdateResponseTextDelta textDelta:
Console.Write(textDelta.Delta);
break;
case SessionUpdateResponseFunctionCallArgumentsDone functionCall:
// Handle function call (see Function Calling section)
break;
case SessionUpdateError error:
Console.WriteLine($"Error: {error.Error.Message}");
break;
case SessionUpdateResponseDone:
Console.WriteLine("\n--- Response complete ---");
break;
}
}
3. Enviar Mensagem do Usuário
await session.AddItemAsync(new UserMessageItem("Hello, can you help me?"));
await session.StartResponseAsync();
4. Chamada de Função
// Definir função
var weatherFunction = new VoiceLiveFunctionDefinition("get_current_weather")
{
Description = "Obter o clima atual para um local específico",
Parameters = BinaryData.FromString("""
{
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "A cidade e estado ou país"
}
},
"required": ["location"]
}
""")
};
// Adicionar às opções da sessão
sessionOptions.Tools.Add(weatherFunction);
// Lidar com a chamada de função no loop de eventos
…
Perguntas frequentes
Preciso saber programar para usar?
Sim, este kit de ferramentas é para programadores. Ele ajuda a adicionar voz a programas de computador.
Posso escolher a voz da IA?
Sim, você pode escolher entre várias vozes padrão da Microsoft ou até mesmo usar uma voz personalizada.
A conversa é instantânea?
Sim, ele é projetado para comunicação em tempo real, permitindo conversas fluidas.
Detalhes
Descrição original do autor
Azure AI Voice Live SDK for .NET. Build real-time voice AI applications with bidirectional WebSocket communication.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2287
- 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