[[Vorlage(archiviert)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Editor: Einen Editor öffnen] [:Programme starten: Ein Programm starten] [:Menüeditor: Programme zum Menü hinzufügen] [:Rechte: Rechte für Dateien und Ordner ändern] [:Konfigurationseditor: Konfigurationseditor starten] }}} [[Inhaltsverzeichnis()]] Grundsätzlich ist es kein Problem, mit einer entsprechenden Radio-Karte mit Ubuntu UKW-Radio zu empfangen, es gibt einige [:Radio:Programme] dazu. Schwieriger wird es allerdings, wenn die Karten, wie viele Hybrid-USB-TV-Karten mit FM-Tuner, keinen eigenen Soundausgang haben. Sie werden zwar als Audiokarten erkannt, allerdings ist es nicht ohne weiteres möglich, ihnen direkt Klänge zu entlocken. In den gängigen Mixer-Programmen (amixer, alsamixer etc.) ist kein Mixereintrag für den Ausgang der Karten vorhanden, oder lässt sich nicht bedienen, auch in [:PulseAudio:] erscheinen sie zwar als Eingabe-, nicht aber als Ausgabegeräte. Nutzbar sind sie aber über einen Umweg: Aufnahme des Senders, und direktes Abspielen der Aufnahme. Dafür kann das im folgenden beschriebene Skript verwendet werden. = Installation = Folgende Pakete müssen installiert [1] sein * '''gnomeradio''' ''(universe)'' * '''xautomation''' * '''gnome-mplayer''' (optional) = Vorbereitung = Zunächst muss [:Radio:Gnomeradio] so eingestellt werden, dass überhaupt es Sender empfangen und Frequenzen verändern kann. Dazu mit dem Konfigurationseditor [6] einige der Schlüssel in '''/apps/gnomeradio''' anpassen: - device: `/dev/radio0` - driver: `v4l2` - v4l2: `1` Die weiteren Einstellungen sind relativ unbedeutend, da Gnomeradio für die Karten weder einen Mixer noch ein mixer-device verwenden kann; auch `mute on exit` ist überflüssig, weil Gnomeradio keinen Sound ausgeben muss/kann. Eine Terminalausgabe {{{ VIDIOC_S_CTRL: Invalid argument }}} bei Betrieb des Gnomeradios ist für die beschriebene Verwendung unerheblich. Damit der verwendete [:GNOME_SoundRecorder:] auch das richtige aufzeichnet, muss als Aufnahmequelle die FM/TV-Karte angegeben werden (beispielsweise im [:PulseAudio:]-Volume-Control-Fenster die Karte im Eingaberäte-Reiter als "Vorgabe" einstellen). Das Skript selbst herunterladen, unter einem aussagekräftigen Namen (z.B. '''UKW-Skript.sh''') abspeichern und ausführbar machen [5]. {{{#!code bash #!/bin/bash # Skript zur UKW-"Umleitung" # Autor Heinrich Schwietering (c) 2009 gnome-sound-recorder & sleep 2 xte 'keydown Control_L' 'keydown R' 'keyup Control_L' 'keyup R' gnome-mplayer /tmp/gsr*.* & gnomeradio && killall gnome-mplayer sleep 1 killall gnome-sound-recorder && rm /tmp/gsr*.* exit 0 }}} [[Bild(./Gnomeradio-etc.png, 320 ,align=right)]] = Verwendung = Das Skript im Terminal ausführen: damit wird Gnomeradio aufgerufen, unmittelbar danach startet der GNOME_SoundRecorder (und die Aufnahme); gleich darauf wird der [:MPlayer#GNOME-MPlayer:GNOME-MPlayer] mit der Aufnahme-Datei gestartet (natürlich kann auch jeder andere Player verwendet werden). Die Wiedergabe des Radioprogramms ist um einige Sekunden verzögert; man merkt es, wenn man in Gnomeradio den Sender wechselt. Mit Beenden des Gnomeradios wird die Aufnahme und Wiedergabe sofort gestoppt, die angelegte Temporär-Datei umgehend gelöscht. Komfortabler für den Aufruf ist es, sich im Menü einen Starteintrag [4] zu erstellen und das Skript so zu starten [3]. Falls die Aufnahme nicht gestartet wird, müssen ggf. die "`sleep`"-Werte im Skript heraufgesetzt werden; diese sind abhängig von der Leistungsfähigkeit der verwendeten Hardware, und der Auslastung zur Zeit des Aufnahmestarts (ggf. sind auch kürzere Zeiten möglich). Dazu das Skript in einem Editor bearbeiten [2]. Diese Vorgehensweise ist Grundlage für das Skript [:Archiv/Skripte/UKW-Radio_zeitgesteuert_aufnehmen: UKW-Radio zeitgesteuert aufnehmen]. Das Verfahren funktioniert entsprechend auch mit [:Radio:Kradio], das Programm selbst ist allerdings schwieriger zu konfigurieren. = Alternative = Theoretisch sollte auch eine noch zeitnähere Umleitung des Sounds mit '''arecord/aplay''' möglich sein. Der Befehl sähe so aus: {{{#!vorlage Befehl arecord -D hw:1,0 -r 48000 -c 2 -f S16_LE --buffer-size 1000 | aplay --buffer-size 1500 }}} als "`hw`" muss die tatsächliche Kartennummer eingetragen werden. Allerdings führt der Aufruf in der Praxis ggf. zu nur sehr kurzen Wiedergaben, bis es nach etlichen Pufferunterläufen zu einem Pufferüberlauf kommt: {{{ Pufferunterlauf!!! (mindestens 33,949 ms lang) Pufferunterlauf!!! (mindestens 2353,804 ms lang) Pufferunterlauf!!! (mindestens 126,124 ms lang) Pufferunterlauf!!! (mindestens 51,523 ms lang Pufferüberlauf!!! (mindestens 1,047 ms lang) arecord: pcm_read:1617: Lesefehler: Input/output error }}} und die Wiedergabe beendet wird. Ggf. handelt es sich dabei aber um ein Hardware/Leistungs-Problem; auch die Werte für "`--buffer-size`" müssen eventuell im "try-and-error"-Verfahren für das eigene System angepasst werden. #tag: Multimedia, Radio