最近一直在做一个语音识别的项目,查阅了很多资料,大多数是通过python实现的。但是当自己按照文章一步步操作的时候总是会出现一些问题。
选择python的语音包
PyPI中有一些现成的语音识别软件包。其中包括:
•apiai
•google-cloud-speech
•pocketsphinx
•SpeechRcognition
•watson-developer-cloud
•wit
一些软件包(如 wit 和 apiai )提供了一些超出基本语音识别的内置功能,如识别讲话者意图的自然语言处理功能。其他软件包,如谷歌云语音,则专注于语音向文本的转换。
其中,SpeechRecognition 就因便于使用脱颖而出。
识别语音需要输入音频,而在 SpeechRecognition 中检索音频输入是非常简单的,它无需构建访问麦克风和从头开始处理音频文件的脚本,只需几分钟即可自动完成检索并运行。
但是通过命令:pip3 install SpeechRecognition
安装相关的语音包时出现了连接超时的问题。解决方法(另一篇文章有介绍。)
识别器类
SpeechRecognition 的核心就是识别器类。
Recognizer API 主要目是识别语音,每个 API 都有多种设置和功能来识别音频源的语音,分别是:
recognize_bing(): Microsoft Bing Speech
recognize_google(): Google Web Speech API
recognize_google_cloud(): Google Cloud Speech - requires installation of the google-cloud-speech package
recognize_houndify(): Houndify by SoundHound
recognize_ibm(): IBM Speech to Text
recognize_sphinx(): CMU Sphinx - requires installingPocketSphinx
recognize_wit(): Wit.ai
以上七个中只有 recognition_sphinx()可与CMU Sphinx 引擎脱机工作, 其他六个都需要连接互联网。
因此我选择了用 recognition_sphinx()来进行语音识别。
当使用pip3 install PocketSphinx
进行下载相关库时出现了以下问题:
查阅了好多的资料,但是安装依旧失败!!!
在使用pip3 install PocketSphinx
该命令前应该使用sudo apt install python-pocketsphinx
。然后再使用pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple PocketSphinx
该命令应该就可以安装成功了。如果依旧不能成功则可以使用命令sudo apt-get install python python-all-dev python-pip build-essential swig git libpulse-dev libasound2-dev
。一般出现这种问题都是缺少相关的依赖!
希望对大家有帮助