Tự làm gương thông minh bằng Raspberry Pi 3 – Phần 5

Trong bài viết này mình sẽ hướng dẫn nốt phần còn lại của tích hợp Google Assistant vào gương thông minh (Smart Mirror, MagicMirror). Chúng ta sẽ tìm hiểu về cấu hình Loa, Mic và hotword.

Chuẩn bị để tích hợp Google Assistant vào gương thông minh Smart Mirror

1 Mic USB.

1 loa 3.5mm hoặc nếu dùng HDMI phát âm thanh lên màn hình thì không cần loa.

Cấu hình cho Mic để nhận giọng nói

Đây là mic USB PS3 huyền thoại của chúng ta.

Rút nguồn Pi. Cắm USB Mic vào. Cắm nguồn trở lại.

Các bạn vào Terminal gõ lệnh sau để kiểm tra mic đã nhận chưa

arecord -l

(-l là chữ L viết thường nhé – chữ “lờ”)

Các bạn thấy tên usb hiện ra như hình là ok rồi.

Cấu hình Loa để phản hồi lại câu lệnh

Các bạn vào Terminal và gõ:

sudo raspi-config

Sau đó chọn Advance Options – Audio.

Nếu các bạn dùng loa 3.5 thì chọn mục 1. Nếu các bạn phát ra loa trên màn hình (âm thanh xuất chung cổng HDMI) thì chọn mục 2.

Các bạn hãy chạy Magic Mirror, bấm vào biểu tượng Google Assistant và ra lệnh xem có nhận được chưa nhé. Nếu thấy trả lời là thành công.

Cấu hình Hotword

Các bạn vào termianl và chạy lần lượt các lệnh sau để tải về và cài đặt module MMM-Hotword

sudo apt update
sudo apt upgrade
sudo apt install libmagic-dev libatlas-base-dev sox libsox-fmt-all

cd ~/MagicMirror/modules
git clone https://github.com/eouia/MMM-Hotword.git
cd MMM-Hotword

chmod +x ./installer/install.sh
./installer/install.sh

Sau đó các bạn thêm đoạn code sau vào  config.js (hãy thay config mẫu của module MMM-AssistantMk2 mà chúng ta setup lần trước bằng config Mk2 mới này).

{
  module: "MMM-AssistantMk2",
  position: "top_right",
  config: {
    record: {
      recordProgram : "arecord",  
      device        : "plughw:1",
    },

    notifications: {
      ASSISTANT_ACTIVATED: "HOTWORD_PAUSE",
      ASSISTANT_DEACTIVATED: "HOTWORD_RESUME",
    },
  }
},
{
  module: "MMM-Hotword",
  config: {
    chimeOnFinish:null,
    mic: {
      recordProgram : "arecord",  
      device        : "plughw:1",
    },
    models: [
      {
        hotwords    : "smart_mirror",
        file        : "smart_mirror.umdl",
        sensitivity : "0.5",
      },
    ],
    defaultCommand: {
      notificationExec: {
        notification: "ASSISTANT_ACTIVATE",
        payload: (detected, afterRecord) => {
          return {profile:"default"}
        }
      },
      afterRecordLimit:0,
      restart:false,
    },
  },
},

Sau đó save lại.

Việc tiếp theo là các bạn cần hiểu 1 tý về hotword. Module hotword này sử dụng snowboy. Các bạn hoàn toàn có thể tự train một hotword riêng cho mình (ví dụ như sen ơi, boss ơi…)

Những hotword tự train sẽ có đuôi .pmdl. Ngoài các hotword tự train thì snowboy còn có những hotword universal (nhiều ngừoi train). Có tầm 8 hotword dạng .umdl này, các bạn xem trong hình dưới. Nếu so sánh thì hotword .umdl sẽ ít bị sai hơn (không cố ý gọi vẫn bị kích hoạt), nhưng lại cố định trong các hotword có sẵn. Còn .pmdl thì dễ sai hơn, nhưng lại tuỳ chọn được nhiều hơn. Quá trình sử dụng sẽ giúp các bạn chọn được loại hotword phù hợp nhất.

Trong bài này mình sẽ dùng hotword .umdl , đã có sẵn trong thư mục MMM-Hotword/models. Mình vẫn sẽ dùng Subex

Cuối cùng chúng ta hãy chạy gương thông minh MagicMirror lên. Sau đó hãy thử gọi hotword và ra lệnh xem nào. Nếu Google Assistant trả lời thì đã thành công rồi đấy các bạn. Chúc các bạn vui.

Leave a Reply

Your email address will not be published. Required fields are marked *

0868.159.266