Raumfeld Connector 2: Lautstärkeregelung am Digitalausgang nachrüsten: So gehts :-))

+A -A
Autor
Beitrag
agentlost
Ist häufiger hier
#1 erstellt: 23. Jul 2019, 17:32
Moin Männers,


da bereits des Öfteren der Wunsch nach einer Lautstärkeregelung für den Digitalausgang des C2 aufkam, habe ich mich mal etwas in die Materie reingekniet. Die potentiellen Nachteile einer digitalen Regelung - wie Auflösungsverlust bei niedrigen Pegeln etwa - sind bekannt, sollen hier allerdings nicht thematisiert werden. Einzig und alleine geht es hier um die Freude über den implementierten Hack.

Die bereits vorhandene Regelung des Analogausganges findet nicht statt in der digitalen Signalverarbeitung auf Linux-Ebene, sondern sie ist ein Feature des verwendeten CODEC-Bausteines CS4271 (DA/AD - Wandler). Dieser wird - parallel zum I2S Bus für die Audiodaten - durch seinen Treiber über eine gesonderte Datenleitung angesprochen, welche dessen eingebaute Regelung steuert.

Hier können wir also nicht ansetzen, da der Digitalausgang direkt am I2S-Bus hängt und durch einen Transmitterbaustein nach DOBM (TOSLINK) übersetzt wird.

Also bleibt uns nichts anderes übrig, als das "Audiosignal als solches" auf Softwareebene durch einen DSP herunterzurechnen, die Lösung findet sich in der ALSA-Konfigurationsdatei des C2.

Um es kurz zu machen:

Man definiere ein adaptives Biquad Hishelf-Filter mit der unteren Grenzfrequenz 20 Hz, welches also das gesamte Audioband abdeckt. Dieses Filter verknüpfe man mit dem Lautstärkesteller (Master Playback Volume) der App und weise ihm abhängig von dessen Stellung die gewünschten Pegeldämpfungen zu.

Eleganter ginge es natürlich mit einem Allpass-Filter. Sofern ich noch eines in der Syntax finden sollte, baue ich die config dementsprechend um.

In der Praxis sieht es dann so aus, hier eine Kopie meiner /raumfeld/renderer/dsp-config/raumfeld-connector-2-alsa.xml aus meiner favorisierten FW 1.63.4 (aktuell ist momentan die 2.8) . Wer eine andere FW fährt, wird gegebenenfalls auf leicht anderem Pfade fündig..
-----------------------------------------------------------------------------------------

# Connector 2 mit Lautstärkeregelung am Digitalausgang

<dsp>
  <modules>
    <module id="input" type="input"/>
    <stereo-module id="user-eq" type="equalizer">
      <parameter id="gain-correction">yes</parameter>
      <parameter id="master-volume-alsa-control-name">Master Playback Volume</parameter>
      <parameter id="master-volume-alsa-control-device-name">default</parameter>
    </stereo-module>

# Nachfolgend die Lautstärkeregelung
    <stereo-module id="dspvolume" type="adaptive-biquad">
      <parameter id="type">hishelf</parameter>
      <parameter id="frequency">20</parameter>
      <parameter id="q">0.707</parameter>
      <parameter id="gain">-100=-27,-90=-24,-80=-21,-70=-18,-60=-15,-50=-12,-40=-9,-30=-6,-20=-3,-10=0</parameter>
      <parameter id="alsa-control-name">Master Playback Volume</parameter>
      <parameter id="alsa-control-device-name">default</parameter>
    </stereo-module>
# Lautstärkeregelung Ende

    <module id="patchbay" type="patchbay"/>
    <module id="output" type="output">
      <parameter id="interleave-pattern">01</parameter>
    </module>
  </modules>
  <cabling>
    <cable in="user-eq" out="input"/>
    <cable in="dspvolume" out="user-eq"/>
    <cable in="patchbay" out="dspvolume"/>
    <cable in="output" out="patchbay"/>
  </cabling>
</dsp>

-------------------------------------------------------------------------------------------------

Die Benennung des Filters "dspvolume" erfolgte willkürlich. Wer mag, der kann es auch "Schalke04", "Erbsensuppe" oder "Gabi" taufen. Wichtig ist nur, dass dieses weiter unten im cabling mit seinem korrekten Namen an korrekter Stelle eingebunden wird.

