使用python和IBM speech to text 进行 语音识别

wav 转 text ,感觉 还是IBM 的 speech to text 比较靠得住。

比百度的语音识别API好上太多。

https://speech-to-text-demo.mybluemix.net/

--------------------------------------------------------------------

注册拿到 帐号密码后, 

有一个包比较 方便 调用

是SpeechRecogntion

https://pypi.python.org/pypi/SpeechRecognition/

pip install 或者 按照说明 安装就行了

---------------------------------------------------------------------

SpeechRecognition包含多个网站的API 

然而Google的并不能用,AT&T的没试过。

--------------------------------------------------------------------

在debian 上测试的时候有个问题,需要 管理 员权限 。

可能是内部有过wav  2 flac 然后把临时文件 保存在dist-package下了,

--------------------------------------------------------------------

SpeechRecognition有示例代码wav_transcribe.py;

如果用于识别中文,需要在speechrecognition/__init__.py中,

修改recognize_ibm函数的482行

assert language in ["en-US", "es-ES", "ja-JP"], "`language` must be a valid language."
增加"zh-CN"项,

assert language in ["en-US", "es-ES", "ja-JP", "zh-CN"], "`language` must be a valid language."

---------------------------------------------------------------------

SpeechRecognition的用法 如下

import speech_recognition as sr

读wav文件

r = sr.Recognizer()
with sr.WavFile(path) as source:
    audio = r.record(source)
然后可以调用 recognize_ibm 返回识别结果,是utf8格式的,一般写起来 会有些问题

IBM_USERNAME = 'XXXXXXXX'
IBM_PASSWORD= 'XXXXXXXX'

text = r.recognize_ibm(audio, username = IBM_USERNAME, password = IBM_PASSWORD, language = 'zh-CN')


text 就是识别结果,可能会有编码问题之类的。




你可能感兴趣的:(程序模块,编程语言)