Как программа python может распознавать букву за буквой вместо слов, используя распознавание речи? - PullRequest
0 голосов
/ 01 мая 2020

Я пишу 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()
...