Bloggartiklarna publiceras på spanska och katalanska.

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.

Una mujer sonríe ante su portátil, con el router desenchufado, mientras sobre ella flotan tres bocadillos con las banderas de Cataluña, Baleares y la Comunidad Valenciana y las palabras «noi», «al·lot» y «xiquet».
📷 Imagen generada con IA

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

Un técnico coloca un micrófono sobre Mallorca en un mapa en relieve de la costa catalana, balear y valenciana con otros dos micrófonos, mientras un compañero señala con interés.
📷 Imagen generada con IA

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

Dos compañeros de piso hacen la maleta con la misma ropa: uno aprieta una maleta desbordada y el otro guarda todo enrollado y ordenado en una mucho más pequeña.
📷 Imagen generada con IA

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

Transcripción en local con faster-whisper
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
Medido por AI Informator el 27-10-2026 en un portátil con RTX 4060 de 8 GB; audio sintético de una sola voz. Las filas de GPU transcriben 16,04 s de audio; la de CPU, una frase de 4,35 s, y usa RAM, no VRAM. VRAM: pico muestreado menos la memoria en reposo. RAM: máximo del proceso. Carga con los ficheros ya en la caché del disco.

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

En una cabina de grabación, un altavoz portátil sobre un taburete emite una onda hacia el micrófono, mientras al otro lado del cristal una técnica escucha sonriente junto a su portátil.
📷 Imagen generada con IA

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

Comentarios

Sé respetuoso. Los comentarios se moderan.

    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

    ← Volver al blog