You are heremuziek

muziek


De Zwaarste Lijst 2012 downloaden met bash

Naar jaarlijkste traditie trakteerde Alex Agnew de Studio Brussel luisteraars op De Zwaarste Lijst. En naar ondertussen al even jaarlijkse traditie geef ik even de bash commando's om de zware gitaren te downloaden en samen te voegen naar één mp3.

Dit jaar helaas had men bij Studio Brussel het geniale idee om de naamgeving van de files een klein beetje te veranderen. Waar er vroeger alleen een volgnummer was, zit er nu ook de naam van het eerste en laatste nummer van dat uur in. Meh.

Van de vorige keren weet ik nog dat de mp3's gehost staan op de server od.mp3.streampower.be. Ik gebruikte:

Alles tesamen is dat (te copypasten voor uw gemak):

wget -bq `curl -s http://www.stubru.be/programmas/dezwaarsteshow/dezwaarstelijst2012 | grep mp3\.streampower | sed 's/.* \"//' | sed 's/\",.*//'`

Om samen te voegen naar 1 mp3:

ffmpeg -i "concat:41_120409_zwaarste_1-snip_hi.mp3|41_120409_zwaarste_2_Slipknot_-_Rammstein-snip_hi.mp3|41_120409_zwaarste_3_ACDC_korn-snip_hi.mp3|41_120409_zwaarste_4_sepultura_Metallica-snip_hi.mp3|41_120409_zwaarste_5_pantera_metall-snip_hi.mp3|41_120409_zwaarste_6_machine_head__metallica-snip_hi.mp3" -acodec copy DeZwaarsteLijst2012.mp3

Getest op Debian en op een MacBook Air met MacPorts geïnstalleerd (voor wget en ffmpeg). Windows users: sorry.

mp3's samenvoegen

Recent schreef ik hoe je gemakkelijk een hele nest MP3-bestanden kan downloaden van de StuBru-website.
Vandaag vroeg Lennert mij of het ook mogelijk is om de mp3-files samen te voegen. Ja dat kan, maar helaas niet gewoon met

cat 41_111015_switch_uur_* > switch_full.mp3

want dan is er wat mis met de mp3-metadata. Onder andere de lengte van de track wordt niet correct weergegeven.

Ik heb hiervoor 2 tooltjes gevonden: qmp3join (onderdeel van quelcom) en id3cp (onderdeel van libid3-tools).

  • qmp3join om de mp3-bestanden samen te voegen, zonder hercoderen. De voorwaarde is wel dat de bitrate van alle files dezelfde is, maar dat is geen probleem bij de verschillende stukken van een zelfde radioprogramma. Mocht dat niet het geval zijn, dan laat qmp3join dit weten en gaat het de files niet samenvoegen. In dat geval moet je zelf een manier zoeken om de mp3-files te recoden naar dezelfde bitrate. De manfiles van ffmpeg of mencoder zijn uw vrienden.
  • id3cp om de ID3-tags te kopiëren naar de nieuwe file. De gedownloade files hebben bijvoorbeeld "Studio Brussel" als artiest. De door qmp3join samengevoegde mp3 heeft geen ID3-tags, dus kopieer ik die van de eerste file.

Installeer eerst quelcom en libid3-tools:

sudo apt-get install quelcom libid3-tools

Dan de files samenvoegen en de ID3-tags kopiëren:

qmp3join -o TheGreatestSwitch2011.mp3 41_111015_switch_uur_*.mp3
id3cp 41_111015_switch_uur_1-snip_hi.mp3 TheGreatestSwitch2011.mp3

Dit is het resultaat:

$ ls -hgo *.mp3 && id3info TheGreatestSwitch2011.mp3
-rw-rw-r-- 1  40M 2011-10-19 00:12 41_111015_switch_uur_1-snip_hi.mp3
-rw-rw-r-- 1  38M 2011-10-19 00:12 41_111015_switch_uur_2-snip_hi.mp3
-rw-rw-r-- 1  37M 2011-10-19 00:12 41_111015_switch_uur_3-snip_hi.mp3
-rw-rw-r-- 1  39M 2011-10-19 00:12 41_111015_switch_uur_4-snip_hi.mp3
-rw-rw-r-- 1  40M 2011-10-19 00:12 41_111015_switch_uur_5-snip_hi.mp3
-rw-rw-r-- 1  40M 2011-10-19 00:12 41_111015_switch_uur_6-snip_hi.mp3
-rw-rw-r-- 1  38M 2011-10-19 00:12 41_111015_switch_uur_7-snip_hi.mp3
-rw-rw-r-- 1  40M 2011-10-19 00:12 41_111015_switch_uur_8-snip_hi.mp3
-rw------- 1 308M 2011-10-19 00:21 TheGreatestSwitch2011.mp3

*** Tag information for TheGreatestSwitch2011.mp3
=== TIT2 (Title/songname/content description): 41_111015_switch_uur_1
=== TPE1 (Lead performer(s)/Soloist(s)): Studio Brussel
=== COMM (Comments): (ID3v1 Comment)[XXX]: 2011-10-15T16:01:34
=== TCON (Content type): (0)
*** mp3 info
MPEG1/layer III
Bitrate: 96KBps
Frequency: 44KHz

