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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.