MusicIP
Référence: Serveur Ubuntu 20.04.3
Voici quelques notes qui vont faciliter l’installation de MusicIP dans le cadre de l’utilisation du plug-in SugarCube avec Logitech Media Server.
MusicIP Server va faire une analyse des pièces musicales et enregistrer l’empreinte dans une base de données pour ensuite utiliser celles-ci pour créer des listes de lecture générées à partir d’un fichier musical (graine).
L’analyse des fichiers est passablement longue à effectuer (plusieurs semaines sur un processeur Xeon E) et si votre base de données du serveur est effacée alors il faut recommencer l’analyse. Il est donc préférable d’utiliser l’application MIXER plutôt que faire l’analyse avec l’application SERVER car avec le MIXER l’analyse peut-être enregistrée directement dans les métadonnées du fichier musical et l’analyse ne sera donc pas à refaire sur ces fichiers.
MusicIP analyse les fichiers audio selon des paramètres définis plus bas et ne semble pas pouvoir faire l’analyse des fichiers autres que 16bits-44khz. Pour en faire l’analyse, il faut faire une copie 16-44 de vos fichiers haute-résolution faire l’analyse de ceux-ci et ensuite exporter les tags et les réimporter dans le fichier original. (Voir les scripts sur la page Scripts bash et Zenity )
MusicIP est un programme 32bits il faut donc ajouter cette architecture à notre système 64bits
sudo dpkg --add-architecture i386
sudo apt update
Du dossier de sauvegarde, copier le dossier .MusicMagic dans le /home/nas
Du dossier de sauvegarde, copier le dossier MusicIP dans le dossier /home/nas/logiciels
Ou télécharger du site https://spicefly.com/article.php?page=musicip-software
Installer les pré-requis pour l’exécution de MusicIP:
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-11-jdk
sudo apt install openjdk-11-jre-headless:i386
sudo apt install openjdk-11-jdk:i386
sudo nano /etc/bash.bashrc
Ajouter à la fin du fichier:
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-i386 export JAVA_HOME PATH=$PATH:$JAVA_HOME/bin export PATH
Éditer le fichier mmm.ini :
nano /home/nas/.MusicMagic/mmm.ini
[mix] mixsize=20 tracks restrict=0 tracks style=100 variety=5 seed=1 [server] proxy=0 host=http://music.predixis.com proxyport=80 authentication=0 user= password= [services] key= cache=/home/nas/.MusicMagic/default.m3lib port=10002 tivo=1 upnp=1 api=1 readonly=0 refresh=15
Créer un fichier de configuration pour le démarrage du service MusicIP
sudo nano /etc/systemd/system/musicip_server.service
[Unit] After=network.service [Service] Type=simple User=nas Group=sambashare ExecStart=/home/nas/scripts/autostart_musicip.sh TimeoutStartSec=0 RemainAfterExit=yes [Install] WantedBy=default.target
Créer le script qui sera exécuté pour ce service.
sudo nano /home/nas/scripts/autostart_musicip.sh
#!/bin/bash #Démarrer MusicIP server /home/nas/logiciels/MusicIP/MusicMagicMixer/MusicMagicServer start
Ajuster les permissions de l’unité systemd ainsi que le script:
sudo chmod 744 /home/nas/scripts/autostart_musicip.sh
sudo chmod 664 /etc/systemd/system/musicip_server.service
Activer ensuite le service:
sudo systemctl daemon-reload
sudo systemctl enable musicip_server.service
sudo service musicip_server start
Voici le retour de la commande précédente:
Created symlink /etc/systemd/system/default.target.wants/musicip_server.service → /etc/systemd/system/musicip_server.service.
Ensuite il faut accéder au mixer afin de configurer quelques paramètres avant de lancer l’analyse. Une installation sur un serveur Ubuntu n’a pas d’interface X. L’environnement JAVA sous X est requis pour lancer l’application, donc d’un poste de travail linux (Mint Cinnamon).
Ouvrir MusicMixer via SSH X11:
ssh -X -v -p22 -L 4000:localhost:4000 nas@192.168.0.11
Un terminal est ouvert connecté en ssh avec votre hôte, la magie, c’est que l’option X permet de lancer une application sur l’hôte nécessitant un serveur X en utilisant l’environnement de notre station de travail.
/home/nas/logiciels/MusicIP/MusicMagicMixer/MusicMagicMixer start
Dans l’application Mixer,
Modifier les options suivantes afin de permettre l’enregistrement de l’analyse dans les méta-données des fichiers musicaux.
Fichier -> Preferences -> General
décocher Check for software updates on startup
cocher Archive analysis when tracks are analyzed
Cocher Allow version 2.4 of ID3 tags
Fichier -> Preferences -> Services Tab
décocher API et Tivo (Ainsi ils ne causeront pas de problèmes avec le serveur)
Fichier -> Preferences -> Exclusions
Ajouter des restrictions et ajuster les durées minimale et maximale de longueur de piste à analyser.
Supprimer le contenu de l’audiothèque (si celle-ci contient déjà des éléments et sans effacer les fichiers)
Fichier -> Save Cache
Ajouter le répertoire des médias à l’audiothèque en utilisant le même chemin que dans Logitech Media Server
/media/nas1/Audio/LMS/
Fichier -> Save Cache
Laisser le mixer scanner le répertoire (Très long voire quelques semaines si les fichiers n’ont jamais été traités)
Quitter le Mixer (Seulement une fois l’opération de scan terminée)
Maintenant de retour dans le navigateur web à l’URL (http://192.168.0.11:10002/server) de votre serveur MusicIp, il faut rafraichir l’affichage et le bouton Reload Cache est maintenant visible.
Appuyer sur Reload Cache
Le seul ennui, c’est que les modifications aux fichiers avec le MIXER va modifier le propriétaire du fichier et le groupe et ainsi votre LMS va probablement voir les fichiers disparaitrent de sa base de données au fil de l’analyse jour après jour.
Pour normaliser la situation, il faut faire les commandes suivantes régulièrement directement sur le serveur ou résident les fichiers ou simplement à la fin de l’analyse pour que les paramètres de propriétés des fichiers soient correctement configurés. Dans mon cas j’utilise les permissions par ACL alors j’applique aussi les changements aux permission ACL.
Les bonnes commandes sont à ajuster pour vous, j’ai suivi les instructions du TUTO: Dossier partagé avec ACL entre utilisateurs sous Linux et Windows
sudo chown -R nas:sambashare /media/nas1/Audio/Musique/*
sudo chmod -R 774 /media/nas1/Audio/Musique/*
sudo setfacl -Rm g:sambashare:rwX /media/nas1
sudo setfacl -Rm d:g:sambashare:rwX /media/nas1
Dans l’interface de Logitech Media Server:
Lancer un scan complet des fichier ds LMS après l’activation du plugin MusicIP et configurer les préférences des plugin’s MusicIP et SugarCube. Vous pouvez vous référez à cet exemple: https://blog.infolaf.ca/wiki/logitech-media-server-preferences-et-plugin/
Références des commandes de MusicIP: http://musicip.wikia.com/wiki/Help_-_Advanced