- ĐỒ HOẠ
1: Là nó phải nghe được
2: Nó phải hiểu được
3: Nó phải đọc được
- Đầu tiên ta cần install thư viện có tên là
speech_recognition
pip install speechrecognition
pip install pyaudio
nghe.py
import speech_recognition #Tên thư viện
robot_ear = speech_recognition.Recognizer() #Khỏi tạo nên 1 cái mà robot có thể nghe được
with speech_recognition.Microphone() as mic: #Ở đây mình sử dụng with để bật cái mic sau khi dùng xong mic sẽ tự tắt
print("Robot: I'm Listening")
audio = robot_ear.listen(mic)
try:
you = robot_ear.recognizer_google(audio) #Đây nó sẽ nhận dạng âm thanh
except:
you = "" # nếu không nói gì hoặc âm thanh không đúng
# ở phần try và except kia để xử lý việc khi bật mic lên mà không nói gì hoặc những âm thanh không đúng nó sẽ sinh ra lỗi và khi có lỗi sẽ hiển thị "" thay vì báo lỗi trên màn hình của bạn.
print("You: " you)
pip install pyttsx3
các bạn có thể xem qua cách cài đặt pip
ở đây.
( nếu bạn nào dùng window mà install pyttsx3 có lỗi thì hãy tham khảo cách fix ngay đây.)
noi.py
import pyttsx3
robot_brain = "I can't hear you, try again"
robot_mouth = pyttsx3.init()
robot_mouth.say(robot_brain)
robot_mouth.runAndWait()
hieu.py
you = "Hello" # ở đây khi mà chúng ta bắt đầu bằng câu Hello thì robot sẽ kiểm tra các điều kiện bên dưới
#ở đây mình đang fix cứng chút nữa gộp 3 file lại thì sẽ custom lại
if you == "":
robot_brain = "I can't hear you, try again"
elif you == "Hello":
robot_brain: "Hello Python"
elif you == "Today"
robot_brain: "Thu 6"
else:
robot_brain = "I'm fine thank you and you"
print(robot_brain)
Bây giờ chúng ta sẽ gộp 3 file kia lại với nhau thành 1 nhé :
robot.rb
import speech_recognition
import pyttsx3
import datatime import data, datatime
robot_ear = speech_recognition.Recognizer()
robot_mouth = pyttsx3.init()
robot_brain = ""
while True: # cái này để mình và robot giao tiếp liên tục thay vì nói 1 câu chương trình đã kết thúc.
with speech_recognition.Microphone() as mic:
print("Robot: I'm Listening")
audio = robot_ear.listen(mic)
print("Robot:...")
try:
you = robot_ear.recognizer_google(audio)
except:
you = ""
if you == "":
robot_brain = "I can't hear you, try again"
elif "Hello" in you: # in you này thay vì chúng ta nói Hello sẽ trả ra
#"Hello python thì nó sẽ kiểm tra là trong câu mà bạn nói có từ Hello hay không ?
robot_brain: "Hello Python"
elif "Today" in you:
today = date.today()
robot_brain = today.strftime("%B %d, %Y")
elif "Time" in you:
now = datetime.today()
robot_brain = now.strftime("%H hours %M minutes %S seconds")
elif "goodbye" in you: ## đoạn này khi nói goodbye thì chương trình sẽ tắt thay vì mở liên tục khi ở phía trên
robot_brain = "Good Bye"
break
else:
robot_brain = "I'm fine thank you and you"
print("Robot:" + robot_brain)
robot_mouth.say(robot_brain)
robot_mouth.runAndWait()
0 Nhận xét