0

我的问题

我正在使用Uberi 的 python 语音识别库来将 .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 运行我的代码来检查它。

4

1 回答 1

1

错误请求响应状态码

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

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

于 2021-03-07T16:49:06.773 回答