AssistantBot[0] – มาทำ JARVIS กัน

” เมื่อโลกเปลี่ยน เราก็ต้องเปลี่ยน เทคโนโลยีเกิดขึ้นใหม่ทุกวัน “

~คิดเอง คิดสด 55

จะพิมพ์อะไรเนี่ย 55555 เกือบเท่แล้วเชียว แต่ ชั่งมันเถอะ มาเข้าเรื่องเราดีกว่า

jarvis
JARVIS Marvel Movies

สิ่งที่ผมจะมาทำในวันนี้คือ บอกเลยจะเร็วเกินไปงั้นขอเล่าหน่อย 555 ตอนผมเป็นเด็กๆผมได้ดูหนังเรื่อง Iron man แล้วก็เลยมีความฝันว่าในอนาคตผมจะต้องสร้างระบบที่สามารถพูดคุยตอบโต้กับเราได้ ดังนั้นวันนี้ผมจะมาสอนเพื่อนๆทำบอทแบบฉลาดน้อย ที่อยู่ในบ้านเหมือนเป็น J.A.R.V.I.S ในหนังเรื่อง Iron man แต่ JARVIS ในเรื่องก็ไม่ได้ฉลาดน้อยนะ 5555

สิ่งที่ผมมีคือ Labtop [Ubuntu 16.04] 1 เครื่อง เท่านั้น ภาษาที่จะใช้เขียนคือ ภาษา Python 3.5.2 และต้องขอเสนอเครื่องมือที่จะช่วยเราครั้งนี้นั่นก็คือ

Snowboy, a Customizable Hotword Detection Engine

Snowboy คือ โมดูลที่ช่วยในการจับคำพูดของเราแบบเรียลไทม์ และรอฟังเราอยู่ตลอดเวลา มีคำที่ควรรู้จักก็คือ Hotword แล้ว Hotword คืออะไรหล่ะ จริงๆแล้วมันก็เหมือนกับเสียงปลุก เสียงเรียก ซึ่งจะเป็นคำสั้นๆซึ่งเมื่อระบบได้ยินแล้วจะนำไปทำอะไรบางอย่างต่อไป ยกตัวอย่างระบบที่ใช้ hotword ก็เช่น “Alexa” ของอเมซอน, “OK Google” ของกูเกิ้ล และ “Hey Siri” ของไอโฟน hotword เมื่อเราเรียกไปแล้วก็จะทำให้ไปทริ๊กให้บอทตื่นขึ้นมาคุยกับเรา แต่จริงๆแล้วมันก็ขึ้นอยู่ว่าเราเขียนโปรแกรมไว้ยังไง

แล้วทำไมเราไม่ใช้ ASR (Automatic Speech Recognition) ในการหา hotword หล่ะ นั่นก็เพราะว่าการใช้ ASR นั้นจะใช้ bandwidth เปลืองมาก และบางทีอาจจะไม่ปลอดภัยถ้ามันอยู่บน Cloud-based แต่ Snowboy ตัวนี้ จะตอบโจทย์นี่มาก เพราะเป็นแบบ Offline

ข้อดีของ Snowboy มันดียังไง?

  • ปรับแต่งเองได้ : snowboy นั้นให้เราไปเพิ่ม hotword ของเราเองได้ เช่น “เปิดประตูบ้าน”, “เจ้ากระจกวิเศษ”, “เปิดไฟ” โดยทีมพัฒนาเค้าบอกว่า “If you can think it, you can hotword it!” หมายความว่า ถ้าคุณคิดได้ ก็ทำเป็น hotword ได้
  • คอยฟังตลอดเวลาแต่ปลอดภัย : ที่เป็นแบบนี้ เพราะว่า snowboy นั้นไม่ต้องต่อ internet หรือ stream voice ของเราไปให้ใคร
  • มีขนาดเล็ก : สามารถนำไปใส่อยู่บน raspberry pi ได้ กิน cpu ไม่เกิน 10%
  • Apache licensed!
NameCPUCPU UsageRAM Usage
RPi 1single-core 700MHz ARMv6<10%Python: < 15MB
C: < 2MB
RPi 2quad-core 900MHz ARMv7<5%
RPi 3quad-core 1.2GHz ARMv8<5%
RPi Zerosingle-core 1GHz ARMv6<5%
MacbooksIntel Core i3/5/7<1%

ตอนนี้ที่ Snowboy Supports มี

  • Raspberry Pi ทุกเวอร์ชั่น (Raspbian based)
  • 64bit Mac OS X
  • 64bit Ubuntu (12.04 และ 14.04) [แต่ผมใช้ 16.04]
  • iOs
  • Android with ARMv7 CPUs
  • Pine 64 with Debian Jessie 8.5
  • Intel Edison with Ubilinux

แต่น่าเสียดายที่ ไม่ support windows os

ในบทความหน้าผมจะมาแนะนำวิธีการติดตั้งและใช้งานเจ้าตัว Snowboy กันนะครับ

ใส่ความเห็น