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

python使用vosk进行中文语音识别的更多相关文章

  1. 基于深度学习的中文语音识别系统框架(pluse)

    目录 声学模型 GRU-CTC DFCNN DFSMN 语言模型 n-gram CBHG 数据集 本文搭建一个完整的中文语音识别系统,包括声学模型和语言模型,能够将输入的音频信号识别为汉字. 声学模型 ...

  2. 统计学习:《贝叶斯思维统计建模的Python学习法》中文PDF+英文PDF+代码

    用数学工具解决实际问题仅有的要求可能就是懂一点概率知识和程序设计.而贝叶斯方法是一种常见的利用概率学知识去解决不确定性问题的数学方法,对于一个计算机专业的人士,应当熟悉其应用在诸如机器翻译,语音识别, ...

  3. Python 生成的页面中文乱码问题

    第一 保证 程序源文件里的中文的编码格式,如我们把 源文件的编码设置成utf8的. reload(sys) sys.setdefaultencoding('utf-8') 第二, 告诉浏览器,我们须要 ...

  4. GRU-CTC中文语音识别

    目录 基于keras的中文语音识别 音频文件特征提取 文本数据处理 数据格式处理 构建模型 模型训练及解码 aishell数据转化 该项目github地址 基于keras的中文语音识别 该项目实现了G ...

  5. Python 标准库 BaseHTTPServer 中文翻译

    Python 标准库 BaseHTTPServer 中文翻译. 注意: BaseHTTPServer模块在Python3中已被合并到http.server,当转换你的资源为 Python3 时 2to ...

  6. python向数据库插入中文乱码问题

    1.python向数据库插入中文乱码问题 直接手动insert into 中文 不乱码,但是用程序跑起来就乱码. conn =MySQLdb.connect(host="127.0.0.1& ...

  7. python中正则表达式在中文字符串匹配时的坑

    之前一直有使用python 正则表达式来做中文字符串或者中英文数字混合的字符串的匹配,发现有不少情况下会匹配失灵或者结果混乱,并且在不同操作系统上匹配结果也不一致,查了很久都不知道是什么原因.今天终于 ...

  8. python中os模块中文帮助

    python中os模块中文帮助   python中os模块中文帮助文档文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8 ...

  9. 学习NLP:《精通Python自然语言处理》中文PDF+英文PDF+代码

    自然语言处理是计算语言学和人工智能之中与人机交互相关的领域之一. 推荐学习自然语言处理的一本综合学习指南<精通Python自然语言处理>,介绍了如何用Python实现各种NLP任务,以帮助 ...

随机推荐

  1. FR9833 32V转5V

  2. 每天坚持一个CSS——社会人

    每天一个CSS-社会人 实现效果 想法 之前看到一篇博客,使用python绘制出了小猪佩奇,所以自己想试一试,采用纯html + CSS绘制出低配版的小猪佩奇. 实现思路 使用上一篇,圆与边框实现.最 ...

  3. 【Web Audio API】 — 那些年的 web audio

    转 TAT.Jdo:[Web Audio API] - 那些年的 web audio 这主题主要是早期对 web audio api的一些尝试,这里整理一下以便以后翻阅,如有错误,诚请指正. 在这之前 ...

  4. 巧用CSS3:target 伪类制作Dropdown下拉菜单(无JS)

    原文链接:http://devework.com/css3-target-dropdown.html :target 是CSS3 中新增的一个伪类,用以匹配当前页面的URI中某个标志符的目标元素(比如 ...

  5. Python窗口学习之给按钮美化

    tkinter的按钮很丑也很难改 怎么办呢? 最好的方法就是不用按钮! 给Label添加点击事件,和按钮的作用是一样的! 代码: #!/usr/bin/env python # -*- coding: ...

  6. 【Android开发】URL 转义与反转义

    1,转义 @org.junit.Test public void testEncode(){ String url="http://192.168.0.19:8888/cas/login&q ...

  7. Android控件设置半透明+EditText设置默认值+ 控件居中

    Android控件设置半透明 效果 代码: android:background="#50FFFFFF" 50表示50%透明 Android:EditText设置默认值 andro ...

  8. jdk-1.8环境变量配置

    1.首先下载好jdk-1.8的安装包. 这个安装也是傻瓜式安装,一直下一步即可.一定要记得中间你所设置的安装路径 2.切记 切记 jdk的安装路径 ! 3.右键"此电脑",点击最下 ...

  9. 【直播回顾】OpenHarmony知识赋能第四期直播——标准系统HDF开发

    3月10日晚上19点,OpenHarmony开发者成长计划社群内,我们举办了​​知识赋能第四期直播课<OpenHarmony标准系统HDF框架介绍>​​,吸引了数千名开发者线上观看学习,并 ...

  10. 靶场vulnhub-CH4INRULZ_v1.0.1通关

    1.CH4INRULZ_v1.0.1靶场通关 ch4inrulz是vulnhub下的基于Linux的一个靶场,作为练习之用 目的:通过各种手段,获取到靶机内的flag的内容 2.环境搭建: 攻击机 K ...