Este proyecto proporciona un pipeline de transcripción automática y diarización de hablantes sobre archivos de audio WAV, utilizando WhisperX para ASR (detección y transcripción de voz) y Pyannote/Silero para VAD y diarización. Incluye:
- Transcripción ASR en lotes y alineación palabra a palabra.
- Diarización de hablantes con modelo local o Silero.
- Interfaz CLI flexible con múltiples opciones.
- Barra de progreso unificada con Rich.
- ASR configurable: tamaño de lote, tipo de cómputo, TF32 opcional.
- VAD ajustable: método (pyannote/silero), umbrales de inicio/fin, chunk.
- Alineación opcional: activar/desactivar, retornos de alineación carácter.
- Decodificación: temperatura, beam size, prompt inicial.
- Diarización: número mínimo/máximo de oradores.
- Barra de progreso: fases unificadas (transcribe, align, diarize, guardar).
- Python 3.8+
- CUDA (Para GPU)
- ffmpeg
# Actualiza
sudo apt update
# Clona el repositorio y ve al directorio
git clone https://github.com/cypher-256/whisper-es.git
cd whisper-es
# Prepara el entorno virtual (Python3 requerido)
./setup_env.sh
# Activa el entorno virtual
source .venv/bin/activateEl archivo tests/data/test_audio.wav corresponde a la grabación de la conferencia:
“Diego Portales: permanencia y vigencia de su pensamiento, voluntad y visión de Chile a 150 años de su muerte”
Biblioteca Nacional (Salón Los Fundadores), 4 de junio de 1987
Detalles bibliográficos
- Autor: Arnello Romo, Mario (1925-)
- Colección: Archivo Audiovisual / Archivo de la Palabra
- Materias: ARCHIVO DE LA PALABRA
- Tipo de objeto: Grabación sonora
- Tipo de acceso: Acceso en línea
- BN Código: AP0000218
- N° Sistema: 258258
- BND id: 320360
- Enlace: https://www.bibliotecanacionaldigital.gob.cl/visor/BND:320360
Transcripción simple con GPU:
python main.py tests/data/test_audio.wav \
-o tests/out/salida.jsonl --device cuda --show-progressTranscripción simple con CPU (diarización no soportada):
python main.py tests/data/test_audio.wav \
-o tests/out/salida.jsonl --device cpu --show-progressTranscribir con prompt inicial y beam size:
python main.py audio.wav \
--initial-prompt "Hola mundo" --beam-size 2 \
--temperature 0.8 -o resultado.jsonlVer todas las banderas disponibles:
python main.py -hIncluye secciones para:
- I/O
- ASR
- VAD
- Alineación/Decodificador
- Diarización
- Utilidades
-
Haz fork del repositorio.
-
Crea una branch:
git checkout -b feature/nombre. -
Realiza tus cambios y haz commit:
git commit -m "feat: descripción breve" -
Publica tu branch:
git push origin feature/nombre
-
Abre un PR en GitHub.
Este proyecto es un fork de whisperX, desarrollado por Max Bain et al., publicado bajo licencia BSD-2-Clause.
Este código base (whisperX) está bajo BSD-2-Clause. Consulta el archivo LICENSE para más detalles.
Si usas este software en publicaciones científicas, por favor cita:
@article{bain2022whisperx,
title={WhisperX: Time-Accurate Speech Transcription of Long-Form Audio},
author={Bain, Max and Huh, Jaesung and Han, Tengda and Zisserman, Andrew},
journal={INTERSPEECH 2023},
year={2023}
}Si este proyecto te ha sido útil y deseas apoyar su desarrollo, puedes contribuir con una donación en Bitcoin o Monero. Estas contribuciones ayudan a mantener y expandir recursos abiertos para el procesamiento del lenguaje en español.
Dirección:
bc1p2t0gfxe3c0yw3rm3mdpgkrqwrpphgklhdt55lus3lmp4e86ljhnq4qkmp6
Puedes usar cualquier billetera compatible con direcciones Taproot (P2TR), como Muun, Sparrow o BlueWallet.
Dirección:
44dS68RZrCY2cnoEWZYhtJJ3DXY52x75D2kCTLqffhpTWCFJUcty89W2VVUKCqE4J4WH8dnUJHCT1XQsXFkEKNyvQzqx8ar
Puedes usar billeteras como Feather Wallet, Monerujo o Cake Wallet.
Gracias por apoyar el open source y la investigación abierta.

