Früher war ja angeblich alles besser – einfach ein NF-Kabel vom Empfänger zur Soundkarte und fertig war der Audio-Anschluss für das Decoder-Programm. Dieser Beitrag soll zeigen, das es heute mit SDRs ähnlich einfach geht, nur halt mit Software.
Zum Vergleich: der Aufbau mit einen Analog-Empfänger
Beim Empfang von Digimodes kommen bei traditionellem Aufbau folgende Komponenten ins Spiel:
- ein Empfänger
- das Kabel oder ein komplexeres Interface vom Empfänger zum Computer (genauer zur Soundkarte)
- die Soundkarte
- Treiber für die Soundkarte
- das Digimode-Programm (DM780, FLdigi, MixW, Multipsk, DigiPan usw.)
Dabei wird die demodulierte NF des Empfänger an einem passenden Ausgang abgenommen, meist an einem ACC (Accessory) Ausgang, oder an der Data-Buchse. Die Soundkarte wandelt die analogen Audiodaten in einen digitalen Datenstrom um, diese Daten werden vom Digimode-Programm nochmal gefiltert und dekodiert. So wird dann zum Beispiel aus der Änderung der NF-Frequenz bei RTTY wieder ein Bit, aus vielen Bits werden Buchstaben und letztendlich ein ganzer Text.
Die Art und Weise, wie das Digimode-Programm und die Soundkarte miteinander Informationen austauschen, ist standardisiert, dafür sorgt der Treiber. So kann der Hersteller der Soundkarte die Hardware bauen wie er es für richtig hält. Mit Hilfe des Treibers sehen dann alle Soundkarte zum Anwenderprogramm hin völlig gleich aus, die Programmierer müssen nicht für jede Soundkarte ihr Programm neu anpassen.
Dieser Aufbau funktioniert so lange wie ein üblicher Empfänger und eine „echte“ Soundkarte verwendet werden. Aber wie geht das bei einem SDR Empfänger? Der hat ja keinen NF-Ausgang mehr, das ist im einfachsten Fall eine „Black-Box“ mit einem Antenneneingang und einem USB-Ausgang.
Der Aufbau mit einem SDR
Der prinzipielle Aufbau beim Einsatz eines SDRs sieht folgendermaßen aus:
- SDR-Empfänger
- USB-Kabel
- USB-Interface im Computer
- Treiber für das USB-Interface
- SDR-Software
- Soundkarte im PC
- Lautsprecher an der Soundkarte
Wie man sieht ist auch hier wieder die Soundkarte im Spiel, aber erst später, nämlich bei der Ausgabe des Empfangssignales. Die Digitalisierung der Daten erfolgt sehr viel früher, nämlich im SDR und bereits auf der HF-Ebene. Dann erfolgt eine Reduzierung der Daten (Dezimierung genannt), danach kommen Filterung und Demodulation, alles in Software. Die demodulierte NF wird – immer noch in digitialer Form – zur Soundkarte geschickt und dort wieder in analoge Töne umgewandelt und von den Lautsprechern wiedergegeben. Das funktioniert bestens – aber wo kommt der Decoder für die Digimodes zum Einsatz? In diesem Konzept ist momentan keine Stelle vorgesehen, an der man die NF-Daten ‘abgreifen’ und zum Digimode-Programm schicken könnte. Was tun?
Um an die NF-Daten imComputer zu kommen gibt es zwei Möglichkeiten. Welche man verwenden kann hängt von der Hardware der Soundkarte im Computer und dem Treiber dazu ab.
1. Möglichkeit – der Stereo Mixer der Soundkarte
Manche Soundkarten bieten einen sogenannten „Stereo-Mixer“. Wenn diese Funktion vorhanden ist und auch vom Treiber der Soundkarte unterstützt wird, dann kann man den verwenden um die NF auf der Soundkarte nicht nur zu den Lautsprechern zu senden, sondern auch wieder intern per Software-Interface zur Verfügung zu stellen. Auf dieses Interface kann dann das Digimode-Programm zugreifen und die die NF wie gehabt verarbeiten (filtern, dekodieren usw.).
Da diese Möglichkeit nur von einigen Soundkarten (bzw. Treibern) angeboten wird, sei hier nur kurz darauf eingegangen. In der Regel sind dies die „Sound Blaster“ und „Audigy“ Karten. Um festzustellen, ob die eigene Soundkarte die „Stereo Mixer“ Funktion bietet, kann man in der Konfiguration der Soundkarte nachgucken (das Nachfolgende bezieht sich auf Windows 7):
- Rechtsklick auf das Lautsprechersymbol in der Taskleiste
- „Aufnahmegeräte“ anklicken
- Rechtsklick in dem freien Bereich wo die Geräte angezeigt werden (aber nicht auf ein Gerät klicken)
Es wird ein Dialogfeld angezeigt in dem man sowohl „Deaktivierte Geräte anzeigen“ und „Getrennte Geräte anzeigen“ auswählt (Haken davor). Das Resultat ist eine erweiterte Liste von Geräten. Wenn die Karte die Funktion unterstützt ist auch ein „Stereo Mixer“ dabei. Diesen kann man nun verwenden um ihn als NF-Quelle in einem Digimode-Programm zu verwenden. Dazu muss nur der Pegel im üblichen Audio-Mixer eingestellt werden.
2. Möglichkeit – das virtuelle Audiokabel
Hat die Soundkarte keinen Stereomixer, gibt es eine andere Möglichkeit die NF umzuleiten, genannt „Virtual Audio Cable“. Das ist ein Programm das sich im Prinzip wie ein NF-Kabel verhält. Es hat zwei „Enden“: in eines werden die Audiodaten vom SDR-Programm hineingeschoben, am anderen Ende werden die Daten vom Digimode-Programm abgenommen und wie bisher verarbeitet.
Der Trick an der Sache ist, das sich diese virtuellen Audiokabel (VAC) gegenüber der Software wie eine Soundkarte darstellen. D.h. das Programmierinterface, das die Anwendung benutzt, ist das gleiche wie bei einer Soundkarte. So kann ein Stück Software „so tun“ als ob sie eine Soundkarte wäre und die NF-Daten entsprechend im Computer umleiten. Eine weitere Software, ein sog. Audio Repeater, sorgt dafür das die NF-Daten gleichzeitig an zwei (oder mehr) verschiedene Verbraucher weitergegeben werden können. Also zum Beispiel an das Digimode-Programm und an die Soundkarte zur Wiedergabe auf den Lautsprechern gleichzeitig.
Wenn man nun – nach Installation eines Virtual Audio Cable – in der SDR-Software nachguckt, dann ist zu sehen das es neue ‘Eingänge’ einer Soundkarte gibt. Je nach Produkt haben diese Eingänge unterschiedliche Namen, zum Beispiel:
- „Line1 (Virtual Audio Cable)“ oder
- „Cable Input VB-Audio Virtual Audio Cable“ oder
- „Speaker (e2esoft VAudio)“ usw.
Welches Virtual Audio Cable?
Es gibt eine ganze Reihe von diesen sogenannten virtuellen Audio-Kabeln. Manche Programmversionen sind kostenlos zu haben, andere kosten als Vollversion Geld (VAC), andere Programme sind Open Source (Jack).
VAC von E.Muzychenko (Windows)
Ein im Amateurfunk sehr häufig anzutreffendes Programm ist „VAC – Virtual Audio Cable“ von Eugene Muzychenko. Dieses Programm gibt es in einer Testversion kostenlos, wenn man Gefallen an der Funktion findet sollte man die Vollversion kaufen. Sie kostet 25 bis 20 USD. Eine alte Version (VAC 3) ist für Windows 98 geeignet und auch noch verfügbar.
Vorteile: Weit verbreitet, viele Funktionen, viele Einstellmöglichkeiten, 256 ‘Kabel’ gleichzeitig (in der Vollversion, 3 in der Testversion).
Nachteil: komplex, nur in englisch verfügbar.
Das es Geld kostet ist kein Nachteil, gute Software ist nicht kostenlos zu haben. 🙂
URL: http://software.muzychenko.net/eng/vac.htm
VB-Audio Virtual Cable von Vincent Burel (Windows)
Dieses Programm wird zunehmend häufiger im Amateurfunk verwendet, weil es sehr viel einfacher gehalten ist. Es bietet zwar nicht ganz so viele Möglichkeiten wie das ‘VAC’, ist dafür aber sehr leicht einzurichten. Das kann man ohne Einschränkungen verwenden ohne etwas zu zahlen, allerdings wünscht sich der Programmautor eine freiwillige Spende deren Höhe man selbst festlegen kann.
Vorteile: Einfach einzurichten
Nachteile: weniger Funktionen als andere Programme, Doku nur in englisch und französisch
URL: https://github.com/rdp/virtual-audio-capture-grabber-device
Dieses Programm ist die Empfehlung des Autors, vor Allem weil es so einfach in der Handhabung ist wenn man nur ein oder ganz wenige virtuelle Kabel benötigt.
Virtual Audio Grabber von Roger Pack (Windows)
Dieses Programm steht als Ope nSource zur Verfügung, ist also zum lernen und für eigene Software gut geeignet. Die Lizenz ist allerdings unklar, bitte den Programmautor kontaktieren.
URL: https://github.com/rdp/virtual-audio-capture-grabber-device
Soundflower von Matt Ingalls (Mac OS X)
Open Source Programm für OS X. Nur der Vollständigkeit halber erwähnt, keine Details da ich mich mit OS X nicht auskenne.
URL: https://github.com/mattingalls/Soundflower
Probleme beim Einsatz von virtuellen Audio Kabeln
Die zusätzliche Verarbeitung der NF-Daten von der „Virtual Audio Cable“ Software kann zu einer hörbaren Verzögerung bei der Wiedergabe führen (Latenz). Wenn man nur empfängt ist das meist nicht weiter störend. Bei Sende/Empfangsbetrieb kann so eine Verzögerung machmal schon lästig sein, vor allem bei Telegrafie. Programme wie „Jack“ rühmen sich einer besonders kurzen Verarbeitungsdauer der Daten, das setzt aber unter Linux eine spezielle Kerneloption für Echtzeitverarbeitung voraus.
Langsame Rechner könnten mit so einem Programm unter Umständen überfordert sein, denn die meisten SDR-Programme wie auch ein Digimode-Programm beanspruchen selbst schon erhebliche Kapazitäten des Computers.
Alles in allem sollte das einen Funkamateur aber nicht davon abhalten, diese Programme für das Hobby zu verwenden. Wenn man Digimodes mit modernen SDRs nutzen will kommt man praktisch nicht um so eine Lösung herum.
Eine detaillierte Schritt-für-Schritt Anleitung zur Installation und Konfiguration eines „Virtual Audio Cables“ kann hier nicht gegeben werden, da die Zahl der möglichen Kombinationen von SDRs, VACs und Digimode-Programmen einfach zu groß ist. Andererseits ist das auch nicht sehr schwer. Wenn im Blog genug Hinweise zu einzelnen Kombinationen besonders gängiger Programme kommen, so kann der Artikel in Zukunft durch ein konkretes Beispiel ergänzt werden.
Moin,
ein Tipp für Linux-Anwender (faktisch das Selbstbau-Betriebssystem für Funkamateure): Pulse Audio Volume Control (pavucontrol) ist ein guter Soundmixer, mit dem sich auch verschiedene Geräte über Monitoringkanäle verbinden lassen. Ich nutze das, um mit dem Browser WebSDR abzuspielen und den Sound an fldigi bzw qsstv weiter zu reichen. Die Installation je nach Distribution mit “apt-get install pavucontrol” oder “yum install pavucontrol”.
73
[…] Thema virtuelle Audiokabel noch Neuland für dich ist, dann solltest du dir den Beitrag „Audioverarbeitung mit SDRs“ mal zu Gemüte […]
[…] https://www.hamspirit.de/4664/audioverarbeitung-mit-sdrs/ […]
[…] Ein Rechner mit funktionsfähiger SDR-Umgebung, also SDR-Software und ein virtuelles Audiokabel […]