语音转文字

python 中有一个speechrecognition包,集合了几个语音识别库的接口,非常实用,这里就给大家介绍一下它的模块、安装、调用。

模块接口

speechrecognition 的接口和核心识别库如下

能脱网工作的只有recognize_sphinx(),其他的不止需要联网,还需要注册获取api和权限。所以这里我用CMU的recognize_sphinx()来实现语音识别。

安装

1.pip install speechrecognition
2. pip install pocketsphinx
3. 可能缺少pocketsphinx的wheel ,这可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应的wheel文件安装,再执行 pip install pocketsphinx

调用

安装完成后创建test.py

import speech_recognition as sr

def wav2txt(wavfilepath):
r = sr.Recognizer()
sudio = “”
with sr.AudioFile(wavfilepath) as src:
sudio = r.record(src)
print(r.recognize_sphinx(sudio))

if name == “main”:
wav2txt("\WEB\static\output.wav")

我的wav文件是一段英语听力

补充

recognize_sphinx()不能转化mp3格式的音频,就有些鸡肋了。我们可以借助ffmpeg和ffmpy将mp3转化为wav,

ffmpeg 安装

sudo apt-get install ffmpeg

ffmpy 安装

pip install ffmpy

更改test.py

import speech_recognition as sr
import ffmpydef wav2txt(filepath):endfix=filepath.splite(".")[-1] if endfix != "wav":t=filepath.splite(".")t[-1]="wav"wavfilepath=".".join(t)ff = ffmpy.FFmpeg( inputs={filepath: None},outputs={wavfilepath: None} )ff.run()r = sr.Recognizer()sudio = ""with sr.AudioFile(wavfilepath) as src:sudio = r.record(src)print(r.recognize_sphinx(sudio))if __name__ == "__main__":wav2txt("\WEB\static\output.wav")

解析普通话

打开pocketsphinx的安装位置,可以在data文件夹下找到en-US文件夹,说明只能翻译英语。那普通话怎么办??
翻遍百度,发现pocketsphinx安装中文包的方法已经过时了,这里详细说一遍安装过程。

进入 https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Mandarin/
下载 cmusphinx-zh-cn-5.2.tar.gz
解压 后目录结构

.
cmusphinx-zh-cn-5.2
├── README
├── zh_cn.cd_cont_5000
│ ├── feat.params
│ ├── feature_transform
│ ├── mdef
│ ├── means
│ ├── mixture_weights
│ ├── noisedict
│ ├── transition_matrices
│ └── variances
├── zh_cn.dic
└── zh_cn.lm.bin

重命名
cmusphinx-zh-cn-5.2 》》 zh-CN
cmusphinx-zh-cn-5.2 》》 acoustic-model
zh_cn.lm.bin 》》 language-model.lm.bin
zh_cn.dic 》》 pronounciation-dictionary.dict

重命名后的目录结构

zh-CN
├── acoustic-model
│ ├── feat.params
│ ├── feature_transform
│ ├── mdef
│ ├── means
│ ├── mixture_weights
│ ├── noisedict
│ ├── transition_matrices
│ └── variances
├── language-model.lm.bin
├── pronounciation-dictionary.dict
└── README

找到pip 安装speech_recognition的路径下的pocketsphinx-data文件夹
我的路径是~/Envs/pydev/lib/python3.6/site-packages/speech_recognition/pocketsphinx-data,
找到后把zh-CN复制过来,和en-US同级

测试

把 tests.py 中修改为recoginze.sphinx(wavfilepath,language=“zh-CN”)
英译中就完成了(狗头)

