-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
87 lines (70 loc) · 2.56 KB
/
main.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
76
77
78
79
80
81
82
83
84
85
86
87
# חבילת Python התומכת במנועי ההמרה הטקסט לדיבור הנפוצים
import pyttsx3
# להבנת דיבור
import speech_recognition as sr
# לאחזור את התשובות
# לשאילתות חישוביות
import wolframalpha
# לאחזור ערכים מוויקיפדיה
import wikipedia
# פונקציה לחיפוש השאילתה
# שהוזנה או נאמרה
# על ידי המשתמש
def search(query):
# נשתמש בניסיון עבור חיפוש עם wolframAlpha
try:
# יצירת מזהה האפליקציה מWolframAlpha
app_id = "RLW4E5-4624VWK5J7"
client = wolframalpha.Client(app_id)
res = client.query(query)
answer = next(res.results).text
print(answer)
SpeakText("Your answer is " + answer)
# אם אי אפשר לחפש את השאילתה באמצעות
# WolframAlpha, אז נחפש בוויקיפדיה
except:
query = query.split(' ')
query = " ".join(query[0:])
SpeakText("I am searching for " + query)
print(wikipedia.summary(query, sentences=3))
SpeakText(wikipedia.summary(query, sentences=3))
# פונקציה להמרת טקסט לדיבור
def SpeakText(command):
# Initialize the engine
engine = pyttsx3.init()
engine.say(command)
engine.runAndWait()
# קוד הנהג
# הזנת שאילתה מהמשתמש באמצעות
# הקלדה או באמצעות דיבור
query = input()
query = query.lower()
# אם השאילתה ריקה, המשתמש
# מתבקש לדבר משהו.
if query == '':
print("print you word")
r = sr.Recognizer()
# משתמש במיקרופון המוגדר כברירת מחדל
# כמקור להקלטת הדיבור
with sr.Microphone() as source:
print("Say Something ")
# צמצום הרעש ברקע
# והשקטה למשך 2 שניות
r.adjust_for_ambient_noise(source, 2)
# האזנה למקור
audio = r.listen(source)
try:
speech = r.recognize_google(audio)
search(speech)
# טיפול בשגיאות אם הדיבור
# לא הובן
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
# טיפול בשגיאות אם אי אפשר
# לטפל בבקשות, קורה
# בעיקר בגלל שגיאות רשת
except sr.RequestError as e:
print("Could not request results from Google Speech Recognition service; {0}".format(e))
# אחרת, נחפש את השאילתה
else:
search(query)