AIパーソナル・ラーニング
と実践的なガイダンス
豆包Marscode1

Sherpa-ONNX: ONNXRuntimeによるオフライン音声認識と合成

はじめに

sherpa-onnxは、Next-gen Kaldiチームによって開発されたオープンソースプロジェクトで、効率的なオフライン音声認識・音声合成ソリューションを提供します。Android、iOS、Raspberry Piなど複数のプラットフォームをサポートし、インターネット接続なしでリアルタイムの音声処理が可能です。このプロジェクトはONNX Runtimeフレームワークに依存し、様々な組込みシステムやモバイル機器向けに、音声テキスト化(ASR)、テキスト音声合成(TTS)、音声活動検出(VAD)の機能を提供する。このプロジェクトはオフラインでの使用をサポートするだけでなく、WebSocketを介したサーバーとクライアントの通信も可能です。

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

オンラインデモ:https://huggingface.co/spaces/k2-fsa/generate-subtitles-for-videos


 

機能一覧

  • オフライン音声認識 (ASR)インターネットに接続することなく、多言語によるリアルタイムの音声読み上げをサポートします。
  • オフライン音声合成(TTS)高品質な音声合成サービスを、インターネットを介さずに提供します。
  • 音声アクティビティ検出(VAD)様々な音声対話シナリオにおける音声活動のリアルタイム検出。
  • マルチプラットフォーム対応Linux、macOS、Windows、Android、iOS、その他多くのOSで利用可能。
  • クロス言語モデルのサポートZipformer、Paraformerなどの高度な音声モデルをサポートし、認識と合成の精度を向上。
  • 低資源消費最適化されたモデルは、リソースが限られたデバイスでもスムーズに動作します。

 

ヘルプの使用

設置プロセス

sherpa-onnxはオープンソースプロジェクトであり、GitHubからソースコードを直接ダウンロードしてコンパイルすることも、コンパイル済みのバイナリを直接使用することもできます:

1.クローン倉庫::

git clone https://github.com/k2-fsa/sherpa-onnx.git
cd sherpa-onnx
  1. ソースコードをコンパイルする::
    • LinuxおよびmacOSユーザー向け:
      mkdir build
      cd build
      cmake -DCMAKE_BUILD_TYPE=Release ..
      make -j4
      
    • Windowsユーザーの場合は、Visual StudioまたはCMakeがサポートする他のコンパイラーを使用する必要があるかもしれません。
  2. コンパイル済みファイルのダウンロード::
    • GitHubのリリースページ(例:https://github.com/k2-fsa/sherpa-onnx/releases)にアクセスし、お使いのオペレーティング・システムに対応するコンパイル済みバージョンを選択してダウンロードする。

使用方法

音声認識(ASR)の例::

  • コマンドラインモード::
    事前に訓練されたモデルをダウンロードする(例 sherpa-onnx-streaming-zipformer-bilingual-zh-ja):

    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
    

    それから走れ:

    ./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
    
  • リアルタイム認識::
    マイクを使ったリアルタイム音声認識:

    ./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
    

音声合成(TTS)の例::

  • 訓練済みのTTSモデル(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
    
  • TTSを実行する:
    ./build/bin/sherpa-onnx-offline-tts --model=sherpa-onnx-tts-vits/model.onnx "你好,世界"
    

音声アクティビティ検出(VAD)::

  • VADを実行する:
    ./build/bin/sherpa-onnx-vad --model=path/to/vad_model.onnx your_audio.wav
    

ほら

  • モデルの選択: ニーズに応じて適切なモデル(ストリーミング版または非ストリーミング版など)を選択してください。モデルによってパフォーマンスやリアルタイム性が異なります。
  • ハードウェア要件sherpa-onnxは低リソース消費であることを意図していますが、複雑なモデルは、特にモバイル機器では高い計算能力を必要とすることがあります。
  • 言語サポート事前にトレーニングされたモデルは、複数の言語をサポートしている場合があります。

これらの手順とヒントがあれば、リアルタイム対話システムであれオフライン音声処理であれ、音声関連アプリケーションの開発にsherpa-onnxを使い始めることができます。

無断転載を禁じます:チーフAIシェアリングサークル " Sherpa-ONNX: ONNXRuntimeによるオフライン音声認識と合成
ja日本語