最近因学习任务,对语音识别需要了解,所以现在就把一些学习过程遇到的问题解决方法分享给大家。首先pyhon提供了许多语音识别库,大致包含:

上述语音识别软件库各个之间的侧重点不同,如:谷歌云语音侧重语音向文本转换,又如wit与apiai还提供超出基本语音识别的内置功能(识别讲话者意图的自然语言处理功能)。由于我仅仅是做简单的中文语音识别,所以使用的是SpeechRcognition这个语音识别库。

SpeechRcognition的特点优势

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

怎么使用SpeechRcognition?

1. 安装SpeechRcognition
下载地址:https://pypi.org/project/SpeechRecognition/
安装命令: pip install SpeechRcognition
不过仅仅安装这个是不够的,还需要安装对应需要的资源库,如下图:

2. SpeechRcognition的识别类(器)

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

3. 下面进行中文语音识别
我在这里使用的是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/

安装步骤

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

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

    点击进入pocketsphinx-data文件夹,并新建文件夹zh-CN

    在这个文件夹中添加进入刚刚解压的文件,需要注意:把解压出来的zh_cn.cd_cont_5000文件夹重命名为acoustic-modelzh_cn.lm.bin命名为language-model.lm.binzh_cn.dicdic改为dict格式。

中文识别实际例子

1. 实际的代码程序

# -*- coding: utf-8 -*-
# /usr/bin/python
# 作者:kimicr
# 实验日期:20190820
# Python版本:3.6.3
import speech_recognition as sr
r = sr.Recognizer()    #调用识别器
test = sr.AudioFile("C:\\Users\cc\Desktop\\test1.flac")   #导入语音文件
with test as source:       audio = r.record(source)
type(audio)
c=r.recognize_sphinx(audio, language='zh-cn')     #识别输出
print(c)

输出的结果:由于语音自己录的不好,所以识别的不是很高。可以找例子多试试

2. 程序中可能出现的问题
一般出现问题在于这一行代码:test = sr.AudioFile(“C:\Users\file\Desktop\test1.flac”) #导入语音文件。出现的问题为:

这是由于该文件地址是直接通过打开文件属性方式,摘到文件路径,复制过来的,问题出现是可能里面包含有了非法字符,解决办法就是重新手动输入这一行代码(特别是文件路径)

python使用Speech_Recognition实现普通话识别(一)相关推荐

  1. 通过Python的speech_recognition库将音频文件转为文字

    文章目录 前言 一.音频准备 二.音频声音 三.格式转换 四.音频转文字 1.引入库 2.定义音频路径 3.创建一个Recognizer对象 4.打开音频文件,将音频文件读入Recognizer对象 ...

  2. 用Python实现简单的人脸识别,10分钟(附源码)

    前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...

  3. 10分钟手把手教你运用Python实现简单的人脸识别

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 前言:让我的电脑认识我 我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现高大上的人脸识别技术! Python里,简单的 ...

  4. python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现

    之前已经介绍过人脸识别的基础概念,以及基于opencv的实现方式,今天,我们使用dlib来提取128维的人脸嵌入,并使用k临近值方法来实现人脸识别. 人脸识别系统的实现流程与之前是一样的,只是这里我们 ...

  5. python人脸识别opencv_基于python+OpenCV模块的人脸识别定位技术

    什么是OpenCV模块 OpenCV是一款跨平台的视觉库,可以支持的操作系统有Linux.Windows和Mac OS操作系统,并且还提供了多种语言的接口,比如Python,java,MATLAB等常 ...

  6. tensorflow+python flask进行手写识别_python+flask搭建CNN在线识别手写中文网站!简直太屌了!...

    原标题:python+flask搭建CNN在线识别手写中文网站!简直太屌了! 使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之 ...

  7. python基础教程:python+OpenCV实现车牌号码识别

    这篇文章主要介绍了python+OpenCV实现车牌号码识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 基于python+OpenCV的车牌号码识别,供大家参考,具 ...

  8. 基于python+OpenCV的车牌号码识别

    基于python+OpenCV的车牌号码识别 车牌识别行业已具备一定的市场规模,在电子警察.公路卡口.停车场.商业管理.汽修服务等领域已取得了部分应用.一个典型的车辆牌照识别系统一般包括以下4个部分: ...

  9. 基于Python的百度AI人脸识别API接口(可用于OpenCV-Python人脸识别)

    基于Python的百度AI人脸识别API接口(可用于OpenCV-Python人脸识别) 资源: download.csdn.net/download/weixin_53403301/43644312 ...

  10. gpu训练cnn人脸识别准确率_opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别

    opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别 Abstract:本文记录了在学习深度学习过程中,使用opencv+mtcnn+facenet+pyth ...

最新文章

  1. 数据包编辑工具bittwiste
  2. E0070 不允许使用不完整的类型
  3. 学python需要多久-怎么自学python,大概要多久?
  4. Linux 0.00 Makefile 说明
  5. srs代码学习(2)- 线程模型
  6. css中英文混合实现两端对齐
  7. 刚入职新公司做一些什么贡献_如果您有全职工作,如何为Kubernetes做贡献
  8. html5 canvas 绘制圆角矩形
  9. PLsql 永久注册码
  10. Microsoft edge兼容性问题
  11. CircularProgressIndicator
  12. csgo星空天空代码_csgo天空背景怎么改_csgo天空背景更改方法
  13. xamp设置web服务器
  14. 阿里云---云开发平台的创建与部署
  15. 为ibus输入法框架制作新世纪五笔码表
  16. 2021年起重机司机(限桥式起重机)考试题及起重机司机(限桥式起重机)考试报名
  17. 创建数据库的相关命令与字符类型
  18. Vue-router无刷新删除页面参数
  19. js复制文本(带文本格式or不带文本格式)
  20. continue和break的区别,以及如何跳出多重循环(或者判断)语句

热门文章

  1. matlab模拟滤波器频率响应,怎样求FIR滤波器在任意频率上的频率响应?
  2. 检查等高线矛盾lisp_依仁测绘工具V1.0 整理了一个配合cass绘图的程序-依仁测绘工具 联合开发网 - pudn.com...
  3. Python 实现PPPOE自动拨号
  4. 视频直播技术详解之延迟优化
  5. 【c语言】解释为什么32767+1=-32768
  6. 2021年最新独立版橙色去水印微信小程序-更新2021.8.31
  7. win10内存满载测试软件,Windows 10 内置的内存条检查工具Memory Diagnostics Tool
  8. Updatable Learned Index with Precise Positions(VLDB2022)
  9. 在Flutter的项目中AndroidX Compatibility(AndroidX兼容性)配置
  10. 在低代码中平台记录sortablejs拖拽使用经验