PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Routing in Audiomulch



schrottie
28.01.2011, 14:04
Hallo,
ich habe heute eine nette Lösung für ein Problem gefunden, dass ich bisher nicht geglaubt hatte überwinden zu können:

Ich wollte unter Windows in Audiomulch mit dem VST-Convolver einerseits die Kanaltrennung realisieren und andererseits auch die digitale Raumkorrektur per DRC. Alles in einem Convolver geht nicht, dachte ich. Meine Idee zu Lösung der Problems waren bisher mehrere Convolver (ConvolverVST, SIR, KeFIR, etc.). Das ist aber sehr hardwarehungrig und nicht so elegant.

Nun habe ich also eine neue Lösung, wie alles mit einem einzigen Convolver geht: durch cleveres Routing!

Hier ein Bild:
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=42&pictureid=3487

Was sieht man? In Audiomulch route ich wie folgt:
Das Stereosignal geht durch den Lautstärkeregler erstmal in einen FIR-Equalizer, der das gröbste anpasst. Dann geht es ab in den Convolver. Der wird per Textfile konfiguriert:

44100 8 12 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
C:\drc-3.1.0\DRC PC\Convolver Files\XOHighL44.pcm
0
0.0
0.0
C:\drc-3.1.0\DRC PC\Convolver Files\XOHighR44.pcm
0
1.0
1.0
C:\drc-3.1.0\DRC PC\Convolver Files\XOMidL44.pcm
0
0.0
2.0
C:\drc-3.1.0\DRC PC\Convolver Files\XOMidR44.pcm
0
1.0
3.0
C:\drc-3.1.0\DRC PC\Convolver Files\XOLowL44.pcm
0
0.0
4.0
C:\drc-3.1.0\DRC PC\Convolver Files\XOLowR44.pcm
0
1.0
5.0
C:\drc-3.1.0\DRC PC\Convolver Files\DRC_normal_L.wav
0
2.0
6.0
C:\drc-3.1.0\DRC PC\Convolver Files\DRC_normal_R.wav
0
3.0
7.0
C:\drc-3.1.0\DRC PC\Convolver Files\DRC_normal_L.wav
0
4.0
8.0
C:\drc-3.1.0\DRC PC\Convolver Files\DRC_normal_R.wav
0
5.0
9.0
C:\drc-3.1.0\DRC PC\Convolver Files\DRC_normal_L.wav
0
6.0
10.0
C:\drc-3.1.0\DRC PC\Convolver Files\DRC_normal_R.wav
0
7.0
11.0Was steht da?
Also das Signal kommt in Eingang 0 und 1 rein. Dann wird es getrennt mit den per MaXO erstellten Filterfiles und auf den Ausgängen 0 bis 5 ausgegeben. Soweit so gut. Aber bislang ist da noch keine DRC passiert. Also lege ich fest, dass das Signal auf den Eingängen 3 bis 7 wieder herein kommt, durch die DRC-Files gejagt wird, bevor es an der Ausgängen 6 bis 11 wieder heraus geht. Damit das geht, habe ich einen kleinen Umweg eingebaut, der keine signalverarbeitende Funktion hat. Eigentlich ist das eine 8x8 Matrix, von der nur 6 Ein- und Ausgänge genutzt werden. Zusammengefasst: Eingänge 0 und 1 sowie Ausgänge 0 bis 5 machen Crossover, Eingänge 3 bis 7 sowie Ausgänge 6 bis 11 machen DRC. Danach geht das Signal an die Ausgänge.

Ich hoffe, dass das verständlich ist und Sinn macht. Klanglich genauer auswerten konnte ich es noch nicht. Ich bin auch noch nicht sicher, ob es Sinn macht, die "Überallesentzerrung" auf die einzelnen Wege anzuwenden. Vielleicht sollte man lieber DRC-Files für jeden Weg einzeln erstellen. Dann geht allerdings die "Überalleskorrektur" verloren, oder?

EDIT: Meine aktuellen Überlegungen kommen zu dem Ergebnis, dass ich das DRC-Skript so ändere, dass in einem Durchlauf 6 Messungen gemacht werden, anstatt wie jetzt nur 2 (links und rechts). Dann werden in einem Durchgang HT_links, MT_links, TT_links. HT_rechts, MT_rechts und TT_rechts je einzeln gemessen und Korrekturfiles dafür erstellt. Ob die Zeitkorrektur dabei erhalten bleibt? Wahrscheinlich nicht... Meine Bedenken, die Überalleskorrektur auf die einzelnen Zweige anzuwenden, kann ich nicht so recht begründen. Gibt es gute Gründe dagegen?

Gruß
schrottie

Sleepwalker
28.01.2011, 14:53
Hi,

die Einzelmessung dürfte so nicht funktionieren, denn drc würde versuchen das was beim Signal des z.B. HT fehlt auszugleichen, damit er auf die Zielkurve kommt. Der weiss ja nix davon das da noch ein MT ist...

Was aber gehen sollte, ist das Offline-Falten. D.h. die fertigen XO-Filter mit der fertigen "Über alles" Korrektur zu falten. So gehts ja bei acourate imo auch.

Ich mache das im Übrigen so wie du unter Linux.
Verschiedene DRC coeffs (und auch ein dirac für "Direkt"), von da dann auf alle FW-Filter, und dann zu den Ausgängen.
Steigert aber die Latenz.

Torsten

schrottie
28.01.2011, 15:22
Hi,

die Einzelmessung dürfte so nicht funktionieren, denn drc würde versuchen das was beim Signal des z.B. HT fehlt auszugleichen, damit er auf die Zielkurve kommt. Der weiss ja nix davon das da noch ein MT ist...

Was aber gehen sollte, ist das Offline-Falten. D.h. die fertigen XO-Filter mit der fertigen "Über alles" Korrektur zu falten. So gehts ja bei acourate imo auch.

Ich mache das im Übrigen so wie du unter Linux.
Verschiedene DRC coeffs (und auch ein dirac für "Direkt"), von da dann auf alle FW-Filter, und dann zu den Ausgängen.
Steigert aber die Latenz.

Torsten
Ja, ich komme auch mehr und mehr auf die Idee, dass die Einzelmessung Quatsch ist. Das Vorgehen wäre also:
Weiche am PC erstellen. Grobes Equalizing einstellen. Mit DRC messen, einmal links, einmal rechts. Die einzelnen Zweige dann durch die DRC-Überalles-Korrekturfiles jagen.

Die Latenz ist erträglich, bei diesem Setup. Die Matrix könnte man auch durch grobe vorab-EQs ersetzen. Der erste vor der Trennung würde dann rausfallen. So würden dann die einzelnen Chassis in der Lautstärke angepasst und schonmal etwas in Form gebracht. Ich habe es eben mit ReaFIR bei 2048 Tabs ausprobiert und die Latenz geht. DRC kann ja nur 6dB ausgleichen.