Ditado sem vícios de linguagem: Whisper local e Claude para a limpeza

A fala real nunca sai limpa: está cheia de vícios de linguagem, frases cortadas e autocorreções. Um desenvolvedor da Escola Superior de Negócios da HSE criou um sistema que transforma um ditado desorganizado em texto limpo em 2 a 3,5 segundos. O sistema tem duas camadas: o Whisper Large v3 Turbo transcreve a fala localmente no computador, e o Claude Sonnet 5.5 remove os vícios de linguagem e corrige erros. Um intermediário chamado Chistovik, entre o Handy e a API, mantém uma única conexão aberta e relê as regras antes de cada ditado. • Whisper Large v3 Turbo em uma RTX 4080 Super: 8 segundos de fala em 0,17 s, 42 segundos em 0,45 s • Limpeza com Claude Sonnet 5.5: 1,7 a 3 segundos dependendo do tamanho do texto • Handy (Tauri, licença MIT), klava-nevinovata (versão em russo), OpenAI/OpenRouter/Ollama/LM Studio (qualquer API compatível)

Processado por IA de Habr AI; editado por Hamidun News
Ditado sem vícios de linguagem: Whisper local e Claude para a limpeza
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Dado-chave #1Whisper Large v3 Turbo em uma RTX 4080 Super: 8 segundos de fala em 0,17 s, 42 segundos em 0,45 s
Limpeza com Claude Sonnet 5.51,7 a 3 segundos dependendo do tamanho do texto
Dado-chave #3Handy (Tauri, licença MIT), klava-nevinovata (versão em russo), OpenAI/OpenRouter/Ollama/LM Studio (qualquer API compatível)

A fala real nunca sai limpa: está cheia de vícios de linguagem, frases cortadas, autocorreções. Um desenvolvedor da Escola Superior de Negócios da HSE, que escreve livros e dita bastante, criou um sistema que transforma "Então, assim, eu, isso, queria dizer que, bom, a call de amanhã vai mudar, né, para as três, não, para as quatro" no texto limpo "Queria dizer que a call de amanhã vai mudar para as quatro" — em 2 a 3,5 segundos.

Transcrição local e limpeza na nuvem

O ditado funciona em cima do Handy, um app de código aberto construído com Tauri (licença MIT). A fala é transcrita pelo Whisper Large v3 Turbo diretamente no computador, sem que o áudio saia da máquina. Em uma placa de vídeo RTX 4080 Super, 8 segundos de fala são transcritos em 0,17 segundo, e 42 segundos em 0,45 segundo. Para o russo, usa-se a build klava-nevinovata, que já vem com prompts prontos para o Whisper e proteção contra loop em silêncio.

O Whisper sozinho não basta: uma simples substituição por lista não funciona — é preciso entender o significado. O texto transcrito é enviado ao Claude Sonnet 5.5, que remove os vícios de linguagem, corrige autocorreções e preserva o tom coloquial. A limpeza leva de 1,7 a 3 segundos, dependendo do tamanho do texto.

A camada intermediária e o dicionário sensível ao contexto

O intermediário, chamado Chistovik — um único arquivo em Python que usa apenas a biblioteca padrão —, fica entre o Handy e a API. Essa camada traz várias vantagens: o prompt e o dicionário ficam em arquivos de texto relidos antes de cada ditado (basta editar uma regra, ditar de novo, e já funciona, sem reiniciar nada); mantém uma única conexão ativa em vez de abrir um novo cliente HTTP a cada requisição; a chave da API fica em uma variável de ambiente, não nas configurações do programa; e há um timeout de 10 segundos para evitar travamentos.

O dicionário entende o contexto. O Whisper confunde palavras raras: em russo, ele ouve a expressão equivalente a "de IA" como "de ovo". Uma substituição automática seria prejudicial, porque a palavra pode ser usada em seu sentido literal. Por isso, o modelo recebe uma condição: "de IA, das IAs, com IA ← erro de transcrição, de ovo (substituir 'de ovo' apenas quando o texto não for sobre ovos ou comida)". O Claude entende essas explicações igualmente bem em russo ou em inglês. Teste feito: em "receita de salada de ovo", a palavra permanece (o texto é sobre comida); em "o texto saiu meio de ovo", é corrigida para "de IA" (o texto é sobre inteligência artificial).

