Moodbars in Amarok

amarok_moodbar
Moodbar in Amarok (zie verschillende tinten in de voortgangsbalk)

Moodbars, of wel stemmingsbalken geven een visuele weergave van een stuk muziek waarbij verschillende onderdelen aan de hand van kleur te onderscheiden moeten zijn. Verderop in het artikel zal ik een script tonen waarmee je stemmingsbalken kan genereren voor je muziekcollectie. Aangezien ik niet zoveel verstand heb van muziek (dan bedoel ik natuurlijk niet mijn muzieksmaak, die is uitstekend 😉 ) past het hier het beste om het Engelstalige Wikipedia-artikel de beschrijving van een moodbar te laten geven zodat het hopelijk wat duidelijker wordt:

Moodbar is a computer visualization used for navigating within a piece of music. This is done with a horizontal bar that is divided into vertical stripes. Each stripe has a colour showing the “mood” within a short part of the song. The colour can depend on spectrum and/or rhythmic features of the part of the song. The parts of the song (intro, choruses, solos, accents etc.) as well as musical changes (dynamics, rhythm, texture, playing instruments) are clearly visible on the bar.

bron: http://en.wikipedia.org/wiki/Moodbar

Ondanks wat de naam suggereert is het niet direct zichtbaar wat de stemming van een bepaald nummer is. Wel is het mogelijk om bij een opgenomen radioprogramma de stukken gepraat van de presentator te zien of wisselingen tussen nummers bij mixen zijn meestal ook wel zichtbaar. Zelf zie ik de stemmingsbalken gewoon als een leuke extra van muziekspelers zoals Amarok, Clementine en (volgens het Wiki-artikel) ook Exaile. Het weergeven van die balken gaat echter pas nadat je met het programma moodbar een stemmingsbalk van een bepaald bestand die voldoet aan een naampatroon. Heb je een nummer dat “liedje.ogg” heet dan wordt de naam voor het moodbarbestand: “.liedje.mood”. standaard zijn deze bestanden dan ook niet zichtbaar in je bestandsbeheerprogramma (bijvoorbeeld Dolphin of Nautilus).

Het makkelijkst is natuurlijk om het aanmaken van deze stemmingsbalken automatisch te laten gebeuren voor de hele muziekcollectie. Dan gaan we er even vanuit dat de hele collectie onder één map valt zoals bijvoorbeeld “/home/gebruikersnaam/Muziek”. Het eerste wat we nodig hebben is het programma moodbar. In Ubuntu zit dit in de pakketbronnen en kan als volgt geïnstalleerd worden:

sudo apt-get install moodbar

Het script zier nu als volgt uit:

#!/bin/bash

musicdir="$HOME/Music/"
find $musicdir -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma|m4a)' | while read i
do
        TEMP="${i%.*}.mood"
        OUTF=${TEMP%/*}/.${TEMP##*/}    
        echo $i
        if [ ! -e "$OUTF" ];
        then
                moodbar -o "$OUTF" "$i"
        fi      
done

Als de muziekmap niet in /home/gebruikersnaam ($HOME) staat en/of “Music” heet dan moet je die regel even aanpassen naar het juiste pad. De bovenstaande code kun je opslaan (exentie maakt niet uit maar je zou .sh kunnen kiezen voor de duidelijkheid) en het bestand uitvoerbaar maken door

chmod +x bestandsnaam

uit te voeren in de map waar het bestand opgeslagen staat. Vervolgens kun je het script uitvoeren met:

./bestandsnaam

Als je een grote muziekcollectie hebt kan het wel uren duren voordat het script klaar is.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s