用python说话时将语音转换为文本

我制作了一个程序,它允许我说话并将其转换为文本。在我停止说话后,它会转换我的声音。我想要做的是在我说话时将我的声音转换为文本。


https://www.youtube.com/watch?v=96AO6L9qp2U&t=2s&ab_channel=StormHack在 2:31 分。


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


这是我的整个程序:


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")

解决方案、提示、提示或任何内容将不胜感激,在此先感谢您。


跃然一笑
浏览 253回答 2
2回答

鸿蒙传说

为了做到这一点,你必须做所谓的 VAD:语音音频检测,一个简单的方法是从音频中获取一组样本并获取它们的强度,如果它们高于某个阈值,那么你应该开始录制,一旦强度在给定的时间段内低于某个阈值,您就可以结束录制并将其发送给服务。您可以在此处找到一个示例。更复杂的系统使用更好的启发式方法来决定用户是否在说话,例如频率以及应用降噪等功能,其他系统也能够像 DeepSpeech 2 一样在用户说话时对文本执行实时语音。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python