speechrecognition简介:
speechrecognition 包,集合了几个语音识别库的接口:
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 instaling PocketSphinx
recognize_wit():Wit.ai
speechrecognition.recognize_ibm():
通过服务凭证,访问IBM Cloud的Speech to Text的服务。
结论:
此路不通。应该是我水平不够,并没有走通此路。这三言两语也只是记录下这段经历。
模块安装(使用speechrecognition时需要pocketsphinx):
pip install pocketsphinx
pip install speechrecognition
代码:
import speech_recognition as sr #加载包
r = sr.Recognizer() with sr.WavFile("E://1.mp3") as source: #请把引号内改成你自己的音频文件路径
audio = r.record(source)
text = r.recognize_ibm(audio, username = IBM_USERNAME, password = IBM_PASSWORD, language = 'zh-CN')
print(text)
心路历程:
调用此接口失败的原因就在于IBM_USERNAME、IBM_PASSWORD。
现在创建的Speech to Text服务,它的使用凭证是api_key和url。
提出问题:recognize_ibm()是不是有一个参数可以用来传递api_key?
结果并没有。speech_recognition的版本是3.8.1,使用help命令获取帮助发现,依然在使用用户名和密码:
提出问题:会不会有一个方法可以将api_key转换成用户名和密码?
然而并没有。关于访问权限的部分官方文档:
IBM Cloud Identity and Access Management (IAM) is the primary method to authenticate to the API. However, with some older service instances you authenticate by providing a username and password for the service instance.
文档链接
对于一些较老的服务实例,通过为服务实例提供用户名和密码来进行身份验证。
可能现在创建的服务实例,是所谓的“新的”,所以没有用户名和密码。