Chapitre 7. Divers

Les sujets qui ne correspondaient à aucune des sections de ce manuel, tels que la barre d'humeur, Amarok sur d'autres plate-formes, dépannage, les problèmes usuels, et la FAQ :

La barre d'humeur

La barre d'humeur vous affiche « l'humeur » d'une piste, que vous pouvez ensuite utiliser pour savoir quand quelque chose d'intéressant se produit dans la chanson.

Afin qu'Amarok affiche des barres d'humeur pour votre musique, vous aurez donc besoin du programme Moodbar (reportez-vous un peu plus loin pour les téléchargements et les paquets binaires).

Le paquet moodbar requiert GStreamer et divers modules externes selon le type de fichiers que vous utilisez (reportez-vous aux Types de fichiers pris en charge). Vous n'aurez pas besoin du paquet phonon-backend-gstreamer pour créer des fichiers .mood.

Il y a deux parties constituant la nouvelle implémentation de la barre d'humeur : le paquet moodbar, qui contient un programme qui prend un fichier musical et crée un fichier .mood en sortie, et la prise en charge du code dans les sources d'Amarok, qui exécute le paquet binaire et affiche donc la barre d'humeur. Le paquet moodbar dépend des librairies GStreamer. Sans le paquet moodbar, Amarok ne peut pas créer de barres d'humeur pour votre musique.

Une alternative est d'utiliser le nouveau script qui créera les fichiers .mood pour les pistes dans une liste de lecture d'Amarok; c'est une exception à ce qui précède. Le script n'a besoin que d'Amarok pour fonctionner, mais il ne créera les fichiers .mood seulement si les pistes sont dans une liste de lecture.

Nous devons la barre d'humeur au travail de Gavin Wood et de Simon O'Keefe, qui ont construit les algorithmes; leur publication originale est ici.

Résumé des pré-requis

  • Le paquet binaire de la barre d'humeur dans votre variable PATH (elle devrait être listée une fois que vous aurez exécuté which moodbar dans une console) — N'oubliez pas de configurer le paquet moodbar avec la commande ./configure --prefix=`pkg-config --variable=prefix gstreamer-0.10`

  • La librairie GStreamer 0.10 et les modules externes pour les formats que vous voulez que la barre d'humeur soit capable d'analyser.

  • La transformée de Fourier la plus rapide de l'Ouest soit en bon anglais the Fastest Fourier Transform In The West (fftw.org). La librairie de FFTW version 3.0 ou supérieure (au moins la version simple précision à virgule flottante - libfftw3f) — Si votre plate-forme ne le fournit pas ou si vous devez compilez votre propre version, n'oubliez pas de configurer le paquet FFTW avec la commande ./configure --enable-single

  • Une version d'Amarok avec une option utiliser les barres d'humeur dans la section générale de l'écran de configuration. Autrement dit la version 1.4.4 ou supérieure pour la série 1.4 ou 2.2.2 ou supérieure pour la série 2.x.

Note

Les systèmes avec des gestionnaires de paquets devraient installer automatiquement les modules externes GStreamer et FFTW avec le paquet de la barre d'humeur (moodbar); cette information est donnée surtout pour les personnes qui souhaitent ou qui ont besoin de compiler les sources ou d'installer les paquets manuellement.

Utilisation

Actuellement les fichiers .mood doivent être créés manuellement. Amarok ne peut pas le faire pour vous. Pour le faire pour votre collection toute entière, utilisez le script de création de fichier de barre d'humeur décrit ci-dessous.

Pour activer l'affichage des barres d'humeur dans Amarok, activez-le dans la configuration : configurationconfigurer Amarok...généralafficher la barre d'humeur dans la barre de progression. Les barres d'humeur devraient maintenant s'afficher dans le curseur de la piste dans la fenêtre de lecture et de la liste de lecture; il y a aura aussi un champ humeur que vous pouvez ajouter à l'organisation de votre liste de lecture.

Installation

Téléchargements des sources

La dernière publication : moodbar-0.1.2.tar.gz — il s'agit du paquet contenant les sources de la barre d'humeur, qui contient le programme moodbar (qui crée les fichiers .mood à partir des fichiers fichiers musicaux), et un module externe GStreamer qui fait le travail.Le paquet de la barre d'humeur a besoin de GStreamer 0.10.* installé, plus la version 0.10.* de divers modules externes. Assurez-vous d'installer le paquet de la barre d'humeur dans le même préfixe que GStreamer — suivez les instructions dans le fichier INSTALL.

Si vous trouver des bugs, veuillez envoyer un rapport de bug à bugs.kde.org SVP.

Paquets Debian

Un paquet pour la barre d'humeur est maintenant disponible dans Debian instable (sid). Exécutez simplement apt-get install moodbar. Vous voudrez peut-être aussi installer gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, et gstreamer0.10-plugins-bad pour la prise en charge de certains formats.

