Vor vier Jahren habe ich eine kleine Software geschrieben, mit der man seine Internetradio-Stationen verwalten kann. Selbstverständlich gab es dazu im Februar 2022 einen Artikel bei uns. Das Projekt wurde nicht vernachlässigt, sondern lebt und reift. Der letzte Commit stammt von Ende März 2026.
Seit ein paar Monaten hat sich Prof. P. den Code gegriffen, um dem CLI-Skript eine TUI-Erscheinung zu verpassen. Seine ersten Versuche basierten auf Ncurses, einer Bibliothek, mit der man Text-User-Interfaces unter Linux umsetzen kann. Nach ein paar Versuchen, ist er auf Textual umgestiegen, was eine modernere Bibliothek ist, um TUIs umzusetzen.
Die beiden Projekte leben in zwei Repositories:
- Station (das CLI-Original von Ralf Hersel): https://codeberg.org/ralfhersel/station
- StationTx (die TUI-Variante von Prof. P.): https://codeberg.org/ProfP303/stationtx
Ob euch das CLI-Original oder die frische TUI-Variante besser gefällt, ist Geschmacksache. Beide Varianten haben einen nahezu identischen Funktionsumfang, weil StationTx auf die Funktionen von Station zurückgreift.
In diesem Artikel stelle ich euch StationTx vor.
StationTX
Beide Anwendungen sind in Python geschrieben und haben wenige Abhängigkeiten: mpv, pyradios; bei StationTx kommt (optional) noch uv hinzu. Wer es nicht kennt: uv ist ein Paket- und Projekt-Manager für Python, der viele andere Pakete ersetzt, wie z. B.: pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, und weitere.
StationTx installiert man aus einem übergeordneten Verzeichnis (z. B.: home/dev/) mit dem Befehl:
git clone https://codeberg.org/ProfP303/stationtx.git
Danach navigiert ihr im Terminal in das neu erstellte Unterverzeichnis: stationtx. Die Anwendung ruft ihr so auf:
uv run stationtx.py
Dann präsentiert sich StationTx in voller Pracht:
Im Hauptfenster werden alle Sender aus der Datei station.csv gezeigt. Dort kann man mit der Maus oder der Tastatur navigieren, sowie mit Doppelklick oder Return den ausgewählten Sender starten. Bevor man mit StationTx hantiert, lohnt sich ein Blick in die Hilfe, die mit h oder F1 angezeigt wird:
So erhaltet ihr gleich einen Überblick über die Funktionen, die StationTx bietet. Ganz unten in der blauen Zeile, seht ihr Informationen zur Musikwiedergabe: Play-Status, Sender, Qualität, Lautstärke, Abspielgeschwindigkeit. Um Befehle auszuführen, wechselt man mit : in die Kommandozeile über der blauen Zeile. Welche Befehle dort bereitstehen, seht ihr in der Hilfe.
Wie ihr an der tiefen Versionsnummer erkennt, dampft StationTx noch. Prof. P. baut Verbesserungen ein und holt sich auch bei mir Anregungen. Meine letzten Vorschläge zur Version 0.1.0 waren:
- Der Kontrast in der Kommandozeile ist zu gering → bereits erledigt
- Eine Wiedergabe sollte man auch mit q abbrechen können → bereits erledigt
- Die Anzeige der URL in der Senderliste würde ich ganz entfernen, weil es niemanden interessiert → da sind wir uns nicht einig
- Die Qualitätsanzeige (Kbps) ist irreführend, weil sie vom Audioformat abhängt. 192 Kbps bei MP3 ist nicht mit 96 Kbps bei AAC vergleichbar. Entweder wir schreiben das Format dazu, oder beschränken uns auf die Angaben: high, medium, low. Das ist schwierig umzusetzen, weil Radio-Browser keine Daten dafür liefert.
- Doppelklick zum Abspielen eines Senders → bereits erledigt
- Mehr Platz für den Songtitel → bereits erledigt
Während ich hier schreibe, trudeln neue Versionen von Prof. P. ein. Gerade hat er die Version 0.4.0 abgeliefert. Wenn ihr StationTx installiert, sind viele meiner oben genannten Vorschläge bereits implementiert. Soeben hat mich Prof. P. gebeten, die Feature-List in diesen Beitrag aufzunehmen – bitteschön:
- Adds a terminal UI to the existing station-application
- Navigation through station list by cursor or mouse-click
- Playback with enter or mouse double-click
- Adds single hotkeys (in addition to the existing station-commands)
- Enter command mode with ":" key
- Deals with empty or non-existing csv-file
- Adds a status bar with playback control and current track title
- "vim-like" navigation:
- j/k = cursor navigation
- g/G = jump to the top/bottom
- Ctrl+D = half-page down
- Ctrl+U = half-page up
- Theming support (on Ctrl+P)
Dabei handelt es sich um Funktionen, die StationTx zum originalen Station hinzufügt.
Zusatzfunktionen
Mittels si Sendername wird in der Datenbank von Radio-Browser nach passenden Sendern gesucht. Aus den Suchergebnissen kann man eines auswählen und der eigenen Senderliste hinzufügen. Die Funktion r Sender-Nr nimmt den Sender im MP3-Format auf und legt die Datei im Home-Verzeichnis aus. Mit get werden Detailinformationen aus Radio-Browser zu allen euren Sendern angezeigt.
Der Befehl test ist hilfreich, um zu prüfen, ob eure Sender noch funktionieren. Mit der Zeit können sich die Senderadressen ändern. test spielt alle Sender 3 Sekunden lang an. Dann könnt ihr mit y oder n bestätigen, ob ein Sender funktioniert. Am Ende des Testlaufs erscheint eine Liste der Negativen. Diese lassen sich mit einer Bestätigung aus der Senderliste entfernen.
Des Weiteren gibt es ein paar Funktionen, mit denen ihr die Senderliste in verschiedenen Formaten exportieren könnt. Das ist sinnvoll, wenn ihr eure Internetradio-Stationen auf anderen Geräten und mit anderen Anwendungen verwenden möchtet.
Die Version 0.4.0 ermöglicht eine Themenauswahl für das TUI (Ctrl+Prof.P. :), um die Farbgestaltung nach eigenem Geschmack auswählen zu können. Und wer weiss, was da sonst noch kommt. Als ich mit dem Schreiben dieses Artikels am Sonntag begann, stand der Versionszähler noch auf 0.1.0. Morgen könnt ihr euch vermutlich bereits über Version 0.5.0 freuen.
Probiert Station oder StationTx aus. Prof. P. und ich nehmen eure Verbesserungsvorschläge gerne an.
Titelbild: https://pixabay.com/photos/radio-radio-receiver-vintage-radio-7218809/
Quellen: alle im Text



Hallo Danke für den schönen Artikel. Da ich auch sehr gerne Internet Radio höre, habe ich schon vor länger Zeit ein eigenes Programm Geschieben. Du hast mich darauf gebracht das ich es auch mal veröffentlichen könnte. Die Idee hinter diesem Programm ist das man sich bei der Arbeit oder so einen Sender ohne Unterbrechung durch unsinniges Geplauder mit Musik berieseln lassen kann aber zu festgelegten Zeiten doch noch die News mitbekommt oder darauf hingewiesen wird wieder mal was anderes zu mache.
Hier der Linkt zu meinem Repo: https://github.com/tcicit/tci-radio2
Die Installation lässt sich per "pipx" auch für "Endanwender" leichter gestalten (nur ein Kommando), das könntest du mit leichtem Aufwand angehen... Siehe https://codeberg.org/ProfP303/stationtx#option-1-recommended-using-pipx