-
Notifications
You must be signed in to change notification settings - Fork 0
/
main_manual_input.py
75 lines (55 loc) · 1.84 KB
/
main_manual_input.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import PySimpleGUI as sg
import pyttsx3, sys, serial, pygame
"""
I CODED THIS JUST FOR MANUAL INPUT.
Di na kailangan ng speech recognition. Just type in the words and marerecognize na ito ng script
"""
board = serial.Serial('COM4', 115200)
layout = [
[sg.Input(key='INPUT')]
]
window = sg.Window('This is a fokin virus', layout, return_keyboard_events=True, finalize=True)
window['INPUT'].bind("<Return>", "_Enter")
def SpeakText(word): # This function handles the speaking of the text
engine = pyttsx3.init()
engine.say(word)
engine.runAndWait()
def DetectWords(word): # This function handles the detection of the words/command
if 'open' in word:
board.write(b'1')
SpeakText("Opening")
elif 'close' in word:
board.write(b'0')
SpeakText("Closing")
elif 'restart' in word:
board.write(b'2')
SpeakText('Restarting')
elif 'bye' in word:
SpeakText('Turning off')
board.write(b'0')
sys.exit()
elif 'quiet' in word:
SpeakText("No, you shut up")
pygame.mixer.init()
path = 'D:\\Documents\\Trash-bin-Project\\Sounds\\Pekora.wav'
pekora = pygame.mixer.Sound(path)
pekora.play()
pygame.time.wait(int(pekora.get_length() * 1000))
else:
SpeakText(f'{word} is not a command')
def window_main():
while True:
event, values = window.read()
var = values['INPUT']
if event == sg.WIN_CLOSED:
board.write(b'0')
print('closing')
break
if event == 'INPUT_Enter':
DetectWords(var)
window['INPUT']('')
print('closing')
window.close()
board.write(b'0')
if __name__ == '__main__':
window_main()