ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python使用vosk进行中文语音识别

2022-05-21 01:32:39  阅读:233  来源: 互联网

标签:https python kaldi server vosk 语音 alphacep com


操作系统: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 获取提取码。 

标签:https,python,kaldi,server,vosk,语音,alphacep,com
来源: https://www.cnblogs.com/MikeZhang/p/python-vosk-test-20220521.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有