Skip to content

Santirrini/Transcriptor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DesktopWhisperTranscriber

Python License Security Tests

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.

DesktopWhisperTranscriber Screenshot

✨ Características

  • 🎙️ 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

🚀 Inicio Rápido

Windows

Simplemente haz doble clic en run.bat:

run.bat

Linux / macOS

./run.sh

Manual

# 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).

📋 Requisitos

  • 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/)

🎯 Uso

  1. Abrir archivo de audio o pegar URL de YouTube
  2. Seleccionar idioma (auto-detección disponible)
  3. Elegir modelo (tiny, base, small, medium, large)
  4. Habilitar opciones avanzadas si es necesario:
    • Diarización de hablantes
    • Procesamiento por fragmentos
    • Transcripción en vivo
  5. Iniciar transcripción
  6. Guardar resultado en TXT o PDF

📖 Documentación

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

🏗️ Arquitectura

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.

🧪 Testing

# 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 -v

🔒 Seguridad

El 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.

🤝 Contribuir

¡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

📊 Estadísticas del Proyecto

  • 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

🛣️ Roadmap

  • 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

📜 Licencia

Este proyecto está licenciado bajo MIT License - ver LICENSE para detalles.

🙏 Agradecimientos

📞 Soporte


DesktopWhisperTranscriber - Transcripción de audio potenciada por IA
Made with ❤️ by AnomalyCO

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages