Nếu bạn đang sử dụng các máy chủ Home Assistant (Hass) có khả năng xuất âm thanh như Pi, NUC, máy ảo trên PC, Android box, bạn có thể sử dụng Hass để điều khiển và phát các thông báo bằng giọng nói, âm thanh hoặc thậm chí phát nhạc từ chính máy chủ này.
Khi sử dụng các loa công suất lớn, đây có thể được xem là giải pháp cảnh báo bằng âm thanh có độ ổn định cao trong các tình huống khẩn cấp mà không quá tốn kém.
Yêu cầu cần có
Máy chủ sử dụng card âm thanh (rời hoặc đi kèm) là dạng thông thường, được hỗ trợ mặc định bởi Linux (ALSA). (1)
Bạn cũng cần hệ thống loa hỗ trợ ngõ vào analog để phát âm thanh nhận được từ máy chủ. Nếu chỉ để phát thông báo, bạn có thể sử dụng các loa dùng nguồn USB có giá rẻ và phổ biến trên thị trường (loại nhỏ gọn thường dùng cho điện thoại, máy vi tính).
(1) Ngõ ra âm thanh mặc định trên Raspberry Pi có chất lượng khá tệ và có lẽ chỉ thích hợp để phát thông báo
Cấu hình máy chủ để xuất âm thanh
Music Player Daemon
Music Player Daemon (MPD – musicpd.org) là một ứng dụng chơi nhạc mạnh mẽ và có thể nói, phổ biến nhất trên Linux. MPD là “lõi” của hầu hết các hệ điều hành tuỳ chỉnh nền Linux sử dụng cho mục đích trình diễn âm nhạc như Volumio, Moode Audio.
MPD đi kèm một dịch vụ mạng cho phép điều khiển ứng dụng này trên cổng mặc định 6600
(có thể thay đổi được).
Volumio trên Home Assistant
Nếu bạn đang sử dụng Volumio để trình diễn âm nhạc, Home Assistant có sẵn tích hợp để điều khiển Volumio. Xem thêm tại: integration/Volumio
Home Assistant
Nếu bạn sử dụng Home Assistant đầy đủ, có Supervisor, giải pháp đơn giản nhất là cài đặt addon MPD của tác giả Poeschl. Addon này sẽ “biến” máy chủ Hass thành một thiết bị chơi nhạc thực thụ.
Để cài đặt addon MPD, bạn vào mục Supervisor > Add-on store > > Repositories.
Tiếp theo, copy và paste github của tác giả (https://github.com/Poeschl/Hassio-Addons
) vào mục Add repository và bấm ADD.
Sau khi thêm thành công, bạn tìm kiếm MPD trong ô Search (Addon-store). Chọn addon MPD trong kết quả tìm kiếm rồi ấn INSTALL để cài đặt.
File image của addon MPD có dung lượng khoảng 140MB cho cấu trúc ARMv7 (Raspbian – 32bit) (2).
Sau khi cài đặt thành công, bạn ấn START để khởi động addon và nhớ chọn Start on boot
để Hass tự khởi động addon MPD. Bản thân addon MPD không cần được cấu hình, tuy nhiên bạn có thể cấu hình thay đổi cổng – port và tuỳ chọn thiết bị âm thanh theo yêu cầu.
Bây giờ máy chủ Home Assistant của bạn đã sẵn sàng để “lên tiếng”. Hãy chuyển sang mục cấu hình Home Assistant để điều khiển và phát thông báo.
(2) Addon MPD hỗ trợ các cấu trúc armv7, armhf, aarch64, amd64, i386
Home Assistant Core & Docker Supervised trên Linux
Nếu bạn chỉ sử dụng phiên bản Home Assistant Core, bạn có thể cài đặt MPD trực tiếp trên hệ điều hành – OS theo hướng dẫn ở dưới hoặc từ trang chủ tại: musicpd.org.
Với Home Assistant Supervised (cài đặt trên Docker), bạn có thể cài addon MPD tương tự như trên hoặc cài đặt MPD trực tiếp lên OS hoặc vận hành một container MPD khác trên docker. Hai giải pháp cài addon và vận hành container MPD là gần tương đương.
Để cài đặt MPD trực tiếp trên hệ điều hành Linux họ Debian/Ubuntu, bạn chạy lần lượt các lệnh bên dưới:
sudo apt-get update sudo apt-get install -y mpd alsa-utils
Cấu hình Home Assistant điều khiển mpd
Cấu hình mẫu bên dưới sử dụng cho mọi phương thức cài đặt mpd đã nói ở trên, bạn thêm vào file cấu hình chính của Hass tại /config/configuration.yaml
và điều chỉnh cho phù hợp.
media_player: - platform: mpd host: 127.0.0.1 name: Hass
Chú thích:
- 3
host: 127.0.0.1
là địa chỉ IP của máy chủ MPD, địa chỉ này sử dụng cho trường hợp mpd được cài đặt và vận hành trên cùng máy chủ với Hass - 4
name: Hass
(tuỳ chọn) đặt tên cho thiết bị media player sẽ tạo port: 6600
(tuỳ chọn) cấu hình port của mpd
Sau khi cấu hình, khởi động lại Home Assistant (trong khi addon MPD vẫn đang chạy) để khởi tạo media_player.hass
.
Sử dụng media_player.hass
Phát thông báo
Bạn có thể sử dụng media_player.hass
này để phát thông báo tts
(dịch vụ chuyển chữ viết thành giọng nói), phát file âm thanh tương tự như với loa Google Home (mini), ngoại trừ:
- Không bị bắt buộc phải cấu hình truy cập Hass qua một tên miền và giao thức https
- và do đó, không cần sử dụng tuỳ chọn
base_url
khi cấu hình tts
Tham khảo: cách phát file âm thanh từ Home Assistant
Phát nhạc từ youtube
Để phát nhạc từ youtube một cách đơn giản, bạn có thể sử dụng component media_extractor
có sẵn của Hass. Component này cho phép trích xuất liên kết stream từ một đường dẫn url (không chỉ từ youtube) để phát trên các thiết bị media_player
có hỗ trợ.
Để kích hoạt component media_extractor
, bạn thêm dòng sau vào file cấu hình mặc định của Home Assistant tại /config/configuration.yaml
:
media_extractor:
Sau khi khởi động lại Hass, bạn có thể sử dụng dịch vụ media_extractor.play_media
để phát âm thanh từ một video trên youtube đến loa media_player.hass
vừa tạo ở trên, cấu hình mẫu như sau:
service: media_extractor.play_media data: entity_id: media_player.hass media_content_type: music media_content_id: https://www.youtube.com/watch?v=5BN1eTR4c00
Lưu ý: khi bạn lấy liên kết từ youtube, chỉ lấy phần đầu của liên kết (bao gồm tham số đầu tiên ?v=5BN1eTR4c00
). Lấy toàn bộ liên kết vốn bao gồm list hay nhiều tham số tuỳ chọn khác có thể gây lỗi.
Nguồn/Tham khảo:
Cảm ơn bạn đã xem bài viết này!
konnectED Team.