Liquidsoap, eine vielseitige Radioautomation

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : Icecast, Linux, OpenSource, Shoutcast, Streaming, Windows

Mein Projekt der letzten Woche: Den Streaming-Server des Webradios, für welches ich arbeite, nach dem Ausscheiden unseres bisherigen Admins von Windows auf Linux umzustellen. Eine Herausforderung, die ich gern angenommen habe, bietet sie uns doch die Möglichkeit, den Server ohne sehende Hilfe komplett in Eigenregie zu administrieren. Als unerwartet schwierig erwies sich dabei die Aufgabe, einen halbwegs brauchbaren Transcoder zu finden, um unseren Haupt-Stream serverseitig in eine für mobile Nutzung geeigneten Stream herunterzukonvertieren. Unter Windows nutzten wir dafür bislang eine etwas unelegante Lösung, bei der zunächst ein auf dem Server installiertes Winamp den Stream abspielte und per Shoutcast-Plugin neu kodiert zum Server zurücksendete. Später nutzten wir dann den inzwischen nicht mehr offiziell verfügbaren Oddsock-Transcoder, der zum Schluss aber nur noch auf wackligen Füßen stand und alle paar Tage mal neu initialisiert werden musste.

Nach längerer Suche stieß ich dann auf das Projekt Savonet / Liquidsoap. hierbei handelt es sich grob gesagt um eine Automationssoftware für Webradios, die im Detail jedoch so einiges unter der Haube hat. "Liquidsoap" ist eigentlich auch keine Software im herkömmlichen Sinn, sondern eher eine eigene Skriptsprache. Das Stream-Transcoding, für welches ich "Liquidsoap" momentan einsetze, ist dabei noch vergleichsweise einfach zu bewerkstelligen. Die "Flüssigseife" kann aber noch viel mehr. Das einfache Abspielen von Playlists ist damit ebenso möglich wie ein durchformatierter Programmplan, bei welchem zu unterschiedlichen Tageszeiten ganz bestimmte Playlisten zum Einsatz kommen. Durch zahlreiche Plugins ist die Zahl der unterstützten Dateitypen und Soundquellen stark erweiterbar. Wer seinen Sender ganz ohne Moderator betreiben möchte, kann sogar die Ansage der Songs von einer Sprachausgabe übernehmen lassen. Aber natürlich lassen sich auch Live-Shows in die Planung einbauen. Gestreamt wird das fertige Programm dann entweder über die Soundkarte des Systems oder an einen Streaming-Server wie Shoutcast oder Icecast.

"Liquidsoap" kann von der Projektwebseite als Quellcode heruntergeladen werden, sollte sich auf Linux-Systemen aber auch bequem aus den Paketquellen installieren lassen. Für Windows gibt es eine vorkompilierte Version.

Der Raspberry (pi)ratensender kann jetzt auch Stereo

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : Audio, Linux, OpenSource, Raspberry Pi

Vor einem halben Jahr habe ich im Rahmen meines Podcasts "die Robbentröte" vorgeführt, wie man einen Raspberry Pi in einen kleinen Piratensender umfunktioniert. Als Radiofreak stand dieses Projekt natürlich weiterhin auf meiner Beobachtungsliste.
Tatsächlich gibt es mittlerweile interessante Fortschritte, um den Pi noch besser als FM-Sender einzusetzen. Zwar hat sich am Klang nicht viel verbessert, da das Pifm-Modul weiterhin nur Dateien mit maximal 22050 Hz annimmt und der Klang auch allgemein kaum mit dem eines normalen UKW-Senders vergleichbar ist, doch inzwischen sind auch Stereoübertragungen möglich. Hierzu wird der Aufruf des Moduls lediglich um einen Parameter ergänzt:
./pifm Datei.wav 103.3 22050 stereo
Via Ffmpeg lassen sich auch MP3-Dateien übergeben:
ffmpeg -i input.mp3 -f s16le -ar 22.05k -ac 1 - | ./pifm -
Mittels Arecord lässt sich sogar der Input eines USB-Mikrofons und wahrscheinlich auch jeder anderen USB-Soundkarte übergeben, die vom Raspberry Pi unterstützt wird:
arecord -d0 -c2 -f S16_LE -r 22050 -twav -D copy | ./pifm -

Getestet habe ich die neuen Möglichkeiten mangels brauchbarer Soundkarte jedoch noch nicht. Und so faszinierend dieser (Pi)ratensender auch sein mag, für mehr als ein paar Experimente sollte man ihn lieber nicht verwenden, da der Raspberry Pi natürlich niemals für diesen Zweck entworfen wurde und im schlimmsten Fall trotz geringer Reichweite für erhebliche Störungen im UKW-Rundfunk sorgen könnte. Wer es dennoch testen möchte, sollte zunächst ohne Antenne senden, die Reichweite beträgt dann nur wenige Meter. Als brauchbare Antenne sollte nur ein kurzes Kabel auf den GPIO-Pin 4 gesteckt werden, nicht länger als 20 Zentimeter. Allein das reicht aus, um die Reichweite des Senders auf bis zu 100 Meter zu steigern, was schon weit jenseits der in Deutschland im UKW-Bereich zugelassenen FM-Kleinstsender liegen dürfte. Größere Antennen sind nicht ratsam und wirken sich sogar negativ auf das vom Pi ausgestrahlte Signal aus, in jedem Fall aber negativ auf die Radios der Nachbarn. :)

Debian Wheezy: Orca lässt sich in manchen Programmfenstern nicht unterbrechen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : A11Y, Debian, Linux, OpenSource, Orca

