Erstellt am 20. April 2010

LastFM Proxy: Streaming und Aufnahme von last.fm Radiostationen

Mein Verhältnis zu last.fm ist etwas zwiespältig: Eigentlich ein toller Service, doch habe ich das Warten auf die iPhone-Version für die Schweiz satt. Ich verstehe, dass es sehr schwierig ist aufgrund der rechtlichen Eigenheiten jedes Landes, hier etwas zu unternehmen, aber trotzdem habe ich das Gefühl last.fm könnte hier mehr unternehmen.
So habe ich mich wieder einmal auf die Suche nach diversen Lösungen für Streaming und Recording von last.fm gemacht und bin auf spannende Möglichkeiten gestossen, welche ich euch hier kurz schildern möchte.

Was ist LastFM?
LastFM ist ein Musikdienst, welcher aufgrund der Benutzergewohnheiten Audiomaterial anbietet. So wir für einen verschiedene Radiostationen angeboten, die auf den eigenen Musikgeschmack zugeschnitten sind. Eine tolle Möglichkeit, neue Bands und Songs zu entdecken.
LastFM gibt es als Webservice, das heisst, man kann direkt auf der Webseite Radiostationen hören. Desweiteren existieren Programme, welche eigenständig auf Desktop-Rechnern laufen.

Welches sind die Probleme?
Einfach Radiohören via Webbrowser funktioniert toll, doch möchte man gerne weitere Optionen haben. Dazu gehört zum Beispiel, wie angesprochen, die Möglichkeit, die Radiostationen auch auf dem iPhone zu empfangen. Auch wäre es schön, man könnte die Radiostationen auch auf anderen Geräten, wie zum Beispiel einem Netzwerk-Player abspielen. Zu guter Letzt besteht immer wieder der Wunsch, Radiostationen auch aufzeichnen zu können. Dazu gibt es verschiedene Lösungen, wobei ich hier meine momentane Lieblingslösung beschreiben möchte.

LastFM Proxy
Schon seit längerem gibt es ein auf der Programmiersprache Python entwickeltes Tool namens LastFM Proxy. Dieses Programm macht nichts anderes, als den angeforderten Audiostream zwischenzuspeichern und im eigenen Netz als Playlist zur Verfügung zu stellen. Somit ist es möglich, diese Playlist in vielen Audioplayern einzutragen und den Stream abzuspielen. Dabei werden sogar Titelinformationen inklusive Coverart geliefert. Das Tool funktioniert sehr gut, doch gibt es bei der Installation einige Dinge zu beachten. Man muss überdies natürlich über einen lastfm Account verfügen.

LastFM Proxy installieren:
1. Die Programmbestandteile laden
Voraussetzung zum Gebrauch von LastFM Proxy ist, dass “Python” installiert ist. Dies ist bei OSX Standard, bei anderen Systemen muss man Python aber erst nachinstallieren.

Dann muss man sich die nötigen Programmbestandteile laden. Das Hauptprogramm gibt es hier:
http://vidar.gimp.org/wp-content/uploads/2007/12/lastfmproxy-1.3b.tar.gz

Desweiteren benötigt man aktuelle Dateien von main.py und lastfm.py, welche von hier

http://voidstar.com/downloads

geladen werden können. Diese Dateien ersetzen diejenigen im Hauptprogramm. Wo übrigens der entpackte Programm-Ordner sich befindet spielt keine Rolle. Bei mir ist lastfmproxy in einem Ordner “musik” im Programm-Verzeichnis.

2. Das Programm konfigurieren
Nachdem man die einzelnen Komponenten geladen und entpackt hat, muss man in der Datei “config.py” ein paar Anpassungen vornehmen:

# Port and address to listen to
listenport = 1881
bind_address = “0.0.0.0″
# Stick your last.fm username and password between the quotes below.
username = “”
password = “”

Der Eintrag bei listenport kann man in der Regel so belassen.
bind_address: Wenn man via Webbrowser nur lokal darauf zugreifen will, kann man den Wert bei “127.0.0.1″ belassen, will man jedoch von überall her darauf zugreifen, muss der Wert auf “0.0.0.0″ abgeändert werden – was ein Sicherheitsrisiko bedeuten könnte. Weiss man die IP-Adresse des Gerätes, wovon darauf zugegriffen wird, kann man diese hier fest eingeben.
In den nächsten Zeilen müssen noch last.fm Benutzernamen und Passwort eingegeben werden

Das ist in der Regel alles, was geändert werden muss. Datei speichern und nun, starten. Aber wie?

