【问题标题】:Speech Recognition duration setting issue in pythonpython中的语音识别持续时间设置问题
【发布时间】:2020-04-30 15:38:44
【问题描述】:

我有一个 Wav 格式的音频文件要转录:

我的代码是:

import speech_recognition as sr
harvard = sr.AudioFile('speech_file.wav')
with harvard as source:
    try:
        audio = r.listen(source)
        #print("Done")
    except sr.UnknownValueError:
        exec()

r.recognize_google(audio)

我确实收到了输出:

Out[20]: 'thank you for calling my name is Denise who I have a pleasure speaking with hi my name is Mary Jane. Good afternoon Mary Jane I do have your account open with your email'

但是,在此之后还有很多话要说。我认为它只捕获了语音的这一部分,因为在音频文件中说出“电子邮件”一词后会有短暂的停顿。我尝试设置持续时间,但收到错误消息:

import speech_recognition as sr
harvard = sr.AudioFile('speech_file.wav')
with harvard as source:
    try:
        audio = r.listen(source,duration = 200)
        #print("Done")
    except sr.UnknownValueError:
        exec()


r.recognize_google(audio)
Traceback (most recent call last):

  File "<ipython-input-24-30fb65edc627>", line 5, in <module>
    audio = r.listen(source,duration = 200)

TypeError: listen() got an unexpected keyword argument 'duration'

我该怎么做才能让我的代码转录整个音频文件并且在出现停顿时不会停止打印文本?

【问题讨论】:

  • 您收到错误消息,因为监听函数没有名为持续时间的参数。详情见源码:github.com/Uberi/speech_recognition/blob/master/…
  • 是的,我知道,但解决方案是什么?我希望它转录整个 wav 文件
  • 如果您不提供文件,我无法重现错误,因此:什么都没有。
  • @NikolasRieble 我如何在这里上传文件?

标签: python nlp speech-recognition pyaudio


【解决方案1】:

您可以像这样使用timeout 而不是duration

audio = r.listen(source, timeout=2)

这意味着模型将等待最多两秒让一个短语开始,然后放弃并抛出speech_recognition.WaitTimeoutError 异常。如果timeout=None,就不用等待了。

编辑

recognize_google() 所做的所有功能就是调用 google Speech API 并返回结果。当我使用提供的音频文件时,我得到了前 30 秒的转录。这是由于免费版Google语音API的限制,与代码无关。

【讨论】:

  • 这产生与以前相同的输出
  • 你说两句话之间有停顿……是长停顿还是短停顿?
  • 它是在“email”之后的一个短的,但在整个音频中可能还有其他短的或长的。我只想让我的脚本转录整个音频文件
  • 能否上传文件并提供下载链接?
  • 如何上传文件? @Anwarvic
【解决方案2】:

r.listen(source) 将捕获第一个可识别的短语。要从音频文件中提取每个短语,请使用 r.record(source)

来源:https://pypi.org/project/SpeechRecognition/2.1.3/

【讨论】:

  • 使用反引号`r.listen(source)`来格式化内联代码。例如r.listen(source)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多