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