
FunASR 離線轉寫本地部署全攻略從環境到上手的完整路徑【免費下載鏈接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.項目地址: https://gitcode.com/GitHub_Trending/fun/FunASRFunASR 是達摩院開源的語音識別工具包集 VAD、離線轉寫、標點恢復、ITN 于一體。按下面的步驟操作你可以在自己的機器上完成 FunASR 本地部署把 wav、mp3 等文件轉成帶標點的文字全程不上傳云端。快速開始3步拉起離線轉寫服務部署前先看最低要求項目最低要求推薦配置CPU4核16核可支撐約64路并發內存8GB32GB系統Linux x86_64已安裝 Docker獲取項目源碼git clone https://gitcode.com/GitHub_Trending/fun/FunASR cd FunASR執行 一鍵部署腳本它會引導你選擇 ASR 模型、拉取 Docker 鏡像并自動下載 VAD/ASR/標點三類模型bash runtime/deploy_tools/funasr-runtime-deploy-offline-cpu-zh.sh腳本默認把模型和日志放在funasr-runtime-resources/目錄預留至少 5GB 磁盤空間不建議放在系統盤。腳本輸出 server is running 即表示服務已啟動默認監聽 10095 端口。用 Python 客戶端發一條音頻驗證cd runtime/python/websocket pip install -r requirements_client.txt python funasr_wss_client.py --host 127.0.0.1 --port 10095 \ --mode offline --audio_in ./asr_example.wav控制臺返回帶標點的文本說明本地部署成功。工作原理一條音頻的完整旅程客戶端通過 WebSocket 連上 10095 端口的 funasr-wss-server逐幀上傳音頻。服務端先經 FSMN-VAD 做語音端點檢測把音頻切成只含人聲的片段再由 Paraformer-Large 聲學模型解碼出字序列期間語言模型與熱詞偏置會糾正專名最后 CT-Transformer 補上標點ITN 模塊把一百二十三這類讀法還原為123最終返回帶時間戳和標點的文本。?? 進階配置并發、模型與熱詞調并發線程數。當并發轉寫時 CPU 利用率上不去、或單文件處理偏慢時再動它腳本默認已按核數自動分配。在 run_server.sh 啟動參數中顯式指定nohup bash run_server.sh \ --decoder-thread-num 8 \ --io-thread-num 4 \ --model-thread-num 1 log.txt 21 預期效果decoder-thread-num 即最大并發路數保持 decoder-thread-num × model-thread-num 等于 CPU 總核數最均衡。切換到時間戳模型。需要輸出句子級時間戳時把--model-dir換成帶 vad-punc 的版本--model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx預期效果返回結果中每句都附帶 begin_time/end_time 字段改完參數需重啟服務生效。掛熱詞文件。專名、產品名識別率上不去時準備一個 hotwords.txt每行一個詞FunASR 20 達摩院 10用--hotword指向該文件并重啟服務預期列表中術語的識別率明顯提升權重數值越大偏置越強。場景實戰單文件與批量轉寫單文件轉寫python funasr_wss_client.py --host 127.0.0.1 --port 10095 \ --mode offline --audio_in ./meeting.wav --use_itn 1--audio_in支持 wav/mp3/mp4也支持網絡 URL--use_itn 1開啟逆文本規范化--output_dir把結果寫入指定目錄預期輸出終端打印帶標點、數字已規范化的文本例如好的我們三點開會。批量轉寫先寫一個 wav.scp每行名字 路徑會議1 /data/audio/meeting1.mp3 客戶2 /data/audio/call2.wav再執行python funasr_wss_client.py --host 127.0.0.1 --port 10095 \ --mode offline --audio_in ./wav.scp --output_dir ./results \ --thread_num 4預期輸出results/下每個文件對應一份轉寫文本--thread_num 4表示 4 路并發發送。Web 界面瀏覽器打開 html5 頁面即可上傳文件或直接麥克風轉寫無需寫任何代碼。 排障與避坑如果腳本報 port already allocated通常是 10095 已被其他進程占用。用ss -lntp | grep 10095找到占用者殺掉后重試或在啟動時換一個空閑端口。如果客戶端提示 SSL 證書校驗失敗是因為服務端默認掛的是自簽名證書。測試階段可加--ssl 0關閉客戶端校驗正式環境建議在服務端傳--certfile 0關掉 SSL或替換為受信任證書。如果某個詞反復被識別成同音字多半是詞表問題。建一個 hotwords.txt 掛到服務上重啟后該詞全局生效個別客戶端也可單獨通過--hotword傳一份只對自己生效的熱詞。從一鍵腳本拉起離線轉寫服務到線程參數控制并發、熱詞文件兜住專名核心動作就這三件。參數細節與定制流程見 離線轉寫 SDK 文檔流式識別與 2pass 模式可以參考 快速開始指南。服務已經跑起來了剩下的事就是喂音頻。【免費下載鏈接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.項目地址: https://gitcode.com/GitHub_Trending/fun/FunASR創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考