0

我正在使用下面的 Node.js 脚本片段,

'use strict';
var google_speech = require('google-speech');
google_speech.ASR({
    debug: true,
    lang: 'en_US',
    developer_key: '<Google API Key>',
    file: '<voice file name with path>',
  }, function(err, httpResponse, xml){   
    if(err){
        console.log(err);
      }else{
        console.log(httpResponse.statusCode, xml)
      }
    }
);

我从一些音频文件中得到的输出,但不是全部。即使例如一个flac文件正在提供输出,但另一个flac文件没有。

此 API 是否需要任何特定类型的文件才能提供输出。如果是,请告诉我文件的具体类型/格式。

4

1 回答 1

0

如果您正在使用这个 google-speech Node 库,它似乎已将content-type标头硬编码到源代码中的audio/l16; rate=16000 此处

看起来这可以作为您的第一个参数中的一个选项被覆盖,因此,例如,如果您使用的是 44.1khz flac 文件,则以下可能有效

'use strict';
var google_speech = require('google-speech');
google_speech.ASR({
    debug: true,
    lang: 'en_US',
    developer_key: '<Google API Key>',
    file: '<voice file name with path>',
    'content-type': 'audio/x-flac; rate=44100' // ← override it here
  }, function(err, httpResponse, xml){   
    if(err){
        console.log(err);
      }else{
        console.log(httpResponse.statusCode, xml)
      }
    }
);

话虽这么说(这不是你问的),谷歌最近似乎更新了他们的官方Cloud Speech API,你可能也会觉得它有用。他们在这里有一个 nodejs 教程,以及更多关于这里支持的文件格式的详细信息。

于 2016-07-22T20:46:23.260 回答