Accueil » Domotique » Libérez votre musique avec Music Assistant : Fini les limites propriétaires
Domotique

Libérez votre musique avec Music Assistant : Fini les limites propriétaires

decouverte-musique-assistant-home-assistant-streaming-domotique-multiroom

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.

Music Assistant découvre automatiquement les lecteurs de la maison – © domo-blog

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.

© Music Assistant

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.

Sendspin le protocole qui permet la magie – © domo-blog

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 !

Configuration des services associé pour tout piloter depuis le même point – © domo-blog

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.

Intégration Home Assistant Native – © domo-blog

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à.
Music Assistant, le pont audio de la domotique – © domo-blog

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.search et music_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_stop coupe 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.

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique avec un ADN ancré dans l’IT industrielle et les réseaux, j'explore l'univers de la maison connectée depuis plus de 15 ans. Ce qui n’était au départ qu’une quête de sécurité est devenu une véritable expertise que je peaufine au quotidien. Entre deux lignes de code YAML et un nouveau protocole testé, je décrypte pour vous les enjeux de la maison connectée. Retrouvez mes analyses et retours d'expérience ici-même et dans mon podcast Domotique Chronique.

energie
energie
promos domotique
green
promos domotique