Repolode
antirez

antirez/whisperbot

Bot de Telegram escrito en C que convierte mensajes de voz en texto con whisper.cpp o qwen-asr como backend de reconocimiento de voz.

Estrellas
168
Forks
12
Issues abiertos
1
Último commit
hace 8 meses

¿Qué es?

Whisperbot es un bot de Telegram que transcribe mensajes de voz. El usuario le envía un mensaje de voz al bot, que descarga el audio, lo convierte a WAV con ffmpeg, ejecuta el backend de reconocimiento de voz elegido como proceso externo y envía la transcripción de forma progresiva, editando la respuesta a medida que llega el texto.

El bot admite dos backends: whisper.cpp (mediante whisper-cli) y qwen-asr, una implementación de inferencia de Qwen3-ASR íntegramente en C. El backend se selecciona al compilar mediante la definición de una macro en whisperbot.c. Está construido sobre botlib y usa un diseño con un hilo por solicitud y una cola protegida por un mutex, ya que el reconocimiento de voz consume muchos recursos de CPU. Cuando la cola crece, el bot cambia a un modelo más rápido y rechaza nuevas solicitudes cuando está llena.

Los límites, como la duración máxima del audio, el tamaño de la cola y el tiempo de espera del proceso, se definen como constantes al principio del código fuente. Las rutas de los backends y los modelos también están codificados directamente, y las solicitudes en cola se pierden al reiniciar el bot.

Funciones clave

  • 01Transcribe mensajes de voz de Telegram y responde con el texto.
  • 02Admite whisper.cpp y qwen-asr como backends de reconocimiento de voz seleccionables.
  • 03Envía transcripciones parciales editando el mensaje a medida que llega el texto.
  • 04Cambia a un modelo más rápido cuando crece la cola de solicitudes.
  • 05Rechaza nuevas solicitudes cuando la cola está llena y pide a los usuarios que lo intenten más tarde.

Casos de uso

  • Ejecutar un bot personal o para un equipo que convierta voz en texto en un servidor pequeño y autohospedado.
  • Transcribir notas de voz enviadas en chats de Telegram sin enviar el audio a un servicio en la nube de terceros.
  • Probar backends locales de reconocimiento de voz mediante una interfaz de chat.

Inicio rápido

  1. 1

    Compila ambos backends de ASR o el que quieras usar y descarga sus modelos

  2. 2

    Edita whisperbot.c para seleccionar exactamente un backend y configurar sus rutas

  3. 3

    Crea un bot con @BotFather y guarda la clave API en apikey.txt

  4. 4

    Compila y ejecuta el bot

    make ./whisperbot

Antes de usarlo

  • Las rutas del backend y de los modelos están hardcodeadas y requieren editar el código y volver a compilar.
  • No hay persistencia: las solicitudes en cola se pierden si se reinicia el bot.
  • Requiere un binario de backend de ASR independiente, sus modelos y ffmpeg, lo que complica la configuración.

Temas

Preguntas frecuentes

¿Qué es whisperbot?
Bot de Telegram escrito en C que convierte mensajes de voz en texto con whisper.cpp o qwen-asr como backend de reconocimiento de voz. Whisperbot es un bot de Telegram que transcribe mensajes de voz. El usuario le envía un mensaje de voz al bot, que descarga el audio, lo convierte a WAV con ffmpeg, ejecuta el backend de reconocimiento de voz elegido como proceso externo y envía la transcripción de forma progresiva, editando la respuesta a medida que llega el texto.
¿whisperbot es gratuito? ¿Qué licencia tiene?
whisperbot no declara ninguna licencia. Su código es público, pero sin licencia no tienes permiso explícito para reutilizarlo; consulta al autor antes de depender de él.
¿whisperbot sigue mantenido?
Sin commits en más de 6 meses. El último commit de whisperbot fue el 12 feb 2026.
¿Para qué puedo usar whisperbot?
Ejecutar un bot personal o para un equipo que convierta voz en texto en un servidor pequeño y autohospedado. Transcribir notas de voz enviadas en chats de Telegram sin enviar el audio a un servicio en la nube de terceros. Probar backends locales de reconocimiento de voz mediante una interfaz de chat.
¿Cómo se instala whisperbot?
Compila ambos backends de ASR o el que quieras usar y descarga sus modelos Edita whisperbot.c para seleccionar exactamente un backend y configurar sus rutas Crea un bot con @BotFather y guarda la clave API en apikey.txt Compila y ejecuta el bot: make ./whisperbot
¿Dónde consigo whisperbot?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/antirez/whisperbot

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados