Transcribir voz con Whisper en Raspberry Pi: qué modelo funciona y cuál se queda corto
¿Necesitas transcribir reuniones, notas de voz o comandos de audio en español sin enviar nada a servidores externos?
El modelo Whisper de OpenAI permite hacer reconocimiento de voz (ASR) completamente local. Pero hay una confusión común: no se entrena en una Raspberry Pi. El entrenamiento de estos modelos requiere GPUs de datacenter y datasets de miles de horas. Lo que sí puedes hacer en una Pi es inferencia: cargar el modelo pre-entrenado y transcribir audio propio.
A continuación te mostramos qué variantes de Whisper corren en una Raspberry Pi 4, cuánta RAM necesitan, cuánto tardan en transcribir y cómo instalarlas paso a paso.
Entrenar vs inferir: la diferencia que importa
Entrenamiento (training): ajustar los millones de parámetros del modelo con datos de audio etiquetados. Requiere GPU NVIDIA A100 o similar, semanas de computación y datasets masivos. No es viable en Raspberry Pi.
Inferencia (inference): usar el modelo ya entrenado para transcribir un archivo de audio nuevo. Es solo multiplicación de matrices. En una Raspberry Pi 4 con whisper.cpp (versión C++ optimizada para CPU ARM) esto es perfectamente viable con los modelos pequeños.
pip install openai-whisper) es lentísimo en Raspberry Pi porque usa PyTorch sin optimizaciones ARM. La versión que funciona es whisper.cpp, una reimplementación en C++ que usa instrucciones ARM NEON y es 5-10 veces más rápida en la misma hardware.
Comparativa de modelos Whisper en Raspberry Pi 4
| Modelo | Parámetros | Archivo GGML | RAM usada | Tiempo en Pi 4 (100s audio) | Velocidad vs tiempo real | Uso recomendado |
|---|---|---|---|---|---|---|
| tiny | 39 M | 75 MB | ~273 MB | ~35 segundos | 2,85× (más rápido) | Comandos de voz, notas cortas. Precisión baja. |
| base | 74 M | 142 MB | ~388 MB | ~53 segundos | 1,88× (más rápido) | Transcripción en tiempo real. Buen equilibrio. |
| small | 244 M | 466 MB | ~852 MB | ~2 min 16 s | 0,73× (más lento) | Batch nocturno. Precisión notablemente mejor. |
| medium | 769 M | 1,5 GB | ~2,1 GB | ~5 min 52 s | 0,28× (mucho más lento) | Requiere Pi 4 de 4-8 GB. Batch únicamente. |
| large-v3 | 1.550 M | 2,9 GB | ~3,9 GB | ~10 min 51 s | 0,15× (impracticable) | Solo Pi 4 8GB o Pi 5. No usable en tiempo real. |
Los tiempos son para whisper.cpp en Raspberry Pi 4 (4 núcleos ARM Cortex-A72 @ 1,5 GHz), sin GUI, usando los 4 threads disponibles. El modelo base es el punto dulce para la mayoría de proyectos en español.
Instalación paso a paso de whisper.cpp en Raspberry Pi
Estos comandos funcionan en Raspberry Pi OS (Bookworm o Bullseye) y asumen que ya tienes acceso SSH o terminal.
Paso 1: Instalar dependencias.
sudo apt update sudo apt install -y git build-essential libsdl2-dev
Paso 2: Clonar whisper.cpp y compilar.
git clone https://github.com/ggerganov/whisper.cpp.git cd whisper.cpp make -j4
Paso 3: Descargar el modelo base (u otro).
bash models/download-ggml-model.sh base
Paso 4: Convertir tu audio a WAV 16 kHz mono. Whisper solo acepta este formato.
ffmpeg -i tu_audio.mp3 -ar 16000 -ac 1 -c:a pcm_s16le tu_audio.wav
Paso 5: Transcribir en español.
./main -m models/ggml-base.bin -f tu_audio.wav -l es -t 4 -otxt
El parámetro -l es fuerza el idioma español. -t 4 usa los 4 núcleos de la Pi 4. -otxt genera un archivo de texto plano con la transcripción.
5 errores costosos al usar Whisper en Raspberry Pi
1. Instalar el paquete Python openai-whisper en la Pi. Ese paquete depende de PyTorch, que ocupa más de 600 MB y no está optimizado para ARM. La inferencia es 5-10 veces más lenta que whisper.cpp. Usa siempre whisper.cpp en Raspberry Pi.
2. Intentar cargar medium o large en una Pi 4 de 2 GB. El modelo medium requiere 2,1 GB de RAM. En una Pi 4 de 2 GB el sistema operativo ya consume 800 MB. El modelo no carga y el proceso es killado por el kernel (OOM). Usa tiny o base en Pis de 2-4 GB.
3. Pasar audio en formato MP3 o estéreo directamente. Whisper.cpp no decodifica MP3 ni acepta estéreo. Si le pasas un MP3 directamente, el resultado es basura o error de segmentación. Convierte siempre a WAV 16 kHz mono con ffmpeg.
4. No especificar el idioma. Si omites -l es, Whisper intenta detectar el idioma automáticamente en los primeros 30 segundos. En audio corto o con acentos regionales chilenos, a veces detecta incorrectamente portugués o catalán. Fuerza -l es para español.
5. Correr la transcripción con la GUI de Raspberry Pi activa. El escritorio gráfico consume 300-500 MB de RAM y ciclos de CPU. Para transcripción batch, ejecuta en modo headless (sin monitor) o desde la terminal (Ctrl+Alt+F1) para liberar recursos.
Raspberry Pi 4 vs Pi 5 vs PC: dónde transcribir
| Hardware | Precio aprox. CLP | Modelo viable | Uso recomendado |
|---|---|---|---|
| Raspberry Pi 4 (2 GB) | $90.000 – $120.000 | tiny, base | Comandos de voz, transcripción batch pequeña. |
| Raspberry Pi 4 (4-8 GB) | $108.000 – $240.000 | tiny, base, small | Transcripción de reuniones, podcasts, notas de voz. |
| Raspberry Pi 5 (8 GB) | $150.000 – $280.000 | tiny, base, small, medium | Proyectos de voz en tiempo real con mejor precisión. |
| PC con GPU NVIDIA | $400.000+ | Todos (large, turbo) | Transcripción masiva, fine-tuning, producción. |
Caso práctico: transcribir notas de voz de 10 minutos
Imagina que grabaste una reunión de 10 minutos en tu celular en formato AAC. El flujo de trabajo en Raspberry Pi 4 sería:
- Transferir el archivo a la Pi vía SCP o pendrive USB.
- Convertir:
ffmpeg -i reunion.m4a -ar 16000 -ac 1 reunion.wav(toma 5 segundos). - Transcribir con base:
./main -m models/ggml-base.bin -f reunion.wav -l es -t 4 -otxt(toma ~5 minutos). - Revisar el archivo
reunion.wav.txtgenerado automáticamente.
El resultado es un archivo de texto con la transcripción completa, timestamps incluidos si agregas -osrt en lugar de -otxt.
También te puede interesar
Raspberry Pi 4 4GB |
Raspberry Pi 5 8GB |
Micro SD 64GB |
Cámara Raspberry Pi HQ |
Guías técnicas Raspberry Pi
Preguntas frecuentes sobre Whisper en Raspberry Pi
¿Se puede entrenar Whisper en una Raspberry Pi?
No. El entrenamiento o fine-tuning de Whisper requiere GPUs potentes (NVIDIA A100 o similar) y datasets de miles de horas. En una Raspberry Pi solo puedes ejecutar inferencia: usar el modelo ya entrenado para transcribir audio.
¿Qué modelo de Raspberry Pi necesito como mínimo?
Una Raspberry Pi 4 de 2 GB es suficiente para los modelos tiny y base. Para small necesitas al menos 4 GB. Para medium, mínimo 4 GB pero recomendado 8 GB. El modelo large-v3 solo es viable en Pi 4 8GB o Pi 5, aunque muy lento.
¿Whisper funciona bien con el español de Chile?
Sí. Whisper fue entrenado con datos multilingües que incluyen español de Latinoamérica. El modelo base transcribe correctamente modismos chilenos comunes. Para términos técnicos muy específicos, el modelo small reduce errores. Siempre fuerza el idioma con -l es.
¿Puedo hacer transcripción en tiempo real (streaming)?
Con el modelo tiny o base en whisper.cpp usando el flag --stream, sí. La latencia es de 0,5 a 2 segundos respecto al habla. Requiere un micrófono USB de buena calidad y una Pi 4 de 4 GB o superior.
¿Cuánto consume de electricidad una Pi 4 transcribiendo con Whisper?
Una Raspberry Pi 4 en carga completa consume aproximadamente 7,5 W (1,5 A a 5V). Transcribir 10 minutos de audio con el modelo base consume menos de 1 Wh de energía. En términos de costo eléctrico en Chile, es insignificante frente a enviar el audio a un servicio en la nube.