Erros de integração e suas soluções

Durante o desenvolvimento, surgiram três tipos de problemas. O modelo às vezes tratava o ditado como um pedido a ser executado — resolvido ao envolver o texto em uma tag <dictation> e incluir uma regra clara no prompt dizendo que pedidos nunca devem ser executados. O modelo também substituía palavras coloquiais por formais — resolvido com exemplos no próprio prompt: "massa" continua "massa", "tanto faz" continua "tanto faz". Erros de pós-processamento eram invisíveis, já que o Handy inseria o texto bruto silenciosamente — agora o intermediário registra cada ditado em log. No Windows, o localhost pode resolver para IPv6, então o intermediário escuta tanto em 127.0.0.1 quanto em ::1.

Desempenho e conclusões

A cadeia completa, do toque na tecla até a inserção do texto:

  • 8 segundos de fala: 0,17 s de transcrição, 1,7 s de limpeza, cerca de 2 segundos no total
  • 42 segundos de fala: 0,45 s de transcrição, 3 s de limpeza, cerca de 3,5 segundos no total

Cada requisição à API consome cerca de 1.100 tokens, quase tudo isso são regras e entradas do dicionário. O código é aberto (MIT) em github.com/Tataut/chistovik e se instala com um único script PowerShell no Windows. O intermediário é multiplataforma, e o Handy também está disponível para macOS e Linux. Funciona com qualquer API compatível com a OpenAI: OpenAI, OpenRouter, ou modelos locais via Ollama ou LM Studio (com modelos locais, nada sai do computador). O sistema foi testado com o Claude Sonnet 5.5. É mais útil em aplicativos de mensagens e no Telegram.

História

Perguntas frequentes sobre a notícia

O que se sabe sobre Transcrição local e limpeza na nuvem?

O ditado funciona em cima do Handy, um app de código aberto construído com Tauri (licença MIT). A fala é transcrita pelo Whisper Large v3 Turbo diretamente no computador, sem que o áudio saia da máquina. Em uma placa de vídeo RTX 4080 Super, 8 segundos de fala são transcritos em 0,17 segundo, e 42 segundos em 0,45 segundo. Para o russo, usa-se a build klava-nevinovata, que já vem com prompts prontos para o Whisper e proteção contra loop em silêncio. O Whisper sozinho não basta: uma simples substituição por lista não funciona — é preciso entender o significado. O texto trans

O que se sabe sobre A camada intermediária e o dicionário sensível ao contexto?

O intermediário, chamado Chistovik — um único arquivo em Python que usa apenas a biblioteca padrão —, fica entre o Handy e a API. Essa camada traz várias vantagens: o prompt e o dicionário ficam em arquivos de texto relidos antes de cada ditado (basta editar uma regra, ditar de novo, e já funciona, sem reiniciar nada); mantém uma única conexão ativa em vez de abrir um novo cliente HTTP a cada requisição; a chave da API fica em uma variável de ambiente, não nas configurações do programa; e há um timeout de 10 segundos para evitar travamentos. O dicionário entende o contexto.

O que se sabe sobre Erros de integração e suas soluções?

Durante o desenvolvimento, surgiram três tipos de problemas. O modelo às vezes tratava o ditado como um pedido a ser executado — resolvido ao envolver o texto em uma tag <dictation> e incluir uma regra clara no prompt dizendo que pedidos nunca devem ser executados. O modelo também substituía palavras coloquiais por formais — resolvido com exemplos no próprio prompt: "massa" continua "massa", "tanto faz" continua "tanto faz". Erros de pós-processamento eram invisíveis, já que o Handy inseria o texto bruto silenciosamente — agora o intermediário registra cada ditado em log. N

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace

Access Frontier LLMs & Multimodal AI in One Workspace

Discover NomadNet AI (nomadnet.ai) — unified access to frontier language models, research synthesis, and multimodal workflows.

Try NomadNet AI →Launch NomadNet Agent
O que você acha?
Carregando comentários…