Transcripción automática de clases universitarias con Whisper + Apple Silicon M3
Herramienta personal para transcribir grabaciones de clases directamente en el Mac, usando Whisper MLX optimizado para el chip M3. Sin servicios externos, sin costos, sin nada corriendo en background cuando no se usa.
- Transcribe archivos
.m4a,.mp3y.wavlocalmente con Whisper MLX - Interfaz web local (no requiere internet para transcribir)
- Modo manual (drag & drop) y modo carpeta (procesa una carpeta entera de una vez)
- Presets por ramo universitario para mejorar la precisión
- Exportación a TXT, PDF y DOCX
- Optimizado para Apple Silicon M3 - sin servicios en background, el Mac queda 100% libre al cerrar
| Componente | Tecnología |
|---|---|
| Backend | Python · FastAPI · Uvicorn |
| Transcripción | mlx-whisper (Apple Silicon) · openai-whisper (fallback CPU) |
| Frontend | HTML · CSS · JavaScript vanilla |
| Exportación | ReportLab (PDF) · python-docx (DOCX) |
- macOS con Apple Silicon (M1 / M2 / M3) - recomendado
- Python 3.10+
- Homebrew (para instalar ffprobe)
# 1. Clonar el repositorio
git clone https://github.com/TU_USUARIO/transcriptotem.git
cd transcriptotem
# 2. Crear entorno virtual e instalar dependencias
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 3. (Opcional) Instalar ffprobe para estimación de tiempo
brew install ffmpeg# Activar entorno e iniciar servidor
source venv/bin/activate && python3 main.pyLuego abre http://localhost:8000 en tu navegador.
Para detener: Ctrl + C en Terminal.
transcriptotem/
├── index.html # Interfaz web
├── main.py # Punto de entrada del servidor
├── requirements.txt # Dependencias Python
└── backend/
├── app.py # API FastAPI
├── transcriber.py # Motor de transcripción Whisper
└── models.py # Modelos y configuración de idioma
Las rutas se eligen desde la interfaz, en la pestaña Carpeta en la nube. No hay que tocar el código.
| Carpeta | Qué guarda |
|---|---|
| Pendientes | los audios por transcribir |
| Transcritas | los .txt generados |
| Archivados | los audios ya procesados |
Quedan escritas en config.json, que no se sube al repositorio. Sin configurar nada
se usan ~/Transcriptotem/Pendientes, ~/Transcriptotem/Transcritas y
~/Transcriptotem/Archivados, y se crean solas al procesar por primera vez.
Sirve igual con una carpeta sincronizada de OneDrive, iCloud o Dropbox. Basta escribir su ruta.
| Modelo | Velocidad | Precisión | Calor |
|---|---|---|---|
| Tiny | ⚡⚡⚡⚡ | ★★☆☆ | 🟢 |
| Base | ⚡⚡⚡ | ★★★☆ | 🟢 |
| Small | ⚡⚡ | ★★★☆ | 🟡 |
| Medium | ⚡ | ★★★★ | 🟡 |
| Large Turbo ⭐ | ⚡⚡ | ★★★★ | 🟠 |
| Large v3 | ⚡ | ★★★★★ | 🔴 |
MIT - úsalo, modifícalo, mejóralo.