Aprendiendo IA
Tu portátil habla y escucha catalán sin internet
Los Whisper del BSC transcriben el catalán de Baleares, el de la Comunidad Valenciana y el catalán general en tu propio ordenador, y Matxa-TTS lo lee en voz alta, sin mandar el audio a la nube. Lo medimos el 27 de octubre en un portátil con una RTX 4060 de 8 GB: 16 segundos de audio se transcribieron en alrededor de un segundo.
En resumen
- El Barcelona Supercomputing Center publica en abierto tres versiones de Whisper para el catalán: una para el acento de Baleares, otra para el valenciano y otra para el catalán general.
- En la prueba del 27-10-2026, cada modelo ocupó 3,09 GB en disco y se descargó en unos 29 segundos.
- Con la opción de menos memoria, la tarjeta gráfica necesitó 2.264 MiB y el texto salió idéntico.
- El bucle completo, de texto a voz y de vuelta a texto, devolvió una sola palabra distinta de 30: «Balears» salió «baliars».
- Los Whisper del BSC usan la licencia Apache-2.0 y Matxa-TTS, la GPL-3.0: conviene saberlo antes de meterlos en un producto.
Dos modelos públicos y un bucle cerrado
Si tienes que pasar a texto entrevistas, plenos o clases en catalán, mallorquín o valenciano, no hace falta subir las grabaciones a ningún servicio externo. El BSC publica en Hugging Face, la plataforma donde se comparten y descargan modelos de IA, varias versiones de Whisper adaptadas al catalán y un modelo que lee textos en catalán en voz alta, Matxa-TTS v2.
No son novedad de hoy: los modelos se crearon en Hugging Face entre mayo y octubre de 2025, y sus fichas se actualizaron el 26 y el 27 de octubre de 2026. Lo que propone esta práctica es juntarlos en un bucle que puedes medir tú mismo: escribes unas frases, Matxa las convierte en voz y Whisper las vuelve a escribir. Como el texto de partida lo conoces, comparar la entrada con la salida te dice cuánto acierta el modelo.
La prueba se hizo el 27 de octubre de 2026 en un portátil con Linux, una tarjeta gráfica Nvidia RTX 4060 Laptop de 8 GB, 31,8 GB de RAM y Python 3.12.3. Todas las cifras de tiempo y memoria de esta pieza son mediciones propias en ese equipo, no datos de los fabricantes.
Whisper, con oído para el catalán
Whisper es un modelo de reconocimiento automático del habla creado por OpenAI, la empresa de ChatGPT. El BSC ha partido de su versión más grande, whisper-large-v3, y la ha especializado en catalán con horas de audio transcritas a mano.
Hay un detalle que conviene saber antes de empezar: según sus fichas, estos modelos transcriben a texto plano y sin puntuación. En la prueba, además, el resultado salió todo en minúsculas. Si necesitas un texto listo para publicar, tendrás que repasarlo y puntuarlo después.
Un modelo para Baleares, otro para la Comunidad Valenciana
whisper-3cat-balearic está pensado para el catalán, «especialmente en el acento balear», según el BSC. Su ajuste fino se hizo en junio de 2025 con 90 horas de 3CatParla, un corpus de programas de televisión catalanes transcritos a mano, y se validó con datos de IB3, la radio y televisión pública de las Islas Baleares.
whisper-3cat-cv21-valencian hace lo mismo con el acento valenciano. Según su ficha, se entrenó en junio de 2025 con 397 horas y 55 minutos de audio: 256 horas de grabaciones de las Corts Valencianes, el parlamento autonómico, y el resto, de grabaciones etiquetadas como valencianas de Common Voice v21.
Para el catalán general está whisper-bsc-large-v3-cat, que según el BSC se entrenó con catalán de varios acentos.
Paso 1: prepara el entorno
Para ejecutar los modelos de voz se usan las versiones faster-whisper, conversiones que el BSC describe como más ligeras. faster-whisper es un módulo de Python que ejecuta Whisper con el motor CTranslate2. Hay una por variante: faster-whisper-3cat-balearic, faster-whisper-3cat-cv21-valencian y faster-whisper-bsc-large-v3-cat. Cada una ocupa 3,09 GB en disco y, como sus originales del balear y el valenciano, tiene licencia Apache-2.0.
La ficha propone crear un entorno virtual de Python con `python -m venv`, activarlo y ejecutar `pip install faster-whisper`. En el portátil de la prueba faltaba el paquete `python3.12-venv` del sistema y el entorno no se pudo crear así; se resolvió con `uv venv`, que no lo necesita.
El segundo tropiezo llegó al usar la GPU: `RuntimeError: Library libcublas.so.12 is not found or cannot be loaded`. Las bibliotecas cuBLAS y cuDNN de Nvidia ya estaban dentro del entorno, instaladas por pip como paquetes `nvidia-cublas` y `nvidia-cudnn`, pero el sistema no las encontraba. Bastó con apuntar la variable `LD_LIBRARY_PATH` a sus carpetas `lib` dentro de `site-packages/nvidia` antes de lanzar el programa.
La primera vez que cargues un modelo, faster-whisper lo descarga de Hugging Face. En la prueba, cada uno tardó unos 29 segundos. A partir de ahí, todo funciona sin conexión.
Paso 2: transcribe con la GPU o con el procesador
El código es el de la ficha. Se importa `from faster_whisper import WhisperModel` y se carga el modelo con `WhisperModel("BSC-LT/faster-whisper-3cat-balearic", device="cuda", compute_type="float16")`. Si cambias el nombre por el valenciano o por el de catalán general, el resto no cambia.
Si tu tarjeta gráfica va justa de memoria, la ficha propone `compute_type="int8_float16"`. Si no tienes GPU, `device="cpu", compute_type="int8"`.
La transcripción se lanza con `model.transcribe("audio.mp3", beam_size=5, task="transcribe", language="ca")`. Devuelve los fragmentos de texto con su inicio y su final, y basta con recorrerlos para leer el resultado.
Con int8_float16, casi la mitad de memoria
| Configuración | Memoria usada | Carga | Transcripción (1.ª / 2.ª pasada) |
|---|---|---|---|
| faster-whisper-3cat-balearic, GPU, float16 | 4.088 MiB de VRAM | 2,06 s | 1,12 s / 0,93 s |
| faster-whisper-3cat-balearic, GPU, int8_float16 | 2.264 MiB de VRAM | 2,96 s | 1,04 s / 0,82 s |
| faster-whisper-bsc-large-v3-cat, GPU, float16 | 4.120 MiB de VRAM | 2,23 s | 1,13 s / 0,95 s |
| faster-whisper-bsc-large-v3-cat, GPU, int8_float16 | 2.264 MiB de VRAM | 2,92 s | 0,98 s / 0,83 s |
| faster-whisper-3cat-balearic, CPU, int8 (frase de 4,35 s) | 3.925 MiB de RAM | 2,79 s | 4,39 s / 4,26 s |
Se probaron dos modelos, el balear y el de catalán general, con dos modos de memoria en la GPU, y el balear también en el procesador. Cada configuración se ejecutó en un proceso nuevo y transcribió el mismo audio dos veces seguidas: la segunda pasada siempre fue algo más rápida.
La opción int8_float16 casi redujo a la mitad la memoria de la tarjeta gráfica con los dos modelos, a cambio de una carga algo más lenta, y el texto transcrito fue idéntico en las cuatro configuraciones de GPU. En el procesador, la frase tardó en transcribirse lo mismo que dura: sirve, pero sin margen para usarlo en directo.
Paso 3: fabrica el audio de prueba con Matxa
Matxa-TTS v2 es el modelo de síntesis de voz del BSC, basado en Matcha-TTS. Según su ficha, trabaja directamente con las letras del texto y se preentrenó con 36,2 horas de grabaciones de cinco acentos del catalán, después ajustadas con los corpus Openslr69 y Festcat. La versión usada aquí, matxa-tts-v2-ca-central-graphemes, es la del catalán central.
Matxa genera una descripción acústica de la frase y necesita un segundo modelo, alVoCat o WaveNext, para convertirla en sonido. El fichero ONNX oficial, `matxa_v2_graphemes_10_steps_wavenext.onnx`, ya trae WaveNext dentro: pesa 270 MB y se descargó en 4,1 segundos. Antes de pasarle el texto hay que convertirlo en la secuencia de símbolos que espera el modelo; ese preproceso está en la rama `v2-graphemes` del repositorio langtech-bsc/Matcha-TTS de GitHub, y conviene seguirlo tal cual.
Un aviso de la ficha: si el texto lleva números, hay que escribirlos con letra. La prueba usó la voz número 2, la que trae por defecto el script oficial, y tres frases: «Bon dia, avui parlam de la intel·ligència artificial a les Illes Balears», «El model transcriu l'àudio sense connexió a internet» y «Aquesta prova s'executa íntegrament en un ordinador portàtil».
En el procesador, sin tocar la GPU, las tres frases de 5,48, 4,35 y 5,00 segundos se generaron en 0,73, 0,58 y 0,67 segundos, unas siete veces más rápido que el tiempo real. Unidas con una pausa corta, dieron un audio de 16,04 segundos.
Según el BSC, esta versión mejora a la anterior en calidad e inteligibilidad, evaluadas con 350 frases de «La creació d'Eva i altres contes», de Josep Carner. Para medir la inteligibilidad, el BSC transcribió el audio sintetizado con whisper-bsc-large-v3-cat, es decir, el mismo bucle de esta práctica. Una diferencia que importa si vas a usarlo en un producto: Matxa-TTS tiene licencia GPL-3.0, no Apache-2.0 como los Whisper, así que revisa las condiciones de cada una antes de empezar.
Paso 4: compara la entrada con la salida
Para comparar, pasa los dos textos a minúsculas, quítales la puntuación y cuenta las palabras que no coinciden. Es la idea de la tasa de error de palabras, hecha a mano.
En la prueba, Whisper devolvió esto en las cuatro configuraciones de GPU: «bon dia avui parlam de la intel·ligència artificial a les illes baliars el model transcriu l'àudio sense connexió a internet aquesta prova s'executa íntegrament en un ordinador portàtil». Salió una palabra distinta de 30: «Balears» se convirtió en «baliars». Todo lo demás coincidió, incluida «intel·ligència». En el procesador, la frase suelta salió exacta.
La prueba tiene límites y conviene decirlos. El audio es sintético, de una sola voz, dura 16 segundos y tiene acento central. No mide ruido de fondo, varias personas hablando a la vez ni habla real de Baleares o de la Comunidad Valenciana, y el modelo valenciano no se probó. En este audio, el modelo balear y el de catalán general dieron exactamente el mismo texto, así que no muestra cuál de los dos acierta más.
Conclusión
Con un portátil con tarjeta gráfica de 8 GB, transcribir y sintetizar catalán en local es cuestión de una descarga de 3 GB y unas pocas líneas de Python, y con la opción int8_float16 sobra memoria. El siguiente paso es tuyo: repetir el bucle con grabaciones reales de tu entorno, con ruido y con acento de Baleares o de la Comunidad Valenciana, y contar las palabras que no coinciden. Esa comparación, hecha con tus propios audios, es la que decide qué modelo te conviene.
Fuentes primarias
- Hugging Face (BSC-LT) — whisper-3cat-balearic ↗
- Hugging Face (BSC-LT) — faster-whisper-3cat-balearic ↗
- Hugging Face (BSC-LT) — whisper-3cat-cv21-valencian ↗
- Hugging Face (BSC-LT) — faster-whisper-bsc-large-v3-cat ↗
- Hugging Face (BSC-LT) — matxa-tts-v2-ca-central-graphemes ↗
- GitHub (langtech-bsc) — Matcha-TTS ↗
La continuación natural
Aprende IA a tu ritmo con nuestros cursos gratuitos.
En nuestra plataforma de aprendizaje TAKU podrás acceder a este y muchos otros cursos de manera totalmente gratuita.
APRENDER CON TAKU
Comentarios