2020-02-19 语音识别:speechrecognition的recognize_ibm

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命令获取帮助发现,依然在使用用户名和密码:


image.png

提出问题:会不会有一个方法可以将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.
文档链接

对于一些较老的服务实例,通过为服务实例提供用户名和密码来进行身份验证。
可能现在创建的服务实例,是所谓的“新的”,所以没有用户名和密码。

你可能感兴趣的:(2020-02-19 语音识别:speechrecognition的recognize_ibm)