赞
踩
常用python识别语音文件的同学,应该对 speech_recognition 并不陌生,对于使用 speech_recognition 联网识别,网上也有很多教程,我们不做多讲解,今天我们来聊一下脱机后,speech_recognition如何识别语音文件。
一、安装依赖库
- pip install speech_recognition
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pocketsphinx
* pocketsphinx 这依赖库引用的是 清华大学开源软件镜像站
二、准备脱机识别库
目前speech_recognition只有英文(en-US)的脱机识别库,如果需要脱机识别中文(zh-CN),需要手动加入对应的识别库,可参考如下操作
1.通过 pip show numpy,在输出信息中的Location
行,可以找到库的安装路径。
2.逐层找到文件夹 pocketsphinx-data (参考如下路径):
\site-packages\speech_recognition\pocketsphinx-data
3.随后将文章的资源 【zh-CN文件】 下载解压到pocketsphinx-data 中,如下图所示
4. 检查文件是否缺失以及命名、存放的位置是否一致
三、语音文件准备
因为 speech_recognition 对脱机识别的文件有要求,目前支持的格式有:
- 1.WAV
- 2.AIFF/AIFF-C
- 3.FLAC
四、编写代码识别
- import speech_recognition as sr
-
- audio_file = './Sound/1.wav'
-
- r = sr.Recognizer()
-
- with sr.AudioFile(audio_file) as source:
- audio = r.record(source)
-
- # 识别音频文件
- result = r.recognize_sphinx(audio, language="zh-CN")
- print(result)
* language参数,可根据情况切换(例: language='zh-CN'、language="en-US"),默认是"en-US"
到这里,基本已经完成了脱机语音识别。目前我试了 [中文普通话]、[英文] 的语音文件可以达到较高的识别准确率,如果想脱机识别 [粤语](即繁体输出)等语种,建议使用 recognize_google 等方法,联网识别会更加的精准
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。