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