Amarok/Manuel/Divers/Moodbar

    From KDE UserBase Wiki
    Revision as of 16:43, 24 March 2018 by ChristianW (talk | contribs)

    La barre d'ambiance (Moodbar)

    La Moodbar donne l' "ambiance" (mood) d'une piste, que vous pouvez ensuite utiliser pour signaler que quelquechose d'intéressant arrive dans la chanson.

    Pour que Amarok affiche des barres d'ambiance pour votre musique, vous aurez besoin du programme Moodbar (voir ci-dessous pour le téléchargement et les paquetages binaires).

    Le paquetage Moodbar nécessite GStreamer et des greffons variés qui dépendent des types de fichiers que vous utilisez (voir les types de fichiers supportés). Vous n'aurez pas besoin du paquetage phonon-backend-gstreamer pour créer des fichiers .mood .

    Il y a deux parties dans l'implémentation de la nouvelle Moodbar : le paquetage Moodbar , qui contient un programme qui prend en entrée un fichier de musique et qui génère un fichier .mood , et un interpréteur en source Amarok , qui exécute le binaire et affiche la Moodbar. Le paquetage Moodbar est lié aux bibliothèques GStreamer . Sans le paquetage Moodbar , Amarok ne peut pas générer les fichers moodbars de votre musique.

    Comme palliatif, il existe un nouveau script qui peut créer les fichiers moodbar pour les pistes d'une liste de morceaux à jouer (playlist) Amarok ; c'est une exception à ce qui a été dit plus haut. Le script n'a rien besoin d'autre que de Amarok pour s'exécuter, mais ne crée que les fichiers .mood comme ils figurent dans la Playlist.

    Moodbar est le résultat du travail de Gavin Wood et de Simon O'Keefe, qui ont conçus les algorithmes; leur documentation initiale est ici.

    Résumé des besoins

    • Le binaire de Moodbar , dans votre variable PATH (après avoir démarré
      which moodbar
      d'une console) — Pensez à configurer le paquetage Moodbar avec
      ./configure --prefix=`pkg-config --variable=prefix gstreamer-0.10`
    • La bibliothèque GStreamer 0.10 et les greffons pour les formats que vous voulez que Moodbar puisse analyser. Un fork basé sur GStreamer 1.0 est aussi disponible, voir ci-dessous.
    • La bibliothèque FFTW transformée de Fourier la plus rapide de l'ouest - Fastest Fourier Transform In The West - (fftw.org) version 3.0 ou supérieure (au moins en version flottant simple précision - libfftw3f) — si votre plateforme ne vous fournit pas cela ou bien si vous avez besoin de compiler votre propre version, vérifiez de bien configurer le paquetage FFTW avec
      ./configure --enable-single
    • A version of Amarok with a Use moods option in the General section of the configuration screen. This means 1.4.4 or higher in the 1.4 series or 2.2.2 or higher in the 2.x series.

    Information

    Systems with package managers should automatically install the GStreamer plugins and FFTW along with the Moodbar package; this information is provided mostly for people who want or need to compile from source or manually install packages.


    Utilisation

    Aujourd'hui les fichiers .mood doivent être générés la main. Amarok ne peut pas le faire pour vous. Pour appliquer cela à votre collection entière, utilisez le Script de génération de fichier Moodbar décrit ci-dessous.

    To enable the display of moodbars in Amarok, activate it in the configuration: Settings -> Configure Amarok -> General -> Show Moodbar in Progress Slider. Moodbars should now appear in the track sliders in the player window and Playlist; there will also be a mood field that you may add to your playlist layouts.

    Installation

    Téléchargement des sources
    Latest release: moodbar-0.1.2.tar.gz — this is the Moodbar source package, which contains the Moodbar program (which generates .mood files from music files), and a GStreamer plugin that does the work. The Moodbar package needs GStreamer 0.10.* installed, plus the 0.10.* version of various plugins. Be sure to install the Moodbar package into the same prefix as GStreamer — follow the instructions in the INSTALL file.

    As the Moodbar version above uses nowadays obsolete GStreamer 0.10 and the original source code link is dead, sources have been uploaded to GitHub and a forked version supporting GStreamer 1.0 has been developed.

    If you find any bugs, please submit a bug report at bugs.kde.org.

    Paquetages Debian

    A package for Moodbar is now available in Debian unstable. Simply run

    apt-get install moodbar

    . You will likely also want to install gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, and gstreamer0.10-plugins-bad for format support.

    Paquetages Kubuntu et Ubuntu

    A package for Moodbar is available in the official package repository; just ensure the universe section is activated (which should be default anyway). Just install the package moodbar with your preferred package manager (Kpackagekit, Aptitude, Adept, Synaptic). You will likely also want to install gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, and gstreamer0.10-plugins-bad for format support.

    Or, to install, paste this into Firefox or Konqueror and hit Enter.

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

    Moodbar is available in Portage, simply

    emerge moodbar

    Unofficial ebuilds are no longer required.

    RPM builds

    If you are a rpm-based distro user, you can build a .rpm using rpmbuild with latest gstreamer-plugins-moodbar.spec. The binary package will be soon available for PLD-linux distro.

    Fedora

    In Fedora 7 and higher (up to 16 as of this writing) Moodbar is available in the default repositories. Simply install it with your PackageKit GUI or with the following yum command:

    yum install moodbar
    Paquetages openSUSE

    openSUSE 11.0 and later, automatically install the following packages:

    • gstreamer-0_10-fluendo-mp3
    • gstreamer-0_10-plugins-base

    Also, if your songs contain ID3 tags, you must install

    • gstreamer-0_10-plugins-good
    Installation de Moodbar

    1-Click Install for openSUSE 11. - just choose your version and installation procedure will do the rest:

    To install, add the correct repository for your version of openSUSE to YaST then make sure the following packages are installed:

    • gstreamer-0_10-plugins-good
    • gstreamer-0_10-plugins-ugly
    • gstreamer-0_10-plugins-moodbar
    • mad

    Pour plus de détails sur la manière d'ajouter des dépôts, voiyez le wiki openSUSE.

    If you are using the Smart software management tool, add the channel by entering the following at the command line, remember to change the URL to match your version of openSUSE:

    smart channel --add http://software.opensuse.org/download/home:/d7/openSUSE_10.2/home:d7.repo

    Then enter

    smart update home:d7

    You can now install the required packages by

    smart install gstreamer10-plugins-moodbar

    Dependencies are resolved automatically.

    Paquetages Mandriva

    First of all, you need to add PLF repositories, so visit easyurpmi.zarb.org and add them to your repositories list. Then simply install the following packages:

    • gstreamer0.10-moodbar
    • gstreamer0.10-plugins-ugly
    • gstreamer0.10-plugins-good
    • gstreamer0.10-plugins-bad
    Archive Linux

    There is a PKGBUILD for Moodbar in the Arch User Repository (AUR) available here.

    For more information about the AUR and working with PKGBUILDs, see the AUR User Guidelines.

    FreeBSD

    There is a port: audio/gstreamer-plugins-moodbar here.

    To install the port:

    cd /usr/ports/audio/gstreamer-plugins-moodbar/ && make install clean

    To add the package:

    pkg_add -r gstreamer-plugins-moodbar

    Script de génération de fichiers Moodbar

    Here is a simple bash script that will add .mood files to your entire collection. It adds mood files for all files matching the extensions in the current directory and all subdirectories, so it's best run from the base of your music directory.

    #!/bin/bash
     DIR=${1:-.}
     LAST=~/.moodbar-lastreadsong
     C_RET=0
     
     control_c()        # run if user hits 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)') # you may need to add m4a and mp4
     while read i
     do
       TEMP="${i%.*}.mood"
       OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
       trap 'control_c "$OUTF"' INT
       if [ ! -e "$OUTF" ] || [ "$i" -nt "$OUTF" ]; then
         moodbar -o "$OUTF" "$i" || { C_RET=1; echo "An error occurred!" >&2; }
       fi
     done <&9
     exec 9<&-
     
     exit $C_RET
    

    Copy and paste the above into a text file named moodbar.sh in your music directory and run the following commands:

    cd /path/to/music
     bash moodbar.sh

    Alternatively if the above does not work, you may try:

    chmod +x moodbar.sh
     ./moodbar.sh

    This may take a very long time for large collections! Note that the moodbars will not appear in Amarok until Amarok rescans the collection. The generated mood files will be dotfiles (i.e., prefixed with a full stop), or hidden files - so keep this in mind if you can't find any generated mood files.

    Basé sur le script ci-dessus, voici une variante pour les CPUs 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
    

    Dead Links

    The links are not available anymore. I don't know if it should be updated or deleted

    There is another script at Github, which shows previews of the generated mood files on the command line while they are being generated. Read more about it at the author's blog.

    Dysfonctionnements

    • If the Moodbar executable gives you a bus error, that almost always means it can't decode (or can't find) your file. Take a look at the supported file types below for ideas on which GStreamer plugins to install. You can also try the command below to test whether GStreamer can decode your file:
      gst-launch filesrc location=[file] ! decodebin ! fakesink
    • If you are using the ffmpeg plugin to decode mp3s, you may also receive mysterious bus errors. The solution is to stop using the ffmpeg plugin, as it is extremely buggy — use mad instead.
    • If the Moodbar executable tells you that it can't find an element — i.e., it gives an error message like
      Could not create element of type fftwspectrum, please install it.
      — that usually means that you either don't have the required plugins installed (see the plugin list here), or that you didn't install the Moodbar package in the same prefix as GStreamer. If libmoodbar.so and libgstdecodebin.so are not in the same directory, then Moodbar is not installed in the same prefix as GStreamer. Please read the INSTALL file for instructions on how to configure the moodbar package correctly. Alternatively, if you know what you're doing, it may be easier for you to take a look at the GST_PLUGIN_PATH environment variable.
    • If you're wondering why the Moodbar isn't working, either not working at all or not working for a particular file, run the command below, where [file] is a music file:
      moodbar -o test.mood [file]
    • If you have multiple versions of GStreamer installed, make sure all of the required plugins are installed for version 0.10.* -- different versions cannot use each other's plugins.

    Types de fichiers pris en charge

    You will need various Gstreamer plugins to enable Moodbar to analyze your files. Here is a list of the plugins you will need; make sure to install the 0.10.* version of each plugin:

    Filetype Required Plugin Note
    All gstreamer-0.10.*, gst-plugins-base, gst-plugins-good
    mp3 gst-plugins-mad (in gst-plugins-ugly) ffmpeg plugin has problems; do not use for 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

    Barre de progression Moodbar de Amarok 2
    Barre de progression Moodbar de Amarok 2