Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm cloud Watson语音到文本无法对数据流音频/wav进行转码_Ibm Cloud_Speech To Text_Ibm Watson - Fatal编程技术网

Ibm cloud Watson语音到文本无法对数据流音频/wav进行转码

Ibm cloud Watson语音到文本无法对数据流音频/wav进行转码,ibm-cloud,speech-to-text,ibm-watson,Ibm Cloud,Speech To Text,Ibm Watson,我正在使用IBM Watson语音到文本API: var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1'); var fs = require('fs'); var request = require('request'); var speech_to_text = new SpeechToTextV1({ "username": "<user name>", "password": "

我正在使用IBM Watson语音到文本API:

var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
var fs = require('fs');
var request = require('request');

var speech_to_text = new SpeechToTextV1({
  "username": "<user name>",
  "password": "<password>"
});

var recognizeStream = speech_to_text.createRecognizeStream();

// request(wavfileURL).pipe(recognizeStream);
// recognizeStream.on('results', function(err, res){
//     console.dir(err)
//     console.dir(res)
//     if (res.results){
//         console.dir(res.results)
//     }
//
// });
request.get(wavfileURL, function (err, res, buffer) {
  var streamer = require('streamifier');
  var params = {
    // From file
    audio: streamer.createReadStream(buffer) ,
    content_type: 'audio/wav; rate=44100'
  };

  speech_to_text.recognize(params, function(err, res) {
    debugger;
    if (err)
      console.log("ERR:",err);
    else {
      console.log("NOT ERR");
      console.log(JSON.stringify(res, null, 2));
      console.dir(res);
    }
  });
});
内容类型采样率似乎正确:


有什么想法吗?

这是因为watson认为您试图上传的音频文件不是音频文件,所以为了保护自己不受共享文件的影响,它引发了异常

官方解释:


损坏的文件:(下载前扫描)

@german正在检查编辑。。。只是几个空间而已。。。还是我遗漏了什么?代码缩进在api文档中大部分都说,不活动超时可能导致错误400。“如果未检测到音频非活动超时秒数(非处理时间)的语音,服务器也会关闭连接(响应代码400);请使用非活动超时参数更改默认值30秒。”关于您的问题@aginsburg,我会试着看看是否可以让它工作,但我99%确定它与s3返回的
内容类型
内容长度
有关。我打赌你可以将文件保存在临时文件夹中,然后将其发送到speech to text。在这种情况下,您需要确保可以覆盖要发送到STT的头,并且它们符合API的预期。我遇到了Twilio的音频录制问题,您解决了这个问题吗?
> ERR: { [Error: unable to transcode data stream audio/wav ->
> audio/x-float-array ] I20170411-18:23:40.576(10)?   code: 400,
> I20170411-18:23:40.576(10)?   code_description: 'Bad Request',
> I20170411-18:23:40.577(10)?   error: 'unable to transcode data stream
> audio/wav -> audio/x-float-array ' }