STT: Transcripció àudio català (i castellà)

De wikijoan
La revisió el 18:27, 10 oct 2026 per Joan (discussió | contribucions) (Es crea la pàgina amb «__TOC__ <pre> https://chatgpt.com/c/6aac108b-6940-83eb-9972-d8f7e76eefa2 sudo apt install ffmpeg ho hem de fer en un venv: mkdir model-whisper cd model-whisper pyth...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca
https://chatgpt.com/c/6aac108b-6940-83eb-9972-d8f7e76eefa2

sudo apt install ffmpeg

ho hem de fer en un venv:

mkdir model-whisper
cd model-whisper
python3 -m venv whisper-env
source whisper-env/bin/activate

() pip install -U pip
() pip install -U openai-whisper

i ara ja podem fer una transcripció:
per posar el fitxer t0001.wav al servidor, recordem que tenim una unitat muntada en el portàtil: ~/servidorIA

hem de mirar si ja el tenim muntat:
mount | grep servidorIA

si no està muntat el muntem:
$ sshfs joan@192.168.1.184:/home/joan/projectes ~/servidorIA
$ sshfs joan@79.156.157.3:/home/joan/projectes ~/servidorIA2 -p 2222

i si no es pot muntar perquè el directori no està buit, podem eliminar el contingut:
rm -rf ~/servidorIA/*

i aleshores ja podem muntar

o bé millor muntar-ho sense haver d'eliminar el contingut:
sshfs -o nonempty joan@192.168.1.184:/home/joan/projectes ~/servidorIA

per desmuntar-lo:
fusermount -u ~/servidorIA

i en el servidor:
$ mv /home/joan/projectes/t0001.wav .
whisper t0001.wav --language Catalan --model turbo
100%|██████████████████████████████████████| 1.51G/1.51G [00:14<00:00, 114MiB/s]
[00:00.000 --> 00:01.160]  Gràcies per ser amb nosaltres.
[00:01.760 --> 00:02.040]  Hola.
[00:02.280 --> 00:06.400]  Helen, pot ser un problema ser crònicament amables i complements?
[00:07.100 --> 00:10.580]  Sí, perquè quan parlem de ser crònicament amables i complements
[00:10.580 --> 00:14.160]  estem parlant que ens estem traient a nosaltres
[00:14.160 --> 00:17.600]  perquè són persones que no sabem mai escoltar-nos.
...

whisper t0001.wav --language Catalan --model turbo --output_format txt

amb un script python: prova_whisper.py:

import whisper

model = whisper.load_model("turbo")

result = model.transcribe(
    "t0001.wav",
    language="ca"
)

print(result["text"])

$ python3 prova_whisper.py

I una cosa important si el que busques és català amb la màxima qualitat

Existeix també un model específic de català, whisper-large-v3-ca-3catparla, desenvolupat pel Projecte AINA, entrenat específicament per a reconeixement automàtic de veu en català.

Per instal·lar aquest model:
() pip install torch transformers accelerate

creem el fitxer nano transcribe.py:

import torch
from transformers import pipeline

model_name = "projecte-aina/whisper-large-v3-ca-3catparla"

pipe = pipeline(
    "automatic-speech-recognition",
    model=model_name,
    device=0 if torch.cuda.is_available() else -1,
)

result = pipe("t0001.wav")

print(result["text"])

$ python3 transcribe.py 
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
config.json: 100%|█████████████████████████████████████████████████████████████████████████████████| 1.35k/1.35k [00:00<00:00, 6.20MB/s]
pytorch_model.bin.index.json: 100%|██████████████████████████████████████████████████████████████████| 112k/112k [00:00<00:00, 35.7MB/s]
model.safetensors.index.json: 100%|███████████████████████████████████████████████████
...
el primer que fa és descarregar el model

ValueError: You have passed more than 3000 mel input features (> 30 seconds) which automatically enables long-form generation
(li he passat un àudio de més de 30 segons, però funcionaria).
Ho provo amb el /home/joan/projectes/NLP_catala/gravar_so_intern/samples/t0014/c993.wav i funciona correctament: el número de seguidors a youtube en directe

la segona vegada que ho executo ja no caldrà descarregar el model. El que fa és carregar els pesos del model. Recordar que estic treballant en un venv, amb tots els avantatges que això comporta.

{Autor}, octubre 2026