Gérer l’audio multiroom dans une maison connectée a longtemps relevé du casse-tête, exigeant souvent de s’enfermer dans l’écosystème d’une marque propriétaire. Vous avez connecté vos lumières, vos volets, votre chauffage et votre consommation électrique assez simplement avec Home Assistant. Tout tourne en local, tout est automatisé. Et pourtant, au moment de lancer un album dans le salon, vous dégainez encore l’appli Sonos, puis celle de Spotify, puis Google Home pour l’enceinte de la cuisine Et quand vous voulez réécouter une petite pépite de votre jeunesse, il faut dégainer Plex ou pire, un share pour les vieux mp3 locaux.… Le multimédia reste le dernier bastion du chacun-pour-soi dans la maison connectée unifiée de 2026, mais il y a une solution a cette problématique et elle n’est pas très loin du système domotique !
Music Assistant : Comme un Matter de la musique pour la maison connectée
Music Assistant règle ce problème. Ce gestionnaire de bibliothèque musicale libre et open source réunit toutes vos sources audio dans une seule interface et les diffuse sur quasiment n’importe quelle enceinte de la maison, avec Home Assistant comme chef d’orchestre. Dans ce guide découverte, je vous présente le projet, son histoire, sa philosophie, et surtout ce qu’il change concrètement quand on le marie à ses automatisations.

Son utilité majeure réside dans sa capacité à supprimer les barrières imposées par les constructeurs. Le service permet de regrouper des lecteurs utilisant des protocoles de communication totalement différents au sein d’un même groupe de diffusion, calculant automatiquement les délais pour offrir une lecture multiroom parfaitement synchronisée. Il devient ainsi l’unique interface nécessaire pour gérer l’ambiance sonore de l’intégralité du domicile.
Prérequis pour suivre ce guide :
- Une instance Home Assistant fonctionnelle (HAOS, ou Home Assistant Container avec un hôte Docker à côté)
- Au moins une enceinte réseau : Sonos, Chromecast, AirPlay, DLNA, Squeezebox, Home Assistant Voice PE ou un lecteur ESPHome
- Une source musicale : fichiers sur un NAS, serveur Jellyfin/Subsonic ou Plex, webradios ou service de streaming
- Des automatisations écrites en YAML ne vous font pas peur
Qu’est-ce que Music Assistant ?
Music Assistant est un serveur de bibliothèque musicale qui se place entre vos sources et vos lecteurs. Le principe est exactement celui de Home Assistant, transposé à l’audio : là où Home Assistant fédère des équipements domotiques de marques différentes, Music Assistant fédère des services de musique et des enceintes qui, à l’origine, ne se parlent pas.
L’architecture tient en trois briques :
- Le serveur : le cœur du système. Il héberge la base de données de votre bibliothèque, dialogue avec les sources et pousse les flux audio vers les lecteurs.
- Les fournisseurs de musique : fichiers locaux (SMB, NFS), Jellyfin, Plex, Subsonic/Navidrome, webradios, podcasts, livres audio, mais aussi Spotify, Deezer, Tidal, Qobuz, Apple Music ou YouTube Music.
- Les fournisseurs de lecteurs : Sonos, Google Cast, AirPlay, DLNA, Squeezelite/Slimproto, Snapcast, Bose SoundTouch, lecteurs ESPHome… et Sendspin, le protocole maison sur lequel je reviens plus bas.
Le serveur tourne sur une machine allumée en permanence : Raspberry Pi, NAS, ou directement en tant qu’App Home Assistant (option a favoriser). Notez qu’il faut obligatoirement passer par Docker pour l’installer. On le pilote depuis une interface web ou depuis Home Assistant, via l’intégration officielle.

Ce qu’il fait mieux qu’une appli de streaming
- Une bibliothèque unique. Le même album présent sur Spotify, sur votre NAS et sur Deezer n’apparaît qu’une fois : Music Assistant relie les pistes identiques entre les sources.
- Des métadonnées enrichies. Pochettes, biographies, paroles : tout est récupéré et rangé automatiquement.
- Un rendu soigné sur tous les lecteurs : lecture sans blanc, fondus enchaînés et normalisation du volume, y compris sur des enceintes qui ne savent pas le faire nativement.
- Le multiroom synchronisé sur les lecteurs compatibles, et le transfert de la file de lecture d’une pièce à l’autre.
- Les annonces : une notification coupe ou atténue la musique, puis la lecture reprend exactement où elle s’était arrêtée.
Un projet né d’une frustration personnelle
Music Assistant est né en 2019 de l’initiative de Marcel van der Veldt, développeur néerlandais déjà très actif dans l’écosystème Home Assistant. Son constat : impossible de profiter de sa musique sur l’ensemble de ses enceintes sans jongler entre des applications propriétaires qui s’ignorent mutuellement.
Les premières versions prenaient la forme d’un composant personnalisé installé à l’intérieur de Home Assistant. L’approche a vite montré ses limites : un moteur de streaming audio qui partage le processus de Home Assistant, c’est une source de bugs structurels et d’instabilités.
La version 2.0 et le serveur autonome
En mai 2024, cinq ans jour pour jour après le premier commit, Marcel publie Music Assistant 2.0. Le projet devient un serveur indépendant, distribué sous forme de module complémentaire Home Assistant (rebaptisé depuis « App » dans les parametres du systeme domorique) ou d’image Docker, et relié à Home Assistant par une intégration officielle. Cette séparation est la clé de sa fiabilité actuelle : le serveur audio peut planter, redémarrer ou être mis à jour sans toucher au cœur domotique.
L’entrée dans la famille Open Home Foundation
En avril 2025, lors du State of the Open Home, Marcel annonce qu’il fait don de Music Assistant à l’Open Home Foundation, la fondation à but non lucratif qui protège Home Assistant, ESPHome ou encore Matter.js. HACS rejoint la fondation au même moment.
Précision utile : Music Assistant n’est pas un produit de Nabu Casa au sens strict. C’est un projet de l’Open Home Foundation, dont Nabu Casa est le partenaire commercial et le principal financeur grâce aux abonnements Home Assistant Cloud et aux ventes de matériel. Concrètement, cela garantit au projet la même gouvernance que Home Assistant : pas d’investisseurs, pas de rachat possible, pas de fonctionnalités verrouillées derrière un abonnement.
Depuis, le rythme est soutenu :
- 2.4 (mars 2025) : plugin Spotify Connect, podcasts et livres audio, commande vocale via Assist, optimisations pour la Home Assistant Voice Preview Edition.
- 2.7 : première apparition de Sendspin, le protocole de streaming synchronisé de l’Open Home Foundation.
- 2.8 (mars 2026) : les ponts Sendspin, qui intègrent des enceintes AirPlay et Chromecast dans un même groupe synchronisé, le mode fête avec accès invité par QR code, et la navigation par genres.
- 2.10 (août 2026) : continuation automatique de la file d’attente, Smart Shuffle, chiffrement des flux vers les enceintes, plugin Music Quiz multijoueur et entrées audio Sendspin.
Sendspin, l’atout qui change la donne
Sendspin mérite qu’on s’y arrête. C’est un protocole ouvert et libre de droits développé par l’Open Home Foundation, devenu le protocole de lecture natif de Music Assistant. Contrairement à AirPlay ou Google Cast, il ne se contente pas de transporter de l’audio : il synchronise la lecture à l’échantillon près, mais transporte aussi les métadonnées, les pochettes et les commandes de lecture.

Résultat : un ESP32 avec un DAC, un Raspberry Pi Zero, une Voice PE, une tablette murale ou même un navigateur web deviennent des lecteurs multiroom parfaitement synchronisés. Le protocole fonctionne aussi dans l’autre sens : une platine vinyle ou une entrée ligne branchée sur un client Sendspin peut être rediffusée sur toutes vos enceintes. Le protocole est encore en préversion, mais c’est clairement la pièce manquante pour un multiroom DIY digne de ce nom.
Pourquoi Music Assistant a sa place dans la maison connectée ?
Casser les silos audio
Une maison réelle, c’est rarement un écosystème audio unique. Une barre de son Sonos dans le salon, un Nest Mini récupéré dans la cuisine, une vieille chaîne hi-fi derrière un Raspberry Pi dans le bureau, une Voice PE dans la chambre… Chaque marque impose son application, son protocile de diffusion, son compte et son cloud.
Music Assistant traite toutes ces enceintes comme des lecteurs équivalents, pilotables depuis une interface unique et, surtout, depuis Home Assistant. Votre parc hétérogène devient un système audio cohérent, sans racheter de matériel.
Notez toutefois quelques frictions avec les enceintes Amazon qui ne sont pas nativement compatibles. Amazon ne proposant pas d’API ouverte permettant le contrôle local du streaming audio vers ses appareils, l’équipe de Music Assistant a dû contourner cette limitation. La seule façon d’intégrer vos enceintes Alexa est de créer votre propre “Skill” Alexa personnalisée.
Actuellement, le multiroom natif d’Alexa (synchronisation parfaite de la musique entre plusieurs enceintes Echo) n’est pas supporté par ce contournement. Vous pourrez piloter les enceintes individuellement, mais pas dans des groupes d’enceintes synchronisés comme vous le feriez avec du matériel AirPlay ou Cast.
Reprendre le contrôle de sa bibliothèque
C’est l’argument qui parlera le plus aux habitués de domo-blog. Votre collection FLAC sur le NAS, votre serveur Plex ou Jellyfin, vos webradios préférées : tout cela fonctionne sans le moindre compte cloud. Le serveur tourne chez vous, la base de données reste chez vous, et l’écoute ne dépend d’aucun service tiers et vous reprenez la main sur les bons vieux mp3 de l’epoque qui sont introuvables sur les plateformes !

