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

オンラインデモ: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
- ソースコードをコンパイルする::
- LinuxおよびmacOSユーザー向け:
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j4
- Windowsユーザーの場合は、Visual StudioまたはCMakeがサポートする他のコンパイラーを使用する必要があるかもしれません。
- LinuxおよびmacOSユーザー向け:
- コンパイル済みファイルのダウンロード::
- 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を使い始めることができます。