我试图创建一个即时打字员。我说完之后应该输入我的意思。我正在尝试将录制速度设置为变量,以便您可以输入以秒为单位的数字来表示录制时间。我需要同时使用英语和阿拉伯语。
import time
import speech_recognition as sr
from pynput.keyboard import Key, Controller
keyboard = Controller()
r = sr.Recognizer()
mic = sr.Microphone()
lang = input('Choose a Language: \na. Arabic \nb. English \nAnswer: ')
if lang == 'a' or lang == 'Arabic' or lang == 'arabic' or lang == 'A':
with mic as source:
print('Say Something')
audio = r.listen(source)
r.recognize_google(audio, language='ar-EG')
print('That is enough')
print('Text: ' + r.recognize_google(audio, language='ar-EG'))
time.sleep(1)
print('Ready!')
time.sleep(1)
print('Go!')
keyboard.type(r.recognize_google(audio, language='ar-EG'))
if lang == 'b' or lang == 'English' or lang == 'english' or lang == 'B':
with mic as source:
print('Say Something')
audio = r.listen(source)
r.recognize_google(audio)
print('That is enough')
print('Text: ' + r.recognize_google(audio))
time.sleep(1)
print('Ready!')
time.sleep(1)
print('Go!')
keyboard.type(r.recognize_google(audio))
最佳答案
您需要将streaming speech recognition与Google API结合使用,
不是残破的语音识别包
也有支持流媒体的开源库,但我在这里不提;)
关于python-3.x - 有什么方法可以自定义PyAudio上的录制时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61918712/