Nâng cấp TV Box RK3318: Từ DLNA Renderer đơn thuần đến hệ thống âm thanh thông minh đa nhiệm

Trong bài viết trước, mình đã dùng DLNA (GMediaRender) để biến TV Box thành loa không dây. Tuy nhiên, điểm yếu là nó không thể đa nhiệm: đang nghe nhạc mà có thông báo (TTS) từ Home Assistant là hệ thống “đứng hình”. Để vắt kiệt khả năng của con box RK3318 giá rẻ này, mình đã nâng cấp lên bộ đôi Shairport Sync và Music Assistant.
1. Cài đặt Shairport Sync: Nền tảng AirPlay ổn định
Thay vì DLNA già cỗi, mình chọn AirPlay vì khả năng phản hồi nhanh và đồng bộ tốt. Mình triển khai qua Docker để sạch sẽ hệ thống:
docker run -d
--name shairport-sync
--restart unless-stopped
--network host
--device /dev/snd
-e AIRPLAY_NAME="Rk3318-box"
mikebrady/shairport-sync
Lưu ý: tham số --device /dev/snd cực kỳ quan trọng để Docker có quyền truy cập trực tiếp vào phần cứng âm thanh của Box.
2. Cài đặt Music Assistant (MASS): “Nhạc trưởng” điều phối
Để giải quyết bài toán chồng lấp âm thanh, mình cài thêm Music Assistant Server. Đây là trung tâm điều khiển, giúp trộn luồng nhạc và thông báo:
docker run -d
--name music-assistant
--restart unless-stopped
--network host
-v /var/lib/music-assistant:/data
-e MASS_BASE_URL="https://dmass.midar.vn"
ghcr.io/music-assistant/server:latest
3. Thiết lập để Fix lỗi thông báo (TTS) mượt mà
Sau khi cài xong, truy cập vào cổng 8095, mình thực hiện các bước “xử lý” kỹ thuật sau:
- Kết nối: Trong MASS, thêm AirPlay Player Provider. MASS sẽ tự tìm thấy “Rk3318-box” mà chúng ta vừa cài ở bước 1.
- Bật Announce Support: Đây là chìa khóa! Trong cài đặt Player, hãy bật “Announce support”. Giờ đây khi có thông báo từ HASS, MASS sẽ tự động giảm âm lượng nhạc (ducking) để phát tiếng thông báo, sau đó tự động tăng nhạc trở lại.
- Entity ID: Trong Home Assistant, mình chuyển sang dùng thực thể
media_player.mass_rk3318_boxthay vì dùng thực thể AirPlay trực tiếp.
4. Cấu hình tin cậy trên Home Assistant
Đừng quên khai báo trusted_proxies trong configuration.yaml để HASS không chặn lệnh điều khiển từ các dịch vụ nội bộ trên Box:
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- 192.168.0.0/16
Kết quả: Một trải nghiệm “đã” hơn
Nếu ở bài viết trước, con RK3318 chỉ là một thiết bị nhận tín hiệu thụ động (DLNA Renderer) hay bị lỗi khi chồng chéo âm thanh, thì nay nó đã trở thành một trung tâm âm thanh thông minh. Script thông báo cho từ Hass giờ đây luôn phát ra tiếng dõng dạc, ngay cả khi loa đang bận phát Radio. Đó chính là sự thú vị khi chúng ta dám vọc vạch để tối ưu những thiết bị tưởng chừng đã lỗi thời!





