操作系統:Windows10 Python版本:3.9.2 vosk是一個離線開源語音識別工具,它可以識別16種語言,包括中文。 這裡記錄下使用vosk進行中文識別的過程,以便後續查閱。 vosk地址:https://alphacephei.com/vosk/ 使用vosk-server進行語音識別 ...
操作系統:Windows10
Python版本:3.9.2
vosk是一個離線開源語音識別工具,它可以識別16種語言,包括中文。
這裡記錄下使用vosk進行中文識別的過程,以便後續查閱。
vosk地址:https://alphacephei.com/vosk/
使用vosk-server進行語音識別
使用docker啟動vosk服務
1、獲取vosk
[root@host32 ~]# docker search alphacep NAME DESCRIPTION STARS OFFICIAL AUTOMATED alphacep/kaldi-ru Russian websocket server for streaming speec… 11 alphacep/kaldi-en English websocket server for streaming speec… 10 alphacep/kaldi-vosk-server Websocket-based server for speech recognitio… 8 alphacep/kaldi-de German websocket server for streaming speech… 4 alphacep/kaldi-cn Chinese websocket server for streaming speec… 3 alphacep/kaldi-manylinux Helper image to build python modules for pypi 3 alphacep/kaldi-en-gpu Vosk GPU websocket server for fast processin… 2 alphacep/kaldi-en-in Streaming speech recognition based on Kaldi … 1 alphacep/kaldi-grpc-en Speech recognition gRPC server based on Kald… 0 alphacep/kaldi-es 0 alphacep/dockcross-linux-armv7 0 alphacep/vosk-unimrcp 0 alphacep/kaldi-fr French websocket server for streaming speech… 0 alphacep/kaldi-vosk-server-gpu Vosk GPU websocket server for fast processin… 0 alphacep/kaldi-en-spk 0 uburuntu/kaldi-vosk-server https://github.com/alphacep/vosk-server 0 gabrielbg99/kaldi ARM64 (Cortex-A72) version of https://hub.do… 0 gabrielbg99/kaldi-en ARM64 (Cortex-A72) version of https://hub.do… 0 [root@host32 ~]# docker pull alphacep/kaldi-cn
2、啟動vosk
獲取docker鏡像:
docker pull alphacep/kaldi-cn:latest
啟動服務:
docker run -d -p 2700:2700 alphacep/kaldi-cn:latest
使用vosk-server測試
1、下載vosk-server源代碼
命令如下:
git clone https://github.com/alphacep/vosk-server
2、測試
test2.wav內容:
自然語言理解和生成是一個多方面問題,我們對它可能也只是部分理解。
cd vosk-server/websocket
./test.py test2.wav
識別效果如下:
註意:語音文件test1.wav的格式必須8khz 16bit mono PCM(8000採樣率,16位採樣精度,單聲道,pcm)。
可以在屏幕上看到伺服器返回的識別結果,結果是json格式。
如果提示如下錯誤:
AttributeError: module 'asyncio' has no attribute 'run'
請使用python 3.7以上的版本。
python使用vosk-server進行中文語音識別的演示視頻,可從如下途徑獲取:
關註微信公眾號(聊聊博文,文末可掃碼)後回覆 202205210101 獲取。
使用vosk-api進行語音識別
安裝vosk
命令如下:
pip install vosk
下載示例代碼
獲取示例代碼:
git clone https://github.com/alphacep/vosk-api.git
目錄結構如下:
下載預編譯的模型文件
下載地址:https://alphacephei.com/vosk/models
下載模型文件:
wget -c https://alphacephei.com/vosk/models/vosk-model-small-cn-0.22.zip wget -c https://alphacephei.com/vosk/models/vosk-model-cn-0.15.zip wget -c https://alphacephei.com/vosk/models/vosk-model-cn-kaldi-multicn-0.15.zip
如果下載過慢,可從如下鏈接獲取:
https://pan.baidu.com/s/1NlmSejpFmUygcCgL4hvGGA
關註微信公眾號(聊聊博文,文末可掃碼)後回覆 2022052101 獲取提取碼。
語音識別測試
1、修改測試代碼
python示例代碼路徑:vosk-api\python\example
編輯 test_simple.py 文件,註釋掉如下代碼:
rec.SetPartialWords(True)
要不會報如下錯誤:
AttributeError: 'KaldiRecognizer' object has no attribute 'SetPartialWords'
2、配置模型文件
解壓 vosk-model-cn-0.15.zip 文件,並將解壓後的文件夾名稱修改為 model ,目錄結構如下:
3、測試語音識別
test2.wav內容:
自然語言理解和生成是一個多方面問題,我們對它可能也只是部分理解。
識別效果如下:
python使用vosk-server進行中文語音識別的演示視頻,可從如下途徑獲取:
關註微信公眾號(聊聊博文,文末可掃碼)後回覆 202205210102 獲取。
本文涉及源碼及模型,可以從百度網盤獲取:https://pan.baidu.com/s/1NlmSejpFmUygcCgL4hvGGA
關註微信公眾號(聊聊博文,文末可掃碼)後回覆 2022052101 獲取提取碼。
微信公眾號: