Я пишу Python программу для слепых, которая поможет им писать и читать электронные письма.
Они могут написать электронное письмо и прослушать сообщения, которые они еще не прочитали как речь (gTTS ).
Если пользователь решает написать электронное письмо, он должен произносить адрес электронной почты получателя голосом, а не словами или фразами, чтобы избежать ошибок.
Например, с помощью " xyz@gmail.com ", я хочу, чтобы программа слушала одну букву / символ за раз, что означает:" x "," y "," z "," @ "," g "," m "," a " , "i", "l", ".", "c", "o", "m", чтобы он мог сложить их вместе, чтобы изменить адрес электронной почты.
Когда я пытаюсь произнести a буква распознает слово.
Как заставить его распознавать букву вместо слова?
Вот код:
import audioop
import pyaudio
import wave
from gtts import gTTS
import speech_recognition as sr
import os
import email, smtplib, ssl
r = sr.Recognizer()
r.energy_threshold=4000
def say(text):
mytext = text
language = 'en'
myobj = gTTS(text=mytext, lang=language, slow=False)
myobj.save("text_to_audio.mp3")
os.system("afplay 'text_to_audio.mp3'")
def listen_to_user():
with sr.Microphone() as source:
audio2=r.listen(source, timeout=0)
return(str(r.recognize_google(audio2,language ="en-US",
show_all=False)))
say("you chose to write an email")
say("What's the receiver's email address?")
receiver_email_address=listen_to_user()
print(receiver_email_address)
say(receiver_email_address)
say("is this correct?")
answer=listen_to_user()