Où l’héberger ? Deux approches cohabitent :
- En App Home Assistant : la solution la plus simple sur HAOS. Installation en quelques clics, intégration détectée automatiquement, c’est l’option que je recommande.
- En conteneur dédié : sur Proxmox, un LXC avec Docker ou une VM légère isole le serveur audio de Home Assistant, ce qui est idéal si votre bibliothèque est volumineuse ou si votre instance HA tourne en haute disponibilité.
Pour la seconde option, voici un docker-compose.yml minimal :
services:
music-assistant:
image: ghcr.io/music-assistant/server:latest
container_name: music-assistant
restart: unless-stopped
# Indispensable : la découverte des lecteurs (mDNS, multicast, UPnP)
# ne fonctionne pas derrière le NAT du réseau bridge de Docker
network_mode: host
volumes:
- ./data:/data
# Nécessaire uniquement pour monter des partages SMB/NFS depuis le conteneur
cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH
security_opt:
- apparmor:unconfined
L’interface est ensuite accessible sur le port 8095. Côté Home Assistant, ajoutez l’intégration Music Assistant depuis Paramètres > Appareils et services : chaque lecteur remonte comme une entité media_player à part entière.
Le vrai super-pouvoir : le couplage natif avec Home Assistant
Music Assistant fonctionne en autonome, mais c’est adossé à Home Assistant qu’il prend toute sa dimension. Et ce n’est pas un hasard : les deux projets partagent la même fondation, la même philosophie et les mêmes équipes qui se croisent au quotidien.

Même esprit, même philosophie, même liberté
- Local-first : comme Home Assistant, le serveur fonctionne sans cloud, et la communication avec HA reste sur votre réseau.
- Open source sous licence Apache 2.0 : code auditable, contributions ouvertes, aucun risque de fermeture.
- Gouvernance protégée par l’Open Home Foundation : le projet ne peut être ni racheté, ni transformé en produit à abonnement.
- Interopérabilité avant tout : l’objectif n’est pas de vous enfermer dans une marque d’enceintes, mais de faire travailler ensemble celles que vous avez déjà.

