Erfahrungen mit dem NF-Kompressor

  • Hallo,
    auf DB0TEN kämpfen wir damit, dass die Nutzer sehr unterschiedlich laut klingen.


    Ursache:
    Manche ältere Geräte sind nicht auf Schmalband-FM eingestellt und machen zuviel Hub, die beliebten billigen China-Böller machen sehr wenig Hub, die Mikrofonverstärkung ist zu hoch oder zu niedrig eingestellt oder die Stimmen sind einfach sehr unterschiedlich. Man dreht ständig am Lautstärke-Regler. Mit diesem Problem stehen wir aber nicht alleine da, wie ich erfahren durfte.
    Michael DK5HH hat daher vorgeschlagen, einen NF-Kompressor einzusetzen. Diesen Vorschlag habe ich in die Tat umgesetzt und kann sagen:


    Es lohnt sich!


    Ich habe mich dabei von seinem Vortrag "Aus der Hexenküche der SVXLink-Entwicklungen" (Interradio 2013) inspirieren lassen.


    Bevor man den Kompressor zum Einsatz bringt, sollte man mit Hilfe des "alsamixer" und des eingeschalteten "peakmeter" eine verzerrungsfreie NF einstellen. Danach kann es losgehen:


    Zunächst muss man die Bibliothek der LADSPA-Plugins erweitern, da sie i.d.R. nicht zur Standard-Installation der verschiedenen Linux-Distributionen dazu gehört. LADSPA steht für "Linux Audio DSP Application".


    apt-get install swh-plugins


    Damit werden die notwendigen Dateien nachgeladen. Das kann eine Weile dauern.


    Anschliessend ist eine Datei "asound.conf" zu erstellen, die am einfachsten im Verzeichnis /etc abgelegt wird. Damit gilt sie global für alle User des Systems.
    Vorschlag/Inhalt:


    pcm.AMP1 { type plug; slave.pcm "Komp10"}
    pcm.Komp10 { type ladspa; slave.pcm "plughw:0.0";
    path "/usr/lib/ladspa"; plugins [ { id 1913; input { controls [ 10 -1.0 2.5 ] } } ] }
    # controls: 10 dB-Verstärkung, Limit -1,0 dB, Releasetime 2,5 sek für moderate Wirkung
    # für aggressiveren Sound Verstärkung erhöhen und Releasetime verkürzen. Nicht übertreiben!


    Bitte genau auf Gross/Kleinschreibung und die Verwendung der korrekten Anführungszeichen achten. Wenn man die Datei mit Hilfe einer externen Textverarbeitung erstellt, hat die häufig zuviel Intelligenz und baut dort Anführungszeichen nach deutscher Grammatik und andere Nettigkeiten ein. Ich weiss, das sind eigentlich Anfängerfehler, aber sie sind nicht nur mir passiert.
    Falls die Syntax der Datei "asound.conf" einen Fehler enthält, lässt sich anschliessend der "alsamixer" nicht mehr aufrufen. Mit dem "alsamixer" stellt man die Ein- und Ausgangspegel der verwendeten Sound-Karte ein.


    Als letzter Schritt ist ein Eintrag in der svxlink.conf notwendig, mit dem der Kompressor aktiviert wird.
    Dazu sucht man sich dort die Rubrik für den TX und ersetzt die Zeile
    AUDIO_DEV=alsa:plughw:0
    durch
    AUDIO_DEV=alsa:AMP1


    Nach Beendigung und Neustart von svxlink ist der Kompressor aktiv.
    Seine Wirkung sollte man bereits bei der automatischen Ausgabe der Kennung bemerken können, die nun etwas lauter erscheint.
    Falls es ein Problem gibt, lässt sich das Relais zwar auftasten, es bleibt aber ansonsten stumm. Die Ursache ist i.d.R. in der Datei "asound.conf" zu suchen. Sollte man nicht gleich drauf kommen, einfach die Änderung in der svxlink.conf wieder rückgängig machen und in Ruhe suchen.


    Parameter:
    Wenn man die Verstärkung über 10 dB anhebt, wird man vom Relais "angebrüllt". Für Mobilisten ist das OK, zu Hause klingt es aber unangenehm.
    Die Mikrofonverstärker in den Funkgeräten sind nach meinen Erfahrungen auch nicht vollständig linear. Im Bereich der maximalen Aussteuerung neigen sie zu Verzerrungen. Bei unserem MC micro durfte ich das Limit von -1 dB nicht überschreiten, sonst kratzte die NF deutlich. Eine zu kurze Releasetime erzeugt ein unangenehmes Pumpen der NF.


    Praxis:
    Wenn alles gut läuft und die Parameter in der "asound.conf" moderat eingestellt sind, bemerken die meisten Anwender den Einsatz des Kompressors in der Praxis gar nicht.
    Der gewünschte Effekt ist jedoch vorhanden. Die Lautstärke-Differenzen werden gut ausgeglichen, alle Stationen klingen ungefähr gleich laut, ohne dass es zu Verzerrungen kommt oder die NF pumpt.


    Was will man mehr?

  • Hallo Jan,


    Super Anleitung, Danke.


    Wir haben bei DB0KOE ein ähnliches Problem, allerdings wollte ich dieses durch Hardware schlagen :)


    Dafür haben wir uns einen Behringer AUTOCOM RPO MDX 1200 bei Ebay geschossen.


    Die Tests stehen aber noch aus ... keine Zeit.


    Wie sieht das bei Dir mit der CPU Last aus? Welches Peakmeter hast Du genau genommen?


    73 de Andreas

  • Die CPU-Last habe ich noch nicht gemessen, habe aber auch bei intensivem Betrieb des Relais keine negativen Einflüsse oder Überhitzungen des kleinen Futro-Computers festgestellt. Das Peakmeter kannst du in der svxlink.conf in der Empfänger-Logik mit dieser Zeile einschalten:
    PEAK_METER=1
    Wenn dann jemand spricht und übersteuert, wird dir das in der Konsole sofort angezeigt und du kannst den Lautstärke-Regler am Relais-Empfänger verändern.

  • Hi Jan,
    ok, werde das mal auf meinem Alix1D und Cubieboards testen.


    Peakmeter: achso, Du meinst das eingebaute. Ja das nutzte ich auch, dachte Du hättest ein Konsolenprogramm welches die Aussteuerung direkt anzeigt.
    Da soll es auch etwas geben ;)


    Danke.


    73 de Andreas

  • Hallo Jan,


    ich habe heute Abend mal probiert den LADSPA auf einem Raspberry mit Wheezy zu aktivieren, leider ohne Erfolg.


    Beim Start von Svxlink bekomme ich:


    Code
    Tx1: Turning the transmitter ON
    ALSA lib pcm_hw.c:1401:(_snd_pcm_hw_open) Invalid value for card
    *** ERROR: Open playback audio device failed: No such device
    *** ERROR: Could not open audio device for transmitter "Tx1"


    Ich habe alles per Drag-and-Drop von Deinem Beitrag kopiert. Wo ist der Fehler? Ich bin da jetzt mal "systemblind"


    LG es vy73 de Wilm,
    DL4OCH

  • Die interne Ton-Logik des Pi kann man nach meinen rudimentären Kenntnissen nicht gebrauchen. Also hast du hoffentlich eine externe USB-Soundkarte in Form eines kleinen USB-Sticks angeschlossen. Wird diese USB-Soundkarte erkannt?

  • Hallo Jan,


    unser Relais läuft prima mit dem Raspi und einer USB-Soundkarte. Mit den normalen Einstellungen auch kein Problem. Nur wenn ich die Einstellungen zum gebrauch des LADSPA nehme, dann kommt es zu dieser Fehlermeldung. Entweder ist Wheezy dazu nicht geeignet, oder der Teufel steckt mal wieder im Detail.


    vy73 de Wilm,
    DL4OCH

  • Wenn du die Fehlermeldung "ALSA lib pcm_hw.c:1401:(_snd_pcm_hw_open) Invalid value for card" in Google eingibst, wirst du Leidensgenossen finden. Und es sind auch einige viel versprechende Lösungsansätze dabei.

  • Hallo Zusammen,


    wollte das gerade auf meinem Alix1d testen, aber
    Tx1: Turning the transmitter ON
    ALSA lib pcm_hw.c:1401:(_snd_pcm_hw_open) Invalid value for card
    *** ERROR: Open playback audio device failed: No such device
    *** ERROR: Could not open audio device for transmitter "Tx1"


    Eine richtige Soundkarte hat der Alix1D aber:


    cat /proc/asound/cards
    0 [Audio ]: cs5535audio - CS5535 Audio
    CS5535 Audio cs5535audio at 0xfe00, irq 11


    Mhhhh ...


    73 de Andreas

  • Hallo Zusammen,


    ich habe den Fehler gefunden.


    Der Käfer steckt hier: pcm.Komp10 { type ladspa; slave.pcm "plughw:0.0"


    es muss aber plughw:0,0 heißen.


    Also Komma statt einem Punkt ... kleiner Fehler ;) aber nun geht es


    73 de Andreas

  • Upps!
    Hab gerade noch mal nachgesehen: In meiner echten asound.conf steht es richtig, aber in der veröffentlichten Anleitung dazu habe ich aus irgendwelchen Gründen Punkt und Komma vertauscht.
    Gut dass du das bemerkt hast!

  • hihi .. ja ich war schon an mir am zweifeln.


    Habe dann die Klammer aufgelöst und dabei ist es mir aufgefallen.


    Wollte aber erst diese Lösung testen bevor ich einen Hardware-Kompressor von Behringer einschleife.


    73 de Andreas

  • Hallo zusammen!


    Danke dass Ihr den Fehler gefunden habt. Der Kompressor ist wirklich spitze! Endlich sind auch die leisen Stationen vernünftig bei FM-N zu verstehen.


    vy73 de Wilm,
    DL4OCH

  • Nabend!


    sorry, aber ich muss mal dies alte Thema noch einmal aufwärmen.


    Jan schrieb u. a.


    Quote

    Dazu sucht man sich dort die Rubrik für den TX und ersetzt die Zeile
    AUDIO_DEV=alsa:plughw:0
    durch
    AUDIO_DEV=alsa:AMP1


    Wie sieht es denn für die netzseitigen Teilnehmer aus? Würde den Netztseitigen auch gerne ein gleichmäßig lautes Signal servieren wollen, welches von der UKW-Seite kommt :)
    Braucht der Abschnitt "RX" dann auch diesen Eintrag?

  • Nabend!


    Ok, nach dem hier keiner mehr geantwortet hat :( , habe ich es einfach mal probiert.


    Es scheint, zumindest nach bisherigen Erkenntnissen auch von der UKW-Seite Richtung Netz zu funktionieren. Allerdings habe ich nicht schlecht gestaunt, als im Log reihenweise Distorsion-Error Meldungen kamen, obwohl kein NF Signal anstand. Die Meldungen führten letztlich zum Absturz von Svxlink führte und nichts ging mehr.
    Habe einiges probiert und um es vorweg zu nehmen, nach dem Reduzieren des Prameters "Preamp" auf "0" waren dann auch die Störungen weg. Der stand zuvor auf "5".


    Scheinbar "hört" sich die Soundkarte selber :o


    es wurden dann Stationen auf 2m gebeten mit wechselnder Lautstärke das Mic zu besprechen. Dabei war zu erkennen, dass selbst wenn der TX übersteuert wurde, dies netzseitig bei den Hörern zwar als brabbeln erkannt wurde, klingt halt doof :), aber es wurde nicht mehr lauter. Leise Stationen, so wie meiner einer wurden angehoben und waren genauso laut.


    Die Prozessorlast ist bei der Aktion am Banana Pi nicht merklich gestiegen.


    Wer also seiner Gemeinde also einen Gefallen tun will.......

  • Ok, danke für die Info. Ich werde das dann auch mal testen.


    Mir scheint das diese Funktion im Rx-Abschnitt auch etwas besser aufgehoben ist. Denn sobald man das Tx-mäßig einbaut wird ja alles auf einen Pegel gebracht. Also z.B. auch der RogerBeep, der vielleicht gar nicht die volle Lautstärke haben soll ...


    Ursache für das Problem mit den unterschiedlichen Lautstärken ist ja eigentlich hauptsächlich der Rx-Zweig. Die eine Station bespricht das Mikrofon aus 1m Entfernung und die andere hat auf 5kHz Hub eingestellt und das Turner +3B bis hinten aufgedreht, hi.


    Wenn also nun an allen Empfängern für einen ausgeglichenen Pegel gesorgt wird passt es überall. Auf dem TX, via EchoLink und auch bei den Netzwerk-Teilnehmern (RemoteTrx, SvxServer). Jetzt müsste man das Ganze nur noch irgendwie bei den SDR-Empfängern (WbRx) einbauen können. Dort gibt es ja leider kein AUDIO_DEV ...