Instala AI Noise Remover SDK
Python y FFmpeg en Windows, macOS y Linux, tu primera eliminación de ruido y la compilación para JavaScript.
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.
Urdu Sukhan ASR
Un proyecto, tres páginas
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.
El modelo es gratis para uso no comercial con la licencia CC BY-NC 4.0, y sus archivos se comparten bajo solicitud:
Hasta entonces, todas las descargas de esta guía fallan con un error 401. Para uso comercial, contacta con nosotros.
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.
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/activateInstala 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 loginLos 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.wavNecesitas git, CMake y un compilador de C++. Después, transcribe un archivo:
bash examples/whisper_cpp.sh voz.wavLa 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.mp3El 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.wavDesde ~/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.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.0Despué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-vadEl 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).
Instala las versiones probadas de todo lo que usan los scripts, con Transformers y su dependencia torch:
python -m pip install -r examples/requirements.txtDespué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 urEl 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.
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).
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.
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.
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.
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.
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.
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.
Activa el entorno virtual del paso 4 e instala la herramienta de Hugging Face con python -m pip install huggingface_hub==2.2.0.
Los scripts leen WAV, FLAC, MP3 y OGG. Convierte los demás formatos con FFmpeg, como en el paso 4.
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
Python y FFmpeg en Windows, macOS y Linux, tu primera eliminación de ruido y la compilación para JavaScript.
Python o JavaScript en Windows, macOS y Linux, primera voz con subtítulos, el servidor de voz, Docker y uso sin conexión.
Lee en voz alta las respuestas de Open WebUI con voces naturales que funcionan en tu propio equipo.
Configura librechat.yaml para que LibreChat lea los mensajes en voz alta con voces locales gratuitas.
Usa el proveedor OpenAI Compatible de AnythingLLM con voces gratuitas en tu propio equipo.