google cloud speech-to-text(mp3 to text)

时间:2017-12-15 06:31:03

标签: google-cloud-speech

我正在使用google cloud speech-to-text试用帐户服务。我无法从音频文件中获取文本。我不知道具体的编码和采样率Hertz我应该用于比特率128kbps的mp3文件。我尝试了各种选择,但我没有得到转录。

const speech = require('@google-cloud/speech');

const config = { encoding: 'LINEAR16', //AMR, AMR_WB, LINEAR16(for wav) sampleRateHertz: 16000, //16000 giving blank result. languageCode: 'en-US' };

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并通过将其转换为FLAC得以解决。

尝试将音频转换为FLAC并使用

encoding: 'FLAC',

要进行转换,可以使用sox 参考:https://www.npmjs.com/package/sox

答案 1 :(得分:0)

根据官方文档(https://cloud.google.com/speech-to-text/docs/encoding

仅支持以下格式:

  • FLAC
  • LINEAR16
  • MULAW
  • AMR
  • AMR_WB
  • OGG_OPUS
  • SPEEX_WITH_HEADER_BYTE

其他任何东西都将被拒绝。

您最好的选择是将MP3文件转换为以下两种格式:

老实说,与Amazon,IBM和Microsoft相比,Google从一开始就不支持MP3,这很烦人,因为FLAC和LINEAR16无损,因此它迫使我们跳了圈,还增加了带宽使用率,因此很多更大。

答案 2 :(得分:0)

现在Beta中支持MP3:

  

MP3 (仅Beta版)。有关详细信息,请参见RecognitionConfig参考。

  

MP3 MP3音频。支持所有标准MP3比特率(范围为32-320 kbps)。使用此编码时,如果未知,可以选择不设置sampleRateHertz。

您可以使用多种工具(例如iTunes)找出采样率。 CD品质的音频使用44100赫兹的采样率。在此处阅读更多信息:

要在Google SDK中使用此功能,您可能需要使用其中一个定义该功能的Beta SDK。这是Go Beta SDK中的常量:

RecognitionConfig_MP3 RecognitionConfig_AudioEncoding = 8