在python中交谈时将语音转换为文本

Wee*_*aa 6 python text-to-speech voice-recording voice-recognition python-3.x

我制作了一个程序,可以让我说出来并将其转换为文本。我停止讲话后,它会转换我的声音。我想做的是在讲话时将语音转换为文本。

https://www.youtube.com/watch?v=96AO6L9qp2U&t=2s&ab_channel=StormHack的播放时间为2:31。

注意Tony显示器的右上角。它可以在通话时将他的声音转换为文本。我想做同样的事情。能做到吗

这是我的整个程序:

import speech_recognition as sr 
import pyaudio


r = sr.Recognizer()
with sr.Microphone() as source:
    print("Listening...")
    audio = r.listen(source)
    try:
        text = r.recognize_google(audio)
        print("You said : {}".format(text))
    except:
        print("Sorry could not recognize what you said")
Run Code Online (Sandbox Code Playgroud)

解决方案,提示,提示或其他任何东西,将不胜感激,在此先感谢您。

fai*_*loo 1

为了做到这一点,你必须执行所谓的 VAD:语音音频检测,一种简单的方法是从音频中获取一组样本并获取它们的强度,如果它们高于某个阈值,那么你应该开始录制,一旦强度在给定时间内低于某个阈值,您就会结束录制并将其发送到服务。您可以在此处找到相关示例。

更复杂的系统使用更好的启发式方法来决定用户是否在说话,例如频率以及应用降噪等功能,其他系统也能够在用户说话时将实时语音转换为文本,例如 DeepSpeech 2。