Witam mam problem z konwertowanie mowy na tekst. Nie rozumiem na czym polega problem bo jak nie używałem klas to wszystko działało poprawnie.
import speech_recognition as sr
import pyttsx3 as tts
r = sr.Recognizer()
engine = tts.init()
engine.setProperty('rate', 125)
def mow(text):
engine.say(text)
engine.runAndWait()
def getText():
with sr.Microphone() as source:
try:
print("Słucham...")
audio = r.listen(source)
text = r.recognize_google(audio, language='pl-PL')
if text != "":
return text
return 0
except:
return 0
while True:
txt = getText()
if not txt == 0:
print(txt)
mow(txt)
break
else:
print("Nie udało się rozpoznać...")
continue
Ten program działał poprawnie wszytko dobrze było zamieniane na tekst. Natomiast po dodanie pliku main.py oraz przerzucenie tego kody do osobnej klasy, nie działa już odczytywanie mowy. Mianowicie mam komunikat że nasłuchuje ale wpada w pętlę nieskończoną.
import speechConversion as mSpeechConversion
if __name__ == '__main__':
mSpeechConversion.speechConversion()
import speech_recognition as sr
import pyttsx3 as tts
def mow(text):
print("test1")
engine.say(text)
engine.runAndWait()
def getText():
print("test2")
with sr.Microphone() as source:
try:
print("Słucham...")
audio = recognizer.listen(source)
text = recognizer.recognize_google(audio, language='pl-PL')
if text != "":
return text
return 0
except:
return 0
class speechConversion:
recognizer = sr.Recognizer()
engine = tts.init()
engine.setProperty('rate', 125)
while True:
txt = getText()
if not txt == 0:
print(txt)
mow(txt)
break
else:
print("Nie udało się rozpoznać...")
continue
Do tej pory pracowałem tylko z C++, wiec nie rozumiem czemu tutaj nie może z mikrofonu przekonwertować mowy na tekst. Próbowałem w main.py dodać import speech_recognition oraz pyttsx3 ale to też nic nie dało.