【问题标题】:Speech Recognition (Python): How to resolve the "RequestError: Bad Request"?语音识别(Python):如何解决“RequestError:错误请求”?
【发布时间】:2021-03-06 15:42:24
【问题描述】:

我的问题

我正在使用 python speech recognition library by Uberi 将.wav 音频文件转录为纯文本。但是,当我使用 Google Speech Recognition 运行我的代码时,我收到了 RequestError。
对于这个(特定的)错误,我在语音识别 GitHub 上找到了 Opened Issue,但没有任何答案。

我该如何解决这个问题?我知道我可以尝试使用不同的引擎来代替 Google;但是看起来他们都需要密钥,我希望在没有密钥的情况下转录我的文件。

我的代码

import speech_recognition as sr

clip = "MyFile.wav"

#Initialize recognizer class (for recognizing the speech)
r = sr.Recognizer()

# Reading Audio file as source
# listening the audio file and store in audio_text variable

with sr.AudioFile(clip) as source:
    audio_text = r.record(source)

text = r.recognize_google(audio_text)
print(text)

错误

speech_recognition.RequestError: recognition request failed: Bad Request

一个想法

一个可能的原因可能是我的 .wav 的大小(~ 1 GB)。稍后我将尝试使用一个小的 .wav 运行我的代码来检查。

【问题讨论】:

    标签: python speech-recognition urllib google-speech-api google-speech-to-text-api


    【解决方案1】:

    Bad Request 响应状态码

    超文本传输​​协议 (HTTP) 400 Bad Request 响应状态代码表示服务器不能或不会处理请求,因为某些原因被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧、或欺骗性的请求路由)。

    所以这基本上意味着这不是 Google 的错,也不是您的 Uberi 图书馆的错。它在你的尽头。你说你的 .wav 文件太大了,这正是我的想法。这些系统本质上是获取音频文件并将其分解,然后识别为文本。作为客户,您发送的文件太大。这些系统也可能在导致错误 400 的某个时间点超时,因为这是通过互联网完成的,而不是离线处理。您拥有的程序编写得非常完美,应该使用稍微小一点的文件。

    【讨论】:

      猜你喜欢
      • 2020-10-24
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多