当前位置:   article > 正文

python离线语音转文字

python离线语音转文字

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

  1. import speech_recognition as sr
  2. def wav2txt():
  3. r = sr.Recognizer()
  4. # 打开语音文件
  5. with sr.AudioFile('./test.wav') as source:
  6. audio = r.record(source)
  7. # print('文本内容: ', r.recognize_sphinx(audio, language='zh-CN')) # 汉语
  8. try:
  9. print('文本内容: ', r.recognize_sphinx(audio, language='zh-CN')) # 汉语
  10. # print('文本内容: ', r.recognize_sphinx(audio)) # 英语
  11. except Exception as e:
  12. print('报错了,报错内容---',e)
  13. wav2txt()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/88210
推荐阅读
相关标签
  

闽ICP备14008679号