Google Speech-to-text API,InvalidArgument:400 必须使用单通道(单声道)

Jos*_*tiz 12 python google-cloud-speech

InvalidArgument: 400在 google Speech-to-text 中不断收到此错误,问题似乎是我使用的是 2 声道音频(立体声),而 API 正在等待(单声道)中的 wav。

如果我在音频编辑器中转换文件它可能会工作,但我不能使用音频编辑器来转换一批文件。有没有办法在 Python 或 Google Cloud 中更改音频类型。

注意:我已经尝试过“wave 模块”,但我一直收到错误 #7 无法识别的文件类型(我无法从 Python 中读取带有模块 wave 的 wav 文件)

-ERROR- InvalidArgument: 400 必须使用单声道(单声道)音频,但 WAV 标头指示 2 个声道。

Lun*_*ast 16

假设您正在使用google-cloud-speech库,您可以使用您的audio_channel_count属性RecognitionConfig并指定输入音频数据中的通道数(默认为一个通道(单声道))。你可以这样做:

from google.cloud import speech

client = speech.SpeechClient()
results = client.recognize(
    audio = speech.types.RecognitionAudio(
        uri = 'gs://your-bucket/recording.wav',
    ),
    config = speech.types.RecognitionConfig(
        encoding = 'LINEAR16',
        language_code = 'en-US',
        sample_rate_hertz = 44100,
        audio_channel_count = 2,
    ),
)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅API 文档

  • 我已经尝试过了,但出现此错误。“InvalidArgument:400 无效识别‘config’:错误的通道计数。” (2认同)