Sherpa-ONNX: reconocimiento y síntesis del habla sin conexión con ONNXRuntime
Últimos recursos sobre IAPublicado hace 7 meses Círculo de intercambio de inteligencia artificial 4.5K 00
Introducción general
sherpa-onnx es un proyecto de código abierto desarrollado por el equipo Next-gen Kaldi para ofrecer soluciones eficientes de reconocimiento y síntesis del habla sin conexión. Es compatible con múltiples plataformas, como Android, iOS, Raspberry Pi, etc., y es capaz de procesar el habla en tiempo real sin conexión a internet. El proyecto se basa en el marco ONNX Runtime y ofrece funciones de conversión de voz a texto (ASR), conversión de texto a voz (TTS) y detección de actividad vocal (VAD) para diversos sistemas embebidos y dispositivos móviles. El proyecto no sólo admite el uso fuera de línea, sino que también permite la comunicación entre servidor y cliente a través de WebSocket.

Demostración en línea: https://huggingface.co/spaces/k2-fsa/generate-subtitles-for-videos
Lista de funciones
- Reconocimiento de voz sin conexión (ASR): Admite la conversión de voz a texto en tiempo real en varios idiomas, sin necesidad de conexión a Internet.
- Síntesis de voz offline (TTS): Proporciona un servicio de texto a voz de alta calidad, de nuevo sin necesidad de Internet.
- Detección de actividad vocal (DAV): Detección en tiempo real de la actividad vocal, adecuada para diversos escenarios de interacción vocal.
- Soporte multiplataformaDisponible para Linux, macOS, Windows, Android, iOS y muchos otros sistemas operativos.
- Modelos multilingüesAdmite modelos de voz avanzados como Zipformer, Paraformer, etc. para mejorar la precisión del reconocimiento y la síntesis.
- bajo consumo de recursos: Los modelos optimizados pueden funcionar sin problemas en dispositivos con recursos limitados.
Utilizar la ayuda
Proceso de instalación
sherpa-onnx es un proyecto de código abierto, puedes descargar el código fuente directamente desde GitHub para compilarlo, o utilizar directamente los binarios precompilados:
1.almacén de clones::
git clone https://github.com/k2-fsa/sherpa-onnx.git
cd sherpa-onnx
- Compilar código fuente::
- Para usuarios de Linux y macOS:
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j4
- Para los usuarios de Windows, es posible que tenga que utilizar Visual Studio u otro compilador compatible con CMake.
- Para usuarios de Linux y macOS:
- Descargar archivos precompilados::
- Visita la página de la versión de GitHub (por ejemplo, https://github.com/k2-fsa/sherpa-onnx/releases) y selecciona la versión precompilada para tu sistema operativo para descargarla.
Utilización
Ejemplo de reconocimiento de voz (ASR)::
- modo de línea de comandos::
Descargar modelos preentrenados (p. ej. sherpa-onnx-streaming-zipformer-bilingual-zh-es):wget https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en.tar.bz2 tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en.tar.bz2
Pues corre:
./build/bin/sherpa-onnx --tokens=sherpa-onnx-streaming-zipformer-bilingual-zh-en/tokens.txt --encoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/encoder.onnx --decoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/decoder.onnx your_audio.wav
- reconocimiento en tiempo real::
Reconocimiento de voz en tiempo real mediante un micrófono:./build/bin/sherpa-onnx-microphone --tokens=sherpa-onnx-streaming-zipformer-bilingual-zh-en/tokens.txt --encoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/encoder.onnx --decoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/decoder.onnx
Ejemplo de síntesis de voz (TTS)::
- Descargue un modelo TTS preentrenado (por ejemplo, el modelo VITS):
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-tts-vits.tar.bz2 tar xvf sherpa-onnx-tts-vits.tar.bz2
- Ejecuta TTS:
./build/bin/sherpa-onnx-offline-tts --model=sherpa-onnx-tts-vits/model.onnx "你好,世界"
Detección de actividad vocal (DAV)::
- Ejecuta el VAD:
./build/bin/sherpa-onnx-vad --model=path/to/vad_model.onnx your_audio.wav
advertencia
- Selección de modelosElección del modelo: elija el modelo que mejor se adapte a sus necesidades (versión streaming o no streaming). Los distintos modelos difieren en rendimiento y tiempo real.
- requisitos de hardware: Aunque sherpa-onnx está pensado para consumir pocos recursos, los modelos complejos pueden requerir una mayor potencia de cálculo, especialmente en dispositivos móviles.
- Apoyo lingüísticoLos modelos preformados pueden admitir varios idiomas. Asegúrese de elegir el modelo adecuado para su idioma.
Con estos pasos y consejos, podrá empezar a utilizar sherpa-onnx para el desarrollo de aplicaciones relacionadas con el habla, ya se trate de un sistema de diálogo en tiempo real o de procesamiento del habla fuera de línea.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...