Repolode
antirez

antirez/whisperbot

Um bot do Telegram escrito em C que transcreve mensagens de voz usando whisper.cpp ou qwen-asr como mecanismo de reconhecimento de fala.

Estrelas
168
Forks
12
Issues abertas
1
Último commit
há 8 meses

O que é?

Whisperbot é um bot do Telegram que transcreve mensagens de voz. O usuário envia uma mensagem de voz ao bot, que baixa o áudio, converte para WAV com ffmpeg, executa o mecanismo de reconhecimento de fala escolhido como um processo externo e envia a transcrição aos poucos, editando a resposta conforme o texto chega.

O bot oferece dois mecanismos: whisper.cpp (por meio de whisper-cli) e qwen-asr, uma implementação de inferência do Qwen3-ASR feita inteiramente em C. O mecanismo é selecionado em tempo de compilação, definindo uma macro em whisperbot.c. O bot é construído sobre botlib e usa um modelo de uma thread por solicitação com uma fila protegida por mutex, já que o ASR exige bastante da CPU. Quando a fila cresce, o bot muda para um modelo mais rápido e rejeita novas solicitações quando ela fica cheia.

Limites como a duração máxima do áudio, o tamanho da fila e o tempo limite do processo são definidos como constantes no início do código-fonte. Os caminhos dos mecanismos e os modelos também são definidos diretamente no código, e as solicitações na fila são perdidas ao reiniciar.

Recursos principais

  • 01Transcreve mensagens de voz do Telegram e responde com o texto.
  • 02Oferece whisper.cpp e qwen-asr como mecanismos de ASR selecionáveis.
  • 03Envia a transcrição aos poucos, editando a mensagem conforme o texto chega.
  • 04Muda para um modelo mais rápido quando a fila de solicitações cresce.
  • 05Rejeita novas solicitações quando a fila está cheia e pede que os usuários tentem novamente mais tarde.

Casos de uso

  • Executar um bot pessoal ou de equipe para converter voz em texto em um pequeno servidor auto-hospedado.
  • Transcrever mensagens de voz enviadas em conversas do Telegram sem enviar o áudio para um serviço de nuvem de terceiros.
  • Experimentar mecanismos locais de reconhecimento de fala por meio de uma interface de chat.

Início rápido

  1. 1

    Compile os dois backends de ASR ou aquele que quiser usar e baixe os modelos

  2. 2

    Edite whisperbot.c para selecionar exatamente um backend e definir os caminhos

  3. 3

    Crie um bot com @BotFather e salve a chave da API em apikey.txt

  4. 4

    Compile e execute o bot

    make ./whisperbot

Antes de usar

  • Os caminhos do backend e dos modelos são definidos diretamente no código e exigem edição e recompilação.
  • Não há persistência: as solicitações na fila são perdidas se o bot for reiniciado.
  • É necessário ter um binário de backend de ASR separado, os modelos e o ffmpeg, o que torna a configuração mais trabalhosa.

Tópicos

Perguntas frequentes

O que é whisperbot?
Um bot do Telegram escrito em C que transcreve mensagens de voz usando whisper.cpp ou qwen-asr como mecanismo de reconhecimento de fala. Whisperbot é um bot do Telegram que transcreve mensagens de voz. O usuário envia uma mensagem de voz ao bot, que baixa o áudio, converte para WAV com ffmpeg, executa o mecanismo de reconhecimento de fala escolhido como um processo externo e envia a transcrição aos poucos, editando a resposta conforme o texto chega.
whisperbot é gratuito? Qual é a licença?
whisperbot não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
whisperbot ainda é mantido?
Sem commits há mais de 6 meses. O último commit de whisperbot foi em 12 de fev. de 2026.
Para que posso usar whisperbot?
Executar um bot pessoal ou de equipe para converter voz em texto em um pequeno servidor auto-hospedado. Transcrever mensagens de voz enviadas em conversas do Telegram sem enviar o áudio para um serviço de nuvem de terceiros. Experimentar mecanismos locais de reconhecimento de fala por meio de uma interface de chat.
Como instalar whisperbot?
Compile os dois backends de ASR ou aquele que quiser usar e baixe os modelos Edite whisperbot.c para selecionar exatamente um backend e definir os caminhos Crie um bot com @BotFather e salve a chave da API em apikey.txt Compile e execute o bot: make ./whisperbot
Onde consigo whisperbot?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/antirez/whisperbot

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados