Wiedergabe-Optimierung mit Acourate

Übersichtsbild von Acourate

Inhaltsverzeichnis

Einleitung

12.03.2024

Ende des Jahres 2013 ist meine Anlage / mein Raum das erste Mal vermessen worden. Zu dem Zeitpunkt hatte ich noch einen rein analogen Aufbau mit den Stacked Quads und dem RiPol. Getrennt habe ich mit der AFW1 bei 125Hz. Natürlich hatte ich zu dem Zeitpunkt ein paar Ideen, was verbessert werden könnte, aber im Großen und Ganzen war ich zufrieden.

Diese Messung änderte alles!

Sie hat mir gnadenlos aufgezeigt, was alles nicht in Ordnung war und mit welchen Kompromissen ich all die Jahre Musik gehört hatte.

Das führte in den folgenden Jahren zur Entwicklung des aktiven Absorbers und im Jahr 2021 zum Umstieg auf die digitale Signalverarbeitung. Seither lerne ich immer weiter hinzu mit teils erstaunlichen Verbesserungen der Wiedergabequalität in meinem Raum.

Neben der Möglichkeit, raumakustische Maßnahmen durchzuführen, hat mich auch der Artikel

Dr. Ulrich Brüggemann – Thoughts About Crossovers

davon überzeugt, diesen Weg zu beschreiten. Wenn man erkennt, wie unzureichend analoge Frequenzweichen sind und wie viel besser digitale FIR Filter diesen Job erledigen können, dann muss man einfach Konsequenzen daraus ziehen. Man findet den Artikel im Infocenter auf der AudioVero Homepage.

Die digitale Signalübertragung bietet einem auch die Möglichkeit der Laufzeitanpassung in einem Mehrwegesystem. Ein auf mehrere Lautsprecher aufgeteiltes Musiksignal, das anschließend nicht zeitgleich am Ohr ankommt, wird per se nicht korrekt wiedergegeben.

Im folgenden beschreibe ich den Weg, den ich aktuell nutze meinen Aufbau zu messen, um daraus die Korrekturfiles zu ermitteln. Ich hoffe, dass ich damit anderen Anwendern von Acourate und dem AcourateConvolver Anregungen und einen Leitfaden geben kann, wie man an die Optimierung herangehen kann.

Einen sehr guten Einstieg in Acourate bekommt man mit der Anleitung „Schnelleinstieg in Acourate“, die man im Infocenter auf der AudioVero Homepage als pdf-File finden kann.

Wenn man sich nicht scheut, Anleitungen in Englisch zu lesen, dann bietet sich auch das folgende Buch an:

Mitch Barnett – Accurate Sound Reproduction Using DSP

Mitch setzt jedoch JRiver ein und es gibt keinerlei Informationen über den AcourateConvolver. Es werden allerdings jede Menge technische und akustische Hintergründe erklärt. Man bekommt es als Buch oder als Kindle eBook. Auch wenn ich selbst JRiver nicht verwende, so fand ich das Buch doch ungemein lehrreich.

Die eingesetzten Hard- und Software Komponenten bestimmen zumindest an einigen Stellen die Vorgehensweise bei der Acourate Optimierung des eigenen Systems. Deshalb kann es individuell zu Abweichungen kommen.

Das System ist ziemlich aufwändig und somit Fehler anfällig. Es setzt voraus, dass man Kenntnisse in der digitalen Signalverarbeitung mit sich bringt. Man muss aber auch wissen, wie man Rechner und Netzwerke administriert und wie man ein Betriebssystem aufsetzt. Klemmt es an einer Stelle und hat man nicht die benötigten Kenntnisse, kann es sehr schnell zu Ende sein mit dem entspannten Musik hören über ein optimiertes Wiedergabesystem. Läuft allerdings alles wie gewollt, bekommt man eine Wiedergabe mit einer Qualität, die man nie für möglich gehalten hat.

Der Aufwand lohnt sich auf jeden Fall!

Am besten sucht man sich jemanden, der einem als Mentor zur Seite steht. Das vereinfacht den Einstieg ungemein.

Beschreibung der Komponenten

12.03.2024

Eines der wichtigsten Software Komponenten, die ich neben dem eigentlichen Acourate einsetzte, ist der AcourateConvolver. Dies hat an einigen Stellen direkte Auswirkungen darauf wie die berechneten Parameter und Korrekturfiles verarbeitet werden. Es bestimmt aber auch die Topologie der Hardware.

Verwendete Hardware

Im Zentrum der Audio Signalverarbeitung sitzt bei mir ein Lynx Aurora(n) Studio Wandler. Dieser Wandler ist modular aufgebaut und so muss man diese Aussage näher spezifizieren: Es ist ein „PRE 2016 DANTE“. Das bedeutet, dass der Wandler mit 16 analogen Ein- und Ausgängen und 4 Mikrofoneingängen auf der analogen Seite ausgestattet ist. Für die digitale Signalübertragung ist er mit einer Karte für die Kopplung mit einem Dante Netzwerk bestückt.

Der AcourateConvolver läuft auf einem PC mit einem Intel Core i7-13700K mit 16GB RAM. Als Betriebssystem verwende ich ein Windows Server 2022 Standard für 24 Cores. Meine Erfahrungen haben mir gezeigt, dass es der Audio Performance gut tut wenn der Rechner möglichst wenig zu tun hat, deshalb die potente CPU und das Server Betriebssystem. Der Rechner läuft ohne Maus, Tastatur und Monitor. Er wird von mir Remote administriert. Der Rechner ist mit 2 Ethernet Schnittstellen ausgestattet. Die erste ist mit meinem privaten Netzwerk verbunden und die zweite wird für die Verbindung ins Dante Netzwerk verwendet. Da der Rechner in einem Nebenraum steht, kann er aktiv gekühlt werden. Somit bin ich bei der Auswahl der CPU nicht auf 65W Typen, die sich noch passiv kühlen lassen, beschränkt.

Im Zentrum des Dante Netzwerkes sitzt ein Cisco SG250-08 managed Switch. Das Dante Netzwerk wird bei mir ausschließlich für die Übertragung der Audio Daten genutzt. Die Einstellungen des Switches sind für die Übertragung von Audio Daten im Dante Netzwerk optimiert. Ich setzte CAT6 Kabel ein.

Die Lautstärke sollte / muss bei einem hier beschriebenen aktiven Mehrwegesystem hinter der Faltung (AcourateConvolver) erfolgen. Aus diesem Grund wird ein entsprechender Mehrkanalvorverstärker benötigt. Ich setzte an dieser Stelle meinen VV7 Vorverstärker ein. An den Ausgängen des Vorverstärkers sind die Endstufen angeschlossen. Diese treiben die einzelnen Lautsprecher Komponenten meines RQM Systems. Aktuell sind es sieben Wege.

In meinem Setup gibt es einen zweiten PC. Er ist passiv gekühlt und befindet sich direkt im Hörraum. Der verwendete Prozessor ist ein Intel Core i3-8100 mit 16GB RAM. Auf diesem Rechner kommt Windows 11 Pro zum Einsatz. Der Rechner ist mit Maus, Tastatur und Monitor ausgestattet. Auch dieser Rechner hat 2 Ethernet Schnittstellen (internes Netz & Dante). Diesen Rechner verwende ich für die Acourate Messungen und die Administrierung des Convolver PCs, des Lynx Wandlers und des Dante Netzwerkes.

Für alle raumakustischen Messungen setzte ich das sehr hochwertige Earthworks M50 Messmikrofon ein. Meine Erfahrungen haben mir gezeigt, dass man mit einem günstigen Mikrofon sicherlich die ersten Gehversuche machen kann, will man aber das Optimum aus seinem System herausholen, darf man an der Messkette nicht sparen.

Verwendete Software

Bei der Beschreibung oben ist es ja schon von mir erwähnt worden, ich setzte neben Acourate auch den AcourateConvolver ein.

Um die beiden PCs in das Dante Netzwerk einbinden zu können, läuft auf den Rechnern die Dante Virtual Soundcard (DVS). Sie stellt per ASIO Schnittstelle die Verbindung zwischen Audio Software und Ethernet Schnittstelle / Dante Netzwerk her. Auch mein Roon Server ist auf diese Weise in das Dante Netzwerk eingebunden.

Auf dem Mess-PC ist zusätzlich die Dante Controller Software installiert. Hierüber wird die komplette Administrierung des Dante Netzwerkes und den damit verbundenen Komponenten durchgeführt.

Auf diesem Rechner findet sich auch die Software Lynx NControl. Damit kann der Wandler konfiguriert werden. Die Verbindung findet über das Dante Netzwerk statt, es ist also keine weitere Hardware Verbindung notwendig.

