语音到文本的谷歌API:speechClient.recognize()给出空数组作为响应?

时间:2017-07-13 08:41:44

标签: javascript node.js google-cloud-platform speech-recognition text-to-speech

我想为.mp3文件生成文本,并使用google-cloud/speech模块在​​我的nodejs应用程序中执行此操作。我的代码运行正常,没有产生任何错误,我的mp3文件也没问题(我已经测试了多个.mp3文件)。但每次都会给出空数组的响应。

这是<{3}}的不是重复的问题,问题可能看起来相同但不同,因为谷歌会在API中进行更改。

有人可以建议我为什么会这样吗?

我的代码是:

// Imports the Google Cloud client library
const Speech = require('@google-cloud/speech');
process.env.GOOGLE_APPLICATION_CREDENTIALS = './speech-368abcdefghi.json'  

// Your Google Cloud Platform project ID
const projectId = 'engaged-talon-123456';

// Instantiates a client
const speechClient = Speech({
  projectId: projectId
});

// The name of the audio file to transcribe
const fileName = './5sec.mp3';

// The audio file's encoding, sample rate in hertz, and BCP-47 language code
const options = {
  encoding: 'LINEAR16',
  sampleRateHertz: 16000,
  languageCode: 'en-US'
};

// Detects speech in the audio file
speechClient.recognize(fileName, options)
  .then((results) => {
    console.log(results);
    // const transcription = results[0];
    // console.log(`Transcription: ${transcription}`);
  })
  .catch((err) => {
    console.error('ERROR:', err);
  });

结果:

['',{results:[]}]

0 个答案:

没有答案