maipatana.me

Voice Recognition ด้วย Python สั่ง Arduino

pythonvoice recognitionarduinospeech recognition

Alice Voice Recognition

วันก่อนโน้น ผมดูโฆษณา Google Home กับ Alexa (ของ Amazon) แล้วคิดว่ามันเจ๋งดี เจ๋งมากๆ เลยอยากลองทำดูบ้าง ก็คือว่าผมอยากสั่งงานอุปกรณ์ไฟฟ้า หรือเช็คเวลา เช็คสภาพอากาศด้วยเสียงได้นั่นเอง เลยเป็นที่มาของโปรเจคเล็กๆอันนี้ (ที่ผมไม่ได้ทำต่อ เพราะไม่มีเวลา) เป็นการสั่งงาน Arduino โดยคำสั่งมาจากเสียง (Voice Recognition) ที่ใช้ Python เป็นตัวกลาง

ไปดูวีดีโอกันนก่อนว่ามันประมาณไหน

อธิบาย

ผมใช้ Python ส่งเสียงไปยัง Google Speech Recognition เพื่อประมวลว่าเสียงนั้นคือคำว่าอะไรด้วย library ชื่อ SpeechRecognition จากนั้น Python ก็จะมาดูว่าคำที่พูดไปนั้นสั่งงานอะไร เช่นเปิด-ปิดไฟ เช็คเวลา เช็คสภาพอากาศ เป็นต้น

เช็คสภาพอากาศด้วย PyOWM โดยเราจะต้องมี API Key จาก OpenWeatherMap ก่อนถึงจะใช้งานได้

เรื่องเสียงนั้นผมใช้ gTTS

ตัวอย่าง Code ที่ผมใช้ สามารถลอง Download มาเล่นได้จาก ที่นี่

ผมจะเขียน Tutorial อธิบายแต่ละส่วนเพิ่มเติมทีหลัง แต่จริงๆแล้ว Code มันค่อนข้างไม่ซับซ้อน สามารถลองเอาไปปรับแต่งเล่นดูได้ครับ