3. Das Programm starten
Das Programm wird über das Programm “Terminal” unter OS X gestartet. Bei anderen Systemen über eine Shell. Ich beschreibe hier nur der Umgang mit OS X. Das Programm Terminal befindet sich im “Dienstprogramme”-Ordner im Programme-Verzeichnis. Also, das Programm “Terminal” per Doppelklick starten. Ein Fenster erscheint, in welches man Befehle eintippen kann. Um LastFM Proxy zu starten, muss man zuerst ins Verzeichnis von LastFM Proxy wechseln. Dies geschieht mit dem Befehl “cd VERZEICHNIS”, also beispielsweise:

cd /Applications/musik/lastfmproxy

Mit dem Befehl “ls” kann man überprüfen, ob man auch wirklich am richtigen Ort ist:

mantra:lastfmproxy cric$ ls
COPYING.txt changestation.py lastfm.py playlist.py
ChangeLog.txt config.py lastfm.pyc playlist.pyc
README.txt config.pyc lastfm_old.py xspf.py
audioscrobbler.py data main.py xspf.pyc
audioscrobbler.pyc httpclient.py main_old.py
bookmarks.txt httpclient.pyc nohup.out
mantra:lastfmproxy cric$

Der Befehl “ls” listet alle Dateien auf. Wenn man hier die Dateien von lastfm proxy sieht, ist alles OK.

Nun startet man das Programm mit:

python main.py

Es sollte dann eine Zeile auftauchen, in der man die URL sieht, welche man im Browser eingeben muss. Wenn weiter keine gröberen Fehlermeldungen erscheinen, kann man also zum Webbrowser wechseln (Safari, FF, …), die Adresse (in der Regel: http://localhost:1881/) eingeben und so die “Kommandozentrale” von lastfm proxy öffnen.

Die Funktionen von lastfm sind relativ einfach verständlich, daher möchte ich diese hier – aus Platz gründen – nicht weiter erklären. Weitere Informationen dazu und wie man Radiostationen aussucht, ist im README.txt Dokument bestens beschrieben.

Das Problem ist aber: sobald man das Programm “Terminal” beendet, wird auch der Proxy beendet. Gerne möchte man aber, dass das Programm weiter funktioniert, ohne dass das Programm Terminal ständig geöffnet ist. Daher beenden wir wieder das Programm, indem wir im Terminal die Zeichenfolge “ctrl-c” eintippen. Wir werden das Programm nun folgendermassen starten:

nohup python main.py &

Somit läuft das Programm im Hintergrund weiter, auch wenn wir das Terminal schliessen.

Die Möglichkeiten
1. Streaming auf iPhone oder Mediaplayer
Indem man beim iPhone (Safari oder Radioprogramm) oder bei einem Mediaplayer die Stream-URL eingibt, kann man auf diesen Geräten den last.fm stream hören. Wie die URL genau aussieht, kann ich nicht sagen, da die Maschine, auf welcher der Proxy läuft aufgerufen werden muss. Bei mir sieht die URL folgendermassen aus:

http://mantra.local:1881/lastfm.m3u

Schade ist, dass das iPhone anscheinend keine Streams direkt in Mobile Safari anzeigen kann. Der Stream wird in einem separaten Fenster geöffnet und man hat keinen Zugriff mehr auf das Kontrollzentrum von lastfm proxy.

2. Aufnehmen von Radiosendungen
Es gibt unzählige Möglichkeiten, wie man auf dem Mac Audio aufnehmen kann. Natürlich kann man einfach mit einem entsprechenden Tool, sämtliche Audiosignale direkt abgreifen. So gehen aber leider alle Titelinformationen verloren und man erhält ein einziges grosses Dokument. Angenehmer ist die Verwendung eines speziellen “Mitschnitt”-Programms. Ich selber benutze gerne das Programm “Snowtape”, welches die Titel einzeln abspeichert, inklusive der Titelinformationen und Coverart. Die Titel können dann sehr einfach zu iTunes exportiert werden.

Natürlich gibt es noch unzählige weitere Möglichkeiten, was man mit lastfm proxy anstellen könnte. Doch meine Hauptanliegen “Streaming” und “Aufnahme” sind somit erfüllt.

URLs zum Thema:
last.fm
lastfm proxy Gruppe bei last.fm
Snowtape


VN:F [1.9.10_1130]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.10_1130]
Rating: 0 (from 0 votes)
LastFM Proxy: Streaming und Aufnahme von last.fm Radiostationen, 10.0 out of 10 based on 2 ratings