OpenSource-Hub

FunASR

フレームワーク

modelscope/FunASR

工業用音声認識ツールキット、170倍リアルタイム速度。

概要

FunASRは、50以上の言語、話者分離、感情検出、ストリーム認識、OpenAI互換APIをサポートするエンドツーエンドの音声認識ツールキットです。リアルタイム比170倍の速度を実現し、SenseVoice、Paraformerなどの事前学習モデルを提供します。

README プレビュー

([简体中文](./README_zh.md)|English|[日本語](./README_ja.md)|[한국어](./README_ko.md))\n\n\n\n\n\n\n  Industrial speech recognition. 170x faster than Whisper. 50+ languages.\n  Speaker diarization · Emotion detection · Streaming · One API call\n\n\n\n  \n  \n  \n  \n\n\n\n\n\n\n\n  Quick Start · Colab · Benchmark · Model selection · Migration guide · Use cases · Deployment matrix · Models · Agent Integration · Docs · Contribute\n\n\n---\n\n## Quick Start\n\n[](https://colab.research.google.com/github/modelscope/FunASR/blob/main/examples/colab/funasr_quickstart.ipynb)\n\nNo local setup? Open the [Colab quickstart](./examples/colab/) to transcribe a public sample or upload your own audio in a browser.\n\n```bash\npip install torch torchaudio\npip install funasr\n```\n\n```python\nfrom funasr import AutoModel\n\nmodel = AutoModel(model="iic/SenseVoiceSmall", vad_model="fsmn-vad", spk_model="cam++", device="cuda")\nresult = model.generate(input="meeting.wav")\n```\n\n**Output** — structured text with speaker labels, timestamps, and punctuation:\n```\n[00:00.4 → 00:03.8] Speaker 0: Let's discuss the Q3 plan.\n[00:04.2 → 00:07.1] Speaker 1: Sounds good. I have three points.\n[00:07.5 → 00:12.3] Speaker 0: Go ahead. We have 30 minutes.\n```\n\nThat's it. **One model, one call** — VAD segmentation, speech recognition, punctuation, speaker diarization all happen automatically.\n\n### LLM-powered ASR: Fun-ASR-Nano\n\nFor highest accuracy across 31 languages (including Chinese dialects), use [Fun-ASR-Nano](https://github.com/FunAudioLLM/Fun-ASR) — an LLM-based ASR combining SenseVoice encoder with Qwen3-0.6B decoder:\n\n```python\nfrom funasr import AutoModel\n\nmodel = AutoModel(model="FunAudioLLM/Fun-ASR-Nano-2512", vad_model="fsmn-vad", device="cuda")\nresult = model.generate(input="meeting.wav")\n```\n\nWith vLLM acceleration (16x faster, batch processing):\n\n```python\nfrom funasr.auto.auto_model_vllm import AutoModelVLLM\n\nmodel = AutoModelVLLM(model="FunAudioLLM/Fun-ASR-Na

FAQ (4)

トラブル対応
ソースからのビルドによるfunasrのpip installが遅い問題を修正するには?

funasr v1.3.9以降にアップグレードしてください。これにはプレビルドされたユニバーサルホイール(py3-none-any)が含まれており、ソースビルドの手順が不要になります。pip install funasr>=1.3.9を使用してください。古いバージョンではソースビルドは実質的に何も行いませんでしたが、ホイールによりビルドのオーバーヘッドが完全に排除されます。

参照 Issue #2943
トラブル対応
vLLM で FunASR 1.3.7 の repetition_penalty 使用時に発生する CUDA error 'device-side assert triggered' の修正方法

これは、vLLMにおけるrepetition_penaltyとenable_prompt_embeds=Trueの非互換性によって発生します。vllm_engine.generate()の呼び出しからrepetition_penalty=1.3を削除してください。回避策として、推論時に音声を25秒以下のチャンクに分割し、truncate_repetition()後処理関数を使用して繰り返しを抑制します。切り詰めロジックの例: def truncate_repetition(text, min_repeat_len=5, max_repeats=3): ... 。次期FunASRバージョンでは、チャンキングと後処理が正式に採用される予定です。

参照 Issue #2950
トラブル対応
Qwen3-ASRがオフラインモードのみをサポートしている場合、WebSocketを介してリアルタイム音声認識を実行する方法は?

Qwen3-ASRはWebSocketリアルタイムストリーミングをサポートしていません(AutoModel経由のオフラインのみ)。WebSocketストリーミングには、FunASRのリアルタイムサーバーと共にFun-ASR-Nanoモデルを使用してください。インストール:pip install funasr>=1.3.5 vllm>=0.12.0(バージョン1.3.5では、dynamic_vadおよびvllm.inputs.dataのインポートに関するModuleNotFoundErrorが修正されています)。サーバーの起動:python examples/industrial_data_pretraining/fun_asr_nano/serve_realtime_ws.py --port 10095 --language 中文。クライアント:ブラウザでclient_mic.htmlを開くか、client_python.pyを使用します。ドキュメント:https://github.com/modelscope/FunASR/blob/main/docs/vllm_guide.md

参照 Issue #2886
トラブル対応
認証されていないHugging FaceリクエストによるFunASRリアルタイムサーブのダウンロード失敗を修正する方法

レート制限やダウンロードの問題を避けるために、Hugging Face tokenを設定してください。サーバーを起動する前に、HF_TOKEN='your_token'をエクスポートするか、huggingface-cli loginを使用して認証情報をキャッシュしてください。それでもダウンロードが失敗する場合は、手動でモデルを https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512 からダウンロードし、--modelにローカルパスを指定してください。

参照 Issue #2917