The Greatest Switch downloaden met één bash-commando

Typ dit in op één regel (of doe van copypasta) om The Greatest Switch van Studio Brussel binnen te trekken:

for (( i=1; i<=8; i++ )); do wget -bq "http://od.mp3.streampower.be/vrt/stubru/41_111015_switch_uur_$i-snip_hi.mp3" ; done

Of alternatief, met curl (werkt ook op OS X, met dank aan Joris Timmerman):

for (( i=1; i<=8; i++ )); do curl -O "http://od.mp3.streampower.be/vrt/stubru/41_111015_switch_uur_$i-snip_hi.mp3" ; done

Daarna afspelen met

mplayer 41_111015_switch_uur_*-snip_hi.mp3

Alstublieft. Ik heb het u weer gemakkelijk gemaakt.

Dit is gemakkelijk aan te passen voor al de andere lange StuBru-uitzendingen die ze online smijten zoals De Zwaarste Lijst. Als je in de source van de webpagina kijkt, dan zie je dat je http://od.mp3.streampower.be/vrt/stubru/41_110423_ZwaarsteShow1-snip_hi.mp3 moet hebben, en dat er 6 delen zijn.

Muziek met MPD

Music Player Daemon is een programma dat muziek afspeelt op basis van een client-server model. De server luistert naar verzoeken van clients en speelt de muziek, de client (die ook op een andere pc kan staan) zegt tegen de server welke muziek gespeeld moet worden. Handig aan MPD is dat het zonder X kan draaien, er zijn dus geen zware GUI's nodig.
De installatie:
$ sudo aptitude install mpd mpc
In /etc/mpd.conf moet nu ingesteld worden waar de muziek te vinden is:
######################## REQUIRED PATHS ########################
# You can put symlinks in here, if you like. Make sure that
# the user that mpd runs as (see the 'user' config parameter)
# can read the files in this directory.
#music_directory                "/var/lib/mpd/music"
music_directory         "/home/amedee/music"
playlist_directory      "/var/lib/mpd/playlists"
db_file                 "/var/lib/mpd/tag_cache"
log_file                "/var/log/mpd/mpd.log"
error_file              "/var/log/mpd/errors.log"
################################################################
De rest van het configuratiebestand moet niet aangepast worden.

De volgende stap is om wat muziekbestanden te plaatsen in /home/amedee/music. Ik heb er voorlopig al de mixtapes van Leesa gezet.

Nu nog de muziekdatabase aanmaken en de mpd-server herstarten:

$ sudo mpd --create-db
added Leesa/Leesa_July2009_mixtape.mp3
added Leesa/Leesa_April2009_mixtape.mp3
added Leesa/Leesa_-_Here_I_Am.mp3
added Leesa/Leesa_-_Here_I_Go.mp3
$ sudo /etc/init.d/mpd restart
 * Stopping Music Player Daemon mpd         [ OK ]
 * Starting Music Player Daemon mpd
No "audio_output" defined in config file
Attempt to detect audio output device
Attempting to detect a alsa audio device
Successfully detected a alsa audio device
                                            [ OK ]
De melding in verband met audio_output mag genegeerd worden, mpd detecteert dit toch automatisch.

De muziek kan nu afgespeeld worden:

$ mpc play
Als leuk extraatje worden titel en uitvoerder ook getoond op de desktop, met Conky.

Het viel me wel op dat Leesa niet vermeld staat als uitvoerder bij 3 van haar 4 mixtapes, omdat bepaalde id3-gegevens ontbreken. Die heb ik dan maar zelf toegevoegd.

$ sudo aptitude install eyed3
$ eyeD3 -a "Leesa" -G 52 -Y 2009 --comment=::"http://www.leesa.be" music/Leesa/Leesa_*
$ eyeD3 -t "Here I Am" music/Leesa/Leesa_-_Here_I_Am.mp3
$ eyeD3 -t "Here I Go" music/Leesa/Leesa_-_Here_I_Go.mp3
$ eyeD3 -t "April Mixtape 2009" music/Leesa/Leesa_April2009_mixtape.mp3
$ eyeD3 --to-v2.4 music/Leesa/Leesa_*
$ sudo mpd --create-db
$ sudo /etc/init.d/mpd restart
Een aangename verrassing: bij het herstarten van mpd, wordt de muziek een fractie van een seconde onderbroken, en gaat daarna gewoon weer verder. En Conky toont nu ook de juiste titel en uitvoerder.

Reclame... ;-)

Met dank aan
  • Jasmina
  • Celine
  • Pieter
  • Jeff
  • Hans
  • Jurgen
  • Jurgen
  • Marijke
  • Amedee
  • Erik
  • Danny
  • Sofie
  • Lars
  • Christophe
  • Peter
  • Jeroen
  • Jurgen
om mij een gratis herlading twv €15 te bezorgen!

Waar ben ik?