Optimierung des RQM Systems

12.03.2024

Im folgenden beschreibe ich die Vorgehensweise, um mein RQM System einzumessen. Es ist allerdings nicht nur auf mein System beschränkt und man kann den größten Teil wie beschrieben übernehmen. Ich gebe jeweils einen Hinweis auf Dinge, die speziell für mein System vorgenommen werden.

Zur Zeit der Erstellung dieser Seite verwendete ich Acourate Version 2.1.6 und den AcourateConvolver in der Version 2.0.7.

Das Dante Netzwerk wird bei mir mit 96kHz / 24Bit betrieben. Diese Einstellung hat sich für mich mit dem Lynx Wandler als „Sweet Spot“ herausgestellt. Bei höheren Frequenzen empfinde ich die Audio Wiedergabe als etwas „angestrengt“. Ich führe auch alle Messungen mit dieser Sample Rate durch. Der Lynx Wandler ist der Takt-Master im Dante Netzwerk.

Für jede Messung lege ich mir ein eigenes Verzeichnis mit dem aktuellen Datum im Namen an. Somit bekomme ich eine chronologische Historie. Zudem mache ich mir Notizen zu den Messungen und den Ergebnissen. Dafür verwende ich DokuWiki, das bei mir auf einem Raspberry Pi 4B läuft. Ich kann also jederzeit nachvollziehen, was ich an dem System alles ausprobiert habe.

An dieser Stelle muss ich ein wenig vorgreifen. Ich betreibe mein System mit einer Filterlänge von 262144 Taps. Dies ist die größtmögliche Anzahl, die sich in Acourate einstellen lässt. Die Empfehlung für 96kHz liegt bei 131072 Taps, aber so klingt es für mich einfach besser.

Bevor es an die Optimierung des Systems gehen kann, muss erst einmal das Signal-Routing im Dante Netzwerk festgelegt werden. Ohne ein korrektes Routing wird das System keinen Ton von sich geben. Dies gilt natürlich auch für alle anderen digitalen Lösungen. Eine Beschreibung ist allerdings nicht Teil dieses Dokumentes.

Ebenso setze ich voraus, dass Acourate und AcourateConvolver installiert und lizenziert sind. Somit von der Software Seite aus alles einsatzbereit ist.

Die folgende Beschreibung ist chronologisch und sollte auch so durchgeführt werden.

Erstellung des Kalibrierfiles für das verwendete Mikrofon

31.12.2023

Jeder seriöse Hersteller eines Messmikrofons stellt individuelle Kalibrierdaten zur Verfügung. Mithilfe dieser Daten erzeugt man sich für die Messung mit Acourate ein Korrekturfile. Es wird bei den Messungen eingebunden, um die Ungenauigkeiten des Mikrofons direkt zu korrigieren.

Die Herausforderung dabei ist es zu erkennen, ob die zur Verfügung gestellten Daten die originalen Messdaten sind oder ob sie schon vom Hersteller invertiert wurden. Wie man dies aber relativ sicher erkennen kann, erkläre ich ein paar Zeilen weiter unten. Man kann sich natürlich auch beim Hersteller danach erkundigen.

Bei meinem Earthworks M50 kommt das entsprechende File als Textdatei. Sie beinhaltet ein Messwertpaar pro Zeile (Frequenz & Amplitude) und kann direkt in Acourate eingelesen werden. Als Beispiel sieht man unten die ersten 10 Zeilen dieser Datei.

"Transfer Function Mag - dB volts/volts (0.10 oct)(eq)(eq:aux)"
      "Hz"      "Data"
     3.000,  -2.387989
    10.000,   1.387989
  765.4139,   1.387989
   818.201,   1.416025
  870.9882,   1.448313
  950.1689,   1.496563
  1002.956,   1.517841
  1082.137,   1.508638
...

Man kann davon ausgehen, dass die Amplitude eines Mikrofons zu den tiefen Frequenzen hin abnimmt. Dies kann man als Indikator dafür nehmen, ob die gelieferten Messdaten schon invertiert worden sind. Bei meiner Datei sieht man das der Wert der Amplitude bei 3Hz mit -2,38dB kleiner ist als der bei 10Hz (1,38dB). Die Daten sind folglich nicht invertiert.

Als erstes habe ich einen eigenen Ordner für die Kalibrierdaten angelegt. Da ich nur ein Messmikrofon nutze, gibt es keine Unterordner an dieser Stelle. Das Kalibrierfile des Herstellers habe ich dort unter einem markanten Namen abgelegt.

Nach dem Aufruf von Acourate wird dieses Verzeichnis als Arbeitsverzeichnis selektiert und die Abtastfrequenz gesetzt (hier: Samplerate 96000). Anschließend kann die Datei über

File -> Import Magnitude (Mic Calibration or Target Curve)

eingelesen werden. Hat man die entsprechende Datei selektiert, erscheint als nächstes eine Abfrage nach der „Pulse length selection“. Ich wählte an dieser Stelle natürlich 262144 (siehe oben). Anschließend wird noch abgefragt, ob man ein „minimum phase result“ haben möchte. Diese Abfrage wird mit „yes“ beantwortet. Danach werden die Daten eingelesen und in Active Curve 1 dargestellt.

Acourate: Amplitude meines Earthworks M50

Meine Kurve hat ein Minimum bei 0,8dB und ein Maximum bei 2,2dB. Der mittlere Verlauf liegt bei 1,4dB. Die Abweichungen sind nicht wirklich dramatisch und zur Not könnte man auch ohne Korrektur messen. Aber natürlich wird das Ergebnis mit Korrektur exakter.

In meinem Fall muss ich nun aus den Daten die Inverse berechnen. Durch einen Aufruf von

FD-Function -> Magnitude Inversion

erhält man das folgende Fenster

Acourate: Inverse Signal Computation

Hier selektiert man „minphase“ und „Curve2“. Danach wird die Inverse mit „Calculate Inversion“ berechnet und in Active Curve 2 dargestellt.

Acourate: Amplitude & inverse Amplitude meines M50

Abschließend muss die Inverse abgespeichert werden. Diese Kurve wird bei allen folgenden Messungen zur Linearisierung der Messkurve verwendet. Man muss sicherstellen, dass das Fenster Active Curve 2 aktiv ist. Mit dem Menüpunkt

File -> Save Mono WAV

wird die Inverse dann gespeichert. Vorher muss man sich noch für das Format dieser Datei entscheiden („desired resolution“). Bei einem High End System fällt die Wahl natürlich auf „64: double float (default)“. Abschließend kann man noch einen individuellen Namen für das Kalibrierfile vergeben. Bei mir heißt die Datei „M50Invers96-262k.wav“. Aus dem Namen kann ich somit alle relevanten Daten entnehmen.

Hat man vom Hersteller schon invertierte Daten erhalten, entfällt der Schritt mit der Invertierung. Nach dem Einlesen der Daten wird die Kurve dann mit aktivem Active Curve 1 wie oben beschrieben abgespeichert.

Erzeugung der Frequenzweiche

01.01.2024

Bei einem Aufbau wie dem meinen lassen sich keine Messungen des Gesamtsystems durchführen, ohne das eine Frequenzweiche auf dem AcourateConvolver läuft. Natürlich muss vorher schon das Routing der Audio Signale erfolgreich durchgeführt worden sein.

Für die Dateien der Frequenzweiche gibt es bei mir einen eigenen Ordner mit einer Reihe von Unterordnern. Dort sind alle möglichen Versuche mit der Frequenzweiche abgelegt. Auch hier versuche ich wieder prägnante Namen zu wählen. Es gibt zudem zu jeder Berechnung eine eigene Beschreibung in meinem DokuWiki.

Als erstes wird der Ordner für die Frequenzweiche als Arbeitsordner festgelegt. Anschließend wird die Frequenzweiche in Acourate mit

Generate -> Crossover

erzeugt. In dem sich öffnenden Fenster werden alle relevanten Parameter angegeben.

Acourate: Erstellung einer Frequenzweiche

Die Parameter für meine Frequenzweiche sind schon eingetragen. Ich verwende eine 3 Weg Weiche mit Übergangsfrequenzen von 125Hz und 7,5kHz. Die Delays benutze ich an dieser Stelle nie, ein Wert von 0 ist bei allen eingetragen. Als Filtertyp setze ich UB jPol11 FIR-Filter mit einer Ordnung von 2 ein. Wie oben schon geschrieben lasse ich die Weiche mit der maximal mögliche Anzahl an taps (262144) rechnen. Die Weiche wird mit linearer Phase erstellt (linphase). Der große Vorteil der FIR-Filter gegenüber den IIR-Filtern. Das „double precision“ Datei Format ist schon vorgewählt. Mit „Calculate XO“ werden die Dateien erzeugt und im aktuellen Verzeichnis gespeichert.

In meinem Fall sind insgesamt 6 Dateien erzeugt worden:

  • XO1L96.dbl, XO1R96.dbl – bis 125Hz
  • XO2L96.dbl, XO2R96.dbl – von 125Hz bis 7,5kHz
  • XO3L96.dbl, XO3R96.dbl – ab 7,5kHz

Acourate bezeichnet die Frequenzweichenfiles mit XO*.dbl. Die Nummerierung fängt beim Bass an. L und R bezeichnen natürlich den linken und rechten Kanal. Zum jetzigen Zeitpunkt sind die jeweiligen Dateien der beiden Kanäle identisch. Die Zahl 96 gibt Auskunft über die zugrunde liegende Abtastfrequenz.

Acourate: linker Kanal meiner 3-Weg Weiche

Auf dem Bild oben sieht man die Frequenzverläufe der 3 Wege für den linken Kanal (oben) und wie sie sich perfekt zu einem Dirac Puls addieren (unten). Die Kreuzungspunkte in den Übergangsfrequenzen liegen bei -6dB, genau so, wie es sein soll.

Als letztes müssen die erzeugten Dateien noch für den Convolver konvertiert werden. Hierzu ruft man

Room -> Create CPV for AcourateConvolver

auf. In dem sich öffnenden Auswahlfenster selektiert man den ersten Eintrag. Es ist in der Regel XO1L*.dbl, alles andere läuft dann automatisch ab. Anschließend finden sich neben den *.dbl Dateien auch die entsprechenden *.cpv Dateien in dem Verzeichnis.


Spezielle Berechnung für das RQM System:

In meinem RQM-System laufen pro Kanal zwei 57er Quad ESL parallel. Von der Hardware her wird jede Quad einzeln angesteuert. Damit ich auch individuelle Frequenzweichenfiles für jede einzelne Quad verwenden kann, erzeuge ich abschließend aus der 3 Wege Weiche eine mit 2×4 XO Files.

Ich benenne die XO3* Dateien in XO4* um und kopiere die XO2* Dateien auf XO3*. Aus Sicht von Acourate erzeugte ich damit eine 4-Wege Weiche. Allerdings sind zum jetzigen Zeitpunkt die XO2* und XO3* Dateien identisch. In meinem Verzeichnis liegen danach die folgenden Dateien vor:

  • XO1L96.dbl, XO1R96.dbl – bis 125Hz / RiPol Subwoofer
  • XO2L96.dbl, XO2R96.dbl – von 125Hz bis 7,5kHz / obere Quads
  • XO3L96.dbl, XO3R96.dbl – von 125Hz bis 7,5kHz / untere Quads
  • XO4L96.dbl, XO4R96.dbl – ab 7,5kHz / Mundorfs

Bemerkung: Dass es gleich 2 identische Frequenzbereiche pro Kanal gibt, stört Acourate bei der abschließenden Berechnung der Korrekturfiles (siehe Macro 4) nicht.


Konfiguration des AcourateConvolver

01.01.2024

Im AcourateConvolver kann man 9 Konfigurationen mit jeweils 3 Filterbänken selektieren. Die dazu gehörigen Faltungsdateien (*.cpv) liegen in Verzeichnissen auf dem Rechner. Ich weiche jedoch von dem Ort, der bei der Installation des AcourateConvolver eingerichtet wird, ab und lege alle meine Daten in einem Verzeichnis namens

c:\conf

Für mich ist es so am einfachsten. Es spricht aber auch nichts dagegen, den AcourateConvolver Standard zu nutzen.

In diesem Verzeichnis gibt es Unterverzeichnisse mit den Namen „1“ bis „9“. Sie beziehen sich auf die insgesamt 9 möglichen Konfigurationen. Pro Unterverzeichnis gibt es dann jeweils noch einmal Verzeichnisse mit den Namen „1“ bis „3“, diese sind den Filterbänken zugeordnet. Dies wird so bei der Installation angelegt und ich habe es in meinem Verzeichnis übernommen. Man kann sich aber auch ohne Probleme eine eigene Struktur überlegen.

Ich nutze die Konfiguration 9 immer zum messen und habe es auch entsprechend im AcourateConvolver bezeichnet. In das Verzeichnis

c:\conf\9\1

speichere ich nun die oben erzeugten Frequenzweichenfiles.

AcourateConvolver

Auf dem Foto oben sieht man die Verbindungsmatrix, wie sie in meinem System für das Messen verwendet wird. Das Messsignal aus Acourate kommt über die Dante Eingangskanäle 15 und 16 in den Convolver. Die Audio Kanäle für die Lautsprecher sind auf die Dante Ausgänge 1 bis 7 geroutet.

Hier kann man auch erkennen, wie man einen Mono-Subwoofer einbindet. Die Signale aus beiden Bass-Kanälen (XO1*) werden auf den Ausgang 1 geroutet, allerdings jeweils mit einem um -6dB verringerten Pegel.

Von diesem Zeitpunkt an ist das System in der Lage, vernünftige Töne abzugeben!

Position des Messmikrofons

13.03.2024

Das Messmikrofon sollte sich bei allen Messungen

  1. reproduzierbar an der gleichen Stelle befinden
  2. exakt in der Mitte zwischen den beiden Lautsprechern platziert sein

Am besten man denkt sich ein System aus, wie man das Mikrofon bei der Aufstellung immer in die gleiche Position bringt.

Mein Hörraum hat eine Holzdecke. Meine Hörposition habe ich mit der Hilfe meines Freundes Heiner mit einem Kreuzlinienlaser exakt vermessen und bei dieser Position an der Decke einen Haken angebracht. An diesen hänge ich ein Lot, das eine Markierung auf der korrekten Höhe hat. Damit positioniere ich das Mikrofon schon einmal ziemlich genau an der richtigen Stelle im Raum.

Anschließend nimmt man Acourate zu Hilfe und benutzt die Funktion „Microphone Alignment“.

LogSweep -> Microphone Alignment

Damit kann man das Mikrofon auf den Millimeter genau in die Mittelposition bringen. Die Genauigkeit steigt dabei mit der Messfrequenz.

Acourate: Microphone Alignment

Hat man das Mikrofon exakt in die Mitte gebracht, erscheint in dem Fenster eine grüne 0. Das Prozedere ist selbsterklärend. Bei meiner Art der Ausrichtung (siehe oben) sind es immer nur noch wenige Millimeter, die ich das Mikrofon nach links oder rechts bewegen muss.

Einstellung der Pegel bei der Messung

13.03.2024

Für eine vernünftige Messung müssen die Pegel abgeglichen werden. Es sollte nicht zu „leise“ sein, aber übersteuern darf man auch nicht. Für die Wiedergabe nutze ich die Volume Einstellung am Vorverstärker und für die Aufnahme den Verstärkungsfaktor des Mikrofoneinganges am Lynx Wandler.

Das menschliche Ohr hat bei einem Schalldruckpegel zwischen 80dB und 90dB die größte Ausgeglichenheit zwischen den Frequenzen. Mitch Barnett empfiehlt in seinem Buch einen mittleren Messpegel von 83dB. Ich habe gute Erfahrungen damit gemacht und mein System bei der Wiedergabe der Messsignale aus Acourate darauf eingemessen. Ich benutze dafür das günstige Schallpegelmessgerät PeakTech 5055. Bei der Messung wird es auf „C-weight / slow“ gestellt.

Da mein System ohne Optimierung sehr starke Pegelschwankungen hat, führe ich die Messung nur von 950Hz bis 1050Hz mit einer Zeitdauer von 60s durch. Das Schallpegelmessgerät wird an die Messposition des Messmikrofons gehalten. Dann stelle ich den Volume Regler an meinem Vorverstärker so ein, dass ich in etwa diesen Pegel erreiche. Schwankungen gibt es auch bei dem schmalen Frequenzbereich, ich muss „optisch“ mitteln.

Acourate: LogSweep Messung

Ich messe mit einem Pegel von 0dB in Acourate und -20dB an meinem Vorverstärker.

Mit dem gefundenen Abspielpegel lasse ich anschließend eine Messung über den ganzen Frequenzbereich laufen und stelle damit den Pegel des Mikrofonvorverstärkers ein. In Acourate wird über ein Laufband der maximal gemessene Eingangspegel angezeigt. Dieser sollte -6dB nicht überschreiten. Ein dB rauf oder runter ist nicht so entscheidend, ich sehe aber zu, das ich unterhalb dieser Grenze bleibe. Es kann vorkommen, dass man diese Messung zweimal durchführen muss.

