Internet Radio mit Raspberry PI 2 Model B

Ich höre schon lange fast keine der öffentlich-schlechten Radiosender mehr. Private, wie der niedersächsische Radio FFN, gingen mir schon bereits während meiner Schulzeit gehörig auf den Sack, da, wenn man Werbung, Nachrichten und Jingles subtrahiert, kaum noch Musik bleibt. Auch solche Sender ließ ich daher eh links liegen.

In meinem damaligen Beitrag Internetradio per Netbook hatte ich beschrieben, wie man mit dem Asus Eee PC 4 G Internetradiostationen empfängt, was gut funktioniert. Allerdings ist der Eee PC reichlich schwach und ziemlich schnell ausgelastet, wenn man Programme wie VLC aufruft. Deswegen habe ich nach einer anderen Variante gesucht. Normale Plärrradios für die Küche mit eigenen Lautsprechern blieben außer Betracht. Alle zwischen € 100,- und € 200,- kostenden Internet-Tuner haben irgendwelche Macken: Entweder ist LAN, aber kein WLAN vorhanden bzw. andersherum. Oder der Klang des analogen Audio-Ausgangs ist inakzeptabel. Mal ist auch nur eine Wurf- oder Teleskopantenne, aber keine Buchse für eine UKW-Hausantenne (über Kabelanschluss) vorhanden. Viele Käufer beklagen sich auch über nutzerunfreundliche Menüführungen.

Also kam nur eine Lösung in Betracht: Ein Internetradio selber bauen.

Mit Lötkolben-Maltes und Datenspeicher-Franks Hilfe habe ich mich für einen Raspberry PI 2 Model B mit zugehörigem Gehäuse und Netzteil entschieden, der in Windeseile zusammengebaut war. Eine Bedienungsanleitung war unnötig, denn die Schrauben passten allein von einer Seite. Platz war nur für zwei der drei mitgelieferten und aufzuklebenden Kühlkörper vorhanden. Anders als beim Vorgängermodell passt nur eine Micro-SD-Karte und zwar direkt, also ohne Adapter (dennoch Danke, Frank, dass Du daran gedacht hast.)








Ich will im folgenden nicht auf die einzelnen Schritte der Installation eingehen. Alle Befehle findet man in diesen beiden hervorragenden Semper-Videos dargestellt:

Raspberry Pi: Die ersten Schritte
und
Raspberry Pi: Internet-Radio (Teil 1 von 4)

Nebenbei: Auch Malte hat bereits zwei der drei vorgesehenen Beiträge zum Internetradio per Raspberry veröffentlicht:

Raspberry Pi zur Internetradio-Wiedergabe – Die Quick&Dirty-Methode (Teil 1/3)

Raspberry Pi zur Internetradio-Wiedergabe – Die bequeme Methode (Teil 2/3)

Grundsätzlich möchte ich jedoch darauf hinweisen, dass die meisten Befehle der Semper-Videos abweichend mit sudo ausgeführt werden müssen, da die zu bearbeitenden Dateien sonst gesperrt bleiben.

Bei den Teilen 3-4 der Videos geht es nur um Veränderung der Benutzerfreundlichkeit. Für mich als Konsolenvirtuose bleibt dieser Klickibuntikram selbstverständlich außer Betracht.

Da UNetbootin nur .iso-Images, nicht aber Raspbians .img-Abbild unterstützt, ist zunächst vor der Installation auf Micro-SD-Karte herauszufinden, wo diese gemountet ist. Dazu per Konsole df oder sudo blkid ausführen. Achtung: Hier unbedingt das richtige Laufwerk wählen, wenn man sich keine Partition plätten möchte!

Bei mir ergab sich /dev/sdc1. Da Malte meinte, sdc1 sei gefährlich, weil es sich nicht um den richtigen Pfad handeln könnte, riet er mir zu sdc, was funktionierte. Der richtige Kopierbefehl hieß daher:

dd if=2015-09-24-raspbian-jessie.img of=/dev/sdc

Ich hätte per Konsole über ssh installieren können, zog aber das über Debians Paketverwaltung zu erhaltende Putty vor, weil ich hier die Sitzung mit der korrekten IP für später speichern konnte.

Der Autor der Videos verweist auf einen längeren Nano-Eintrag, den ich für Nachahmer  zur Verfügung stelle, damit nicht alles aus dem Video abgetippt werden muss:

music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/tag_cache"
pid_file "/var/run/mpd/pid"
sticker_file "/var/lib/mpd/sticker.sql"
user "mpd"
input {
plugin "curl"
}
audio_output {
type "alsa"
name "onboard"
}
mixer_type "software"
audio_buffer_size "4096"
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"

Ich betreibe den Raspberry ohne angeschlossenen Monitor und Tastatur, sondern nur über meinen Desktop über ssh. Selbstverständlich kann man Putty mit exit auch schließen und die Verbindung zum Desktop trennen, ohne dass der Raspberry abgeschaltet wird. Der kleine aber mächtige Rechner bzw. Raspbian selbst werden mit

sudo shutdown -h now

oder

sudo shutdown -h 0

runtergefahren.

Ein Neustart erfolgt mit

sudo reboot

oder

sudo shutdown -r 0

Aber letztendlich hat auch der Raspberry eine Schwäche: Bei manchen Sendern nervt bei genauerem Hinhören ein gewisses Grundrauschen. Deshalb überlege ich z. B. mit dem HiFiBerry DAC+ eine höhere Audio-Qualität zu erreichen.

Meine derzeitige Senderliste:

http://stream.srg-ssr.ch/m/rsc_de/mp3_128

http://vtuner.stream.laut.fm/best-of-klassik

http://ndr-ndrkultur-mp3.akacast.akamaistream.net/7/527/273758/v1/gnl.akacast.akamaistream.net/ndr_ndrkultur_mp3 (rauscht)

http://stream3.laut.fm/eurosmoothjazz

http://80.237.159.26:8250 (rauscht)

http://stream.laut.fm/thejazzofwiesbaden

http://195.154.163.193:8000/stream/2/

http://ice.somafm.com/indiepop

http://uwstream2.somafm.com:8808

http://stream.laut.fm/total-instrumental

http://ice.somafm.com/groovesalad

http://ice.somafm.com/7soul

http://xstream1.somafm.com:9900

http://195.154.163.193:8000/stream/6/

Wie man sieht, stehe ich auf Jazz, Independent, Soul, Instrumentalmusik und Klassik.

Ich liebe es, wenn ein Plan funktioniert.

Update: Mit Hilfe des HiFiBerry habe ich eine erhebliche Klangverbesserung erreicht. Auch das Rauschen ist verschwunden.

5 comments on Internet Radio mit Raspberry PI 2 Model B

  1. >Da Malte meinte, sdc1 sei gefährlich, weil es sich nicht um den richtigen Pfad handeln könnte, riet er mir zu sdc, was funktionierte. Der richtige Kopierbefehl hieß daher:

    Habe ich so nicht gesagt. sdc1 ist genau so gefährlich wie sdc. Ersteres ist nur die erste Partition, zweiteres das ganze Gerät. Entsprechend gleich gefährlich. Man sollte einfach nur sichergehen, dass das definitiv das korrekte Gerät/die korrekte Partition ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.