Ce que l’intégration apporte concrètement
Une fois l’intégration installée, vous disposez de services dédiés, bien plus riches que le simple media_player.play_media :
music_assistant.play_media: lancer un artiste, un album, une playlist ou une radio par son nom, avec gestion de la file (replace,next,add) et mode radio.music_assistant.play_announcement: diffuser un son ou un message avec mise en pause et reprise automatiques.music_assistant.transfer_queue: déplacer la lecture en cours d’un lecteur vers un autre.music_assistant.searchetmusic_assistant.get_library: interroger la bibliothèque depuis un script.
Ajoutez à cela la compatibilité avec Assist : avec une Voice PE ou un satellite ESPHome, vous lancez votre musique à la voix, avec un pipeline entièrement local (Whisper, Piper).
Cas d’usage : quand la musique devient une automatisation
Place au concret. Les exemples suivants utilisent la syntaxe actuelle des automatisations (triggers / actions). Adaptez les entity_id à votre installation.
Le réveil musical progressif
Fini le réveil strident : la radio démarre doucement dans la chambre et le volume monte par paliers, pendant que l’éclairage suit la même rampe.
alias: "Réveil musical progressif"
triggers:
- trigger: time
at: "07:00:00"
conditions:
- condition: time
weekday: [mon, tue, wed, thu, fri]
- condition: state
entity_id: person.aurelien
state: home
actions:
# On part d'un volume très bas avant de lancer la lecture
- action: media_player.volume_set
target:
entity_id: media_player.chambre
data:
volume_level: 0.05
- action: music_assistant.play_media
target:
entity_id: media_player.chambre
data:
media_id: "FIP"
media_type: radio
enqueue: replace
# 10 paliers de 30 s : le volume passe de 5 % à 30 % en 5 minutes
- repeat:
count: 10
sequence:
- delay: "00:00:30"
- action: media_player.volume_set
target:
entity_id: media_player.chambre
data:
volume_level: "{{ (0.05 + repeat.index * 0.025) | round(3) }}"
mode: single
La musique qui vous suit de pièce en pièce
Avec des capteurs de présence mmWave, la file de lecture se déplace avec vous. Vous quittez le bureau, le morceau reprend dans le salon, sans coupure de contexte.
alias: "La musique me suit : bureau vers salon"
triggers:
# Le bureau est vide depuis 1 minute
- trigger: state
entity_id: binary_sensor.presence_bureau_mmwave
to: "off"
for: "00:01:00"
conditions:
- condition: state
entity_id: media_player.bureau
state: playing
# Quelqu'un est bien arrivé dans le salon
- condition: state
entity_id: binary_sensor.presence_salon_mmwave
state: "on"
actions:
- action: music_assistant.transfer_queue
target:
entity_id: media_player.salon
data:
source_player: media_player.bureau
auto_play: true
mode: single
Les annonces qui respectent votre musique
C’est probablement le cas d’usage le plus apprécié au quotidien. Le lave-linge a terminé ? L’annonce passe par Piper, en local, la musique s’interrompt le temps du message puis reprend toute seule.
alias: "Annonce fin de cycle lave-linge"
triggers:
# Puissance mesurée par la prise connectée, sous 3 W pendant 3 minutes
- trigger: numeric_state
entity_id: sensor.prise_lave_linge_puissance
below: 3
for: "00:03:00"
conditions:
- condition: time
after: "08:00:00"
before: "22:00:00"
actions:
# Synthèse vocale locale via Piper : aucune donnée ne sort du réseau
- action: tts.speak
target:
entity_id: tts.piper
data:
media_player_entity_id: media_player.salon
message: "Le lave-linge a terminé son cycle."
mode: single
La commande vocale 100 % locale
Assist sait déjà piloter Music Assistant, mais une phrase personnalisée vous donne un contrôle total sur la formulation en français :
alias: "Voix : lancer un artiste dans le salon"
triggers:
- trigger: conversation
command:
# {artiste} est un joker qui capture le nom prononcé
- "mets [de la musique de] {artiste} dans le salon"
- "joue {artiste} dans le salon"
actions:
- action: music_assistant.play_media
target:
entity_id: media_player.salon
data:
media_id: "{{ trigger.slots.artiste }}"
media_type: artist
enqueue: replace
# Enchaîne ensuite sur des artistes similaires
radio_mode: true
- set_conversation_response: "C'est parti pour {{ trigger.slots.artiste }}."
mode: single
Et bien d’autres scénarios
- Accueil à l’arrivée : premier occupant de retour à la maison après 18 h, une playlist d’ambiance démarre à faible volume dans la pièce de vie.
- Départ de la maison : quand le dernier occupant quitte la zone,
media_player.media_stopcoupe tous les lecteurs Music Assistant. - Scène cinéma : la TV passe en lecture, la musique du salon se met en pause et l’éclairage s’adapte.
- Minuteur de sommeil : après 23 h, la musique de la chambre baisse progressivement puis s’arrête après 30 minutes.
- Mode fête : les invités scannent un QR code et ajoutent leurs morceaux à la file, sans accès à votre domotique ni à vos comptes.
Bilan : faut-il adopter Music Assistant ?
La réponse est oui, et sans attendre. Music Assistant comble le dernier grand angle mort de Home Assistant : le multimédia. Il transforme un parc d’enceintes disparates en un système audio unifié, piloté par les mêmes automatisations que le reste de la maison.
Les points forts :
- Une bibliothèque unique qui agrège fichiers locaux, serveurs auto-hébergés, radios et streaming
- La compatibilité avec la quasi-totalité des enceintes du marché, sans rachat de matériel
- Des services Home Assistant dédiés qui ouvrent des automatisations impossibles avec les applis constructeurs
- Des annonces qui interrompent proprement la musique puis la relancent
- Sendspin, un protocole ouvert qui rend le multiroom DIY enfin crédible
- Une gouvernance Open Home Foundation qui garantit la pérennité et l’indépendance du projet
Les points de vigilance :
- Les services de streaming restent des dépendances cloud, à compléter par des sources locales
- Le serveur demande des ressources (RAM notamment) avec une grosse bibliothèque : un conteneur dédié est conseillé sur une petite machine
- La synchronisation multiroom dépend des protocoles : parfaite en Sendspin ou au sein d’un même écosystème, plus délicate en mélangeant les marques hors ponts Sendspin
- Sendspin est encore en préversion et évolue rapidement
Music Assistant, c’est la promesse de Home Assistant appliquée à la musique : vos sources, vos enceintes, vos règles. Si vous ne l’avez pas encore installé, prenez une soirée pour le tester : il y a de fortes chances qu’il ne quitte plus votre installation.







