1、安装SpeechRecognition第三方库
pip install SpeechRecognition
2、安装pocketsphinx第三方库,安装时,可能会报错error: command 'swig.exe' failed: No such file or directory
这时候需要安装,swig
swig下载地址:
阿里云:https://www.aliyundrive.com/s/XGvEKWH9r3c
百度网盘:链接:https://pan.baidu.com/s/17qEWcJ0qI21MoqGwUdV0lw 提取码:7myi
下载之后,放在你想放的地方,然后配置环境变量
注意,无论是cmd,还是pycharm安装,都需要重启
最后执行命令:pip install pocketsphinx,可以正常安装
3、代码:注意,默认只能转为英语,如果要转为汉字,需要下载中文语言、声学模型
中文语言、声学模型下载地址:
链接:https://pan.baidu.com/s/13BFUnOlzubl6cOGQ8E8haQ
提取码:z8s1
下载之后解压,然后把zh-CN文件夹粘贴到
/speech_recognition/pocketsphinx-data
文件夹下,注意,如果是虚拟环境,speech_recognition文件夹在venv\Lib\site-packages下,如果不是虚拟环境,就看你的第三方包都安装在哪里了
也可以下载最新的声学模型
下载地址:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/
下载之后,解压
把解压出来的zh_cn.cd_cont_5000文件夹重命名为acoustic-model、zh_cn.lm.bin命名为language-model.lm.bin、zh_cn.dic中dic改为dict格式,zh_cn替换为pronounciation-dictionary
最后把这个三个文件放在zh-CN文件夹中,把zh-CN文件夹放在speech_recognition文件夹在venv\Lib\site-packages下
注意:识别的准确度不是很高,最好还是调api
import speech_recognition as sr
def wav2txt():
r = sr.Recognizer()
# 打开语音文件
with sr.AudioFile('./test.wav') as source:
audio = r.record(source)
# print('文本内容: ', r.recognize_sphinx(audio, language='zh-CN')) # 汉语
try:
print('文本内容: ', r.recognize_sphinx(audio, language='zh-CN')) # 汉语
# print('文本内容: ', r.recognize_sphinx(audio)) # 英语
except Exception as e:
print('报错了,报错内容---',e)
wav2txt()