Bild LogSweep Pegel

Mein Mikrofonvorverstärker ist für das Earthworks M50 auf einen Pegel von 36dB eingestellt.

Ändert sich nichts an der Anlagenkonstellation und lassen sich die Pegel reproduzierbar einstellen, so muss man diese Messung nur einmal durchführen. Anschließend nutzt man immer die ermittelte Konfiguration.

Pegel der Lautsprecher einstellen

14.03.2024

In einem Mehrwege System laufen die Lautsprecher an unterschiedlichen Endstufen. Wenn es sich nicht um das gleiche Fabrikat handelt, ist es sehr wahrscheinlich das sich die Verstärkungsfaktoren unterscheiden. Zudem sind auch die Lautsprecher von Natur aus unterschiedlich laut.

Es ist sinnvoll, die Pegel der Lautsprecher im analogen Teil der Anlage aufeinander anzupassen. In meinem System geht das besonders einfach, da ich im Vorverstärker jeden Kanal einzeln mit einer Korrektur beaufschlagen kann. Dabei achte ich darauf das meine Target Kurve möglichst optimal einzufügen ist (siehe unten). Macht man diesen Schritt nicht, muss das Acourate besorgen. Dies kann jedoch auf Kosten des digitalen „Headrooms“ gehen und man verliert mit hoher Wahrscheinlichkeit an Auflösung.

Meine Quads lasse ich dabei unkorrigiert, sie liefern mir den Grundpegel. Ich passe also den RiPol und die Mundorfs an den Pegel der Quads an. Ein Vorteil meiner Lösung mit dem VV7 ist es, das ich nicht nur eine Abschwächung, sondern auch eine Verstärkung der einzelnen Pegel hinterlegen kann. Somit lassen sich die Lautsprecher in beide „Richtungen“ korrigieren.

Um die Pegel zu ermitteln, startet man eine Messung über den gesamten Frequenzbereich.

LogSweep -> LogSweep Recorder

Diese Messung muss nicht so exakt sein. Man kann sich bei der Messzeit auf kürzere Zeiten beschränken. Das Ergebnis wird anschließend noch mit Makro 1 geglättet. Die Ausgabe des ICCC nach der Messung kann einfach quittiert werden.

Room -> Macro 1

Die Parameter können auf den Default Werten belassen werden.

Acourate: Room Macro 1

Für mein System ergibt sich der folgende Frequenzgang bei gleichem Ausgangspegel am Vorverstärker für alle Lautsprecher.

Acourate: unkorrigierte Pegel der Lautsprecher im RQM-System

Das Bild oben habe ich im Makro 2 gemacht und auch gleich meine Target Kurve (blau) eingefügt. So sieht man am besten, wovon ich hier schreibe. Die Erklärung hierzu gebe ich weiter unten. Wichtig an dieser Stelle ist, dass die Target Kurve möglichst weit oben liegt und vom eigentlichen Signal am besten gar nicht unterschritten wird.

Im Bass nahm ich nun eine Volume Korrektur von +5dB vor. Die Mundorfs können bei 0dB bleiben. Damit erhalte ich nach der Glättung mit Makro 1 und Aufruf von Makro 2:

Acourate: korrigierte Pegel

Nach dieser Einstellung kann es sein, dass man den Messpegel noch einmal abgleichen muss. Bei mir ist das jedoch nicht der Fall, da ich nur um die 1kHz herum gemessen habe und die Quads im Pegel nicht verändere.

Laufzeitkorrektur

27.03.2024

Eines der großen Vorteile einer digitalen Frequenzweiche ist die Möglichkeit, Signale zu verzögern. Das benutzt man dazu, die Laufzeiten der einzelnen Lautsprecher eines Mehrwegesystems so zu korrigieren, das sie zeitgleich am Hörplatz ankommen (Time Alignment). Acourate bietet mehrere Möglichkeiten, um die nötigen Verzögerungszeiten zu ermitteln.

Acourate Wiki: Ausgleich von Laufzeitunterschieden

Das hier beschriebene Verfahren verschiebt die einzelnen Files der Frequenzweiche definiert zueinander. Der Hochton (XO4*) wird dabei als Referenz genommen und im originalen Zustand belassen. Der Tiefton (XO1*) wird um -6000 Samples, die oberen Quads (XO2*) um -2000 Samples und die unteren Quads (XO3*) um -4000 Samples verschoben.

Mit einem negativen Wert bei der Rotation verschiebt man das Signal zeitlich nach vorne, es wird also früher wiedergegeben. Bei der Auswertung kommt der größte Impuls vom Hochtöner und der kleinste vom Subwoofer. Deshalb ist es notwendig, den Subwoofer am weitesten nach vorne zu schieben, um den Impuls eindeutig bestimmen zu können. Bei einer Abtastfrequenz von 96kHz sollten 2000 Samples zwischen den einzelnen Treibern liegen, um die Einzelimpulse zeitlich gut voneinander trennen zu können.

Die oben erzeugten Frequenzweichenfiles (XO*.dbl) kopiert man in ein neues Verzeichnis. Dieses wird in Acourate als aktives Arbeitsverzeichnis ausgewählt. Alle noch angezeigten Kurven (Active Curve *) sollten gelöscht werden.

TD Functions -> Rotation

Man lädt sich hierzu die Frequenzweichenfiles in die Kurven 1 bis 4. Da die Crossover Files für den linken und rechten Kanal identisch sind, reicht es, nur die Files eines Kanals zu laden. Anschließend werden die entsprechenden Kurven verschoben und als linkes und rechtes File abgespeichert. Verschoben wird durch das „Signal Rotation“ Fenster immer die aktuell aktive Kurve.

Acourate: Rotate des linken Basskanals

Die neu erstellten Frequenzweichenfiles (*.dbl) müssen nun noch in *.cpv Dateien umgerechnet werden.

Room -> Create CPV for AcourateConvolver

Anschließend werden diese auf den AcourateConvolver übertragen. Ich nutze dafür immer die Filterbank 2 in meiner Konfiguration der Messung. Die Dateien kommen also in das Verzeichnis

c:\conf\9\2

Im AcourateConvolver wird nun „Config 9“ (Messen) und die „Filterbank 2“ selektiert. Anschließend muss noch die Matrix konfiguriert und die Einstellung abgespeichert werden. Danach wird der Convolver mit dieser Konfiguration gestartet.

Nun ist es an der Zeit, eine erste Messung in Acourate durchzuführen. Hierfür sind die Pegel eingestellt und das Messmikrofon befindet sich an seiner Position und ist exakt mittig gestellt (siehe oben). Mit

LogSweep -> LogSweep Recorder

wird eine Messung gestartet.

Acourate: LogSweep zur Laufzeitmessung

Nach der Messung erscheint erst einmal die Ausgabe für die Interchannel Cross Correlation (ICCC). Zum jetzigen Zeitpunkt kann man einfach auf „ok“ drücken und das Fenster schließen. Uns interessiert aktuell nur die zeitliche Auswertung der Messung. Aus diesem Grund kann man am oberen Bildschirmrand von Acourate außer „Time“ die beiden anderen Messwertausgaben deaktivieren.

Acourate: Laufzeitmessung

Der größte Impuls ist der Hochton, die beiden kleineren davor der Mittelton (Quads oben und unten) und kaum zu erkennen, die kleinen Wellen davor, der Bass. Hätten wir eine perfekte zeitliche Abstimmung zwischen den einzelnen Lautsprechern, dann wären die Impulse des Mitteltones exakt 2000 und 4000 Samples vor dem des Hochtones und entsprechend läge der Bass 6000 Samples davor. Die Abweichungen davon sind die gesuchten Zeiten.

Die Messung habe ich mit 262144 taps durchgeführt (Pulse Length). Das führt zu einem Lead-in von 24000 Samples (siehe LogSweep oben). Den größten Impuls stellt Acourate genau an dieser Stelle dar.

    \[ t = \frac{24000}{96000\mbox{Hz}} = 0.25\mbox{s} \]

Acourate: Laufzeit Messung, Time gezoomt

Unterhalb des Zeitfensters mittig links gibt es ein Uhren Icon. Damit öffnet man den „Time Alignment Assistant“. Allerdings gibt es eine kleine Eigenart von meinem Acourate, erst wenn man im Time Fenster die Signale gezoomt hat, kann man den Assistant auch wirklich öffnen.

Acourate: Time Alignment Assistant

