Голосовой помощник, использующий PythonPython

Программы на Python
Ответить
Anonymous
 Голосовой помощник, использующий Python

Сообщение Anonymous »

Я пытаюсь создать приложение голосового помощника с помощью tkinter на Python, и у меня возникли две проблемы с моим кодом.

Фрагмент моего кода:

Код: Выделить всё

def listen_to_me():
msg2 = Message(root, text="Listening...", bg='yellow', font=('times', 14, 'italic'))
msg2.pack
msg2.place(x=200, y=220)

with sr.Microphone() as source:

audio = r.listen(source)

global query

query = r.recognize_google(audio, language='en-IN', show_all=True)
if query:
try:
(f"[Me]: {query}")
except:
engine.say("Sorry didn't quite catch that. Please repeat.")

return query

def reply():
while True:
global query

# Logic for executing tasks based on query
if 'wikipedia' in query:
speak('Searching Wikipedia...')
query = query.replace("wikipedia", "")
query = query.replace("search", "")
query = query.replace("for", "")
results = wikipedia.summary(query, sentences=1)
speak(f'According to Wikipedia, {results}')

elif 'open youtube' in query:
speak('Opening Youtube')
webbrowser.open("https://youtube.com")

elif 'open stack overflow' in query:
speak('Opening StackOverflow')
webbrowser.open("https://stackoverflow.com")

elif 'what' in query and 'time' in query:
strTime = datetime.datetime.now().strftime("%H:%M:%S")
speak(f"Sir, The time is {strTime}")

elif 'how are you' or 'what\'s up' in query:
speak('I am doing jolly good, sir.')
Проблема 1: Я получаю выходные данные, но они, кажется, застряли в цикле:

Код: Выделить всё

[MyAssistant]: Good evening! I am Jarvis. How may I help you today?
[MyAssistant]: I am doing jolly good, sir.
[MyAssistant]: I am doing jolly good, sir.
[MyAssistant]: I am doing jolly good, sir.
[MyAssistant]: I am doing jolly good, sir.
[MyAssistant]: I am doing jolly good, sir.
[MyAssistant]: I am doing jolly good, sir.
[MyAssistant]: I am doing jolly good, sir.
Проблема 2: Я хочу преобразовать свой запрос в нижний регистр. Я пробовал следующее:


query = query.lower()


Ошибка:

Код: Выделить всё

AttributeError: 'list' object has no attribute 'lower'
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/624 ... ing-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»