Aplicación de escritorio moderna para transcribir audio a texto utilizando el modelo Whisper de OpenAI. Soporte para archivos locales, YouTube, diarización de hablantes y exportación a PDF/TXT.
- 🎙️ Transcripción de Alta Calidad - Usa Whisper (faster-whisper) para transcripción precisa
- 📹 YouTube Integration - Descarga y transcribe videos de YouTube directamente
- 🗣️ Diarización de Hablantes - Identifica diferentes hablantes en el audio
- 📄 Exportación Flexible - Guarda transcripciones en TXT o PDF
- 🎨 Interfaz Moderna - UI con CustomTkinter, soporte para temas claro/oscuro
- ⚡ Procesamiento Optimizado - Maneja archivos grandes mediante chunks en paralelo
- 🔒 Seguridad Integrada - Validación de inputs, auditoría de logs, verificación de integridad
- 🔄 Auto-Actualizaciones - Sistema de actualización automática con verificación de seguridad
Simplemente haz doble clic en run.bat:
run.bat./run.sh# 1. Clonar repositorio
git clone https://github.com/anomalyco/Transcriptor.git
cd Transcriptor
# 2. Crear entorno virtual
python -m venv whisper_env_py311
# 3. Activar entorno (Windows)
whisper_env_py311\Scripts\activate
# O Linux/macOS
source whisper_env_py311/bin/activate
# 4. Instalar dependencias
pip install -r requirements.txt
# 5. Ejecutar
python src/main.py
⚠️ Primera ejecución: Tomará varios minutos descargar el modelo Whisper (~500MB-2GB según el modelo elegido).
- Python: 3.11 o superior
- RAM: 8 GB mínimo (16 GB recomendado)
- GPU: Opcional pero recomendada (NVIDIA con CUDA para mejor performance)
- FFmpeg: Incluido en el proyecto (
ffmpeg/)
- Abrir archivo de audio o pegar URL de YouTube
- Seleccionar idioma (auto-detección disponible)
- Elegir modelo (tiny, base, small, medium, large)
- Habilitar opciones avanzadas si es necesario:
- Diarización de hablantes
- Procesamiento por fragmentos
- Transcripción en vivo
- Iniciar transcripción
- Guardar resultado en TXT o PDF
| Documento | Descripción |
|---|---|
| QUICKSTART.md | Guía de inicio rápido |
| CONTRIBUTING.md | Guía para contribuidores |
| DEVELOPMENT.md | Setup de desarrollo |
| TROUBLESHOOTING.md | Resolución de problemas |
| CHANGELOG.md | Historial de cambios |
| docs/ARCHITECTURE.md | Arquitectura del sistema |
| docs/SECURITY.md | Guía de seguridad |
| docs/CODE_SIGNING.md | Firma de código |
src/
├── main.py # Punto de entrada
├── core/ # Lógica de negocio
│ ├── transcriber_engine.py # Motor de transcripción
│ ├── audio_handler.py # Procesamiento de audio
│ ├── chunk_processor.py # Procesamiento por chunks
│ ├── diarization_handler.py # Diarización de hablantes
│ ├── exporter.py # Exportación TXT/PDF
│ ├── validators.py # Validación de inputs
│ ├── integrity_checker.py # Verificación de integridad
│ ├── update_checker.py # Auto-actualización
│ └── audit_logger.py # Auditoría de seguridad
└── gui/ # Interfaz gráfica
├── main_window.py # Ventana principal
└── components/ # Componentes UI modulares
Para diagramas detallados de arquitectura, ver docs/ARCHITECTURE.md.
# Ejecutar todos los tests
python -m pytest tests/ -v
# Con coverage
python -m pytest tests/ --cov=src --cov-report=html
# Tests específicos
python -m pytest tests/test_transcriber_engine.py -vEl proyecto implementa múltiples capas de seguridad:
- ✅ Validación de URLs y rutas de archivo
- ✅ Prevención de path traversal
- ✅ Sanitización de inputs
- ✅ Verificación de integridad de archivos (SHA-256)
- ✅ Logging de auditoría (JSON)
- ✅ Auto-actualizaciones seguras
- ✅ Análisis estático con Bandit
Más información en docs/SECURITY.md.
¡Las contribuciones son bienvenidas! Por favor lee nuestra Guía de Contribución para comenzar.
Áreas donde necesitamos ayuda:
- 🌍 Internacionalización (i18n)
- 🎨 Temas adicionales
- 📱 Soporte para más formatos de audio
- ⚡ Optimizaciones de performance
- 🧪 Tests adicionales
- Lenguaje: Python 3.11
- Líneas de código: ~8,000
- Tests: 91 tests con 100% passing
- Documentación: 24+ archivos markdown
- Seguridad: 9.5/10 rating
- Transcripción básica con Whisper
- Soporte para YouTube
- Diarización de hablantes
- Exportación a PDF/TXT
- Procesamiento por chunks
- Sistema de auto-actualización
- Verificación de integridad
- Soporte para más idiomas
- Edición de transcripciones
- Traducción automática
- API REST
- Soporte para GPU AMD/Intel
Este proyecto está licenciado bajo MIT License - ver LICENSE para detalles.
- OpenAI Whisper - Modelo de transcripción
- faster-whisper - Implementación optimizada
- pyannote.audio - Diarización de hablantes
- CustomTkinter - Framework de UI
- yt-dlp - Descarga de YouTube
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: anomalyco@gmail.com
DesktopWhisperTranscriber - Transcripción de audio potenciada por IA
Made with ❤️ by AnomalyCO