In „Test Delays for Time Alignment“ trägt man die oben gemachten Verschiebungen ein – hier sind es also 0, 2000, 4000 und 6000 Samples. Durch einen Klick auf „Left Peak“ und „Right Peak“ wird die Position (in Samples) des größten Impulses in den Fenstern „Left“ und „Right“ übernommen. Da im Moment das komplette Signal dargestellt wird, muss auf beiden Seiten 24000 erscheinen.

Anschließend wird der Assistant mit „Exit“ verlassen und die Messung so gezoomt, das nur noch der Impuls 2000 Samples vor dem Hochtonimpuls zu sehen ist. Das entspricht in etwa 21ms, die Mitte der dargestellten x-Achse sollte also etwa bei 0,229s liegen. An den Rändern der Darstellung darf es auch keinen größeren Impuls geben!

Acourate: Laufzeit Impuls bei -2000 Samples

Nun geht es abermals in den „Time Alignment Assistant“. Ein Klick auf „Left Peak“ und „Right Peak“ übernimmt auch hier wieder die Position des aktuell größten dargestellten Impulses. Bei mir ist es 22013 in beiden Kanälen. Die Abweichung von 22000 Samples ist die gesuchte Zeitverschiebung.

Das gleiche Spiel machen wir nun auch noch bei den beiden Impulsen um die 0,208s herum (4000 Samples).

Weiter geht es mit dem Bass Impuls. Auch hier muss der Bereich erst einmal entsprechend gezoomt werden. Allerdings ist der Bass Impuls sehr klein und deshalb schlecht zu erkennen. Aber wir wissen, dass er bei ca. 0,187s liegen muss, 6000 Samples vor dem Hochtonimpuls. Um den Puls aber halbwegs gut erkennen zu können, habe ich die y-Achse von „Auto“ auf ±0,05 gestellt.

Acourate: Laufzeit Bass Impuls

Ein letztes Mal geht es nun in den Assistant. Der Impuls wird wie gehabt in das linke und rechte Fenster übernommen. Anschließend kann es an die Auswertung gehen, die Acourate dankenswerterweise übernimmt. Mit einem Klick auf „Compute Delays“ erhält man abschließend:

Acourate: Auswertung Laufzeitmessung

Wir sehen, dass der Bass um 1,70ms verzögert werden muss. Die oberen Quads werden nicht verzögert. Die unteren Quads werden nur geringfügig um 0,01ms verzögert. Die Hochtöner wiederum müssen um 0,15ms gegenüber den oberen Quads verzögert werden. Diese Werte trägt man in die Übertragungsmatrix des AcourateConvolver (Config 9 / Filterbank 1) ein.

AcourateConvolver mit eingetragenen Verzögerungszeiten

Die Werte sind schlüssig, der Mono-Subwoofer steht in der Mitte und somit am nächsten zu meinem Hörplatz. Auch die Hochtöner sind etwas näher an der Hörposition. Folglich müssen diese Kanäle verzögert werden.

Allerdings hatte ich Probleme, die Werte zu interpretieren und so nahm ich mir Papier und Bleistift und rechnete es nach.


Berechnung der Laufzeitverzögerungen aus den ermittelten Werten.

Der Impuls der oberen Quads startet bei 22013 Samples, sollte aber bei 22000 Samples anfangen. Der Impuls der unteren Quad startet bei 20014 Samples, sollte aber bei 20000 Samples anfangen. Alle vier Quad starten also zu spät. Der Impuls des Tieftons startet bei 17851 Samples, sollte aber bei 18000 Samples anfangen. Der Tiefton kommt also zu früh.

Als Erstes werden die Verschiebungen in den Signalen von den Ergebnissen subtrahiert – händisch (TD Functions → Rotation) und von Acourate (24000):

    \begin{eqnarray*} S_{HT} & = & 24000 - 24000 = 0\\ S_{QO} & = & 22013 - (24000 - 2000) = 13\\ S_{QU} & = & 20014 - (24000 - 4000) = 14\\ S_{TT} & = & 17851 - (24000 - 6000) = -149 \end{eqnarray*}

Positive Werte bedeuten hier also eine verzögerte und negative eine verfrühte Reaktion.

Um nun das RQM System zeitlich richtig zu korrigieren, muss der Tiefton um 149 Samples verzögert und die Signale der Quads 13 bzw. 14 Samples früher übertragen werden. Allerdings ist es nicht möglich, ein Signal früher abzuspielen, dafür müsste das System in die Zukunft schauen können. Digitale Signale lassen sich jedoch sehr leicht verzögern.

Die Lösung ist es nun, alle Lautsprecher zusätzlich um den größten positiven Wert der oben ermittelten Samples zu verzögern, hier also 14. Man erhält:

    \begin{eqnarray*} S_{HT} & = & 0 - 14 = -14\\ S_{QO} & = & 13 - 14 = -1\\ S_{QU} & = & 14 - 14 = 0\\ S_{TT} & = & -149 - 14 = -163 \end{eqnarray*}

Nun sind alle zeitlichen Verschiebungen ≤0 Samples. Die Signale bleiben also gleich (0 Samples) oder müssen verzögert werden (<0 Samples). Dieses Ergebnis ist auch oben im „Time Alignment Assistent“ Fenster zu sehen.


Das größte Problem bei dieser Methode ist der sehr geringe Bass Impuls. In meinem Fall war das Aufspüren des Maximums noch relativ einfach. Es gibt andere Lautsprecher Aufbauten bei denen dies unmöglich ist. Dann kann man das im Acourate Wiki beschriebene Verfahren nutzen (Link – siehe oben).

Ab diesem Zeitpunkt haben wir ein zeitlich perfekt abgestimmtes Mehrwegesystem!

Messung der Lautsprecher im Raum

07.01.2023

Wir sind nun so weit, die Messung der Lautsprecher im Raum durchzuführen. Hierzu wird ein neues Verzeichnis angelegt das in Acourate als aktives Arbeitsverzeichnis festgelegt wird. Alle Kurven in Acourate werden gelöscht. Das Mikrofon befindet sich auf seiner Messposition, die Pegel am Vorverstärker und am Mikrofonverstärker sind eingestellt.

Zur Sicherheit überprüft man als erstes noch einmal, ob sich das Mikrofon wirklich exakt in der Mitte befindet.

LogSweep -> Microphone Alignment

Dies ist schnell erledigt und dient der Sicherheit. Befindet sich das Mikrofon nicht an der exakten Position, sind die Messergebnisse nicht wirklich zu gebrauchen.

Auf dem AcourateConvolver läuft die zeitlich korrigierte Frequenzweiche bei mir also Config 9 (Messen) / Filterbank 1 mit eingetragenen Verzögerungszeiten.

LogSweep -> LogSweep Recorder

Während der Messung kann man ruhig im Raum bleiben, da man sich ja auch beim Hören der Musik dort aufhält. Allerdings sollte man seitlich stehen. Das Dreieck linker Lautsprecher – rechter Lautsprecher – Messmikrofon muss frei sein.

Bei mir steht auch im normalen Betrieb nichts zwischen mir und meinen Lautsprechern. Sollte man dort z.B. einen Tisch oder etwas ähnliches stehen haben, ist es nach Aussage von Mitch Barnett sinnvoll, diesen zur Seite zu stellen. Es bringt offensichtlich bessere Ergebnisse, auch wenn der Tisch anschließend wieder an diese Position gestellt wird. Es ist auf jeden Fall einen Versuch wert.

Acourate: LogSweep Messung

Die Messung für einen Kanal läuft bei mir 90s. Das ist ziemlich lange, erhöht aber die Auflösung. Ich messe von 10Hz bis 35kHz um an die Übertragungsgrenzen meiner Lautsprecher zu kommen. Für Lead-In / Pulse Length ist 24000 / 262144 ausgewählt. Die Messung erfolgt also mit der größtmöglichen Anzahl an taps.

Nach der Messung erscheint erst einmal das Fenster mit den Interchannel Cross Correlation (ICCC) Ergebnissen. Die Werte sollten möglich hoch sein, man sollte sie aber zum jetzigen Zeitpunkt auch nicht überbewerten.

Acourate: Ergebnis der Messung

Mit diesen Messwerten geht es nun in die Optimierung des Systems Lautsprecher / Raum. Die Messungen findet man in 2 Dateien (Puls96L.dbl & Puls96R.dbl) im aktuellen Arbeitsverzeichnis. Für die Weiterverarbeitung sind in Acourate Makros hinterlegt, die im folgenden abgearbeitet werden. Diese Makros sind ungemein hilfreich und führen sehr schnell zu beeindruckenden Ergebnissen.

Room Macro 1 / Glättung des Amplitudenverlaufs

28.01.2024

