对于 .opus 音频文件,google 的语音到文本配置是什么样的

What does the google's speech-to-text configuration looks like for an .opus audio file

我正在将 .opus 音频文件传递给 google 的语音转文本 api 进行转录。我正在使用以下配置:

我收到以下错误:

google.api_core.exceptions.GoogleAPICallError: None Unable to recognize speech, possible error in encoding or channel config. Please correct the config and retry the request.

我尝试了其他编码,如 FLAC 和 LINEAR16,并得到 None 作为输出。

opus 音频文件是否需要额外的配置字段,配置文件应该是什么样的?

在阅读了 google 提供的文档并尝试了几次之后,我找到了解决我遇到的错误的方法。 OGG_OPUS 编码需要 audio_channel_count 的显式配置定义。在我的例子中,音频通道是 2,我需要明确定义它。 此外,如果 multi-channels,enable_separate_recognition_per_channel 需要设置为 True。

对我有用的配置是:

encoding = enums.RecognitionConfig.AudioEncoding.OGG_OPUS
config = {
        "audio_channel_count": audio_channel_count,
        "enable_separate_recognition_per_channel": enable_separate_recognition_per_channel,
        "language_code": language_code,
        "sample_rate_hertz": sample_rate_hertz,
        "encoding": encoding
    }

为配置文件中的每个参数使用正确的值非常重要。