Urso Eco — Voice Chat
Chat de voz em tempo real com múltiplas personas. Arquitetura WebSocket com vozes nativas em PT-BR.
Visão Geral
O Urso Eco é o sistema de voice chat em tempo real da Polar. Utilizando uma arquitetura bidirecional baseada em WebSocket, o Urso Eco permite conversas por voz naturais e fluidas com latência ultra-baixa. O sistema é alimentado pelo engine Moshi, otimizado para vozes nativas em português brasileiro.
Arquitetura
O Urso Eco utiliza uma arquitetura speech-to-speech que processa áudio diretamente, sem etapas intermediárias de transcrição. Isso resulta em:
- Latência ultra-baixa — resposta em menos de 500ms
- Tempo real — respostas instantâneas com latência ultra-baixa
- Naturalidade — entonação, pausas e expressividade preservadas
- Streaming contínuo — sem espera por turnos de fala
Fluxo de Dados
Microfone → WebSocket → Moshi Engine → Modelo Urso → Síntese de Voz → WebSocket → Alto-falante
↕ ↕
Frames de áudio Frames de áudio +
(PCM 16-bit, 16kHz) texto (opcional)Funcionalidades
Múltiplas Personas
O Urso Eco suporta diferentes personas, cada uma com sua própria voz, personalidade e conhecimento especializado:
| Persona | Descrição | Caso de Uso |
|---|---|---|
| Assistente Geral | Assistente conversacional versátil | Perguntas gerais, tarefas do dia-a-dia |
| Jurídico | Especialista em direito brasileiro | Consultas jurídicas, explicação de leis |
| Atendimento | Agente de atendimento ao cliente | Suporte, SAC, resolução de problemas |
| Educacional | Tutor e professor | Ensino, explicações didáticas |
| Personalizado | Definido pelo usuário | Qualquer caso de uso específico |
Processamento de Áudio em Tempo Real
- Formato de entrada: PCM 16-bit, mono, 16kHz
- Formato de saída: PCM 16-bit, mono, 24kHz
- Tamanho do frame: 20ms (640 bytes a 16kHz)
- Codec: Opus (opcional, para reduzir banda)
- VAD (Voice Activity Detection): integrado
Logging de Conversas
Todas as conversas podem ser opcionalmente logadas para:
- Transcrição completa (texto)
- Gravação de áudio
- Métricas de latência
- Análise de sentimento
Início Rápido
1. Conectar via WebSocket
const ws = new WebSocket("wss://api.polarai.com.br/v1/urso-eco/stream");
ws.onopen = () => {
// Autenticar
ws.send(JSON.stringify({
type: "auth",
api_key: "pk-sua-chave-aqui",
persona: "assistente_geral",
config: {
sample_rate: 16000,
channels: 1,
encoding: "pcm_s16le"
}
}));
};2. Enviar Áudio
// Capturar áudio do microfone
navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
const audioContext = new AudioContext({ sampleRate: 16000 });
const source = audioContext.createMediaStreamSource(stream);
const processor = audioContext.createScriptProcessor(1024, 1, 1);
source.connect(processor);
processor.connect(audioContext.destination);
processor.onaudioprocess = (e) => {
const audioData = e.inputBuffer.getChannelData(0);
const pcmData = convertFloat32ToPCM16(audioData);
ws.send(pcmData);
};
});3. Receber Respostas
ws.onmessage = (event) => {
if (event.data instanceof Blob) {
// Frame de áudio — reproduzir
playAudio(event.data);
} else {
const msg = JSON.parse(event.data);
switch (msg.type) {
case "text_delta":
console.log("Texto:", msg.text);
break;
case "session_start":
console.log("Sessão iniciada:", msg.session_id);
break;
case "error":
console.error("Erro:", msg.message);
break;
}
}
};Preços
| Recurso | Preço |
|---|---|
| Voice chat (personas padrão) | R$ 1,50 por minuto |
| Logging de transcrição | Incluído |
| Gravação de áudio | R$ 0,02 por minuto adicional |
| Personas personalizadas | R$ 2,50 por minuto |
Próximos Passos
- WebSocket API — protocolo completo e eventos
- Vozes e Personas — vozes disponíveis e personalização
- Guia de Integração — implementação passo a passo com React