Die Pulsantworten der Messung müssen als erstes aufbereitet werden. Sie enthalten viele Informationen, die für die Erstellung der Korrekturfilter nicht benötigt werden. Mithilfe dieses Makros wird der Frequenzgang geglättet und nur der erste eintreffende Schall durch Verwendung eines Zeitfensters (FDW – Frequency Dependent Windowing) in die weitere Berechnung mit einbezogen. Durch den Aufruf von

Room -> Macro1

öffnet sich die folgende Eingabemaske.

Acourate: Room Macro 1

Die angegebene Datei unter „Room Pulse“ zeigt beim Aufruf auf das Messfile des linken Kanals. Hier gibt es in der Regel nichts zu selektieren.

Mit dem Auswahlmenü „Psychoacoustic Response“ hat man die Wahl zwischen „Psychoacoustic“ und „Sliding 1/12-octave analysis“. Es wird empfohlen, die Default Einstellung zu belassen. Ich habe an dieser Stelle auch nie etwas anderes ausprobiert.

Bei „High Frequency Treatment“ sollte eine Frequenz 1 oder 2kHz unterhalb der maximal verwendeten Messfrequenz eingeben werden. Ab dieser Frequenz wird das Signal bei der Glättung dann einfach nur noch linear fortgeführt. Der Sinn dahinter ist es, dass durch die Verwendung der Filtertechnik bei der Messung ein starker Signalabfall bei der maximalen Messfrequenz entsteht. Dieser wird durch die Invertierung (siehe unten) in einen starken Anstieg transformiert, ein Verhalten, das wir nicht gebrauchen können. Durch die Funktion wird dieses Signalverhalten unterbunden. Ich gebe an dieser Stelle immer 33kHz ein.

Mit der Auswahl bei „Frequency Dependent Windowing“ hat man einen größeren Einfluss auf das spätere Ergebnis. Mit den beiden Zahlen gibt man die Länge des Zeitfensters für die Mittelung ein. Der erste Wert gilt für 10Hz und der zweite für die oberste Grenzfrequenz. Acourate passt dann die Fensterung zwischen diesen beiden Werten über den Frequenzverlauf gleichmäßig an.

Am Anfang meiner Erfahrungen mit Acourate habe ich auf Empfehlung meines Freundes Heiner an dieser Stelle immer 15/8 eingegeben. Die Mittelung wird damit zu höheren Frequenzen hin ungenauer. In der Zwischenzeit belasse ich es aber bei den Default Werten und verwende 15/15.

Das letzte Auswahlmenü ist „FDW Interpolation“, eine neuere Funktion in Acourate. Über Erfahrungen damit kann ich zum jetzigen Zeitpunkt nicht berichten. Ich belasse es immer auf „logarithmic“.

Sind alle Parameter wunschgemäß angegeben, drückt man den Button „Run Macro1“. Acourate berechnet die Glättung und gibt das Ergebnis anschließend aus.

Acourate: Geglätteter Amplitudenverlauf

Mit dem Ergebnis kann man mehr anfangen als mit der eigentlichen Pulsantwort oben. Man sieht an dieser Stelle sehr schön den unkorrigierten Frequenzgang der Lautsprecher im Raum.

Room Macro 2 / Target Kurve

02.04.2024

Mit diesem Makro geht es in den entscheidenden Schritt, die Bestimmung der eigenen Target Kurve. Mit dieser Kurve wir der gewünschte Zielfrequenzgang des Systems festgelegt. Es gibt mannigfaltige Möglichkeiten, diese Kurve zu bestimmen und die erste Zeit wird man auch einiges ausprobieren wollen, so war es zumindest bei mir. Eine ideale Target Kurve gibt es nicht. Sie richtet sich nach dem Raum, den Lautsprechern und dem persönlichen Geschmack.

Die Firmen Harman International und Brüel & Kjær haben Untersuchungen zu einer optimalen Targetkurve gemacht. Die Kurven findet man schnell im Netz wenn man danach sucht.

Die Empfehlung für eine erste Kurve ist es, mit einem linearen Frequenzgang bis 1kHz (Knickpunkt) und anschließendem Abfall der Kurve auf -6dB bei 20kHz anzufangen.

Das hört sich für einen Anfänger sehr befremdlich an, wir Audiophile wollen möglichst unbeeinflusst unsere Signale übertragen. Meine Empfehlung ist es, dass einfach mal auszuprobieren, also eine Target Kurve zu wählen, die einfach nur linear vom Bass bis zum Hochton verläuft. Das habe ich selbstverständlich auch gemacht! Nachdem ich ein paar Takte mit den damit erzeugten Korrekturfiles Musik gehört hatte, habe ich mich schnell wieder mit den empfohlenen Kurven befasst. Glaubt mir, so möchte keiner Musik hören.

Meine Target Kurve läuft linear bis 1kHz und kippt dann ab auf -3dB bei 20kHz. Bei stark richtenden Lautsprechern ist es sinnvoll, den Hochton weniger stark abzusenken. Hinzu kommt eine Bass-Überhöhung (Low Shelf) von +1dB ab 150Hz abwärts. Zudem gibt es einen Tiefpassfilter bei 30kHz. Auf dem Screenshot unten sieht man den Verlauf meiner Kurve. Ich höre nun schon mehr als ein Jahr unverändert damit.

Einen Subsonic Filter sollte man auf Empfehlung von Dr. Ulrich Brüggemann an dieser Stelle nicht erzeugen. Dies geschieht erst im Makro 4 (siehe unten).

Acourate: meine Target Kurve

Mit dem Aufruf von

Room -> Macro2

gelangt man in den Target Designer. Hier kann man die eigene Target Kurve mithilfe der grafischen Marker erzeugen. Eine Beschreibung der Funktionen und der Bedienung findet man im Acourate-Wiki.

Ich selbst gehe den Weg über die Datei „Target.tgt“. Es ist eine Textdatei, die mit jedem normalen Editor bearbeitet werden kann. Ist die Textdatei aus einer vorhergehenden Optimierung vorhanden, kann sie mit dem Button „*.tgt“ geladen werden. Sie wird vom Target Designer erzeugt. Da meine Target Kurve definiert ist, muss ich nur noch den Grundpegel der Kurve in Bezug auf die aktuellen Messungen bestimmen.

Im nächsten Abschnitt zeige ich die relevanten Ausschnitte aus meiner Datei. Die oberen Werte bis zum „…“ beschreiben die empfohlene Startkurve (siehe oben) allerdings mit einer -3dB Absenkung bei 20kHz. Darunter sieht man den Tiefpassfilter und den Low Shelf. Ich passe aktuell nur noch den Wert für „0basicgain“ an.

[TargetDesign]
Targetsamplerate=96000
0basicf0=10
0basicgain=4
1basicf0=1000
1basicgain=0
2basicf0=20000
2basicgain=-3
...
0lowpassf0=30000
0lowpassgain=-3
0lowpassactive=1
...
0lowshelff0=150
0lowshelfgain=1
0lowshelfactive=1

Seit neuestem gibt es im Makro 2 den Button „IIR Manager“. In dem sich öffnenden Fenster kann man bequem die Einträge machen, die ich im Absatz vorher beschrieben habe. Der Umweg über einen Text-Editor ist damit nicht mehr nötig.

Acourate: Target Designer

Auf dem Bild oben erkennt man die Lage meiner Target Kurve (blau) in Bezug auf die geglätteten Messergebnisse. Die Kurve wird so hoch wie möglich geschoben, ohne allzu viele Messwerte unterhalb zu bekommen. Nur die Messwerte oberhalb der Target Kurve werden korrigiert. Eine geringfügige Unterschreitung an der einen oder anderen Stelle akzeptiere ich zugunsten des digitalen Headrooms.

Ist man mit dem Ergebnis zufrieden, erzeugt man die für die Berechnungen benötigte Target.dbl Kurve mit einem Druck auf den Button „Save Target“.

Acourate: Target Kurve

Die Target Kurve wird nach der Berechnungen im Target Designer in Active Curve 3 dargestellt.

Room Macro 3 / Invertierung

13.01.2024

Vor der Berechnung der eigentlichen Korrekturfiles müssen die geglätteten Messwerte an der erzeugten Target Kurve gespiegelt werden. Dies geschieht mit dem Aufruf von

Room -> Macro3

In dem sich öffnenden Fenster gibt es in der Regel nichts einzugeben. Die inversen Kurven werden durch einen Druck auf den Button „Run Macro3“ erzeugt. Das Fenster wird automatisch geschlossen.

Acourate: Inversion

Die an der Target Kurve gespiegelten geglätteten Messkurven werden in Active Curve 4 und 5 dargestellt.

