我正在使用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'
};
答案 0 :(得分:1)
我遇到了同样的问题,并通过将其转换为FLAC得以解决。
尝试将音频转换为FLAC并使用
encoding: 'FLAC',
要进行转换,可以使用sox 参考:https://www.npmjs.com/package/sox
答案 1 :(得分:0)
根据官方文档(https://cloud.google.com/speech-to-text/docs/encoding)
仅支持以下格式:
其他任何东西都将被拒绝。
您最好的选择是将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