Skip to content

Latest commit

 

History

History
214 lines (154 loc) · 16.2 KB

File metadata and controls

214 lines (154 loc) · 16.2 KB

(English|简体中文|日本語|한국어)

FunASR

オフライン、ストリーミング、エッジ展開に対応する産業グレードの音声認識ツールキット。
ASR · VAD · 句読点 · 話者パイプライン · 感情/音声イベントモデル · OpenAI互換配信

PyPI Stars Downloads Docs

modelscope%2FFunASR | Trendshift

クイックスタート · モデル選択 · モデル一覧 · デプロイ方式 · デプロイセンター · ドキュメント · ベンチマーク


クイックスタート

ネイティブ Transformers

Hugging Face API で Fun-ASR-Nano を使う場合は Transformers 5.17.0 CPU ガイド(英語) から開始できます。FunASR toolkit とリモート Python コードは不要です。

Space · Notebook · Python / batch examples

FunASR toolkit とパイプライン

python -m pip install torch torchaudio
python -m pip install funasr

以下は公開サンプルを使う CPU 向けの例です。GPU を使う場合は インストールガイド に従って互換性のある PyTorch/CUDA 環境を用意し、torch.cuda.is_available() を確認してから device="cuda" に変更してください。

from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess

model = AutoModel(model="iic/SenseVoiceSmall", vad_model="fsmn-vad", spk_model="cam++", device="cpu")
result = model.generate(input="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav")

for seg in result[0]["sentence_info"]:
    print(f"[{seg['start']/1000:.1f}s] 話者{seg['spk']}: {rich_transcription_postprocess(seg['sentence'])}")

実際に返された VAD 区間の開始時刻(秒)、匿名話者番号、SenseVoice タグを 除いたテキストを表示します。テキストや区間は音声と checkpoint に依存し、 ここでは固定の認識結果を示していません。

CAM++ は spk_embedding ベクトルを抽出し、AutoModel がクラスタリングと VAD 区間への話者割り当てを行います。番号は録音内だけで有効で、既知の人物の 識別や SenseVoiceSmall 単体の出力ではありません。 詳細は SDK 契約 を参照してください。

初めて使う場合は Colab クイックスタート から試せます。どのモデルを選ぶか迷う場合は モデル選択ガイド を参照してください。

APIサーバーとしてデプロイ: ローカル SenseVoice CPU 手順 · Nano GPU 配信と固定版 vLLM 環境

AIエージェント連携: MCPサーバー Claude/Cursor対応 · OpenAI API LangChain/Dify/AutoGen対応

なぜFunASRを選ぶのか?

FunASR はツールキットです。タスク、checkpoint、ランタイムを別々に選びます。 あるモデルやアダプターの機能が、すべての配信バックエンドで使えるとは限りません。

タスク Checkpoint またはパイプライン ランタイムの入口 主な制約
ファイル認識と感情・イベントタグ SenseVoiceSmall Python AutoModel、CPU または GPU 5言語の checkpoint。タグは話者の身元を示しません。
LLM によるファイル認識 Fun-ASR-Nano AutoModel、または文書化された GPU 分離エンジン AutoModelVLLM 基本 Nano は中・英・日と中国語方言・アクセント。timestamp は checkpoint と経路に依存します。
より多くの言語のファイル認識 Fun-ASR-MLT-Nano Python AutoModel 独立した31言語 checkpoint。その対応言語を基本 Nano に当てはめないでください。
チャンク単位のライブ認識 Paraformer-zh-streaming ストリーミング SDK または runtime WebSocket ストリーミング checkpoint とセッション別 cache が必要です。
話者付きファイル認識 SenseVoiceSmall + FSMN-VAD + CAM++ AutoModel の VAD と埋め込みクラスタリング 番号は録音内の匿名ラベルで、登録済み人物の識別ではありません。
テキスト・時刻・話者の同時生成 第三者 OpenMOSS の MOSS-Transcribe-Diarize MOSS ガイドの FunASR adapter または上流バックエンド オフライン、録音内の匿名ラベル。統合経路に外部 VAD/話者モデルは付けません。
ネイティブ CPU/エッジ認識 Fun-ASR-Nano または SenseVoiceSmall GGUF llama.cpp runtime 対応する変換済み重みが必要。GGUF は Python AutoModel 用 checkpoint ではありません。

Model Zooデプロイ方式 でインターフェースとライセンスの制約を確認し、対象音声・ハードウェアで評価してください。


ベンチマーク

過去の評価レポート分離エンジンの測定 に元の結果を残しています。 別々の記録であり、一般的な速度順位や本番容量を保証するものではありません。

RTFx と再現性の説明 に従い、 checkpoint/revision、音声セット、ハードウェア、バッチ、ウォームアップ、計測範囲、 CER/WER をそろえて比較してください。オフラインのスループットはストリーミングの 遅延ではありません。移行評価の例 で自分の録音を評価できます。


