Capitolo 7. Varie

Argomenti che non si adattavano altrove, come la barra dell'atmosfera, Amarok su altre piattaforme, risoluzione dei problemi, problemi comuni e domande frequenti:

La barra dell'atmosfera

La Barra dell'atmosfera mostra l'«atmosfera» di una traccia, che è quindi possibile utilizzare per capire quando qualcosa di interessante succede nel brano.

Affinché Amarok possa visualizzare le barre dell'atmosfera per la propria musica, servirà il programma Moodbar (vedere sotto per sorgenti e pacchetti binari).

Il pacchetto Moodbar richiede GStreamer e varie estensioni a seconda dei tipi di file che si utilizzano (vedere Tipi di file supportati). Non sarà necessario il pacchetto phonon-backend-gstreamer per creare file .mood.

Ci sono due parti della nuova implementazione di Moodbar: il pacchetto Moodbar, che contiene un programma che prende un file musicale e genera un file .mood e il codice di supporto nel sorgente di Amarok, che esegue il binario e visualizza la barra dell'atmosfera. Il pacchetto Moodbar dipende dalle librerie GStreamer. Senza il pacchetto Moodbar, Amarok non può generare le barre dell'atmosfera per la propria musica.

In alternativa, c'è un nuovo script che creerà i file della barra dell'atmosfera per le tracce in una scaletta di Amarok; questa è un'eccezione a quanto detto sopra. Lo script non ha bisogno di altro che Amarok per funzionare, ma crea solo i file .mood quando le tracce sono riprodotte nella Scaletta.

Moodbar è frutto del lavoro di Gavin Wood e SimonO'Keefe, che hanno progettato gli algoritmi; il loro documento originale è disponibile qui.

Riepilogo dei requisiti

  • Il binario Moodbar, nel proprio PATH (dovrebbe essere elencato quando si esegue which moodbar da una console) — Ricordarsi di configurare il pacchetto Moodbar con il percorso corretto, ad es. compilazione e installazione con i comandi ./autogen.sh --prefix=`pkg-config --variable=prefix gstreamer-1.0` && make && sudo make install

  • La libreria GStreamer 1.0 e le estensioni per i formati che Moodbar dovrebbe poter analizzare. (È ancora disponibile anche una versione precedente basata su GStreamer 0.10 per alcune distribuzioni)

  • La libreria FFTW versione 3.0 o successive Fastest Fourier Transform In The West (fftw.org) (almeno la versione a virgola mobile a precisione singola - libfftw3f) — Se la propria piattaforma non la fornisce o se è necessario compilare la propria versione, ricordare di configurare il pacchetto FFTW con ./configure --enable-single

  • Una versione di Amarok con l'opzione Usa stati d'animo nella sezione Generale della schermata di configurazione. Questo significa 1.4.4 o versione successiva nella serie 1.4 o 2.2.2 o versione successiva nella serie 2.x.

Nota

I sistemi con gestori di pacchetti dovrebbero installare automaticamente le estensioni di GStreamer e FFTW insieme al pacchetto Moodbar, se disponibile; queste informazioni sono fornite principalmente per le persone che vogliono o devono compilare dai sorgenti o installare manualmente i pacchetti, o dove le istruzioni specifiche della distribuzione sono obsolete e non è ancora disponibile alcun pacchetto moodbar aggiornato.

Utilizzo

Attualmente i file .mood devono essere generati manualmente. Amarok non può farlo per te. Per fare ciò per l'intera collezione, utilizzare lo Script di generazione di file Moodbar descritto di seguito.

Per abilitare la visualizzazione della barra dell'atmosfera in Amarok, attivarla nella configurazione: ImpostazioniConfigura AmarokGeneraleMostra cursore di avanzamento nella barra dell'atmosfera. Le barre dell'atmosfera appariranno nei cursori della traccia nella finestra del lettore e nella Scaletta; ci sarà anche un campo dell'umore che potrà essere aggiunto alle proprie disposizioni della scaletta.

Installazione

Scaricamento delle fonti

