我在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是否需要任何特定类型的文件来提供输出。如果是,请告诉我文件的具体类型/格式。
答案 0 :(得分:0)
如果您使用的是this google-speech节点库,则会在源代码中将content-type
标题硬编码为audio/l16; rate=16000
here。
看起来这可以作为第一个参数中的选项被覆盖,因此,例如,如果您使用的是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教程here,以及更广泛的详细信息about the file formats supported here。