Acourate: Invertierte geglättete Messkurven

Im Frequenzverlauf der Inversen sieht man jetzt auch die Auswirkungen des Parameters „High Frequency Treatment“ aus dem Macro1. Ab 33kHz werden die originalen Kurven nicht mehr an der Target Kurve gespiegelt, das Signal wird linear weitergeführt. Es würde ansonsten zu einem steilen Anstieg der Inversen im obersten Frequenzbereich kommen, die originalen Kurven fallen hier stark ab.

Room Macro 4 / Erzeugung der Korrekturfiles

02.02.2024

Bevor man nun an die Berechnung der Korrekturfiles geht, muss man dafür sorgen, dass die oben erzeugten Frequenzweichenfiles (XO*.dbl) im aktuellen Arbeitsverzeichnis liegen. Damit sind alle Vorbereitungen abgeschlossen. Mit

Room -> Macro4

öffnet sich das Fenster zur Erzeugung der Korrekturfiles.

Acourate: Macro 4 / Filter Generation

Die Ausgabe „Crossover Detection: 4-way system“ oben rechts im Fenster informiert darüber, das die Frequenzweichenfiles erkannt worden sind. Die Angabe bezieht sich natürlich auf mein RQM-System.

Acourate: Macro 4 / Filter Generation

Bei der Eingabe für die „Excessphase Window“ sollte man das erste Mal ruhig mit den Default Werten anfangen. Ich verwende seit einiger Zeit die Werte 6/6/6/6. Mit diesen Parametern verhält es sich ähnlich wie im Makro 1, an dieser Stelle gibt man jedoch Werte für jeden Kanal einzeln ein. Die erste Zahl gilt wieder für 10Hz, die zweite für die oberste Grenzfrequenz.

Zudem selektiere ich noch das „Subsonic“ Filter und gebe dort eine Grenzfrequenz von 25Hz an. Die Korrekturfiles lasse ich mit „Double length“ berechnen. Alle anderen Parameter belasse ich auf Ihren Default Werten.

Mit „Run Macro4“ werden die Korrekturkurven berechnet und anschließend mit den Frequenzweichenfiles gefaltet. Nach der Berechnung hat man die folgenden Dateien im Arbeitsverzeichnis:

  • Cor1L96.dbl, Cor1R96.dbl – bis 125Hz / RiPol Subwoofer
  • Cor2L96.dbl, Cor2R96.dbl – von 125Hz bis 7,5kHz / obere Quads
  • Cor3L96.dbl, Cor3R96.dbl – von 125Hz bis 7,5kHz / untere Quads
  • Cor4L96.dbl, Cor4R96.dbl – ab 7,5kHz / Mundorfs

Wir haben nun die ersten Korrekturfiles für das Lautsprechersystem erzeugt und könnten diese nach der entsprechenden Umrechnung auf den AcourateConvolver übertragen. Allerdings sollte man sich erst einmal das Ergebnis anschauen.

Room Macro 5 / Test Convolution

12.03.2024

Auf der Homepage von AudioVero findet man im Infocenter unter Anleitungen und Tutorials das Dokument:

Kompensation von Vorschwingern (Ergänzung)

Darin wird genau erklärt, was ich im folgenden kurz beschreibe.

Durch den Aufruf von

Room -> Macro5

wird eine Testberechnung durchgeführt. Die gemessenen Signale werden mit den erstellten Korrekturfiltern verrechnet. Ohne das korrigierte System messen zu müssen, erhält man auf diese Weise das Verhalten der Lautsprecher mit Korrektur. Überprüft man das System dann doch einmal aus reiner Neugier, wird man erstaunt sein, wie deckungsgleich beide Ergebnisse sind.

Acourate: Ergebnis der Berechnungen aus Macro 5

Im untersten Fenster (Time / Step) kann man Vorschwinger vor den eigentlichen Sprungantworten erkennen. Man kann versuchen, diese mit kleineren Werten im „Excessphase Window“ (Makro 4) zu verringern oder sogar ganz zu beseitigen, bezahlt dieses aber mit einer geringeren Phasenkorrektur. Trotz allem kann es der richtige Weg für das eigene System sein.

Bei mir hingegen hat sich der Weg über die Kompensation der Vorschwinger als der richtige erwiesen.

Im mittleren Fenster (Phase / Group Delay) sind nur die beiden Eingangssignale vecinL und vecinR aktiviert. Man kann bei ca. 80Hz bei beiden Signalen ein Peak (Glockenkurve) erkennen. Die jeweilige Anzahl der Peaks im rechten und linken Kanal werden abgezählt, bei mir ist es jeweils einer. Der ganz große Peak am rechten Rand >30kHz wird nicht berücksichtigt.

Mit diesem Ergebnis (1/1) geht es zurück in das Makro 4.

Room Macro 4 / Zweiter Aufruf

12.03.2024

Im Fenster von Makro 4 werden die eben ermittelten Werte für den linken und rechten Kanal bei Pre-ringing comp. eingetragen. An dieser Stelle ist es jeweils eine 1.

Acourate: Macro 4 / Filter Generation

Zudem selektiere ich nun unter Filter samplerate alle für meinen Wandler relevante Frequenzen. Bei meinem Lynx Aurora(n) sind das 44…192kHz. Zudem gebe ich unter Add. output format das gewünschte Format der Korrekturfiles an. Für die Verwendung mit dem AcourateConvolver sind das AcourateConvolver CPV Dateien. Danach können die Korrekturfiles mit Run Macro4 erzeugt werden.

Die so generierten cpv-Dateien sollten jetzt auf den Convolver-PC transferiert werden.

Das Ergebnis der Kompensation kann man sich durch einen erneuten Aufruf von Makro 5 anschauen. Ich erspare mir an dieser Stelle die Darstellung des Ergebnisses. Ich kann aber berichten, dass die Vorschwinger bei meiner Konstellation verschwunden sind.

Ist man bis hierher vorgedrungen, kann man sein Mehrwegesystem mit Raumkorrektur laufen lassen. An dieser Stelle sollte man auch erst einmal aufhören und mit dem Ergebnis einige Zeit leben.

Room Macro 6 / ICPA

08.04.2024

Diese Optimierung wird nach dem ersten Aufruf des Makros 4 durchgeführt.

Hat man die Korrekturfilter berechnet, geht es in diesem Schritt darum, die Symmetrie zwischen den beiden Kanälen herzustellen. Dabei werden nur noch Korrekturen an der Phase der Signale vorgenommen. In Acourate nennt sich diese Berechnung Inter Channel Phase Alignment (ICPA) und wird mit Makro 6 berechnet. Einen kurzen Ausschnitt der Beschreibung von Dr. Ulrich Brüggemann findet sich hier. Zudem hat jeder Nutzer der Version 2 das Dokument „ICPA – Die Optimierung unsymmetrischer Stereo-Setups“ als pdf-File auf dem Rechner mit Acourate vorliegen.

Die Optimierung geschieht im wechselseitigen Einsatz von Makro 4 und Makro 6. Dabei wird erst einmal Makro 4 ohne die zusätzlichen Frequenzberechnungen und die *.cpv Erzeugung durchgeführt (siehe: Room Macro 4 / Erzeugung der Korrekturfiles). Man sieht auf dem Bild oben das „ICPA“ beim ersten Aufruf ausgegraut ist. Acourate liegen noch keine Berechnungen der Phasenkompensationsfiltern vor.

Nach der ersten Ausführung von Makro 4 lässt sich Makro 6 aufrufen. Für das RQM System erhält man

Acourate: Erster Aufruf von Makro 6 des RQM Systems

Die Peaks unter Q=10 (orange Linie) werden im jeweils eigenen Kanal kompensiert. Für das RQM System sind dies die beiden Peaks bei ca. 81Hz. Alle Peaks oberhalb von Q=10, aber unterhalb von Q=60 (die lila Line), werden im jeweils anderen Kanal nachgebildet. Hier sind es die Peaks bei 148Hz und 152Hz. Alle Peaks größer als Q=60 bleiben unkorrigiert.

Ich habe mir angewöhnt, einen Peak zu kompensieren und anschließend erst einmal wieder Makro 4 laufen zu lassen. Nach erneutem Aufruf von Makro 6 sieht man dann direkt, wie gut der Peak kompensiert oder nachgebildet wurde. Danach begeben ich mich an den nächsten Peak …