speechrecognition相关推荐

  1. python 语音识别 windows_window下安装CMUSphinx实现语音识别(python+SpeechRecognition+PocketSphinx)...

    本文介绍使用的环境是: window server 2012 python 3.7(使用Anaconda的方式安装的) 网上介绍安装CMUSphinx基本上都是基于Linux系统的,基于Window系 ...

  2. 语音识别(一):speech-recognition的实验案例

    一.说明 Python的依赖库中有一些现成的语音识别软件包.其中包括: apiai google-cloud-speech pocketsphinx SpeechRcognition watson-d ...

  3. python音频转文字speech recognition_使用SpeechRecognition进行语音识别

    操作系统 : CentOS7.7.1908_x64 gcc版本 :4.8.5 Python 版本 : 3.6.8 安装语音识别环境: virtualenv -p /usr/bin/python3 py ...

  4. SpeechRecognition离线语音识别

    一.PocketSphinx  安装 1.RedHat/CentOS:yum install pulseaudio-libs-develUbuntu/Debian:apt install libpul ...

  5. python 语音识别 离线_语音识别离线语音识别,SpeechRecognition

    一.PocketSphinx  安装 1.RedHat/CentOS: yum install pulseaudio-libs-devel Ubuntu/Debian: apt install lib ...

  6. Python实现语音识别:SpeechRecognition

    最近在学习语音识别的一些基本知识,也在了解Python的语音识别功能依赖库.分享一下. 常用Python语音识别依赖库 Python的依赖库中有一些现成的语音识别软件包.其中包括: apiai goo ...

  7. Python语音识别基础实践-SpeechRecognition

    声明:参考B站视频,自学成长记录 https://www.bilibili.com/video/BV1Jk4y1R7a5?p=2 并参考博客:https://blog.csdn.net/Datapad ...

  8. python SpeechRecognition 怎么使用

    使用 python 的 SpeechRecognition 库来识别语音可以分为以下几步: 安装 SpeechRecognition 库:在终端或命令行中运行 pip install SpeechRe ...

  9. 痞子衡嵌入式:语音处理工具pzh-speech诞生记(5)- 语音识别实现(SpeechRecognition, PocketSphinx0.1.15)...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之语音识别实现. 语音识别是pzh-py-speech的核心功能,pzh-py-speech借 ...

  10. 【iOS10 SpeechRecognition】语音识别 现说现译的最佳实践

    首先想强调一下"语音识别"四个字字面意义上的需求:用户说话然后马上把用户说的话转成文字显示!,这才是开发者真正需要的功能. 做需求之前其实是先谷歌百度一下看有没有造好的轮子直接用, ...

最新文章

  1. 这个Spring循环依赖的坑,90%以上的人都不知道
  2. 构造函数,析构函数,对象连的简单应用
  3. Java 装饰器模式详解
  4. Thinkphp5中异常处理不返回页面返回Json格式的字符串
  5. python 下表溢出
  6. MyBatis 实践 -动态SQL/关联查询
  7. Vue2.0通过二级路由实现页面切换
  8. jdk 1.8 字符串+_JDK 9/10/11:Java字符串上+ =的副作用
  9. 三年前赚走马云665亿的外卖小哥,现在怎么样了?
  10. lua4.0中实现% 取余操作
  11. angularjs跨页面传参遇到的一些问题
  12. javascript电子书下载
  13. prometheus中step或resolution的含义
  14. [ECharts] DEPRECATED: ‘normal‘ hierarchy in itemStyle has been removed since 4.0. All style properti
  15. 系统组件:工具栏Toolbar
  16. 独家 | 零基础入门优化问题
  17. Win10系统电脑玩地平线4闪退解决方法教学
  18. EPICS教程3 -- 输入/输出控制器(IOC)的创建
  19. mysql数据库网课_中国大学MOOCMysql数据库系统网课答案
  20. 苹果输入法怎么换行_最全的输入法皮肤,你想要的百度输入法都有

热门文章

  1. 风声日期时间选择器的一些小小的使用心得
  2. xp系统启动时0x0000007B(0XF799A524,0XC0000034,0X00000000,0X00000000)错误
  3. 拯救win10系统,如何开机进入DOS等删除恶意软件
  4. 使用Pilon对基因组进行polish
  5. qq附近的人怎么引流?如何利用手机QQ附近功能引流
  6. vul/0day/shellcode/payload/poc/exp
  7. python 数据爬虫 爬取糗百
  8. CAJ阅读器相关问题
  9. 新股发行制度五年改革历程
  10. DRILLNET 2.0------第二十四章 井涌模拟分析模型