Python:
import speech_recognition as sr
import os
import sys
import webbrowser
import pyttsx3
engine = pyttsx3.init()
def talk(words):
os.system("echo " + words)
speak_engine = pyttsx3.init()
voices = speak_engine.getProperty('voices')
speak_engine.setProperty('voice', voices[0].id)
#Запись речи
def command():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Слушаю")
r.pause_threshold = 1
r.adjust_for_ambient_noise(source, duration=1)
audio = r.listen(source)
#Распознование речи
try:
eng = r.recognize_google(audio, language="ru-RU").lower()
print("вы сказали: " + eng)
except sr.UnknownValueError:
talk("не понятно что сказано")
eng = command()
#Если нет интернета
except speech_recognition.RequestError:
print("проверь подключение к интернету")
#Возращает к записи речи если не распознали речь
return eng
#Вывод текста по запросу
def makeSomething(eng):
if 'текс' in eng:
talk("текс текст текст текст" + voices)
#Закрытие програмы
elif 'стоп' in eng:
talk("Закрываюсь")
sys.exit()
#Просто бесконечный цикл)
while True:
makeSomething(command())
После голосового запроса "текс" выдаёт ошибку:
Код:
Traceback (most recent call last):
File "D:\python\test1.py", line 52, in <module>
makeSomething(command())
File "D:\python\test1.py", line 44, in makeSomething
talk("текс текст текст текст" + voices)
TypeError: can only concatenate str (not "list") to str
Последнее редактирование модератором: