Google cloud platform 谷歌云语音到文本长音频响应
我正在尝试将音频转换为文本,但得到的结果是Google cloud platform 谷歌云语音到文本长音频响应,google-cloud-platform,speech-recognition,speech-to-text,google-speech-api,google-cloud-speech,Google Cloud Platform,Speech Recognition,Speech To Text,Google Speech Api,Google Cloud Speech,我正在尝试将音频转换为文本,但得到的结果是 LongRunningRecognizeResponse { results: [] } 这是我的功能 const audio = { uri: `gs://${BUCKET}/${fileName}`, }; const request = { config: { encoding: 'LINEAR16', sampleRateHertz: 16000, languageCo
LongRunningRecognizeResponse { results: [] }
这是我的功能
const audio = {
uri: `gs://${BUCKET}/${fileName}`,
};
const request = {
config: {
encoding: 'LINEAR16',
sampleRateHertz: 16000,
languageCode: 'en-US',
},
audio: audio,
};
client.longRunningRecognize(request)
.then(responses => {
const [operation, initialApiResponse] = responses;
operation.on('complete', (result, metadata, finalApiResponse) => {
console.log('complete', result) // LongRunningRecognizeResponse { results: [] }
});
operation.on('progress', (metadata, apiResponse) => {
console.log('progress', apiResponse)
});
operation.on('error', err => {
throw (err);
});
})
问题在于请求中的论证存在错误的渠道。如果这种情况持续存在,并且您认为这是谷歌方面的问题,您可以打开一个报告,让工程师检查一下。你可以用这个作为一个例子。
const transcribeLong = async (url, channels) => {
const nameExtract = url.split('/');
const fileName = nameExtract[nameExtract.length - 1];
let localfile;
try {
localfile = await download(url);
fs.writeFileSync(fileName, localfile);
await storage.bucket(BUCKET).upload(fileName);
const audio = {
uri: `gs://${BUCKET}/${fileName}`,
};
const request = {
config: {
languageCode: `en-US`,
alternativeLanguageCodes: [`es-MX`, `en-US`],
encoding: 'LINEAR16',
sampleRateHertz: 8000,
audioChannelCount: channels || 2, //changed from 2
enableSeparateRecognitionPerChannel: true,
},
audio,
};
const [operation] = await client.longRunningRecognize(request);
const [response] = await operation.promise();
return response
} catch (error) {
console.error(error.toString());
}
};