Tóm tắt nhanh
- Sendspin là giao thức mở, miễn phí bản quyền, điều phối việc phát nhạc đồng bộ trên nhiều thiết bị; không phải loa hay ứng dụng của một hãng phần cứng nào.
- Một tablet hoặc điện thoại Android cài Kiosk Satellite đã trở thành client Sendspin; Music Assistant đóng vai máy chủ.
- Trong buổi thử 6–7 giờ liên tục, hệ thống tablet gắn tường không ghi nhận một lần lệch pha hay rớt kết nối nào.
- Sendspin truyền được FLAC bit-perfect, nên chất lượng cuối cùng phụ thuộc vào mạng và loa bạn nối vào.
Những chiếc tablet Android nằm trong ngăn kéo hoặc gắn làm bảng điều khiển Home Assistant giờ có thêm một việc nữa: phát nhạc đồng bộ nhiều phòng, thứ vốn thường đòi hỏi phải mua loa của Sonos hay WiiM. Điều làm được việc này là Sendspin, một giao thức đa phòng mở đang được Open Home Foundation phát triển, và cách dựng đơn giản đến mức chỉ cần bật một tuỳ chọn trong phần cài đặt của một ứng dụng.
Sendspin là giao thức, còn máy chủ và loa là thứ bạn tự chọn
Dễ hiểu nhầm nhất là coi Sendspin như một app nghe nhạc. Thực tế đây là một bộ quy ước chung để các thiết bị cùng phát một bản nhạc vào đúng một thời điểm: tài liệu đặc tả mô tả mục tiêu là điều phối mọi thiết bị trong trải nghiệm nghe nhạc, từ loa phát âm thanh cho tới màn hình hiển thị bìa album hay tablet điều khiển trên tường. Giao thức này mở, không thu phí bản quyền, ai cũng có thể triển khai, và đặc tả được cấp phép theo Community Specification License 1.0.
Hệ thống gồm hai nửa. Máy chủ lo phát nhạc, tạo luồng âm thanh và quản lý các thiết bị đang kết nối; client nhận luồng đó rồi phát ra loa. Music Assistant, phần mềm quản lý nhạc của hệ sinh thái Home Assistant, đảm nhận vai máy chủ. Client thì không bắt buộc là loa thông minh: một máy tính, một ứng dụng trên thiết bị có sẵn, hay một board ESP32 tự lắp đều làm được. Chính chỗ này tạo ra khác biệt với Sonos, nơi muốn mở rộng thì phải mua thêm loa Sonos. Điểm trừ hiện tại là hãng phần cứng lớn chưa có sản phẩm dùng sẵn Sendspin, nên phần lớn người dùng đang phải tự dựng.
Tablet gắn tường thành điểm phát nhạc chỉ bằng một tuỳ chọn

