IBM Watson语音到文本认证凭证

时间:2018-09-16 19:59:38

标签: ibm-cloud credentials ibm-watson speech-to-text

我正在尝试为我的TJBot运行语音转文本示例配方。样本config.js文件需要IBM的用户名和密码来验证服务。但是,IBM似乎正在迁移到基于API密钥的身份验证系统,并且不提供任何用户名/密码对。如何连接到服务?

3 个答案:

答案 0 :(得分:0)

似乎您将此config.js引用为此TJBot recipe的一部分。实际上,包括Watson服务在内的所有IBM Cloud服务都已转向基于IAM的身份验证。 Node.js API for Speech-to-Text on authentication除了用户名/密码之外,还提供了这种身份验证方式:

var speechToText = new SpeechToTextV1({
    iam_apikey: '{iam_api_key}',
    url: '{url}'
  });

基于config.js和该API的布局,config.js中的TTS部分应如下所示:

// Watson Speech to Text
// https://www.ibm.com/watson/services/speech-to-text/
exports.credentials.speech_to_text = {
    iam_apikey: 'YOUR-API-KEY',
    url: 'URL-FOR-SERVICE'
};

答案 1 :(得分:0)

STT配方现在可以使用。感谢data_henrik指出所需的config.js编辑。除了编辑配置文件外,我还在第381行中编辑了 node_modules / tjbot / lib / tjbot.js ,并注释了以下块:

//assert(credentials.hasOwnProperty('username'), "credentials for the " + service + " service missing 'username'");
//assert(credentials.hasOwnProperty('password'), "credentials for the " + service + " service missing 'password'");
    //var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
         //this._stt = new SpeechToTextV1({
         //  username: credentials['username'],
         // password: credentials['password'
         // url: 'https://stream.watsonplatform.net/speech-to-text/api/',
         // version: 'v1'
         // });
         // break;`

并替换为:

var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
     this._stt = new SpeechToTextV1({
     iam_apikey: credentials['iam_apikey'],
     url: 'https://gateway-syd.watsonplatform.net/speech-to-text/api',
     version: 'v1'
});
break;`

答案 2 :(得分:0)

@data_henrik您的解决方案可能会起作用。但是更好的解决方案是直接按如下方式编辑config.js(注意,键盘输入是apikey而不是iam_apikey):

double a1 = 1;
double a0 = 0;
double* A = stackalloc double[5] { a1, a0, a0, a0, a1 }; // output 1 0 0 0 1