Paquets Ubuntu et Kubuntu

Un paquet pour la barre d'humeur est disponible dans les dépôts officiels; assurez-vous que la section universe soit activée (ce qui devrait être le cas par défaut). Installez juste le paquet moodbar avec votre gestionnaire de paquets préféré (Kpackagekit, Aptitude, Adept, Synaptic, Muon). Vous voudrez peut-être aussi installer gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, and gstreamer0.10-plugins-bad pour la prise en charge de certains formats.

Ou, pour installer, collez ceci dans Firefox ou Konqueror et appuyez sur Entrée.

apt://moodbar,gstreamer0.10-plugins-ugly,gstreamer0.10-plugins-good,gstreamer0.10-plugins-bad?section=universe?refresh=yep

ebuilds Gentoo

La barre d'humeur est disponible dans Portage, tapez simplement emerge moodbar Les ebuilds non officiels ne sont plus nécessaires.

Paquets RPM

Si vous êtes un utilisateur d'une distribution basée sur le système de paquets RPM, vous pouvez construire un .rpm grâce à rpmbuild avec la dernière spécification

gstreamer-plugins-moodbar.spec. Le paquet binaire sera bientôt disponible pour PLD-linux.

Fedora

Dans Fedora 7 et supérieure (jusqu'à F16 lors de l'écriture de ce manuel), la barre d'humeur est disponible dans les dépôts par défaut. Installez-la simplement avec votre interface préférée de PackageKit ou avec la commande yum suivante :

yum install moodbar

Paquets openSUSE

openSUSE 11.0 et supérieure, installe automatiquement les paquets suivants :

  • gstreamer-0_10-fluendo-mp3

  • gstreamer-0_10-plugins-base

Aussi, si vos chansons contiennent des balises ID3, vous devez installer

  • gstreamer-0_10-plugins-good

Installation de la barre d'humeur

L'installation en 1 clic pour openSUSE 11. Choisissez juste votre version et la procédure d'installation fera le reste :

Pour installer, ajoutez le bon dépôt pour votre version d'openSUSE dans YaST ensuite assurez-vous que les paquets suivants soient installés :

  • gstreamer-0_10-plugins-good

  • gstreamer-0_10-plugins-ugly

  • gstreamer-0_10-plugins-moodbar

  • mad

Pour des détails sur la façon d'ajouter des dépôts, rendez-vous sur le wiki d'openSUSE.

Si vous utilisez l'outil de gestion de paquets intelligent, ajoutez le canal en saisissant la commande suivante, pensez à modifier l'URL pour correspondre à votre version d'openSUSE: smart channel --add http://software.opensuse.org/download/home:/d7/openSUSE_10.2/home:d7.repo . Puis saisissez smart update home:d7 . Vous pouvez maintenant installer les paquets nécessaires avec la commande smart install gstreamer10-plugins-moodbar . Les dépendances sont automatiquement résolues.

Paquets Mandriva

Tout d'abord, vous devez ajouter les dépôts PLF, donc rendez-vous sur easyurpmi.zarb.org et ajoutez-les à votre liste de dépôts.

Ensuite installez simplement les paquets suivants :

  • gstreamer0.10-moodbar

  • gstreamer0.10-plugins-ugly

  • gstreamer0.10-plugins-good

  • gstreamer0.10-plugins-bad

Arch Linux®

Il y a un PKGBUILD pour la barre d'humeur dans le dépôt communautaire Arch User Repository (AUR) disponible ici.

Pour davantage d'informations sur le dépôt AUR et les PKGBUILDs, rendez-vous sur le guide utilisateur d'AUR.

FreeBSD

Il existe un portage : audio/gstreamer-plugins-moodbar ici.

Pour installer le port : cd /usr/ports/audio/gstreamer-plugins-moodbar/ && make install clean

Pour ajouter le paquet : pkg_add -r gstreamer-plugins-moodbar

Script de création du fichier de la barre d'humeur

Voici un simple script bash qui ajoutera les fichiers .mood à votre collection entière. Il ajoute les fichiers mood pour tous les fichiers correspondant aux extensions dans le dossier courant et tous les sous-dossiers, il est donc préférable de l'exécuter depuis la base de vos dossiers musicaux.

#!/bin/bash
 DIR=${1:-.}
 LAST=~/.moodbar-lastreadsong
 C_RET=0
 control_c()        # exécute si l'utilisateur appuie sur control-c
 {
   echo "" > "$LAST"
   echo "Exiting..."
   exit
 }
 if [ -e "$LAST" ]; then
   read filetodelete < "$LAST"
   rm "$filetodelete" "$LAST"
 fi
 exec 9< <(find "$DIR" -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)') # vous aurez peut-etre besoin d'ajouter m4a et mp4
 while read i
 do
   TEMP="${i%.*}.mood"
   OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
   trap 'control_c "$OUTF"' INT
   if [ ! -e "$OUTF" ]
     moodbar -o "$OUTF" "$i"
   fi
 done <&9
 exec 9<&-
 exit $C_RET