Cách đơn giản nhất để biến tablet Android thành client là cài Kiosk Satellite, ứng dụng mã nguồn mở vốn dùng để hiển thị bảng điều khiển Home Assistant toàn màn hình. Ứng dụng có sẵn chức năng client Sendspin: bật trong phần cài đặt, điền địa chỉ IP của máy chủ Music Assistant (hoặc để trống), thế là thiết bị xuất hiện trong danh sách máy phát. Quay lại Music Assistant, chọn thiết bị đích rồi bấm phát.
Điểm đáng giá là tablet không bị biến thành chiếc máy chỉ biết phát nhạc. Nó vẫn là bảng điều khiển nhà thông minh, và khi nhạc chạy thì ứng dụng hiện thêm một widget nổi với ảnh bìa, nút điều khiển và thông tin bài hát, kèm chế độ toàn màn hình hiển thị bài đang phát, danh sách chờ và lời bài hát nếu có. Tablet cũ làm cả hai việc cùng lúc, và đó là phần tận dụng phần cứng nhàn rỗi mà một chiếc loa Sonos mới không làm được.
Về độ ổn định, tác giả bài thử nghiệm trên XDA Developers dùng nhiều tablet gắn tường, mỗi chiếc nối với một bộ loa Bluetooth trong một buổi tiệc, và cho biết trong 6–7 giờ không gặp lần lệch pha hay rớt kết nối nào. Đây là kết quả của một hệ thống cụ thể, chưa phải số liệu từ nhiều cấu hình khác nhau, nhưng đủ để thấy cách dựng này không phải đồ chơi chỉ chạy được vài phút.
Đồng bộ đến từng mili-giây nhờ bộ lọc Kalman và kết nối mã hoá đầu cuối
Phát nhạc đồng bộ trên nhiều thiết bị khó ở chỗ mỗi thiết bị có một đồng hồ riêng, và các đồng hồ đó trôi lệch nhau theo thời gian. Sendspin xử lý bằng cách gắn mốc thời gian của máy chủ vào từng gói âm thanh, cho biết khi nào gói đó phải được phát. Client gửi các thông điệp client/time liên tục để dựng bản đồ giữa đồng hồ của mình và đồng hồ máy chủ, rồi bắt buộc dùng thuật toán time-filter để quy đổi mốc thời gian. Theo đặc tả, time-filter là bộ lọc Kalman hai chiều, theo dõi đồng thời độ lệch và độ trôi của xung nhịp.
Phần bảo mật cũng được tính từ đầu: mọi kết nối Sendspin dùng mã hoá đầu cuối dựa trên Noise Protocol Framework, với mẫu KKpsk2. Với một giao thức chạy trên mạng gia đình, nơi tablet, điện thoại và loa thường nằm chung một Wi-Fi, việc mã hoá có sẵn trong đặc tả thay vì để từng nhà làm tự do là điều nên có.
Phát FLAC bit-perfect thì mạng và loa mới là nút thắt
Sendspin hỗ trợ âm thanh bit-perfect cho tới tệp FLAC, nên về lý thuyết giao thức không giới hạn chất lượng nhạc; giới hạn nằm ở mạng của bạn. Luồng FLAC không nén qua Wi-Fi yếu hoặc đông thiết bị sẽ là chỗ dễ sinh giật hơn bất kỳ thuật toán đồng bộ nào.
Có một lưu ý thực tế: nếu đã chọn phát FLAC đồng bộ thì nên nối loa có dây vào thiết bị client thay vì Bluetooth. Bluetooth là thêm một chặng không dây nữa giữa client và loa, trong khi luồng FLAC vốn đã đòi hỏi đường truyền ổn định. Cấu hình rẻ nhất vẫn dùng được: một chiếc điện thoại Android cũ cắm vào loa hoặc DAC đã đủ làm một điểm phát.
Ở Việt Nam, cái giá phải trả là thời gian cấu hình chứ không phải tiền bản quyền
Sendspin, Kiosk Satellite, Music Assistant và Home Assistant đều là phần mềm mã nguồn mở và tải miễn phí, nên không có mức giá bán lẻ nào để so với Sonos hay WiiM tại các chuỗi bán lẻ trong nước. Phần chi phí thực chỉ còn là loa ngoài và dây nối nếu bạn không muốn dùng loa tích hợp của tablet, còn tablet hay điện thoại Android cũ thì nhiều nhà đã có sẵn.
Đổi lại, đây là hệ thống dành cho người đã quen Home Assistant hoặc sẵn sàng bỏ công dựng máy chủ Music Assistant. Ai chỉ cần bật loa lên là có nhạc, không muốn đụng tới cấu hình, vẫn sẽ thấy Sonos hay Google Cast tiện hơn. Còn nếu bạn đã có vài chiếc tablet làm bảng điều khiển trong nhà, thêm khả năng phát nhạc đa phòng gần như không tốn thêm gì, và việc hãng phần cứng lớn chưa hỗ trợ Sendspin lại không ảnh hưởng tới cách làm này vì client ở đây chính là ứng dụng trên máy bạn có sẵn.
Nguồn tham khảo: XDA Developers · Sendspin Protocol Specification (Open Home Foundation) · Smart Home Solver (YouTube)