Ultima versione: moodbar-0.1.4.tar.gz — questo è il pacchetto dei sorgenti di Moodbar, che contiene il programma Moodbar(che genera file .mood da file musicali) e un'estensione di GStreamer che fa il lavoro. Il pacchetto Moodbar richiede che GStreamer 1.0.* sia installato, oltre la versione 1.0. * di varie estensioni. Assicurarsi di installare il pacchetto Moodbar nello stesso percorso di GStreamer — seguire le istruzioni in il capitolo di riepilogo dei requisiti. 0.1.4 è un fork dei sorgenti 0.1.2 originali, aggiornati per l'utilizzo di GStreamer 1.0. I vecchi sorgenti 0.1.2 non sono più disponibili in linea in modo affidabile, ma i pacchetti potrebbero essere ancora disponibili per alcune distribuzioni.

Nel caso in cui si riscontrino bug, inviare una segnalazione a bugs.kde.org.

Pacchetti di Debian

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete.

Un pacchetto per Moodbar è ora disponibile in Debian unstable. Eseguire semplicementeapt-get install moodbar. Probabilmente anche tu vorrà installare gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good e gstreamer0.10-plugins-bad per il supporto dei formati.

Pacchetti di Kubuntu e Ubuntu

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete.

Un pacchetto per Moodbar è disponibile nel deposito ufficiale dei pacchetti; basta assicurarsi che la sezione universe sia attivata (che dovrebbe essere comunque predefinita). Installare il pacchetto moodbar con il proprio gestore dei pacchetti preferito (Kpackagekit, Aptitude, Adept, Synaptic). Probabilmente si vorrà installare anche gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good e gstreamer0.10-plugins-bad per il supporto dei formati.

O, per installare, incollare questo in Firefox o Konqueror e premere Invio.

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

Ebuild di Gentoo

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete.

La barra dell'atmosfera è disponibile in Portage, basta il comando emerge moodbar Non sono più necessari ebuild non ufficiali.

RPM build

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete

Se si utilizza una distribuzione basata su rpm, è possibile generare un .rpm utilizzando rpmbuild con l'ultimo

gstreamer-plugins-moodbar.spec. Il pacchetto binario sarà presto disponibile per la distribuzione PLD-linux.

Fedora

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete.

In Fedora 7 e successive (fino a 16 al momento della stesura di questo articolo) la barra dell'atmosfera è disponibile nei depositi predefiniti. Basta installarla con l'interfaccia di PackageKit o con il seguente comando yum:

yum install moodbar

Pacchetti di openSUSE

La versione 0.1.4 basata su GStreamer 1.0 è disponibile nel deposito KDE:extra per openSUSE Leap 42.3 e successive. Una precedente versione 0.1.2 basata su GStreamer 0.10 è ancora disponibile nel deposito principale per alcune versioni di openSUSE.

Per i dettagli su come aggiungere depositi, vedere il wiki di openSUSE.

1-Click Install per openSUSE - basta scegliere la versione e la procedura di installazione farà il resto:

Pacchetti di Mandriva

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete.

Prima di tutto, è necessario aggiungere i depositi PLF, quindi visitare easyurpmi.zarb.org e aggiungerli al proprio elenco dei depositi.

Poi installa semplicemente i seguenti pacchetti:

  • gstreamer0.10-moodbar

  • gstreamer0.10-plugins-ugly

  • gstreamer0.10-plugins-good

  • gstreamer0.10-plugins-bad

Arch Linux®

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete.

Esiste un PKGBUILD per la barra dell'atmosfera in Arch User Repository (AUR) disponibile qui.

Per ulteriori informazioni su AUR e sul funzionamento dei PKGBUILD, vedere le AUR User Guidelines.

FreeBSD

Nota

Questa sezione contiene le vecchie istruzioni per la versione 0.1.2 della barra dell'atmosfera basata su GStreamer 0.10, potrebbero essere obsolete.

Esiste una conversione: audio/gstreamer-plugins-moodbar here.

Per installare la conversione: cd /usr/ports/audio/gstreamer-plugins-moodbar/ && make install clean

Per aggiungere un pacchetto: pkg_add -r gstreamer-plugins-moodbar

Script di generazione file della barra dell'atmosfera

