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.

Sherpa-ONNX:使用ONNXRuntime实现离线语音识别和合成

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
  1. 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.
  2. 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

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...