loudness.ai
  • Guía

Usa Urdu Sukhan ASR

Esta guía ejecuta el modelo Urdu Sukhan ASR en tu propio ordenador y transcribe tu primera grabación en urdu con los scripts probados del repositorio del modelo en GitHub. Elige uno de los tres formatos: whisper.cpp para la línea de comandos y las aplicaciones, faster-whisper o Transformers para Python.

Actualizada el 21 de octubre de 2026

  1. 1Elige un formato

    • whisper.cpp (q8_0, q5_0 o q4_0): la línea de comandos y las aplicaciones. q8_0 (874 MB) es la mejor opción en Apple Silicon y q4_0 (474 MB) la más rápida en servidores x86.
    • faster-whisper (CTranslate2 int8): Python en una CPU, la forma más rápida de transcribir grabaciones largas en ella.
    • Transformers (fp16, unos 1,6 GB): Python con tarjeta gráfica, y para seguir entrenando. Solo con la CPU va unas diez veces más lento que el tiempo real, así que usa allí uno de los otros dos formatos.

    Los tres formatos dan resultados del mismo tipo; el informe de investigación recoge las puntuaciones de cada motor. Los scripts se probaron en macOS y Ubuntu 24.04 con Python 3.12.

  2. 2Pide acceso al modelo

    El modelo es gratis para uso no comercial con la licencia CC BY-NC 4.0, y sus archivos se comparten bajo solicitud:

    • Inicia sesión en Hugging Face y abre la página del modelo.
    • Rellena el breve formulario (nombre, organización, país y uso previsto) y acepta las condiciones. Aprobamos cada solicitud a mano.
    • Cuando se apruebe tu solicitud, crea un token de lectura en huggingface.co/settings/tokens.

    Hasta entonces, todas las descargas de esta guía fallan con un error 401. Para uso comercial, contacta con nosotros.

  3. 3Opcional: pruébalo antes en Colab

    Cuando se apruebe tu solicitud, puedes probar el modelo sin instalar nada en nuestro cuaderno de Colab. Funciona en tu propia sesión de Google Colab, con una GPU gratuita o con la CPU: graba con el micrófono, sube un archivo o prueba los clips de ejemplo, con los ajustes recomendados ya incluidos. Necesita una cuenta gratuita de Google y tu token de lectura de Hugging Face. Tu audio va a tu sesión de Colab en los servidores de Google, nunca a Loudness.ai.

  4. 4Descarga los scripts

    El repositorio del modelo en GitHub tiene un script probado para cada formato en su carpeta examples. Descárgalo y crea dentro un entorno virtual de Python 3.12. Usa Python 3.12, la versión con la que se probaron los scripts: algunos paquetes aún no tienen versiones listas para instalar en las más recientes. En macOS, brew install python@3.12 lo añade.

    git clone https://github.com/Loudness-ai/urdu-sukhan-asr.git
    cd urdu-sukhan-asr
    python3.12 -m venv .venv
    source .venv/bin/activate

    Instala la herramienta de línea de comandos de Hugging Face e inicia sesión con el token de lectura del paso 2; los scripts descargan el modelo con él:

    python -m pip install huggingface_hub==2.2.0
    hf auth login

    Los scripts leen archivos WAV, FLAC, MP3 y OGG. Convierte antes los demás formatos, por ejemplo con FFmpeg:

    ffmpeg -i grabacion.m4a -ar 16000 -ac 1 voz.wav
  5. 5whisper.cpp: transcribe con el script

    Necesitas git, CMake y un compilador de C++. Después, transcribe un archivo:

    bash examples/whisper_cpp.sh voz.wav

    La primera vez, el script compila whisper.cpp v1.9.5 con un pequeño parche que añade la opción -nsb, para que el silencio no dé texto, y descarga el modelo q8_0 y el detector de voz Silero en ~/urdu-sukhan-asr. Las siguientes veces empieza enseguida. En un servidor x86, elige el archivo q4_0 y el número de hilos:

    QUANT=q4_0 THREADS=8 bash examples/whisper_cpp.sh entrevista.mp3

    El script pasa antes el detector de voz Silero, que puede descartar voz débil, como el inglés bajo después del urdu. VAD=0 lo desactiva, y el silencio sigue sin dar texto:

    VAD=0 bash examples/whisper_cpp.sh urdu-e-ingles.wav
  6. 6whisper.cpp: los ajustes

    Desde ~/urdu-sukhan-asr, el script ejecuta este comando, que puedes reutilizar en tus propios scripts:

    whisper.cpp/build/bin/whisper-cli -m models/ggml/ggml-urdu-sukhan-asr-v1-q8_0.bin -l ur -t 8 -bs 5 -nt -mc 0 -nsb \
      --vad -vm whisper.cpp/models/ggml-silero-v5.1.2.bin -vsd 2000 -vp 300 -f voz.wav
    • -l ur fija el idioma (en para inglés); auto ejecuta el codificador dos veces en cada ventana.
    • -bs 5 usa búsqueda en haz, -nt quita las marcas de tiempo y -mc 0 evita que se arrastre el texto anterior.
    • -nsb deja que el modelo no devuelva nada, así que el silencio, el ruido y la música no dan texto. En una aplicación que usa la biblioteca whisper.cpp, define suppress_blank = false.
    • --vad salta las partes sin voz, y -vsd 2000 -vp 300 conservan las pausas cortas dentro del habla. El detector de voz también puede descartar voz débil, como el inglés bajo después del urdu: si faltan palabras, ejecuta el script con VAD=0, o este comando sin --vad -vm … -vsd 2000 -vp 300. -nsb sigue sin dar texto sobre el silencio.
  7. 7O usa faster-whisper en Python

    Instala faster-whisper y las bibliotecas que usa el script, en las versiones con las que se probó:

    python -m pip install faster-whisper==1.2.1 ctranslate2==4.8.3 huggingface_hub==2.2.0 soundfile==0.14.0 soxr==1.1.0

    Después, transcribe. La primera vez solo se descarga la carpeta de CTranslate2 del modelo:

    python examples/transcribe_faster_whisper.py grabacion.wav
    python examples/transcribe_faster_whisper.py clase.flac --batch-size 8 --timestamps
    python examples/transcribe_faster_whisper.py urdu-e-ingles.wav --no-vad

    El detector de voz Silero corta el audio en trozos con voz, que se transcriben por lotes con haz de 5 y sin arrastrar texto. --no-vad desactiva el detector para la voz débil, como el inglés bajo después del urdu, y el silencio sigue sin dar texto. El script usa int8 en una CPU y float16 en una tarjeta gráfica de NVIDIA; --threads fija los hilos de la CPU (8 por defecto).

  8. 8O usa Transformers en Python

    Instala las versiones probadas de todo lo que usan los scripts, con Transformers y su dependencia torch:

    python -m pip install -r examples/requirements.txt

    Después, transcribe. La primera vez se descargan unos 1,6 GB:

    python examples/transcribe_transformers.py voz.wav
    python examples/transcribe_transformers.py entrevista.flac --beams 5 --language ur

    El script usa una tarjeta gráfica de NVIDIA o el procesador gráfico de un Mac con Apple Silicon. Las grabaciones de más de 30 segundos se cortan en trozos de 30 segundos y se transcriben por lotes. --beams 1 (por defecto) es lo más rápido; --beams 5 es algo más preciso. Solo con la CPU va unas diez veces más lento que el tiempo real: usa allí whisper.cpp o faster-whisper.