Für die Ermittlung zoomt man am besten erst einmal den zu bearbeitenden Peak heraus und setzt dann den Marker auf die Spitze. Dabei darf man nicht vergessen, den richtigen Kanal unter „Source“ zu selektieren. Mit „1. Get Marked Frequency“ übernimmt man die Werte in „f0 [Hz]“ und „Q“. Anschließend können diese Werte mit den Pfeil-Buttons verändert werden. Mit „2. Demo Edited Values“ bekommt man die geänderte Kurve angezeigt. Ist man mit dem Ergebnis zufrieden, klickt man auf „3. Simulate + Optimize“. Danach sieht man, wie sich die Einstellung auf die Phase auswirkt. Überzeugt einem die Korrektur, wird sie mit „4. Save Result“ gespeichert. Die Einstellung erscheint in einem der beiden oberen Fenster. Sind die Ergebnisse dort mit „/ macro4“ gekennzeichnet so sind sie schon mit diesem Macro verrechnet worden. Makro 6 wird mit einem Klick auf „Exit“ verlassen, man verliert jedoch nicht die bis dahin ermittelten Korrekturen.

Acourate: Makro 6 mit korrigierten Peaks

Das Bild oben entstand nach der Ermittlung aller 4 für das RQM System relevanten Peaks. Die Kompensation bei 81Hz gelingt perfekt, die Nachbildungen bei ca. 150Hz ganz leidlich.

Zum Abschluss wird noch einmal Makro 4 aufgerufen. Dieses Mal werden jedoch die zusätzlichen Frequenzen und die *.cpv Files erzeugt (siehe: Room Macro 4 / Zweiter Aufruf).

Den Haken vor „ICPA“ setzt Acourate selbst wenn es entsprechende Ergebnisse im aktuellen Arbeitsverzeichnis findet. Damit werden die ICPA Ergebnisse in die Korrekturfiles eingerechnet. Will man das nicht, kann man auch den Haken vor „ICPA“ entfernen.

Messung der Nachhallzeit

28.04.2024

Wie ich in der Einleitung schrieb, führte die erste Messung in meinem Raum zur Entwicklung des aktiven Absorbers. Bei dieser Messung zeigte sich das mein Raum unterhalb von ca. 70Hz eine zu große Nachhallzeit hat. Das bedeutet, dass Reflexionen im Raum zu langsam abgebaut werden. Diese Probleme hat man in einem häuslichen Hörraum eigentlich nur im Bassbereich unterhalb der Schröderfrequenz (ca. 300Hz). Der Absorber entzieht dem Raum definiert überschüssige Energie.

Hat man eine LogSweep Messung vorliegen (siehe Messung der Lautsprecher im Raum), kann man daraus direkt die Nachhallzeit des Raumes bestimmen. Durch den Aufruf von

TD-Functions -> RT60: Reverberation Time

gelangt man in die Auswertung. Oben rechts muss man erst einmal die Norm angegeben, für die die Auswertung berechnet werden soll. Für eine Audio Wiedergabe ist das „DIN 18041 Music“. Darunter gibt man die Größe des Raumes ein. Mein Raum ist klassisch reckeckig und so machen mir die Angaben keine Probleme. Letztendlich kommt es aber nur auf das Raumvolumen an und man kann auch Werte eingeben, die nicht ganz der Realität entsprechen, aber zum richtigen Volumen führen. Das habe ich schon bei verschiedenen, nicht rechtwinkligen Räumen mit Erfolg praktiziert.

Acourate: Messung der Nachhallzeit

Die Messung oben zeigt die Nachhallzeit in meinem Hörraum mit abgeschaltetem Absorber. Die schraffierten Linien geben den Bereich an, in dem sich die Nachhallzeit für die Norm und das eingegebene Volumen bewegen sollte. Abweichungen nach unten empfinde ich als nicht störend, macht es doch die Wiedergabe noch trockener. Abweichungen nach oben sind deutlich als Dröhnen wahrnehmbar.

Wie man erkennt, gibt es ein Problem unterhalb von ca. 70Hz. Es sieht vielleicht nicht wirklich gravierend aus, aber das geschulte Ohr hört direkt die verwaschene und unpräzise Bass-Wiedergabe. Hat man sich an eine korrekte Nachhallzeit gewöhnt, kann man mit diesem Ergebnis auf gar keinen Fall mehr leben!

Ich nutze diese Messung, um die Einstellungen des aktiven Absorbers für meinen Raum zu optimieren. Eine vorgegebene Vorgehensweise dabei hat sich für uns über die Jahre herauskristallisiert, aber beim Fine-Tuning läuft es auf die Variation der Parameter mit anschließendem Nachmessen des Einflusses heraus. Ist ein wenig aufwändig, aber das Ergebnis rechtfertigt die investierte Zeit.

Acourate: Messung der Nachhallzeit

Die Messung oben zeigt die Situation mit aktivem Absorber und optimierten Parametern.

So sollte es sein!

Leider kann ich es niemandem verbal beschreiben, was die Kurve oben wirklich bedeutet. Man muss es hören und dann auch begreifen, was man da hört.

Um es an dieser Stelle noch einmal ganz deutlich zu schreiben:
Die Nachhallzeit ist eine reine Funktion des Raumes! Sie kann nicht durch Acourate oder ähnliche Tools verbessert werden. Das probateste Mittel, um eine zu hohe Nachhallzeit zu verringern, ist ein Absorber. Dabei muss es nicht immer eine aktive (elektronische) Lösung sein. Wer gerne mit Holz arbeitet und sich dem Thema widmen möchte, sollte sich unter dem Stichwort Helmholtz Resonator im Netz umschauen.

Interchannel Cross Correlation

28.04.2024

Nach jeder Messung oder beim Aufruf von

TD-Functions -> ICCC: Interchannel Cross Correlation

bekommt man die Werte für ICCC angezeigt.

Acourate: ICCC vor der Optimierung

Die folgenden Textpassagen habe ich mir der Einfachheit halber dem Acourate-Wiki entliehen.

Bei dieser Bewertung werden die Signale des linken und rechten Kanals innerhalb verschiedener Zeitfenster miteinander verglichen. Sie lassen Rückschlüsse auf die Qualität der Stereo-Abbildung zu. Diese werden durch die Lautsprecher selbst (Paargleichheit) wie auch durch die Akustik des Raumes beeinflusst. Sowohl die Aufstellung der Lautsprecher als auch akustische Maßnahmen lassen sich mit Vergleichen des ICCC optimieren.

ICCC10:
Der eintreffende Schall in den ersten 10ms sollte für eine gute Stereoabbildung möglichst einen Wert über 80% erreichen. Lautsprecher mit einem hohen Bündelungsgrad erreichen hier bauartbedingt hohe Werte.

ICCC20:
Der eintreffende Schall der ersten 20ms besteht aus Direkt- und dem ersten eintreffenden Diffusschall. Für die Stereo-Abbildung sollten frühe Reflexionen in den ersten 20ms vermieden werden. Treffen diese aus dem linken und rechten Kanal unterschiedlich ein, verringert sich der ICCC-Wert. Werden diese erkannt und durch geeignete akustische Maßnahmen ausgeschaltet, erhöhen sich die ICCC-Werte.

ICCC80:
Der Schall in den ersten 80ms enthält sehr viel mehr Rauminformation als die vorhergehenden beiden Werte.

ICCClate:
Vergleicht den erzeugten Nachhall der beiden Kanäle.

Zu bemerken bleibt noch, dass die Kanäle für ICCClate nicht korreliert sein sollten und so der Wert möglichst klein ausfallen müsste. Der ICCC Mittelwert (overall cross correlation) liegt bei den meisten guten Audio-Anlagen im Bereich von 65…75%.

Zur Zeit habe ich in dem Raum noch keinerlei weitere baulich raumakustische Maßnahmen durchgeführt. Ein Umstellen der Möbel oder der Lautsprecher ist in dem Raum praktisch nicht möglich. Ich muss also mit den Gegebenheiten leben. Allerdings plane ich schon seit langem den Einsatz von Diffusoren an der Wand hinter den Lautsprechern …

Acourate: ICCC nach der Optimierung

Oben sieht man mein Ergebnis nach der Optimierung durch Acourate. Die ersten drei Werte haben sich etwas verbessert. Eine drastische Veränderung zum Guten hat es bei ICCClate gegeben. Der ICCC Mittelwert verbesserte sich von 66,8% auf 67,4%. Es gibt also noch reichlich zu tun!

Man darf sich allerdings nicht allzu sehr von den Zahlen beeinflussen lassen. Sie zeigen einem, ob es Verbesserungspotenzial am Aufbau des eigenen Systems gibt (Stichworte: Kanalgleichheit, erste Reflexionen). Letztendlich aber entscheidet jeder für sich selbst, ob er mit der erreichten Wiedergabequalität zufrieden ist.