pyttsx3 не озвучивает

sm1le_rus

Новичок
Пользователь
Мар 10, 2022
2
0
1
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
 
Последнее редактирование модератором:

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
26
28
для начала вставьте код согласно правил, кнопка первая на форме
 

sm1le_rus

Новичок
Пользователь
Мар 10, 2022
2
0
1
для начала вставьте код согласно правил, кнопка первая на форме
Прошу прощение не знал
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
26
28
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Ошибка в том, что ты пытаешься соединить текст со списком: "текс текст текст текст" + voices
voices это список, надо привести его к строке
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
26
28
Что и? Он сразу исправил
не увидел, не знал, что это можно..........
 
  • Мне нравится
Реакции: Vershitel_sudeb

Форум IT Специалистов