Copiez et collez le script ci-dessus dans un fichier texte nommé moodbar.sh dans votre dossier musical et exécutez les commandes suivantes :

cd /chemin/vers/la/musique bash moodbar.sh

Alternativement, si cette commande n'a pas fonctionné, vous pouvez essayer :

chmod +x moodbar.sh ./moodbar.sh

Cela peut prendre vraiment beaucoup de temps pour les grosses collections ! Remarquez que les barres d'humeur ne s'afficheront pas dans Amarok jusqu'à qu'Amarok réanalyse la collection. Les fichiers mood créés seront des fichiers cachés (c'est-à-dire préfixés d'un point). Donc gardez cela à l'esprit si vous ne pouvez pas trouver les fichiers mood créés.

Fondé sur le script précédent, une alternative pour les CPU multi-coeurs :

#!/bin/bash
 NUMCPU="$(grep ^processor /proc/cpuinfo | wc -l)"
 find . -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)' | while read i ; do
        while [ `jobs -p | wc -l` -ge $NUMCPU ] ; do
                sleep 0.1
        done
        TEMP="${i%.*}.mood"
        OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
        if [ ! -e "$OUTF" ] ; then
                moodbar -o "$OUTF" "$i" &
        fi
 done

Il existe un autre script sur Github, qui affiche un aperçu des fichiers mood créés sur la ligne de commande pendant qu'ils sont en cours de création. Informez-vous davantage sur le blog de l'auteur.

Dépannage

  • Si l'exécutable de la barre d'humeur vous donne une erreur de bus, cela signifie presque toujours qu'il ne peut pas décoder (ou trouver) votre fichier. Jetez un oeil aux types de fichiers pris en charge plus bas pour avoir des pistes pour savoir quels modules externes GStreamer installer. Vous pouvez aussi essayer la commande suivante pour tester si GStreamer peut décoder votre fichier : gst-launch filesrc location=[file] ! decodebin ! fakesink

  • Si vous utilisez le module externe ffmpeg pour décoder les mp3, vous pouvez aussi obtenir des erreurs de bus mystérieuses. La solution est d'arrêter d'utiliser le module externe ffmpeg, étant donné qu'il est extrêmement buggué — utilisez mad à la place.

  • Si l'exécutable de la barre d'humeur vous indique qu'il ne peut pas trouver un élément — ie; s'il donne un message d'erreur comme

    Could not create element of type fftwspectrum, please install it.

    — cela signifie habituellement que soit vous n'avez pas les modules externes nécessaires installés (regardez la liste des modules externes ici), soit vous n'avez pas installé le paquet moodbar avec le même préfixe que GStreamer. Si libmoodbar.so et libgstdecodebin.so ne sont pas dans le même dossier, cela signifie que le paquet moodbar n'a pas été installé avec le même préfixe que GStreamer. Veuillez donc lire le fichier INSTALL pour obtenir les instructions sur la manière de configurer le paquet moodbar correctement. Alternativement, si vous savez ce que vous faîtes, il peut être plus facile pour vous de jeter un oeil à la variable d'environnement GST_PLUGIN_PATH.

  • Si vous vous demandez pourquoi la barre d'humeur ne fonctionne pas, qu'elle ne fonctionne pas du tout ou qu'elle ne fonctionne pas pour un fichier particulier, exécutez la commande suivante, où [fichier] est un fichier musical : moodbar -o test.mood [fichier]

  • Si vous avez plusieurs version de GStreamer installées, assurez-vous que tous les modules externes nécessaires soient installés pour la version 0.10.* -- différentes versions ne peuvent pas utiliser les modules externes des unes et des autres.

Types de fichier pris en charge

Vous aurez besoin de divers modules externes GStreamer pour activer la barre d'humeur pour analyser vos fichiers. Voici une liste de modules externes dont vous aurez besoin; assurez-vous d'installer la version 0.10.* de chaque module externe :

Type de fichierModule externe nécessaireRemarque

Tous

gstreamer-0.10.*, gst-plugins-base, gst-plugins-good

 

mp3

gst-plugins-mad (dans gst-plugins-ugly)

Le module externe ffmpeg a des problèmes; ne l'utilisez pas pour les mp3

ogg

gst-plugins-vorbis, gst-plugins-ogg

 

flac

gst-plugins-flac

 

mp4

gst-plugins-faad, gst-plugins-bad

 

musepack

gst-plugins-musepack

 

wma

gst-plugins-ffmpeg

 

Captures d'écran

La barre d'humeur dans la barre de progression dans Amarok 2

La barre d'humeur dans la barre de progression dans Amarok 2