Voltar as noticias
Criei um Coach de Voz em Mandarim com a API Gemini — Aqui Está o Que Aprendi
Casos de UsoMediaEN

Criei um Coach de Voz em Mandarim com a API Gemini — Aqui Está o Que Aprendi

Dev.to - MCP·1 de julho de 2026

Eu uso o Duolingo todos os dias para japonês. Eu realmente gosto. Mas três coisas me deixam louco.

A progressão é uma solução única para todos. A sequência de aprendizado é a mesma para todos. Mesmo que você tenha dominado certo vocabulário, não pode pular. E se algo é realmente difícil para você, você não recebe prática significativamente maior nisso. A dificuldade "adaptativa" não parece adaptativa.

A pontuação de fala é pouco confiável. Eu pronuncio uma palavra da mesma forma duas vezes — uma vez me deixa ir, na próxima vez diz não. Quando você está realmente tentando melhorar sua pronúncia, o feedback inconsistente é pior do que nenhum feedback. É desmoralizante.

A prática de conversação é casual (fazendo chamadas telefônicas o tempo todo?) o que me lembra a Siri. Este é o ponto principal. A maioria das pessoas aprende um idioma porque quer conversar com outras pessoas. Mas todos os aplicativos que tentei se concentram em vocabulário, gramática, leitura — tudo, exceto conversa real. Eu não consegui encontrar um único aplicativo que te coloque em um cenário realista e diga: "Peça chá a essa pessoa. Em mandarim. Agora. Com tarefas específicas."

Foi assim que eu tive a ideia de cenários de fala orientados a tarefas. E é isso que é o ChiChat.

O que o ChiChat faz

O ChiChat é um coach de voz em mandarim com IA de código aberto. Você tem conversas reais com NPCs de IA em cenários cotidianos chineses — uma casa de chá (茶馆), um hotel (酒店), um mercado molhado (菜市场). Cada NPC fala apenas mandarim e se adapta ao seu nível.

Veja o fluxo:

Usuário fala mandarim → Microfone → Gemini Live (STT + LLM + TTS) → NPC responde

Rastreamento de slots + Correção de fala

[Fim da conversa] → Pontuação de pronúncia

Avaliação LLM (nível, feedback, exercícios)

Relatório de coaching + exercícios de pronúncia direcionados

Uma sessão típica: você entra em uma casa de chá virtual. O NPC, 小王 (um servidor de chá), te cumprimenta. Sua tarefa pode ser: pedir 龙井茶 (chá Longjing) em uma 小壶 (bule pequeno), pegar 花生 (amendoins) como lanche, sentar-se perto da janela. Você fala. Ele responde. É uma conversa real — você pode interrompê-lo no meio da frase, mudar de ideia, fazer perguntas.

Após o término da conversa, você recebe três coisas:

  1. Pontuações de pronúncia em nível de palavra** — cada palavra que você disse pontuada de 0-100 por uma API de avaliação profissional (não confiança de ASR)
  2. Feedback de coaching de IA — uma classificação de nível, análise dimensão por dimensão, sugestões de aprimoramento de expressão
  3. Exercícios direcionados — prática de pronúncia nas suas palavras e frases mais fracas

Este é um ciclo de aprendizado em seis fases: Selecionar um cenário → Briefing (veja sua tarefa) → Diálogo (converse com o NPC) → Revisão (transcrição com pontuações) → Coaching (feedback da IA) → Exercício (pratique os pontos fracos).

Três problemas que eu quis resolver

  1. Dificuldade adaptativa que realmente se adapta

O ChiChat tem quatro níveis de dificuldade. No Nível 1, o NPC fala muito devagar e oferece escolhas binárias: "你要绿茶还是红茶?" (Chá verde ou chá preto?). No Nível 4, o NPC conversa naturalmente sobre origens do chá, métodos de preparo e usa expressões coloquiais.

A sacada é simples: o botão de dificuldade é apenas um modificador de instrução do sistema. Mesmo modelo, mesma voz — persona de NPC diferente.

Veja como é o Nível 1 para a casa de chá: Falar muito devagar e claramente. Oferecer múltiplas escolhas, como "Você quer chá verde ou chá preto?" Aceitar respostas de uma palavra. Se eles não souberem o que dizer, dar opções.

E o Nível 4: Conversa completamente natural. Conversar sobre origens do chá, métodos de preparo, usar expressões coloquiais. Esperar um diálogo natural e fluente.

