python使用vosk进行中文语音识别
source link: https://www.cnblogs.com/MikeZhang/p/python-vosk-test-20220521.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
操作系统: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
非docker方式启动vosk服务
git clone https://github.com/alphacep/vosk-server
wget -c https://alphacephei.com/vosk/models/vosk-model-cn-0.15.zip
python asr_server.py vosk-model-cn-0.15
使用vosk-server测试
1、下载vosk-server源代码
命令如下:
git clone https://github.com/alphacep/vosk-server
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 获取提取码。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK