Repolode
m-bain

m-bain/whisperX

Herramienta de código abierto de voz a texto basada en Whisper, con marcas de tiempo por palabra mediante alineación forzada y diarización de hablantes opcional.

Alternativa open source a:Otter.aiDescript

Estrellas
24,693
Forks
2,495
Issues abiertos
229
Último commit
anteayer

¿Qué es?

WhisperX es una herramienta de Python para el reconocimiento automático del habla que integra Whisper de OpenAI con inferencia por lotes mediante el backend faster-whisper. Whisper por sí solo ofrece marcas de tiempo por enunciado, que a menudo tienen un desfase de varios segundos; WhisperX añade una etapa de alineación forzada basada en wav2vec2 para generar marcas de tiempo precisas para cada palabra.

El flujo de procesamiento también usa detección de actividad de voz para dividir el audio antes de la transcripción, lo que, según el proyecto, reduce las alucinaciones y permite procesar por lotes. La diarización de hablantes mediante pyannote-audio asigna un ID de hablante a cada segmento o palabra, y se puede limitar el número de hablantes cuando se conoce.

Está disponible en PyPI y se puede usar desde la línea de comandos (`whisperx audio.wav`) o mediante una API de Python. Los modelos de alineación se eligen automáticamente para idiomas como inglés, francés, alemán, español e italiano, y se admite la ejecución en CPU o GPU.

Funciones clave

  • 01Inferencia de Whisper por lotes con el backend faster-whisper para transcribir más rápido.
  • 02Marcas de tiempo por palabra generadas mediante alineación forzada con wav2vec2.
  • 03Diarización de hablantes con etiquetas de ID mediante pyannote-audio.
  • 04Preprocesamiento con detección de actividad de voz para reducir las alucinaciones.
  • 05Interfaces de línea de comandos y Python, con compatibilidad con CPU y GPU CUDA.

Casos de uso

  • Generar subtítulos (SRT) con tiempos precisos por palabra a partir de video o audio grabado.
  • Transcribir reuniones o entrevistas con varios hablantes y etiquetas para cada uno.
  • Crear conjuntos de datos de voz o flujos de investigación que requieran transcripciones alineadas.
  • Transcribir audio en otros idiomas mediante modelos de alineación específicos para cada idioma.

Inicio rápido

  1. 1

    Primero instala CUDA Toolkit 12.8 (omítelo si solo usas CPU)

  2. 2

    Instala WhisperX desde PyPI

    pip install whisperx
  3. 3

    Transcribe un archivo de audio

    whisperx path/to/audio.wav

Antes de usarlo

  • Para usar la GPU a alta velocidad, necesitas una GPU NVIDIA con CUDA 12.8; para ejecutar en CPU, se requiere el tipo de cálculo int8.
  • La diarización requiere un token de Hugging Face y aceptar el acuerdo de usuario del modelo pyannote.
  • Las palabras con caracteres que no estén en el diccionario del modelo de alineación (por ejemplo, números con símbolos) no tendrán marcas de tiempo.
  • Para otros idiomas se necesita un modelo de alineación fonémica específico para cada idioma.

Temas

Preguntas frecuentes

¿Qué es whisperX?
Herramienta de código abierto de voz a texto basada en Whisper, con marcas de tiempo por palabra mediante alineación forzada y diarización de hablantes opcional. WhisperX es una herramienta de Python para el reconocimiento automático del habla que integra Whisper de OpenAI con inferencia por lotes mediante el backend faster-whisper. Whisper por sí solo ofrece marcas de tiempo por enunciado, que a menudo tienen un desfase de varios segundos; WhisperX añade una etapa de alineación forzada basada en wav2vec2 para generar marcas de tiempo precisas para cada palabra.
¿whisperX es gratuito? ¿Qué licencia tiene?
whisperX es open source bajo la licencia BSD-2-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿whisperX sigue mantenido?
Mantenimiento activo. El último commit de whisperX fue el 18 oct 2026.
¿Para qué puedo usar whisperX?
Generar subtítulos (SRT) con tiempos precisos por palabra a partir de video o audio grabado. Transcribir reuniones o entrevistas con varios hablantes y etiquetas para cada uno. Crear conjuntos de datos de voz o flujos de investigación que requieran transcripciones alineadas. Transcribir audio en otros idiomas mediante modelos de alineación específicos para cada idioma.
¿Cómo se instala whisperX?
Primero instala CUDA Toolkit 12.8 (omítelo si solo usas CPU) Instala WhisperX desde PyPI: pip install whisperx Transcribe un archivo de audio: whisperx path/to/audio.wav
¿Dónde consigo whisperX?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/m-bain/whisperX

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

Proyectos relacionados