このプロジェクトについて

SenseVoiceは、自動音声認識(ASR)、話し言葉の言語識別(LID)、音声感情認識(SER)、音声イベント検出(AED)など、複数の音声理解機能を備えた音声基盤モデルです。 公開チェックポイントの範囲:SenseVoiceSmallは、中国語、広東語、英語、日本語、韓国語のASRと言語識別をサポートし、感情タグと音声イベントタグも提供します。より広範なSenseVoice研究では、40万時間以上のトレーニングと50以上の言語のサポートが報告されていますが、公開された小規模チェックポイントは上記の5言語をカバーしています。話者分離はチェックポイント自体の出力ではなく、別のFSMN-VADモデルとCAM++モデルを使用したFunASRパイプラインで構成されます。 ハイライト - リッチな文字起こし:背景音楽、拍手、笑い声、泣き声、咳、くしゃみなどのイベントに対する感情認識タグとサウンドイベント検出。 - 効率的な推論:低遅延推論のための非自己回帰エンドツーエンドフレームワーク。プロジェクトのベンチマーク設定では、SenseVoiceSmallは同程度のパラメータ数でWhisper-Smallより5倍以上、Whisper-Largeより15倍以上高速に動作すると報告されています。 - ロングテールデータへの適応のためのファインチューニングスクリプトと戦略。 - マルチ並行リクエストをサポートするサービスデプロイパイプライン。クライアント側言語にはPython、C++、HTML、Java、C#が含まれます。 使用方法 pip install -r requirements.txtで依存関係をインストールします。例と構成されたダイアリゼーションパスにはfunasr>=1.3.26が必要です(現在のデプロイパスではfunasr==1.4.14を推奨)。 基本的な推論では、FunASRのAutoModelとiic/SenseVoiceSmallモデルを使用し、長い音声にはオプションのFSMN-VADセグメンテーション、言語選択(auto、zh、en、yue、ja、ko、nospeech)、逆テキスト正規化、動的バッチ処理、VADマージを使用します。rich_transcription_postprocessヘルパーが生の出力をフォーマットします。 VADなしの長い音声:1時間の波形を単一のgenerate呼び出しに渡すと、エンコーダメモリが音声サイズをはるかに超えて増加する可能性があります。long_audio_no_vad.pyスクリプトはffmpegでデコードし、2秒のオーバーラップを持つ固定30秒ウィンドウでSenseVoiceを実行し、生のチャンク出力をJSONLファイルに保持します。ウィンドウオフセットは入力境界を説明し、単語のタイムスタンプではありません。固定境界はカット周辺の認識に影響を与える可能性があります。 話者分離:FSMN-VAD、CAM++話者ラベル、句読点モデルを使用してFunASRで構成されます。話者ラベルは匿名のクラスターであり、認識された個人の身元ではありません。output_timestamp=Trueの場合、タイムスタンプは単語と1対1で整列された[start_ms, end_ms]ペアです。 エクスポートとエッジデプロイ:ONNXとLibtorchのエクスポートパスが文書化されており、llama.cpp/GGUFランタイムにより、SenseVoiceを組み込みFSMN-VADを備えた自己完結型バイナリとして実行でき、ランタイムにPythonを必要とせず、CPUおよびエッジデバイスを対象としています。 サービスとコンテナ:FastAPIデプロイはポート50000でリッスンし、Docker/Docker Composeファイルはモデルキャッシュボリュームを使用してCPUおよびGPU実行をサポートします。 ファインチューニング:データ準備には、key、source、target、language、emotion、eventラベルを含むJSONLレコードを使用します。ヘルパーコマンドはwav.scpとテキストファイルをトレイン/バリデーションJSONLに変換します。感情ラベルにはHAPPY、SAD、ANGRY、NEUTRAL、FEARFUL、DISGUSTED、SURPRISEDが含まれ、イベントラベルにはBGM、Speech、Applause、Laughter、Cry、Sneeze、Breath、Coughが含まれます。finetune.shスクリプトとwebui.pyデモが提供されています。 ベンチマーク:プロジェクトは、AISHELL-1、AISHELL-2、Wenetspeech、LibriSpeech、Common VoiceでWhisperと多言語ASRを比較し、中国語と広東語の認識で優位性を報告しています。感情認識では、中国語と英語のテストセットで競争力のあるゼロショット結果を報告し、再現可能なSER評価契約を提供しています。音声イベント検出では、ESC-50でBEATSおよびPANNと比較し、専門のAEDモデルとのギャップを指摘しています。 エコシステム:SenseVoiceは、FunASR、Fun-ASR、CosyVoiceとともにFunAudioLLMファミリーの一部です。サードパーティ統合には、Triton/TensorRTデプロイ、sherpa-onnx(iOS、Android、Raspberry Piなどの多くのプログラミング言語とプラットフォームをサポート)、SenseVoice.cpp、streaming-sensevoice、OmniSenseVoice、ホットワード拡張バリアントが含まれます。