Problemas habituales

Escribe una palabra como «achha» sobre el silencio

Usa la opción -nsb del whisper-cli con el parche, como hace el script, o suppress_blank = false en la biblioteca whisper.cpp, y deja activado el detector de voz (--vad).

Va lento en una CPU

Fija el idioma: la detección automática ejecuta el codificador dos veces. En servidores x86, usa el archivo q4_0 y unos ocho hilos (QUANT=q4_0 THREADS=8). Para grabaciones largas, faster-whisper es lo más rápido. Transformers va unas diez veces más lento que el tiempo real en una CPU.

Las palabras inglesas salen en letras urdu

El inglés dentro del urdu se escribe en letras latinas cuando se oye claro; el inglés muy débil después del urdu aún puede salir en letras urdu.

Escribe mal los nombres

Los nombres son el punto más débil del modelo. Ayuda una indicación con los nombres que esperas: añade --prompt "Umair, Uzair, Tania" al comando whisper-cli.

Un error 401 o «gated repo»

Tu solicitud de acceso aún no se ha aprobado o no has iniciado sesión. Revisa la página del modelo y ejecuta hf auth login con un token de lectura de la cuenta aprobada.

Faltan palabras o una frase entera

El detector de voz puede descartar voz débil, como el inglés bajo después del urdu. Desactívalo con VAD=0 en el script de whisper.cpp o con --no-vad en el de faster-whisper; el silencio sigue sin dar texto.

pip no puede instalar ctranslate2, soxr o av

Usa Python 3.12, como en el paso 4. Las versiones más recientes de Python aún no tienen versiones listas para instalar de estos paquetes.

hf: command not found

Activa el entorno virtual del paso 4 e instala la herramienta de Hugging Face con python -m pip install huggingface_hub==2.2.0.

El script no lee mi archivo

Los scripts leen WAV, FLAC, MP3 y OGG. Convierte los demás formatos con FFmpeg, como en el paso 4.

Siguientes pasos

Urdu Sukhan ASREl modelo en Hugging Face (en inglés)Código y resultados en GitHub (en inglés)Pruébalo en ColabCómo se entrenó y probó el modelo

Más guías

Más de Loudness.ai

Inicia sesión en Loudness.ai