A promoção requer 2 avaliações consecutivas acima do seu nível atual — não apenas uma corrida de sorte. E a avaliação do nível é independente: seu histórico não ancla sua pontuação. Um aprendiz do Nível 1 que de repente se sai bem no Nível 3 é classificado como Nível 3.

  1. Pontuação de pronúncia em que você pode confiar

ASR (reconhecimento de fala) diz o que você disse. A pontuação de pronúncia diz o quão bem você disse. Estas são coisas fundamentalmente diferentes. ASR pode transcrever perfeitamente sua fala enquanto você massacra todos os tons.

O ChiChat usa uma API de avaliação de pronúncia profissional que encontrei via X. Estou realmente feliz que haja pessoas inteligentes trabalhando nessa técnica de nicho! Eles oferecem seus serviços via o MCP (Modelo de Protocolo de Contexto) e podem fazer tanto inglês quanto mandarim chinês. Cada palavra recebe uma pontuação de 0-100. Se você disser "茉莉花茶" (chá de jasmim) e pontuar 45, isso significa que seus tons precisam de trabalho — e a pontuação será consistente na próxima vez que você disser da mesma forma.

Veja o núcleo da integração do MCP — é uma chamada padrão JSON-RPC:

typescript
const res = await fetch(MCP_URL, {
method: "POST",
headers: {
"Authorization": Bearer ${apiKey},
"Content-Type": "application/json",
"Mcp-Session-Id": sessionId,
},
body: JSON.stringify({
jsonrpc: "2.0",
id: Date.now(),
method: "tools/call",
params: {
name: "cn_sentence_eval",
arguments: { ref_text: refText, audio_base64: audioBase64, rank: 100 },
},
}),
});

A sessão do MCP tem um tempo limite de ~3 minutos. Nós armazenamos em cache o ID da sessão e tentamos novamente com uma nova sessão se ela ficar obsoleta — transparente para o usuário.

  1. Conversação em primeiro lugar, não vocabulário em primeiro lugar

A maioria dos aplicativos de idiomas começa com flashcards. O ChiChat começa com uma tarefa.

Cada cenário tem slots — as decisões chave que você precisa tomar durante a conversa. Para a casa de chá: tipo de chá, tamanho do bule, lanche, assento. Para o hotel: tipo de quarto, número de noites, café da manhã, método de pagamento. O aplicativo gera aleatoriamente uma tarefa a partir desses slots, e seu objetivo é comunicar suas escolhas ao NPC através de uma conversa natural.

Você não decora "大床房 significa quarto king-size" em um flashcard. Você faz check-in em um hotel e descobre quando o NPC pergunta o que você quer. O NPC rastreia seu progresso de slots com a chamada de função do Gemini:

typescript
{
name: "update_slots",
description: "Chame sempre que o cliente especificar qualquer informação relevante.",
parameters: {
type: "OBJECT",
properties: {
tea_type: { type: "STRING", enum: ["绿茶", "红茶", "乌龙茶", "茉莉花茶", "普洱茶"] },
size: { type: "STRING", enum: ["小壶", "中壶", "大壶"] },
snack: { type: "STRING", enum: ["花生", "瓜子", "绿豆糕", "不要"] },
seating: { type: "STRING", enum: ["窗边", "包间", "大厅"] },
},
},
}

Esse é o truque não óbvio: a chamada de função funciona dentro de uma sessão de voz ao vivo. O modelo chama update_slots no meio da conversa sem interromper o fluxo de áudio. Ele também chama correct_user_speech após cada turno para corrigir erros de reconhecimento de ASR (como "绿茶" sendo mal interpretado como "旅差") — tudo acontecendo em tempo real, dentro da mesma conexão WebSocket.

Por baixo do capô: API Gemini Live

O núcleo do ChiChat é a API Gemini Live do Google. Isso é genuinamente diferente do típico pipeline de IA de voz de "gravar → Whisper → GPT → TTS → tocar." O Gemini Live te dá um único WebSocke

Contexto Triplo Up

A implementação de um coach de voz em mandarim pode ajudar empresas brasileiras a oferecer soluções de aprendizado de idiomas mais eficazes. A personalização do aprendizado e a adaptação ao nível do usuário são essenciais para melhorar a experiência do cliente. Isso pode resultar em maior engajamento e satisfação dos usuários.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.