操作系统: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. 什么是Viewport Meta(width详解)及在手机上的应用

    viewport是专为手机浏览器设计的一个meta标签: 有些屏幕很小有智能手机,但分辩率却可以做得很大,比如小米4的默认分辨率为:1920*1080,比许多电脑桌面的都还大,传统桌面网站直接放到手机 ...

  2. 写入MySQL中文乱码问题

    相信使用数据库进行存储的大家都遇到过中文乱码问题,如何彻底解决?我百度了很多资料与博客,想把自己的经历总结起来给大家参考一下,接下来我先罗列一下大部分修改乱码问题的方法: 1.   修改MySQL数据 ...

  3. sequelize模型

    model表示数据库中的表,有时它也会被称为"模型"或"工厂".Model不能通过构造函数创建,只能通过sequlize.define方法来定义或通过sequl ...

  4. Spring Security 一键接入验证码登录和小程序登录

    最近实现了一个多端登录的Spring Security组件,用起来非常丝滑,开箱即用,可插拔,而且灵活性非常强.我觉得能满足大部分场景的需要.目前完成了手机号验证码和微信小程序两种自定义登录,加上默认 ...

  5. 关于iOS 二维数组,对象映射的问题

    数据格式如下: 遇到的问题是二维数组的 对象无法 通过 yymodel 直接实力话 ~~~ -"scoring_probability_distribution": [ -[ -{ ...

  6. SpringMVC获取请求参数-基本类型

    1.Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配 (json形式) <dependency> <groupId>com.faste ...

  7. Spring-实现原理

    探究SpringBoot实现原理 注意:必须完成SSM阶段源码解析部分的学习,链接:https://www.cnblogs.com/zwtblog/tag/源码/ 我们在前面的学习中切实感受到了Spr ...

  8. Hash-题解-方法

    有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagar ...

  9. 羽夏壳世界—— PE 结构(上)

    羽夏壳世界之 PE 结构(上),介绍难度较低的基本 PE 相关结构体.

  10. [个人配置] VSCode Better Comments 扩展配置、高亮注释插件

    在VSCode IDE中,我的代码注释一般都有高亮颜色,那要怎么安装这个插件呢?