Amarok/Manual/Diverse/Stemningslinje
Stemningslinjen
Stemningslinjen viser dig et spors "stemning", som du kan bruge til at finde ud af, om der sker noget interessant i nummeret.
Amarok skal bruge programmet Moodbar for at kunne lave stemningslinjer for din musik (se nedenfor om downloads og binære pakker).
Pakken Moodbar skal bruge GStreamer og diverse plugins afhængigt af, hvilke filtyper du bruger (se Understøttede filtyper). Du har ikke brug for pakken phonon-backend-gstreamer for at lave .mood-filer.
Den nye implementering af Stemningslinjen består af to dele: dels pakken Moodbar, som indeholder et program, som tager en musikfil og genererer en .mood-fil, dels understøttelse i Amarok selv, som viser stemningslinjen. Pakken Moodbar afhænger af GStreamer-bibliotekerne. Uden pakken Moodbar kan Amarok ikke generere stemningslinjer for din musik.
Som et alternativ er der et nyt script, som kan lave moodbar-filer for spor i en af Amaroks spillelister. Dette er en undtagelse til ovenstående. Scriptet skal blot bruge Amarok for at virke, men laver kun .mood-filer når de spilles i Spillelisten.
Stemningslinjen skyldes Gavin Woods and Simon O'Keefes arbejde. De designede algoritmerne; deres oprindelige artikel er her.
Oversigt over forudsætningerne
- Programmet Moodbar skal findes i din PATH (det skal blive fundet, hvis du kører
which moodbar
i en konsol) — husk at konfigurere pakken Moodbar med den korrekte sti. Du kan fx bygge og installere med kommandoerne./configure --prefix=`pkg-config --variable=prefix gstreamer-0.10`
- Biblioteket Gstreamer 1.0 og plugins til de formater, som du vil have Stemningslinjen til at kunne bruge. (En ældre GStreamer version, 0.10, findes stadig i nogle distributioner)
- Biblioteket FFTW (Den hurtigste Fouriertransformation i vesten, fftw.org) i version 3.0 eller derover (mindst en udgave med single-precision flydende-tal - libfftw3f) — hvis din platform ikke giver dig dette, eller hvis du er nødt til at kompilere din egen version, så husk at konfigurere pakken FFTW med
./configure --enable-single
- En udgave af Amarok med tilvalget i afsnittet i indstillingsdialogen, det vil sige version 1.4.4 eller højere i 1.4-serien eller 2.2.2 eller højere i 2.x-serien.
Brug
I øjeblikket skal .mood-filerne genereres manuelt. Amarok kan ikke gøre det for dig. For at gøre det for hele din musiksamling kan du bruge scriptet til at generere stemningslinjer, som beskrevet nedenfor.
For at muliggøre visning af stemningslinjer i Amarok skal det aktiveres i indstillingerne:
. Nu skulle stemningslinjer dukke op i skyderen for sporet i afspillervinduet og i Spillelisten. Der er også en stemningslinje, som du kan føje til dit spillelistelayout.Installation
Download kildekoden
- Seneste udgave: moodbar-0.1.4.tar.gz — dette er kildekoden til Moodbar-pakken, som indeholder programmet Moodbar (som genererer .mood-filerne fra musikfilerne) og et plugin til GStreamer, som laver arbejdet. Pakken Moodbar skal bruge GStreamer 1.0.* samt 1.0.* udgaven af forskellige plugins. Sørg for at installere pakken Moodbar i det samme prefiks som GStreamer — følg instruktionerne i the summary of requirements chapter. Version 0.1.4 er et fork af den oprindelige 0.1.2 opdateret til at bruge GStreamer 1.0. Den gamle 0.1.2 kildekode er ikke tilgængelig online mere, men pakker kan stadig være tilgængelig for nogle distributioner.
Hvis du opdager programfejl, så indrapportér dem venligst til bugs.kde.org.
Pakker til Debian
Der findes nu en Moodbar-pakke i Debian unstable. Kør blot
apt-get install moodbar
. Du vil nok også skulle installere gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good og gstreamer0.10-plugins-bad til at understøtte filformater.
Pakker til Kubuntu og Ubuntu
Der findes en Moodbar-pakke i det officielle pakkearkiv; sørg blot for, at afsnittet universe er aktiveret (det skulle det være som standard). Installér blot pakken moodbar med din foretrukne pakkehåndtering (Kpackagekit, Aptitude, Adept, Synaptic). Du vil nok også skulle installere gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good og gstreamer0.10-plugins-bad til at understøtte filformater.
Du kan også kopiere følgende ind i adresselinjen i Firefox eller Konqueror og taste Enter.
apt://moodbar,gstreamer0.10-plugins-ugly,gstreamer0.10-plugins-good,gstreamer0.10-plugins-bad?section=universe?refresh=yep
Gentoo ebuilds
Moodbar findes i Portage; kør blot
emerge moodbar
Uofficielle ebuilds er ikke længere nødvendige.
Bygning af RPM pakker
Hvis du bruger en rpm-baseret distribution, så kan du bygge en .rpm-pakke ved brug af rpmbuild med den seneste gstreamer-plugins-moodbar.spec. Den binære pakke vil snart være tilgængelig til distributionen PLD-linux.
Fedora
I Fedora 7 og senere (op til 16 mens dette skrives) findes pakken Moodbar i standard-arkiverne. De kan let installeres med PackageKit eller med følgende kommando:
yum install moodbar
Pakker til openSUSE
Version 0.1.4 baseret på GStreamer 1.0 findes i arkivet KDE:Extra til OpenSUSE Leap 42.3 og senere. Entidligere version 0.1.2 baseret på GStreamer 0.19 findes også i arkivet main for nogle versioner af openSUSE.
Detaljer om, hvordan du tilføjer arkiver kan du finde i openSUSE's wiki.
1-Click Install for openSUSE - vælg blot din version, så ordner installationsproceduren resten:
Pakker til Mandriva
For det første skal du tilføje arkiverne PLF, så besøg easyurpmi.zarb.org og føj dem til til liste af arkiver. Installér så blot følgende pakker:
- gstreamer0.10-moodbar
- gstreamer0.10-plugins-ugly
- gstreamer0.10-plugins-good
- gstreamer0.10-plugins-bad
Arch Linux
Der findes en PKGBUILD for Moodbar i Arch User Repository (AUR). Den findes her.
Find mere information om AUR og hvordan PKGBUILD'er virker i AUR User Guidelines.
FreeBSD
Der er en port audio/gstreamer-plugins-moodbar her.
For at installere port'en skriv
cd /usr/ports/audio/gstreamer-plugins-moodbar/ && make install clean
For at tilføje pakken skriv
pkg_add -r gstreamer-plugins-moodbar
Script til at generere .mood-filer
Her er et simpelt bash-script, som føjer .mood-filer til hele din samling. Det tilføjer en .mood-fil for enhver fil, som matcher filendelserne i den aktuelle mappe og alle dens undermapper, så det er lettest at køre scriptet fra roden af dit musikbibliotek.
#!/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
Kopier ovenstående og sæt det ind i en tekstfil ved navn moodbar.sh i din musikmappe og kør så følgende:
cd /path/to/music bash moodbar.sh
Hvis ovenstående ikke virker, så kan du i stedet prøve med
chmod +x moodbar.sh ./moodbar.sh
Dette kan tage lang tid, hvis din samling er stor! Bemærk, at stemningslinjer ikke vil dukke op i Amarok før Amarok genscanner samlingen. De genererede mood-filer vil være skjulte filer (dvs. deres navn starter med et punktum) - husk det, hvis du ikke kan finde de genererede mood-filer.
Her er et alternativt script til multicore-CPU'er baseret på ovenstående:
#!/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
Problemløsning
- Hvis programmet Moodbar giver dig en bus error, så betyder det næsten altid, at den ikke kan dekode (eller ikke kan finde) din fil. Se de understøttede filtyper herunder for at finde ud af, hvilke GStreamer-plugins, du skal installere. Du kan også prøve kommandoen herunder for at teste om GStreamer kan dekode din fil:
gst-launch-1.0 filesrc location=[file] ! decodebin ! fakesink
- Hvis du bruger plugin'et ffmpeg til af decode mp3'er, så kan du også få mystiske bus-fejl. Løsningen er at holde op med at bruge plugin'et ffmpeg, da det har mange fejl — brug mad i stedet.
- Hvis programmet Moodbar fortæller dig, at det ikke kan finde et element — hvis det fx giver dig en fejlmeddelelse som denne:
Could not create element of type fftwspectrum, please install it.
— så betyder det i reglen at du enten ikke har installeret det nødvendige plugin (se listen med plugins) eller at du ikke installerede pakken Moodbar i samme prefiks som GStreamer. Hvis libmoodbar.so og libgstdecodebin.so ikke ligger i samme mappe, så er Moodbar ikke installeret i samme prefiks som GStreamer. Find instruktioner om, hvordan man konfigurerer pakken moodbar korrekt i filen INSTALL . Det kan også være lettere at bruge miljøvariablen GST_PLUGIN_PATH hvis du ved hvad du gør.
- Hvis du undrer dig over, at Moodbar ikke virker, enten slet ikke eller ikke med en bestemt fil, så kør følgende kommando, hvor [file] er en musikfil:
moodbar -o test.mood [file]
For at generere en forhåndsvisning af et testbillede kan man bruge kommandoenːgst-launch-1.0 filesrc location=[file] ! decodebin ! audioconvert ! fftwspectrum ! moodbar height=50 max-width=300 ! pngenc ! filesink location=mood.png
- Hvis du har flere versioner af GStreamer installeret, så sørg for at alle de nødvendige plugins er installeret for version 1.0.* — forskellige versioner kan ikke bruge hinandens plugins.
Understøttede filtyper
Du skal fruge forskellige plugins til GStreamer for at gøre Moodbar i stand til at analysere dine filer. Her er en liste med de plugins, som du får brug for; sørg for at installere 1.0.* versionen af hvert plugin:
Filetype | Nødvendigt plugin | Note |
---|---|---|
All | gstreamer-1.0.*, gst-plugins-base, gst-plugins-good | |
mp3 | gst-plugins-mad (i gst-plugins-ugly) | plugin'et ffmpeg har problemer; brug det ikke til 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 |
Skærmbilleder