最新情報

  • MOSS-Transcribe-Diarize を FunASR service、Docker、Kubernetes、vLLM/SGLang workflow、FunClip に統合し、長時間 ASR、timestamp、匿名 speaker label を一度に処理できます。MOSS をデプロイ ->
  • FunASR 1.4.15 はテスト済みの NumPy 2 互換性を追加し、ストリーミング KWS/VAD の境界処理と checkpoint の順位付けを修正します。python -m pip install -U "funasr==1.4.15"リリースと検証範囲 ->
  • ネイティブ Transformers: 正式版 5.17.0 が Fun-ASR-Nano に対応。公式 -hf checkpoint、CPU サンプル、Notebook:導入ガイド(英語) ->

完全な変更履歴と download asset は GitHub Releases を参照してください。


インストール

pip install funasr

要件:Python ≥ 3.8、PyTorch ≥ 1.13、torchaudio


モデル一覧

第三者モデルも含みます。MOSS-Transcribe-Diarize の公開元は OpenMOSS で、 FunASR はアダプターを提供します。統合経路はオフラインで、匿名話者ラベルは 録音内だけで有効です。リアルタイム処理や既知の人物の識別ではありません。 モデルのライセンスはツールキットの MIT ライセンスとは別に確認してください。

モデル タスク 言語 パラメータ リンク
Fun-ASR-Nano 認識 中/英/日 + 中国語方言 800M HF / Transformers · HF / FunASR GGUF
Fun-ASR-MLT-Nano 認識 31言語 800M 🤗
SenseVoiceSmall 認識 + 感情 + イベント 中/英/日/韓/粤 234M 🤗 GGUF
MOSS-Transcribe-Diarize 第三者 OpenMOSS:オフライン認識 + タイムスタンプ + 匿名話者 公式モデルカードを参照 公式モデルカードを参照 🤗 ガイド
Paraformer-zh 認識 + タイムスタンプ 中/英 220M 🤗
Qwen3-ASR 認識、52言語 多言語 1.7B 使用法
GLM-ASR-Nano 認識、17言語 多言語 1.5B 使用法
Whisper-large-v3-turbo 認識 + 翻訳 多言語 809M 使用法

デプロイ

新しいディレクトリで POSIX shell と Python 3.11 を使い、ローカルの SenseVoice CPU サービスを起動します。独立環境に入るのは PyPI のリリースであり、現在の ソース checkout ではありません。認証を内蔵しないため loopback で待ち受け、 他のクライアントへ公開する前にセキュリティガイドを確認してください。

python3.11 -m venv .venv-funasr-http
. .venv-funasr-http/bin/activate
python -m pip install torch torchaudio
python -m pip install funasr fastapi uvicorn python-multipart
python -m pip check
funasr-server --host 127.0.0.1 --port 8000 --model sensevoice --device cpu

モデルのダウンロードと起動を待ちます。別のターミナルで同じディレクトリに入り、 curl 7.76+ で公開中国語サンプルを取得して認識します。リクエストは事前ロードした モデルと一致しますが、固定テキストや話者ラベルを保証する例ではありません。

curl --fail --location https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/BAC009S0764W0121.wav -o sample.wav && \
curl --fail-with-body http://127.0.0.1:8000/v1/audio/transcriptions \
  -F file=@sample.wav \
  -F model=sensevoice \
  -F response_format=verbose_json

オフライン ASR と匿名話者ラベルの同時生成(moss-transcribe-diarize)には、 MOSS service / Docker / Kubernetes / vLLM / SGLang / LocalAI / FunClip guide → の独立環境を用意してください。CPU 環境で続けて起動するものではなく、代替サービスです。 8000 番ポートを再利用する前に CPU サービスを停止します。Nano GPU 配信は 固定版の分離エンジンガイドに従い、実際の backend ログを確認してください。 モデルを指定しただけでは vLLM の使用を確認できません。

# Dockerストリーミングサービス
docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12

CPU/エッジで Python なしのオフライン ASR が必要な場合は、llama.cpp / GGUF ランタイムを使えます:funasr.com/deploy/llama-cpp · Fun-ASR-Nano-GGUF · SenseVoiceSmall-GGUF

事前ビルド済みバイナリ: Releases · v0.2.6 · Linux Vulkan tarball · Windows Vulkan zip · Windows CUDA zip · Windows Blackwell CUDA zip · ダウンロードとクイックスタート: funasr.com/deploy/llama-cpp · GGUF モデル: Hugging Face · ドキュメントとベンチマーク: runtime/llama.cpp/

Windows GPU では、runtime-llamacpp-v0.2.6windows-x64-vulkanwindows-x64-cuda または windows-x64-cuda-blackwell パッケージを選択してください。RTX 50 / Blackwell (sm_120) には専用の windows-x64-cuda-blackwell パッケージがあります。CI のアーカイブ検証は実機での Blackwell 推論を保証しません。詳細は llama.cpp 配布ガイド を参照してください。

Colab quickstart → · OpenAI API example → · Client recipes → · Workflow recipes → · Postman collection → · OpenAPI spec → · Security guide → · Deployment matrix → · デプロイドキュメント → · Agent連携 →


コミュニティ

📖 ドキュメント 🐛 Issues
💬 Discussions 🤗 HuggingFace

ライセンス

  • このリポジトリの FunASR ツールキットのソースコード: MIT License
  • 事前学習済みモデルの重みは個別にライセンスされます。各モデルカードに記載されたライセンスを確認してください。モデルカードがこのリポジトリの FunASR Model Open Source License Agreement を参照している場合、その条件が適用されます。