Google SpeechToText API:OGG Opus 音频流没有响应文本

eli*_*0tt 6 javascript ogg opus google-speech-api google-cloud-speech

我正在使用SpeechToText API从现场麦克风录音中获取语音转录。这适用于简单的 LINEAR16 编码,但我需要减少带宽,因此我切换到 OGG Opus 编码。
使用这个库在 OGG Opus 客户端中记录和编码音频。
然后,它使用 websocket 发送到后端应用程序。
最后,后端应用程序以流模式请求 STT API,该模式保持静默(没有错误,但输出中也没有文本)。

这些是编码选项:

var options = {
    monitorGain: 0,
    recordingGain: 1,
    numberOfChannels: 1,
    encoderSampleRate: 16000,
    encoderPath: "./javascript/ogg_opus/encoderWorker.min.js",
    originalSampleRateOverride: 16000,
    streamPages: true,
    encoderApplication: 2048
};
Run Code Online (Sandbox Code Playgroud)

这是发送到 API 的配置:

{
   encoding: 'OGG_OPUS',
   language: 'fr',
   rate: 16000
}
Run Code Online (Sandbox Code Playgroud)

这是将音频发送到 websocket 的方式:

recorder.ondataavailable = function(typedArray){
    var dataBlob = new Blob([typedArray], { type: 'audio/ogg' });
    websocket.emit('audio_data', dataBlob);
};
Run Code Online (Sandbox Code Playgroud)

后端部分是用 Python 开发的,遵循这个例子

您知道使 API 工作所需的 OGG Opus 配置吗?