Onlineradio als Wecker

Morgens vom Lieblings-Onlineradio geweckt werden.

Etwas, was ich schon immer mal wollte, da die 0815 Wecker absolut grauenhaft sind (Und ich diese nach 2 Wochen sowieso überschlafe). Mit einem Bisschen Linux-Fu ist das ganze auch ganz einfach zu realisieren.

Was wir brauchen:

  • mplayer
  • einen Cronjob
  • eine beliebige Playlist (am einfachsten im .pls Format, aber jedes Format was von mplayer unterstützt wird, sollte reichen) mit gewünschten Radiosendern.

mplayer installieren

Ein einfaches

aptitude install mplayer

reicht um mplayer zu installieren. Darauf achten, dass root-Rechte vorhanden sind, also je nach System ggf. sudo benutzen.

Playlist erstellen

Passende Playlists gibts vom gewünschten Radiosender. Aber hier mal meine Aktuelle Playlist. Beinhaltet die Streams von HouseTime.fm, TechnoBase.fm, TranceBase.fm und HardBase.fm. Wer möchte kann sie gerne benutzen ;)

[playlist]
File1=http://mp3.ht-stream.net
Title1=HouseTime
Length1=-1
File2=http://dsl.tb-stream.net:80
Title2=TechnoBase
Length2=-1
File3=http://mp3.hb-stream.net
Title3=HardBase
Length3=-1
File4=http://mp3.trb-stream.net
Title4=TranceBase
Length4=-1
NumberOfEntries=4
Version=2

Einfach den Inhalt in eine .pls Datei speichern, und der Spaß kann beginnen:

Cronjob einrichten

Für welchen Sender ihr euch auch entscheidet: Speichert die Playlist in ein beliebiges verzeichnis. Ich habe meine Playlist z.B. unter ~/.wecker_playlist.pls liegen.

Jetzt müssen wir dem Rechner nurnoch sagen, dass wir um eine bestimmte Uhrzeit geweckt werden wollen. Am einfachsten geht dies mit einem Cronjob.

Einziger Nachteil: der "Wecker" muss über Nacht natürlich an sein (ich habe den Job zB meinem Netbook gegeben. Das hört man dank SSD garnicht, und frisst nicht viel Strom).



crontab -e

öffnet die Liste der aktuell eingestellten Cronjobs. Beim ersten Benutzen wird man ggf. nach dem gewünschten Editor gefragt. Ich persönlich bevorzuge da das ziemlich Benutzerfreundliche nano.

Jetzt können wir hier unsere Weckzeit mit passendem Befehl in eine neue Zeile eintragen:

0 7 * * * /usr/bin/mplayer -shuffle -playlist /home/username/.wecker_playlist.pls > /dev/null

  • 0 7 * * * -- Dies ist die Weckzeit. In diesem Falle 07:00 Morgens. Wichtig: Die erste Zahl ist die Minuten-, die zweite die Stundenzahl.
  • /usr/bin/mplayer -shuffle -playlist /home/username/.wecker_playlist.pls > /dev/null -- Dies ist der eigentliche befehl der ausgeführt wird. Die absoluten Pfade zu mplayer und der Playlist sind hier wichtig! Im Grunde wird nur mplayer mit der Playlist gestartet und der Output direkt gelöscht.

Wichtig: Der obige Befehl muss komplett in einer Zeile stehen. Wie ihr in nano automatische Zeilenumbrüche verhindert, könnt ihr in meinem vorherigen Artikel nachlesen.

Den Wecker stoppen

... ist etwas "umständlich".

Ich persönlich benutze immer

killall mplayer

Dies beendet den Prozess. Nicht ganz elegant, aber funktioniert.

Abschließendes

Zum schluss Sei noch gesagt: Ihr müsst euch nicht auf Radiostreams beschränken! Gebt einfach eine normale Playlist zu euren lieblings MP3s an.

Es ist ratsam zumindetens einen lokal vorhandenen mp3-"weckton" zu haben, falls die Internetverbindung oder die Streamingserver mal nicht mitspielen. mplayer shuffled solange die Lieder durch, bis die lokale Datei gefunden wird (hier sollte man darauf achten, niccht zuviele Streams in der Liste zu haben, sodass die Datei schnell gefunden wird).

Wer nicht von einem zufälligen Stream geweckt werden will, kann das "-shuffle" aus dem cronjob Befehl rausnehmen, dann wird die Playlist der Reihe nach abgearbeitet. Bei Streams heißt das: Wenn der erste Stream nicht erreichbar ist, wird der nächste versucht.

Ich hoffe ich konnte euch hiermit helfen. Bei Fragen stehe ich in den Kommentaren zu Verfügung