python使用Sphinx实现中文普通话语音识别
python实现中文语音识别有很多种方法。
国内有百度的免费的60s的Python SDK语音识别,我尝试过,感觉识别率不高,而且识别的时间不短,还要求联网。
在github
找了几个关于语音识别的包。
找到一个speech_recognition
支持多个库
我在这里尝试了CMU Sphinx
按照文档里说的要先安装PyAudio
我尝试win和ubuntu系统的安装,win10使用正常,但是ubuntu调用麦克风出错。
安装完speech_recognition之后
我们要在CMU Sphinx语音识别工具包里面下载对应的普通话升学和语言模型。
这三个都要下载。
但是我们要把zh_broadcastnews_64000_utf8.DMP
转化成language-model.lm.bin
。我在看别人的文章的时候,有的人直接用DMP模型
的,但是我没找到相关的例子。
关于转换模型,在pocketsphinx.rst写得挺清楚的
关于sphinx_lm_convert
的命令,win下好像在CMU Sphinx要安装相关的的工具进行转化。
我是在Ubuntu下进行转化的,直接复制上面的命令,然后系统会提示安装相应的包,我们对着提示的包名直接进行安装就行了。就可以转化了。最后得到chinese.lm.bin
。
解压zh_broadcastnews_16k_ptm256_8000.tar.bz2
得到zh_broadcastnews_ptm256_8000
文件夹。
然后我的方法是这样的:
找到spee_recognition
文件夹,
然后把原来的en-US改名成en-US-bak,新建一个文件夹en-US
,把解压出来的zh_broadcastnews_ptm256_8000
改成acoustic-model
,把chinese.lm.bin
改成language-model.lm.bin
,把pronounciation-dictionary.dic
改后缀成dict
,复制这三个文件到en-US
里。
然后复制这个例子,这个例子是听完就进行语音识别的,github上面还有其他例子。
# -*- coding: utf-8 -*-
import speech_recognition as sr# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:r.adjust_for_ambient_noise(source) # listen for 1 second to calibrate the energy threshold for ambient noise levelsprint('say something')# print("")audio = r.listen(source)
#
# # recognize speech using Sphinx
try:print("Sphinx thinks you said " + r.recognize_sphinx(audio))
except sr.UnknownValueError:print("Sphinx could not understand audio")
except sr.RequestError as e:print("Sphinx error; {0}".format(e))
但是总体上识别率还是不高,但是在我用的过程中是要比百度的Python SDK要好很多。
看到很多同学想要语音包,我就把相关文件分享出来
https://pan.baidu.com/s/1R9rxwo9mhhXj90etjSBZyA
提取码:zcxn
不过Sphinx
支持定义自己的上传的词汇生成相对应的模型,点击地址
最后我粘贴几个我看过的几篇好的文章地址
简书的
别人的博客
csdn
csdn
csdn
csdn
python使用Sphinx实现中文普通话语音识别相关推荐
- 科学网—中文普通话语音识别DEMO,LilyMandarinSpeechRecognition V1.0 - 石自强的博文...
DEMO简介: 这是一个中文普通话语音识别的最简单DEMO,LilyMandarinSpeechRecognition V1.0. 首先给出这款软件的下载链接: 或者 http://vdisk.wei ...
- 中文普通话语音识别开源数据集(持续更新)
中文普通话语音识别开源数据集,截止到2022.11.21 数据集 时长(h) 人数 标注准确率 下载链接 开源协议 备注 thchs30 30 40 - openslr.org Apache Lice ...
- 基于HTK中文普通话语音识别DEMO,LilyMandarinSpeechRecognition V1.0
DEMO简介: 这是一个中文普通话语音识别的最简单DEMO,LilyMandarinSpeechRecognition V1.0. 首先给出这款软件的下载链接: DEMO_LilyMandarinSp ...
- 中文实时语音识别引擎
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 接口是 http restful 形式,在使用该接口前,需要在语音识别控制台开通服 ...
- python通过调用百度api实现语音识别(超详细)
python通过调用百度api实现语音识别(超详细) 2021.04.18:该文章是在18年,初学Python时写的,所以功能仅限于当时可用,至于现在(貌似依然可用)和以后就不确定了.完整的demo也 ...
- 如何用Python和BERT做中文文本二元分类?| 程序员硬核评测
点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 作者 | 王树义 来源 | 王树芝兰(ID:nkwangshuyi) 兴奋 去年, Google 的 B ...
- python 句子中没有中文_AI伪原创,我们是认真的。[Python实现]
经过了本渣渣长达2年之久的深入学习和研究,耗费了大量的人力物力,使用了超过5亿条中文语料,上百台服务器连续一年的不间断训练,优化市面上已有的神经网络算法,结合多年的seo经验及NLP方面的成就,终于用 ...
- python画图中文显示_解决Linux系统中python matplotlib画图的中文显示问题
最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些 ...
- python写入csv文件中文乱码解决方案
python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...
最新文章
- Ubuntu终端命令行缩短显示路径
- 张孝祥javascript学习笔记1---HTMLCSS
- Divan and a Store 贪心(800)
- 总结了 90 条写 Python 程序的建议
- C#实现让程序只能打开一个实例(总结3方法)
- POLL原理分析与java实战
- 队友招募!60天一起搞定MySQL所有重点
- 在pascal环境下学习record
- git pull出现错误的解决办法
- 使用js实现复选框的全选、取消功能
- android字体和可免费商用的字体
- slickedit背景颜色和当前关键字高亮
- 道路-水系河流-铁路-人口等栅格数据获取途径
- win7桌面计算机图标变了,Win7桌面图标变成未知的文件了怎么办
- avi格式如何转换成mp4格式
- 错误代码:88000, 错误信息:without comment privilege hint: [7oJ0533w689] rid: 630432cd-15944cf6-083e04fc
- 软件开发:项目设计思路(流程、功能方法和数据结构)
- 怎么实现CorelDRAW中轮廓图工具的快速运用
- cv::watershed(img,mask)
- 读 Flink 源码,肝进阿里云 Flink 组了。。
热门文章
- 架构师细说 NGINX 的配置及优化
- 计算机触摸屏usb模块,求USB接口的电脑外接触摸屏--专利说明?
- Linux输入cd按回车,linux cd命令
- 关于网件交换机基本配置命令
- 从零基础到流利英语 物主代词,现在进行时
- 深度学习第四课——卷积神经网络(week 1)
- 麻省理工学院计算机博士奖学金,国家留学基金管理委员会与美国麻省理工学院 合作奖学金介绍(博士生)...
- 群晖php pear,Synology 群晖DSM7.0 40850 beta 版本各机型固件下载链接
- 不知道怎么zbrush导入笔刷?看这里!(附赠40g史上最全笔刷文件)
- and门 simuilink_电力电子电路仿真——MATLAB和PSpice应用魏艳君电子课件第五章节.ppt...