Python使用Speech_Recognition实现普通话识别

最近因学习任务,对语音识别需要了解,所以现在就把一些学习过程遇到的问题解决方法分享给大家。首先pyhon提供了许多语音识别库,大致包含:
![]()
上述语音识别软件库各个之间的侧重点不同,如:谷歌云语音侧重语音向文本转换,又如wit与apiai还提供超出基本语音识别的内置功能(识别讲话者意图的自然语言处理功能)。由于我仅仅是做简单的中文语音识别,所以使用的是SpeechRcognition这个语音识别库。

SpeechRcognition的特点优势

  • 满足几种主流语音 API ,灵活性高;
  • Google Web Speech API 支持硬编码到 SpeechRecognition 库中的默认 API 密钥,无需注册就可用;
  • SpeechRecognition无需构建访问麦克风和从头开始处理音频文件的脚本, 只需几分钟即可自动完成音频输入、检索并运行。因此易用性很高。

怎么使用SpeechRcognition?

安装SpeechRcognition

下载地址:<https://pypi.org/project/SpeechRecognition/&gt;
安装命令: pip install SpeechRcognition
不过仅仅安装这个是不够的,还需要安装对应需要的资源库,如下图:
![]()

SpeechRcognition的识别类(器)

![]()

Python开发案例
以上七个中只有 recognition_sphinx()可与CMU Sphinx 引擎脱机工作, 其他六个都需要连接互联网。另外,SpeechRecognition 附带 Google Web Speech API 的默认 API 密钥,可直接使用它。其他六个 API 都需要使用 API 密钥或用户名/密码组合进行身份验证。

下面进行中文语音识别

我在这里使用的是recognize_sphinx()语音识别器,它可以脱机工作,但是必须安装pocketsphinx库(详细安装过程见https://blog.csdn.net/zouxy09/article/details/7942784),若要进行中文识别,还需要两样东西

  • 一、语音文件 (SpeechRecognition对文件格式有要求)
  • 二、中文声学模型、语言模型和字典文件
    下面进行详细描述
    SpeechRecognition支持语音文件类型

WAV: 必须是 PCM/LPCM 格式
AIFF
AIFF-C
FLAC: 必须是初始 FLAC 格式;OGG-FLAC 格式不可用
pocketsphinx需要安装的中文语言、声学模型
下载地址:<http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/&gt;
![]()

安装步骤

下载cmusphinx-zh-cn-5.2.tar.gz并解压

![]()
![]()

在python安装目录下找到Lib\site-packages\speech_recognition

![]()
点击进入pocketsphinx-data文件夹,并新建文件夹zh-CN
![]()
在这个文件夹中添加进入刚刚解压的文件,需要注意:把解压出来的zh_cn.cd_cont_5000文件夹重命名为acoustic-model、zh_cn.lm.bin命名为language-model.lm.bin、zh_cn.dic中dic改为dict格式
![]()

用声音控制Windows程序
开发案例

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。