Audio multiroom avec LMS

Bonjour à tous,

J’ai installé Gladys récemment et j’aurai aimé m’en servir pour contrôler un serveur audio multiroom. Je suis reparti de ce que j’avais déjà, à savoir Logitech Media Server, et j’ai découvert que ce serveur est entièrement pilotable par des requêtes HTTP.

J’ai donc pensé que ça pourrait être sympa de faire un module qui pilote LMS depuis Gladys, avec entre autres des possibilités de contrôle vocal pour les fonctions simples au début (play/pause/stop, lancer le flow deezer, lancer une radio, … avec le choix du périphérique).

J’ai commencé une ébauche de module (qui ajoute juste les fonctions play, stop et pause, sans IHM ni rien, juste pour tester des scripts).

Comme je suis nouveau sur Gladys, je ne sais pas trop quelles sont les possibilités actuelles en terme de gestion du multiroom (il y en a ?). A votre avis, ça vaut le coup de passer du temps à faire mon module de commande LMS, comparé à ce qui existe déjà ?

Je précise que je suis familier avec le codage et la programmation orientée objet, mais que je n’y connais absolument rien en javascript ni en tout ce qui touche aux applications web.

je ne trouve pas comment faire du multi hormis avec sonos donc situ as une solution :stuck_out_tongue:

Bon, voila,
J’ai commencé à faire quelques fonctions pour interfacer Gladys avec Logitech Media Server.
Les fonctions disponibles pour l’instant :

  • play/pause/stop
  • suivant
  • précédent
  • réglage du volume
  • lancer le flow deezer (certainement la fonction la moins stable. Il faut l’app deezer ajoutée sur le serveur avec un compte configuré)

Pour chaque fonction, on doit choisir le périphérique de sortie concerné (tout l’intérêt du multiroom) avec l’adresse IP ou MAC du périphérique sur LMS.
Je précise que le module est juste un prototype, pas d’installation auto, pas d’interface, pas de boutons, pas de documentation, … il ajoute juste des fonctions très basiques utilisables dans des scripts.

Pour l’instant il fait ce que je veux, je vais peut-être y ajouter quelques fonctionnalités et soigner la forme plus tard. Toute contribution est bien sûr grandement appréciée !

Mon lien GitHub : https://github.com/romher/GladysLMS

PS : Je suis dispo pour aider mais je ne garantie pas le SAV complet :smile: C’est juste un petit utilitaire fait sur un coin de table.

1 Like

je ne connaissais pas LMS c’est top !
ça marche bien avec différentes platine mais par contre je n’arrive pas à faire sortir le son par mon enceinte BT via le pi zero.

La config de la carte son avec lms ne fonctionne pas alors que aplay fonctionne parfaitement

edit : j’ai résolu mon problème avec picoreplayer sur le rpi esclave

Ravi de pouvoir aider !

Tu as essayé avec mon module ?

:slight_smile: par contre j ai du faire une connerie en installant le server sur le maitre puisque gladys n emet plus de voix :s

Ah ! Chez moi Gladys parle correctement sur le maître, qui est aussi une platine LMS (avec squeezelite).

moi c est le server … je ne trouve pas d’où cela viens

Mon raspberry où est Gladys est à la fois server LMS et platine, je sais pas si ça peut avoir un impact (je ne pense pas).

je vais trouver j’espère.

C’est vraiment bien lms tu pense pouvoir faire quoi dans l’avenir avec ?

Je suis nul en prog donc je ne peux pas t aider

Je ne sais pas trop, peut-être une commande pour lancer un album/une playlist particulière de la bibliothèque comme j’ai fait avec le flow deezer. Je ne sais pas si ça serait difficile.

Je ne pense pas faire les fonctions de recherche ni faire une interface graphique. Ça doit être assez facile à faire mais je n’y connais rien du tout en html.

Je pense qu’il y a moyen de faire des trucs vraiment aboutis, mais je n’ai pas beaucoup de temps à y consacrer. Si tu as des idées de fonctions basiques, n’hésite pas à proposer quand même !

Perso mes besoins c’était surtout de choisir une playlist par exemple sur mon smartphone (avec l’appli squeezer), la lancer sur la bonne platine et ensuite commander les play/pause/stop/suivant/précédent automatiquement avec des commandes vocales Gladys (je n’ai pas essayé de voir comment la reconnaissance vocale réagi quand il y a de la musique). Ça serait encore mieux de choisir sa playlist avec la commande vocale Gladys, comme ça on peut se dispenser complètement d’un ordi/smartphone pour contrôler.

oui ce qu’il serait bien (pour moi) c’est d’avoir la possibilité de dire joue du jazz et que cela l’ensemble une playlist définit ça sur quelque playlits (4 ou 5 je pense) et aussi pourvoir lancer les radios (nrj etc…)

bien sur faire suivant précèdent volume etc.

Pour moi même s’il faut tout rentrer dans un script et après l’associer à une sentence ce n’est pas grave. Même si c’est lourd pour l’utilisateur ça serait un bon début.

Si tu veux que du html et css je m’y connais :stuck_out_tongue:
Par contre j’avoue qu’avec le smartphone c’est actuellement bien j’ai trouvé l’utilité à mon zero w :smiley:

J’ai trouvé de la doc si des fois ça peut te servir :

http://wiki.micasaverde.com/index.php/Squeezebox

ps : gladys reparle ce matin ……

Merci pour la doc, c’est le site que j’utilisais au début. Ensuite, j’ai découvert que toute l’API est documentée dans l’onglet “aide” de la page principale LMS :upside_down_face:

Je suis en train de faire la commande pour lancer une radio. Dans la solution “simple” que j’ai en tête, Il faudra créer les scripts Gladys radio par radio. Je fais une commande qui lance une radio à partir de l’url qu’on lui donne en entrée, et on renseigne dans le script Gladys l’url de la radio qu’on veut lancer.
A mon avis ce n’est pas un trop gros problème, en général on écoute 2 ou 3 radio différentes max, ça fait donc 3 scripts Gladys. Je ne connais personne qui écoute régulièrement 10 radios différentes …
L’url des radios est affichée directement sur la page LMS quand on en lance une, il y a juste à copier/coller.

Pour les playlist, ce qu’il est possible de faire simplement, c’est une fonction qui ajouter une playlist à la liste de lecture actuelle. Dans un script Gladys (par exemple “jazz”), on liste les playlist qu’on veut mettre dans le groupe “jazz”, et on les ajoute une par une à la liste de lecture avec cette commande.

Je peux aussi faire une commande qui modifie le type de lecture (lecture aléatoire, boucle sur la liste de lecture, boucle sur une musique, les fonctionnalités classiques !)

Le tout avec bien sûr le choix de la platine sur laquelle on effectue la commande.

Les commandes précédent, suivant, play, pause, stop et volume sont génériques, elles peuvent être utilisées dans n’importe quel contexte. Idem pour les futures commandes qui modifieront le type de lecture.

c’est parfait c’est exactement ce qu’il faut

Pour ma part en radio j’en ai trois max. J’utilise soundcloud our les playlists mais ce n’est pas terrible encore.

J’ai hate de voir ce que ça donne !