Wie man sieht, überstreicht die hier vorgestellte Konfiguration einen Regelbereich bis -27dB, wer mag, der kann sie gerne nach individuellen Erfordernissen anpassen oder weitere Zwischenschritte einfügen. Zu beachten ist dass der Dämpfungsverlauf am Analogausgang nun steiler steht als zuvor, da das Signal nun durch DSP und CODEC summiert abgeschwächt wird.

Getestet und lauffähig auf meiner favorisierten FW 1.63.4 bis HiRes 24/96, bei 192 KHz hängt sich der DSP wohl wegen Überlastung auf und der C2 muss neu gebootet werden. Klar, das gesamte Audioband muss ja auch in Echtzeit berechnet werden und bei Quadspeed wirds für den Prozessor wohl zu viel.


Besten Gruß und viel Spaß beim Basteln...


- der Jörch -

PS.: Auf ebensolche Weise lässt sich auch ein parametrischer EQ als schmalbandiges Kerbfilter einbinden zwecks gezielter Unterdrückung von Raummoden ("Dröhnfrequenzen").


[Beitrag von Master_J am 24. Jul 2019, 09:20 bearbeitet]
agentlost
Ist häufiger hier
#2 erstellt: 24. Jul 2019, 09:10
Moin Männers,


ach ja: Bevor das Basteln losgeht, bitte Sicherungskopie anlegen!

Leider hat die Forensoftware die Textformatierung nicht korrekt übernommen, wichtig sind die Spaltenabstände zum Linksanschlag. Wer also obigen Inhalt 1:1 in seine config übernimmt, sieht sich mit dem Problem konfrontiert, dass ALSA nicht initialisiert.

Ich habe mal ein Bild angehängt, wie die *.xml korrekt auszusehen hat:


alsa


Besten Gruß...


- der Jörch -
Master_J
Inventar
#3 erstellt: 24. Jul 2019, 09:21
Vielen Dank für Deine Forschung.

Ich habe die Textformatierung mal angepasst (code-Tag).

Gruss
Jochen
agentlost
Ist häufiger hier
#4 erstellt: 24. Jul 2019, 10:12
Moin Jochen,


jauuu, vielen Dank


Besten Gruß...


- der Jörch -
Suche:
Das könnte Dich auch interessieren:
Raumfeld Connector vs. Raumfeld Connector²
Mogalle am 02.06.2017  –  Letzte Antwort am 06.06.2017  –  5 Beiträge
raumfeld lautstärkeregelung oder verstärker?
ksy am 08.02.2012  –  Letzte Antwort am 09.02.2012  –  3 Beiträge
Raumfeld Connector 2 Samplerate
Braunbert0815 am 14.04.2016  –  Letzte Antwort am 23.04.2016  –  5 Beiträge
Raumfeld Connector 2 - Aussetzer
Genereux am 25.04.2013  –  Letzte Antwort am 23.06.2013  –  4 Beiträge
Teufel Raumfeld Connector 2
WaschtelSZ am 12.09.2013  –  Letzte Antwort am 12.09.2013  –  2 Beiträge
Teufel Raumfeld Connector 2
Radauzimmer am 10.11.2017  –  Letzte Antwort am 12.11.2017  –  5 Beiträge
Raumfeld Connector als Slave
BlogYourEarth am 07.06.2020  –  Letzte Antwort am 08.06.2020  –  3 Beiträge
Raumfeld Connector 2 USB Festplatte
SuperMajo am 22.02.2013  –  Letzte Antwort am 19.12.2014  –  25 Beiträge
Raumfeld Connector: Latenz am Ausgang
Horus107 am 05.09.2016  –  Letzte Antwort am 05.09.2016  –  4 Beiträge
Raumfeld Connector² Erfahrungsbericht
FestusHaggen am 22.04.2014  –  Letzte Antwort am 30.04.2014  –  3 Beiträge
Foren Archiv
2019

Anzeige

Produkte in diesem Thread Widget schließen

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder927.540 ( Heute: 7 )
  • Neuestes Mitgliedjeremycoughlan6
  • Gesamtzahl an Themen1.555.875
  • Gesamtzahl an Beiträgen21.647.585

Hersteller in diesem Thread Widget schließen