当我在Python中使用语音识别时,我可以控制开始和结束时间吗? [英] Can I control the start & finish time when I use speech-recognition in python?

查看:26
本文介绍了当我在Python中使用语音识别时,我可以控制开始和结束时间吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我进行了如下编码。不过,我想知道有没有办法控制录制时长。事实上,我想有一个程序,其中有一个开始和完成按钮,这样我就可以控制录制。我知道这是一个基本的问题。但我真的需要解决这个问题。帮帮我~我应该如何补偿这个问题?

import speech_recognition as sr

r = sr.Recognizer()
mic = sr.Microphone()

show = input("enter text: ")

print("Read texta")

with mic as source:
    audio = r.listen(source)

print("recordeda")
print('Result: ', r.recognize_google(audio, language='ko-KR'))

推荐答案

根据recognizer_instance.listen文档,它是一个阻塞调用(即程序在完成之前不会继续),停止录制的唯一方法是不说话recognizer_instance.pause_threshold(0.8s by default)。

要在录制处于活动状态时执行任何其他操作,您需要使用recognizer_instance.listen_in_background。它仍然使用相同的信号识别逻辑,但会一直循环记录短语,直到您告诉它停止。这意味着信号识别逻辑被认为对于所有实际目的都足够可靠。如果在您的情况下失败,您可能需要调整首字母energy_threshold

FWIW,您可以手动录制with raw pyaudio,然后使用生成的文件或原始数据构建AudioData

这篇关于当我在Python中使用语音识别时,我可以控制开始和结束时间吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