Watson语音转文本:无效的凭据错误(代码:401)

时间:2019-03-19 11:44:45

标签: python-3.x speech-recognition ibm-watson speech-to-text

我正在尝试在以下Python程序中使用IBM Watson语音文本API /服务。

import json
import os
import sys
from watson_developer_cloud import SpeechToTextV1

def transcribe_audio(audio_file_name) :
    IBM_USERNAME = "yourusername"  

    IBM_PASSWORD = "yourpassword"
    #what changes should be made here instead of username and password

    stt = SpeechToTextV1(username=IBM_USERNAME, password=IBM_PASSWORD)
    audio_file = open(audio_file_name, "rb")        
    json_file = os.path.abspath("america")+".json"; 
    with open(json_file, 'w') as fp:
        result = stt.recognize(audio_file,timestamps=True,content_type='audio/wav', inactivity_timeout =-1,word_confidence = True)
        result.get_result()
        json.dump(result, fp, indent=2)
    script = "Script is : "
    for rows in result['results']:
        script += rows['alternatives'][0]['transcript']
    print(script)
transcribe_audio("america.wav")

此代码给了我标题中提到的身份验证错误,因为IBM将授权方法从用户名+密码更改为 apikey 最近。

有人可以告诉我对此进行哪些更改吗? 以及如何在IBM Watson语音上生成带有用户名和密码的文本的apikey?

我是语音识别的新手,请告诉我。预先感谢。

1 个答案:

答案 0 :(得分:0)

您需要的所有信息都在API文档中,包括如何获取API密钥-https://cloud.ibm.com/apidocs/speech-to-text?code=python