Ecco un semplice script bash che aggiungerà i file .mood alla propria collezione. Aggiunge file dell'atmosfera per tutti i file che verificano le estensioni nella cartella attuale e in tutte le sottocartelle, quindi è meglio eseguirla dalla base della propria cartella musicale.

#!/bin/bash
 DIR=${1:-.}
 LAST=~/.moodbar-lastreadsong
 C_RET=0
 control_c()        # eseguito se l'utente preme 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)') # potresti dover aggiungere m4a e 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

Copiare e incollare quanto sopra in un file di testo chiamato moodbar.sh nella propria cartella musicale ed eseguire i seguenti comandi:

cd /percorso/alla/musica bash moodbar.sh

In alternativa, se quanto sopra non funziona, è possibile provare:

chmod +x moodbar.sh ./moodbar.sh

Questo potrebbe richiedere molto tempo per le grandi collezioni! Notare che le barre dell'atmosfera non compariranno in Amarok fino a quando Amarok non eseguirà una nuova scansione della collezione. I file dell'atmosfera generati saranno saranno dotfile (cioè, preceduti da un punto) o file nascosti - ricordare questo particolare se non si riesce a trovare i file dell'atmosfera generati.

Basato sullo script suddetto, un'alternativa per CPU multicore:

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

Risoluzione dei problemi

  • Se l'eseguibile Moodbar restituisce un errore di bus, che quasi sempre significa che non è in grado di decodificare (o non riesce a trovare) il file. Dare un'occhiata ai tipi di file supportati di seguito per avere un'idea delle estensioni di GStreamer da installare. È possibile anche provare il comando seguente per verificare se GStreamer può decodificare il proprio file: gst-launch-1.0 filesrc location=[file] !decodebin ! fakesink

  • Se si utilizza l'estensione ffmpeg per decodificare gli mp3, potreste anche ricevere strani errori del bus. La soluzione è non utilizzare l'estensione ffmpeg, in quanto è estremamente piena di bug invece — utilizzare invece mad.

  • Se l'eseguibile Barra dell'atmosfera dice che non riesce a trovare un elemento — cioè, fornisce un messaggio di errore come

    Impossibile creare un elemento di tipo fftwspectrum, installalo.

    — di solito significa che o che i plugin richiesti non sono installati (vedere l'elenco dei plugin qui) o che il pacchetto Moodbar non è installato nello stesso prefisso di GStreamer. Se libmoodbar.so e libgstdecodebin.so non si trovano nella stessa cartella, Moodbar non è installato nello stesso prefisso di GStreamer. Leggere il file INSTALL per istruzioni su come configurare il pacchetto moodbar correttamente. In alternativa, se si è consapevoli di ciò che si sta facendo, potrebbe essere più semplice dare un'occhiata alla variabile d'ambiente GST_PLUGIN_PATH.

  • Se vi state chiedendo perché Moodbar non funziona, sia che non funzioni affatto o che non funzioni per un determinato file, eseguire il comando di seguito, dove [file] è un file musicale: moodbar -o test.mood [file] Per generare un'anteprima dell'immagine di prova, si può utilizzare il comando: gst-launch-1.0 filesrc location=[file] ! decodebin ! audioconvert ! fftwspectrum ! moodbar height=50 max-width=300 ! pngenc ! filesink location=mood.png

  • Se si hanno più versioni di GStreamer installate, assicurarsi che tutte le estensioni richieste siano installate per la versione 1.0. * - versioni diverse non possono utilizzare le estensioni reciprocamente.

Tipi di file supportati

Per abilitare la Barra dell'atmosfera saranno necessarie varie estensioni di Gstreamer per analizzare i propri file. Ecco un elenco delle estensioni di cui si avrà bisogno; assicurarsi di installare la versione 1.0.* di ciascuna estensione:

Tipo di fileEstensione richiestaNota

Tutti

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

 

mp3

gst-plugins-mad (in gst-plugins-ugly)

l'estensione ffmpeg ha dei problemi; non utilizzarla per gli 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

 

Schermate

Barra dell'atmosfera nel cursore di avanzamento in Amarok 2

Barra dell'atmosfera nel cursore di avanzamento in Amarok 2