Sherpa-ONNX : Reconnaissance et synthèse vocale hors ligne avec ONNXRuntime
Introduction générale
sherpa-onnx est un projet open source développé par l'équipe Next-gen Kaldi pour fournir des solutions efficaces de reconnaissance et de synthèse vocales hors ligne. Il prend en charge plusieurs plateformes, notamment Android, iOS, Raspberry Pi, etc., et est capable de traiter la parole en temps réel sans connexion internet. Le projet s'appuie sur le cadre d'exécution ONNX et fournit des fonctions de synthèse vocale (ASR), de synthèse vocale (TTS) et de détection de l'activité vocale (VAD) pour divers systèmes embarqués et appareils mobiles. Le projet supporte non seulement l'utilisation hors ligne, mais permet également la communication entre le serveur et le client via WebSocket.

Démonstration en ligne : https://huggingface.co/spaces/k2-fsa/generate-subtitles-for-videos
Liste des fonctions
- Reconnaissance vocale hors ligne (ASR)La technologie de l'Internet : elle permet la synthèse vocale en temps réel dans de nombreuses langues, sans connexion Internet.
- Synthèse vocale hors ligne (TTS)Le service de synthèse vocale : il fournit un service de synthèse vocale de haute qualité, là encore sans avoir besoin d'Internet.
- Détection de l'activité vocale (VAD)Détection de l'activité vocale : détection en temps réel de l'activité vocale, adaptée à une variété de scénarios d'interaction vocale.
- Support multiplateformeLes systèmes d'exploitation : disponibles pour Linux, macOS, Windows, Android, iOS, et bien d'autres systèmes d'exploitation.
- Prise en charge des modèles inter-languesIl prend en charge des modèles vocaux avancés tels que Zipformer, Paraformer, etc. pour améliorer la précision de la reconnaissance et de la synthèse.
- faible consommation de ressourcesLes modèles optimisés peuvent fonctionner sans problème sur des appareils aux ressources limitées.
Utiliser l'aide
Processus d'installation
sherpa-onnx est un projet open source, vous pouvez télécharger le code source directement sur GitHub pour le compiler, ou utiliser directement les binaires précompilés :
1.entrepôt de clones: :
git clone https://github.com/k2-fsa/sherpa-onnx.git
cd sherpa-onnx
- Compiler le code source: :
- Pour les utilisateurs de Linux et macOS :
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j4
- Pour les utilisateurs de Windows, il se peut que vous deviez utiliser Visual Studio ou un autre compilateur pris en charge par CMake.
- Pour les utilisateurs de Linux et macOS :
- Télécharger les fichiers pré-compilés: :
- Visitez la page de publication de GitHub (par exemple https://github.com/k2-fsa/sherpa-onnx/releases) et sélectionnez la version précompilée pour votre système d'exploitation à télécharger.
Utilisation
Exemple de reconnaissance vocale (ASR): :
- mode ligne de commande: :
Télécharger des modèles pré-entraînés (par ex. sherpa-onnx-streaming-zipformer-bilingual-zh-fr) :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
Ensuite, courez :
./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
- reconnaissance en temps réel: :
Reconnaissance vocale en temps réel à l'aide d'un microphone :./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
Exemple de synthèse vocale (TTS): :
- Téléchargez un modèle TTS pré-entraîné (par exemple, le modèle 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
- Exécuter TTS :
./build/bin/sherpa-onnx-offline-tts --model=sherpa-onnx-tts-vits/model.onnx "你好,世界"
Détection de l'activité vocale (VAD): :
- Lancer la VAD :
./build/bin/sherpa-onnx-vad --model=path/to/vad_model.onnx your_audio.wav
mise en garde
- Sélection du modèleLes modèles diffèrent en termes de performances et de temps réel. Les performances et le temps réel diffèrent d'un modèle à l'autre.
- exigences en matière de matérielLes modèles complexes peuvent nécessiter une puissance de calcul plus élevée, en particulier sur les appareils mobiles.
- Soutien linguistiqueLes modèles pré-entraînés peuvent prendre en charge plusieurs langues, assurez-vous de choisir le bon modèle pour votre langue.
Avec ces étapes et ces conseils, vous pouvez commencer à utiliser sherpa-onnx pour le développement d'applications liées à la parole, qu'il s'agisse d'un système de dialogue en temps réel ou d'un traitement de la parole hors ligne.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...