版权声明:本文为博主原创文章,未经博主允许不得转载。
wav 转 text ,感觉 还是IBM 的 speech to text 比较靠得住。
比百度的语音识别API好上太多。
[html] view plain copy https://speech-to-text-demo.mybluemix.net/ --------------------------------------------------------------------
注册拿到 帐号密码后,
有一个包比较 方便 调用
是SpeechRecogntion
[html] view plain copy 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行
[python] view plain copy assert language in ["en-US", "es-ES", "ja-JP"], "`language` must be a valid language." 增加"zh-CN"项,
[python] view plain copy assert language in ["en-US", "es-ES", "ja-JP", "zh-CN"], "`language` must be a valid language." ---------------------------------------------------------------------
SpeechRecognition的用法 如下
[python] view plain copy import speech_recognition as sr
读wav文件
[python] view plain copy r = sr.Recognizer() with sr.WavFile(path) as source: audio = r.record(source) 然后可以调用 recognize_ibm 返回识别结果,是utf8格式的,一般写起来 会有些问题
[python] view plain copy IBM_USERNAME = 'XXXXXXXX' IBM_PASSWORD= 'XXXXXXXX' text = r.recognize_ibm(audio, username = IBM_USERNAME, password = IBM_PASSWORD, language = 'zh-CN')
text 就是识别结果,可能会有编码问题之类的。