From Amarok Wiki

ATENCIÓN: Esta página no está actualizada, puesto que hace referencia a Amarok 2.2.x

Esta página necesita ser actualizada a Amarok 2.5.0

Amarok2 moodbar.png
Más imágenes de la barra de humor

Contents


La barra de humor

¡La barra de humor vuelve oficialmente en Amarok 2.2.2! Muestra el "humor" de una canción, lo que puedes usar para adivinar cuando va a suceder algo interesante en la misma.

Para que Amarok analice tu música y así crear barras de humor, necesitarás el programa moodbar (ver más abajo para descargas y archivos binarios). El paquete moodbar requiere gstreamer y varios plugins dependiendo de los tipos de archivo que utilices (visita la lista de #Tipos de archivo utilizables). No necesitas el motor Gstreamer de Phonon.

La barra de humor de Amarok 2.2.2 ha sido totalmente reescrita, y en esta nueva implementación se pueden distinguir dos partes: el paquete moodbar, que contiene un programa que analiza tu música y genera un archivo .mood; y código en las fuentes de Amarok, que al ejecutarse muestra la barra de humor. El paquete moodbar necesita las librerías GStreamer, y sin el paquete moodbar, Amarok no puede generar las barras de humor para tu música.

La barra de humor se debe originalmente a Gavin Wood y Simon O'Keefe, que diseñadon los algoritmos, y cuya publicación original se encuentra aquí. Esta reimplementación es gracias a QBob. Gracias también a gruen0 por sus ideas, código y mantenimiento del ebuild. Por último gracias a dangle por su ayuda buscando errores.

Requisitos del sistema

  • Una versión de Amarok con la opción "Mostrar la barra de humor" en la sección General de la pantalla de configuración, es decir, versión 1.4.4 o superior en la serie 1.4, o 2.2.2 o superior en la serie 2.x. Debes marcar esta opción cuando hayas reunido el resto de requisitos.
  • El binario Moodbar, en tu PATH ( se debe mostrar al ejecutar la orden "which moodbar" desde una consola) -- Recuerda configurar el paquete de moodbar con './configure --prefix=`pkg-config --variable=prefix gstreamer-0.10`'
  • La librería "Fastest Fourier Transform In The West" FFTW (http://www.fftw.org) versión 3.0 o superior (al menos la versión single-precision floating point - libfftw3f) -- Recuerda configurar el paquete FFTW con './configure --enable-single'

Uso

Actualmente los archivos moodbar tienen que ser generados manualmente. Para hacer esto para tu colección al completo, utiliza el #Guión para generar archivos moodbar descrito más abajo.

Puedes activar las barras de humor en la configuración (Preferencias -> Configurar Amarok -> General -> Mostrar la barra de humor en la barra de progreso). Las barras de humor deberían aparecer ahora en la barra de progreso de la ventana del reproductor y en la lista de reproducción (puesto que existe el campo "Barra de humor" para configurar tus perfiles de la lista de reproducción).

Instalación

Descarga de fuentes

  • Última versión: moodbar-0.1.2.tar.gz -- este es el código fuente del paquete moodbar, que contiene las fuentes del programa moodbar, (que es el que genera archivos .mood files para los archivos de música), y un plugin para GStreamer que hace el trabajo. El paquete moodbar requiere GStreamer 0.10.* instalado, además de las versiones 0.10.* de varios plugins. Asegurate de instalar el paquete moodbar en el mismo prefix que GStreamer -- sigue las instrucciones en el archivo INSTALL.

¡Por favor busca a QBob o gruen0 en el IRC y envíanos una captura de pantalla! Si encuentras cualquier fallo, por favor abre un informe de fallo en http://bugs.kde.org.

Paquetes para Debian

Un paquete de moodbar está disponible en Debian unstable. Simplemente ejecuta apt-get install moodbar. Puede que también quieras instalar gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, y gstreamer0.10-plugins-bad para utilizar distintos formatos.

Paquetes para (K)ubuntu

Un paquete de moodbar está disponible en el repositorio oficial, tan solo tienes que asegurarte de que la sección Universe está activada (debería ser así por defecto). Simplemente instala el paquete 'moodbar' con tu gestor de programas favorito (Adept, Synaptic). Puede que también quieras instalar gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, y gstreamer0.10-plugins-bad para utilizar distintos formatos.

O, para instalar, pega esto en firefox o konqueror y presiona enter.

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

Gentoo ebuilds

Moodbar está disponible en Portage (ahora mismo para ~amd64 y ~x86).

RPM builds

Si tu distribución está basada en RPM puedes construir un .rpm usando `rpmbuild` con el último gstreamer-plugins-moodbar.spec. El paquete binario debería estar disponible próximamente para la distribución en PLD-linux.

Contacta con vip para obtener ayuda sobre como construir el rpm.

Fedora

En Fedora 7 o superior (hasta la 12 a la hora de escribir este artículo) moodbar esta disponible en los repositorios por defecto. Simplemente instálalo con tu interfaz de PackageKit o con el siguiente comando para yum:

yum install moodbar

Paquetes para openSUSE

En openSUSE 11.0 y posterior, instalar automáticamente los siguientes paquetes

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

Si tus canciones también tienen etiquetas ID3, debes instalar

  • gstreamer-0_10-plugins-good

Instalación de moodbar

1-Click Install para openSUSE 11.* - simplemente escoge tu versión y la instalación hará el resto:

openSUSE 11.3

openSUSE 11.2

openSUSE 11.1

openSUSE 11.0


Si estás usando openSUSE 10.3 puedes usar los paquetes disonibles en el repositorio siguiente: http://software.opensuse.org/download/home:/d7/

Para instalar, añade el repositorio adecuado para tu versión de openSUSE en YaST (por ejemplo: si estás usando openSUSE 10.2, añade http://software.opensuse.org/download/home:/d7/openSUSE_10.2/(nota: enlace roto)a las fuentes de instalación de YaST) y luego asegúrate de que los siguientes paquetes estén instalados:

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

Para obtener más detalles sobre como añadir repositorios visita el wiki de openSUSE.

Si estás usando el gestor de software Smart, añade el siguiente canal introduciendo la siguiente orden en una consola, recordando cambiar la URL para ajustarse a tu versión de openSUSE: "smart channel --add http://software.opensuse.org/download/home:/d7/openSUSE_10.2/home:d7.repo". Luego teclea "smart update home:d7". Ahora puedes instalar los paquetes requeridos con la orden "smart install gstreamer10-plugins-moodbar". Las dependencias se resuelven automáticamente.

Paquetes para Mandriva

En primer lugar necesitas tener los repositorios PLF. Para añadirlos visita easyurpmi.zarb.org. Después, simplemente instala los siguientes paquetes:

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

FreeBSD

Hay un port en: audio/gstreamer-plugins-moodbar.

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

Para añadir el paquete: pkg_add -r gstreamer-plugins-moodbar

Guión para generar archivos moodbar

Había una utilidad para crear y manipular archivos moodbar, pero desafortunadamente el viejo enlace está roto y no soy capaz de encontrar una copia en ningún sitio. Así que, hasta que halla una solución mejor, aquí tienes un sencillo guión que genera los archivos .mood para toda tu colección. Añade archivos mood para todos los archivos con las extensiones adecuadas en el directorio actual y todos sus subdirectorios, así que es mejor ejecutarlo desde el directorio base de tu colección de música. Ahora, sin más preámbulos:

#!/bin/bash
DIR=${1:-.}
LAST=~/.moodbar-lastreadsong
C_RET=0

control_c()        # run if user hits control-c
{
  echo "$1" > "$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

Copia y pega lo de arriba en un archivo de texto llamado moodbar.sh en el directorio de la música y ejecuta la siguiente orden:

cd /ruta/a_la/música
bash moodbar.sh

Como alternativa, si lo anterior no funciona, puedes probar:

chmod +x moodbar.sh
./moodbar.sh

¡Escanear grandes colecciones puede durar mucho tiempo! Ten en cuenta que las barras de humor no aparecerán en Amarok hasta que reescanee la colección. El archivo generado irá precedido de un punto, será un archivo oculto: tenlo en cuenta si no encuentras los archivos mood generados.

Basado en el guión anterior existe una alternativa para CPUs de varios núcleos:

#!/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

TODO: would it be possible to use hidden files (with leading dot) for this, because it would not clubber dir listings that much? Blueyed 18:31, 19 March 2010 (UTC)

TODO: I think this would be a great thing for an Amarok script: the script would look into the playlist and generate the moodbar information/file for the upcoming file(s). However, it seems that Amarok must get told to forget about any loaded meta info, before playing the file / after creating the file. Blueyed 18:31, 19 March 2010 (UTC)

Problemas

  • Si el ejecutable moodbar devuelve "bus error", casi siempre significa que no puede decodificar (o no puede encontrar) tu archivo. Echa un vistazo a la sección Tipos de archivo utilizables más abajo para intentar averiguar que plugin para GStreamer es necesario instalar. También puedes probar el comando siguiente para verificar si GStreamer puede decodificar tu archivo:
     gst-launch filesrc location=[file] ! decodebin ! fakesink
  • Si estás usando el plugin ffmpeg para decodificar mp3s, puedes recibir misteriosos errores de bus. La solución es dejar de usar el plugin ffmpeg, puesto que es problemático -- usa mad en su lugar.
  • Si el ejecutable moodbar dice que no puede encontrar un elemento -- por ejemplo, devulve un error como "Could not create element of type fftwspectrum, please install it." -- generalmente significa que o no tienes instalados los plugins requeridos (mira la lista de plugins aquí), o que no instalaste el paquete moodbar en el mismo prefix que GStreamer. Si libmoodbar.so and libgstdecodebin.so no están en el mismo directorio, entonces moodbar no esta instalado en el mismo prefix que GStreamer. Por favor, lee el archivo INSTALL para obtener instrucciones sobre como configurar el paquete moodbar correctamente. Alternativamente, si no sabes que estás haciendo, puede ser más sencillo que eches un vistazo a la variable GST_PLUGIN_PATH.
  • Si te estás preguntando porque moodbar no está funcionando, tanto para todos como para algún archivo en particular, ejecuta el comando de abajo, donde [file] es un archivo de música:
     moodbar -o test.mood [file]
  • Si tienes distintas versiones de GStreamr instaladas, asegurate de que los plugins requeridos están instalados para la versión 0.10.* -- No se pueden intercambiar los plugins de diferentes versiones.

Tipos de archivo utilizables

Necesitarás varios plugins de gstreamer para permitir que moodbar analice tus archivos. Aquí hay una lista de los plugins que necesitarás; asegurate de instalar las versiones 0.10.* de cada plugin:

(Para todo)
gstreamer-0.10.*, gst-plugins-base, y gst-plugins-good
mp3
gst-plugins-mad (en gst-plugins-ugly) -- el plugin ffmpeg tiene problemas, así que no lo uses para mp3s
ogg
gst-plugins-vorbis y gst-plugins-ogg
flac
gst-plugins-flac
mp4
gst-plugins-faad y gst-plugins-bad
musepack
gst-plugins-musepack
wma
gst-plugins-ffmpeg

Por favor corrige esta lista o avisa a gruen0 si crees que hay algo incorrecto.

Capturas de pantalla