In manchen Einstellungs- und Programmfenstern kommt es vor, dass sich der Screen-Reader Orca nicht unterbrechen lässt, wenn man sich beispielsweise mit der Tab-Taste durch die Bedienelemente eines Fensters bewegt. Das hat zur Folge, dass man sich jedes Bedienelement bis zum Ende vorlesen lassen muss, ob man will oder nicht. Bei bereits bekannten Programmfenstern gelangt man auf diese Weise nur sehr langsam zum Ziel, sofern keine braillezeile zusätzlich zur Sprachausgabe zur Verfügung steht. Ganz zu schweigen davon, dass dieses Verhalten des Bildschirmlesers einem ziemlich auf die Nerven gehen kann.

Verantwortlich hierfür ist ein Bug im Zusammenhang mit der Clutter-Grafikbibliothek, der in neueren Gnome-Versionen offenbar schon behoben ist, nicht aber bei der in Debian Wheezy enthaltenen Version 3.4.2. Ein Update aus neueren Paketquellen könnte in diesem Fall helfen. Wer jedoch sein System möglichst stabil halten und nicht auf Testing-Pakete zurückgreifen möchte, kann sich mit folgendem Workaround behelfen.

  1. Ein Terminal im aktuellen Benutzerverzeichnis öffnen
  2. mkdir -p ~/.config/clutter-1.0
  3. cd ~/.config/clutter-1.0
  4. Mit dem Editor eurer Wahl eine leere Datei namens settings.ini anlegen und Folgendes eintragen:
    [Environment]
    EnableAccessibility=false
  5. Die Datei abspeichern und das Terminal wieder schließen

Auch wenn mit dieser Anweisung die Clutter-Zugänglichkeit vorübergehend ausgeschaltet wurde, kann Orca nun die Programmfenster wieder korrekt vorlesen und ist bei Bedarf auch zum Schweigen zu bringen. Testen lässt sich das beispielsweise in den Systemeinstellungen (Anwendungsmenü -> Systemwerkzeuge -> Einstellungen -> Systemeinstellungen).

Gnome Classic: Desktop für Orca lesbar machen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : A11Y, Gnome, Linux, OpenSource, Orca

Bei einer frischen Debian-Installation zeigt der Screen-Reader Orca im Desktop-Modus "Gnome Classic" standardmäßig keinen Desktop an bzw. kann diesen nicht auslesen. Stattdessen werden nur das obere und untere Kantenpanel angezeigt. Natürlich ist der Desktop trotzdem vorhanden. Um ihn für Orca "sichtbar" zu machen, muss Folgendes ausgeführt werden:

  • ALT+F2 drücken und im Ausführen-Dialog eingeben: gnome-tweak-tool
  • Im sich nun öffnenden Fenster den Register "Arbeitsfläche" auswählen, was standardmäßig schon der Fall sein sollte
  • Die Option "Have Filemanager handle the Desktop" suchen und mit der Leertaste aktivieren
  • Falls benötigt, weitere Symbole der Einstellungsseite anhaken (Computer, Home, Trash etc)
  • Fenster mit ALT+F4 wieder schließen

Nun sollte der Desktop für Orca sichtbar sein und man kann mittels STRG+ALT+Tab zwischen Desktop und den Kantenpanels umschalten.
(Vielen Dank an @dave090679!)

Audiodateien mit SndUp veröffentlichen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software, Code, Webdienste Schlüsselwörter : Bash, Linux, OpenSource, Shell, Twitter, Windows

Der Dienst SndUp erlaubt es, Audiodateien über ein sehr einfaches Web-Interface hochzuladen, um sie in sozialen Netzwerken oder überall dort zu verbreiten, wo das temporäre Hochladen von Audiodateien gar nicht oder nur eingeschränkt möglich ist. Neben dem Web-Interface sind jedoch auch Desktop-Anwendungen für die verschiedensten Betriebssysteme geplant. Schon jetzt bietet SndUp auch eine API an, um Dateien aus eigenen Desktop- oder Web-Anwendungen heraus hochzuladen.

Für Windows-Anwender hat der Sprachausgaben-basierte Twitter-Client The Qube eine direkte SndUp-Anbindung integriert, was neben dem Hochladen von Audiodateien auch das direkte Abspielen im Client erlaubt, ohne die Dateien vorher herunterladen zu müssen. Neben SndUp unterstützt die Abspielfunktion auch alle weiteren direkten Audiolinks, sofern die Tweets mit dem Hashtag #Audio versehen sind.
Für Freunde der Linux-Kommandozeile erschien kürzlich das in Bash geschriebene Script SndUp Linux, welches ohne jegliche Optionen einen simplen Dialog anbietet, um eine Datei zu SndUp hochzuladen. Alternativ kann einfach ein Dateipfad an das Script übergeben werden, was sich damit auch zur Einbindung in automatisierte Prozesse eignen dürfte. Nach dem Hochladen wird, ähnlich wie bei The Qube, der Link zur Audiodatei angezeigt und kann bequem weiterverarbeitet werden.

Natürlich kann SndUp kaum mit den großen Audiodiensten wie zum Beispiel Audioboo oder Soundcloud mithalten, die dem Nutzer jeden noch so kleinen Komfort beim Veröffentlichen bieten. Doch gerade für Situationen, in denen man nicht ein umfangreiches Formular ausfüllen oder etliche Knöpfe bedienen möchte, ist SndUp eine durchaus gelungene Alternative.

Artikel-Feed (RSS) dieser Tag