PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DRC - Anleitung und Script



schrottie
01.04.2014, 17:05
Ich möchte euch hier eine Script vorstellen, das es euch einfacher macht, eine digitale Frequenzweiche inkl. Raumkorrektur durch DRC zu erstellen.

Dazu habe ich das wohl bekannte Script von Fujak geändert und erweitert. Er hat also einen großen Teil der Arbeit schon vor einigen Jahren gemacht.

Das Ergebnis sollen Dateien sein, die in einen Convolver geladen werden können und gleichzeitig das Frequenzband und die Korrekturen für den jeweiligen Kanal enthalten. In diesem Fall sind es 6 Dateien, also alles für ein 3-Wege Stereo-System.

EDIT: Ich sollte vielleicht noch dazu schreiben, dass die Lautsprecher, die gemessen und korrigiert werden sollen, mit einer puren Weiche basierend auf den Files von maXO spielen sollten. Diese werden dann durch die hier erstellten ersetzt bzw. eben um DRC erweitert.

Ich hänge hier die alte Anleitung von Fujak an (ich hoffe, dass das in Ordnung ist). Daraus gehen so viele Wertvolle Infos hervor, dass es schade wäre, sie zu verheimlichen.

Was gemacht werden muss, bevor man das Script ausführen kann:

Das steht in der Anleitung von Fujak in Punkt 2. Allerdings müssen an den Stellen an denen er 3.0.1 geschrieben hat die Ordner entsprechend der aktuellen DRC Version in 3.2.1 geändert werden. Außederm muss maXO in das DRC-Verzeichnis kopiert werden.

Hier also das Script, das als .cmd abgespeichert werden muss.
Vielleicht hat ja jemand Lust, es auszuprobieren und Rückmeldung zu geben.


@echo off
Set maXO=C:\DRC-3.2.1\DRC HTPC\maXO\
Set maXOFilter=C:\DRC-3.2.1\DRC HTPC\maXO\MyFirstProject\
Set glsweep=C:\DRC-3.2.1\DRC HTPC\
Set rec_imp=C:\DRC-3.2.1\DRC HTPC\
Set lsconv=C:\DRC-3.2.1\DRC HTPC\
Set drc=C:\DRC-3.2.1\DRC HTPC\
Set sox=C:\DRC-3.2.1\DRC HTPC\
Set Convolver-Files=C:\DRC-3.2.1\DRC HTPC\Convolver-Files\
echo ************* 3-Wege-Convolver Script *************
echo * Dieses Script wurde von schrottie erstellt. *
echo * Es handelt sich um die Version 20140403. *
echo * Es erzeugt Korrekturdateien fuer Convolver, *
echo * die Weiche und (!) Raumkorrektur enthalten. *
echo * Es basiert zum Teil auf einem Script von Fujak, *
echo * dessen Arbeit hiermit gewuerdigt sei. *
echo ************************************************** *
echo.
echo.
echo Zwischendurch wird es notwendig sein,
echo vor jedem Schritt eine Taste zu druecken, bevor es weiter geht.
echo Die erfahrenen Benutzer mag das nerven,
echo den Unerfahrenen soll es helfen, zu verstehen,
echo was hier passiert.
echo.
echo Nach dieser kurzen Einfuehrung kann es losgehen.
pause
echo.
cd %maXO%
echo Im ersten Schritt wird die Frequenzweiche erstellt.
echo In dieser Version des Scriptes wird davon ausgegangen,
echo dass ein 3-Wege-Lautsprecher verwendet werden soll.
echo Entsprechend muessen in maXO, das nach dem naechsten
echo Tastendruck gestartet wird, die Trennfrequenzen fuer
echo Tief-, Mittel-, und Hochtoener angegeben werden. In der
echo Folge werden 6 Dateien erstellt, die z.B. "XOLowR44.pcm"
echo fuer den rechten Tieftoener und "XOHighL44.pcm" fuer den
echo linken Hochtoener heissen.
echo Es ist wichtig(!), dass im Feld "Precision" 32-bit
echo ausgewaehlt wird. Sonst funktioniert der ganze folgende
echo Kram nicht, weil keine PCM-Dateien erzeugt werden...
pause
echo.
maXO.exe
echo.
cd %glsweep%
echo Der naechste Schritt erzeugt die Sweeps, die genutzt werden,
echo um die Eigenschaften des Raumes und darauf basierend,
echo die Korrekturdateien durch DRC zu erstellen.
pause
echo.
glsweep 44100 1.0 10 21000 45 2 0.05 0.005 sweep.pcm inverse.pcm
echo.
cd %rec_imp%
echo Im folgenden Schritt werden die Sweeps abgespielt und aufgenommen.
echo Dazu muss das uebliche Messequipment bereit und eingerichtet sein.
echo Der Pegel sollte dabei durchaus hoch sein. Aber Achtung(!):
echo Nicht die Lautsprecher zerstoeren!
echo Begonnen wird mit dem linken Kanal.
pause
echo.
rec_imp.exe ImpulseResponse_L.pcm 44100 10 21000 45 0:0 0:0
echo.
echo Jetzt der rechte Kanal.
pause
echo.
rec_imp.exe ImpulseResponse_R.pcm 44100 10 21000 45 1:0 0:0
echo.
cd %lsconv%
echo Fuer den folgenden Schritt zitiere ich Fujak:
echo "Um die Qualitaet der Aufnahme zu kontrollieren,
echo kommt nun der naechste Programm-Aufruf von lsconv zum Einsatz,
echo dessen einzige Funktion in diesem Skript darin besteht,
echo den aufgenommenen echo Sweep-File in eine Datei zu schreiben,
echo um diese in einem Wave-Editor (z.B. Audacity) sichtbar zu machen."
pause
lsconv.exe sweep.pcm ImpulseResponse_L.pcm recordedsweep_L.pcm
lsconv.exe sweep.pcm ImpulseResponse_R.pcm recordedsweep_R.pcm
echo.
cd %drc%
echo Die Vorbereitungen sind damit erst einmal abgeschlossen.
echo Im naechsten Schritt wird DRC ausgefuehrt. Dieses Script geht davon aus,
echo dass die Konfigurationen in "Conf_normal-44.1_L.drc" und
echo "Conf_normal-44.1_R.drc" vewendet werden sollen.
echo Waehrend DRC laeuft wird in diesem Fenster eine Menge passieren.
echo Das zu verstehen, ist nicht erforderlich ;-)
pause
echo.
drc Conf_normal-44.1_L.drc
drc Conf_normal-44.1_R.drc
echo.
cd %maXOFilter%
move /y XOLowL44.pcm "%lsconv%"
move /y XOMidL44.pcm "%lsconv%"
move /y XOHighL44.pcm "%lsconv%"
move /y XOLowR44.pcm "%lsconv%"
move /y XOMidR44.pcm "%lsconv%"
move /y XOHighR44.pcm "%lsconv%"
cd %lsconv%
echo Damit haben wir die Raumkorrektur erstellt. Als naechstes soll diese
echo in die Frequenzweichen-Dateien eingefuegt werden.
pause
echo.
lsconv.exe DRC_normal_L.pcm XOLowL44.pcm XOLowL44_DRC.pcm
lsconv.exe DRC_normal_L.pcm XOMidL44.pcm XOMidL44_DRC.pcm
lsconv.exe DRC_normal_L.pcm XOHighL44.pcm XOHighLR44_DRC.pcm
lsconv.exe DRC_normal_R.pcm XOLowR44.pcm XOLowR44_DRC.pcm
lsconv.exe DRC_normal_R.pcm XOMidR44.pcm XOMidR44_DRC.pcm
lsconv.exe DRC_normal_R.pcm XOHighR44.pcm XOHighR44_DRC.pcm
echo.
cd %sox%
echo Der finale Schritt erzeugt aus den eben erstellten PCM-Dateien WAVs.
echo Das Ergebnis werden echo 6 Dateien sein,
echo mit denen dann letztendlich der Convolver gefuettert
echo werden kann. Eine pro Kanal. Jede enthaelt dann sowohl
echo die Weiche, als auch die Raumkorrektur. Diese Dateien heissen z.B.
echo "XOLowL44_DRC.wav" fuer den linken Tieftoener oder ""XOMidR44_DRC.wav
echo fuer den rechten Mitteltoener.
pause
echo.
sox -t raw -r 44100 -c1 -f4 XOLowL44_DRC.pcm -t wav -c 1 -s2 XOLowL44_DRC.wav
sox -t raw -r 44100 -c1 -f4 XOMidL44_DRC.pcm -t wav -c 1 -s2 XOMidL44_DRC.wav
sox -t raw -r 44100 -c1 -f4 XOHighL44_DRC.pcm -t wav -c 1 -s2 XOHighL44_DRC.wav
sox -t raw -r 44100 -c1 -f4 XOLowR44_DRC.pcm -t wav -c 1 -s2 XOLowR44_DRC.wav
sox -t raw -r 44100 -c1 -f4 XOMidR44_DRC.pcm -t wav -c 1 -s2 XOMidR44_DRC.wav
sox -t raw -r 44100 -c1 -f4 XOHighR44_DRC.pcm -t wav -c 1 -s2 XOHighR44_DRC.wav
move /y XOLowL44_DRC.wav "%Convolver-Files%"
move /y XOMidL44_DRC.wav "%Convolver-Files%"
move /y XOHighL44_DRC.wav "%Convolver-Files%"
move /y XOLowR44_DRC.wav "%Convolver-Files%"
move /y XOMidR44_DRC.wav "%Convolver-Files%"
move /y XOHighR44_DRC.wav "%Convolver-Files%"
echo.
echo Damit ist das Script am Ende und die Dateien koennen eingesetzt werden.
echo Nach dem letzten Tastendruck oeffnet sich der Ordner, der die Files enthaelt
echo und das Script schliesst sich.
echo Viel Spass mit der neuen DRC-Weiche!
pause
explorer.exe %Convolver-Files%Diese Dateien können dann z.B. im VST-Convolver genutzt werden.
Dazu ist ein Text-File nötig, das dem Convolver sagt, was er machen soll. Bei mir sieht das so aus:

44100 2 6 0
0 0
0 0 0 0 0 0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOLowL44_DRC.wav
0
0.0
0.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOLowR44_DRC.wav
0
1.0
1.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOMidL44_DRC.wav
0
0.0
2.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOMidR44_DRC.wav
0
1.0
3.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOHighL44_DRC.wav
0
0.0
4.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOHighR44_DRC.wav
0
1.0
5.0Achtung, bei mir liegt der DRC Ordner in "C:\", nicht in "C:\Programme"!
Den Inhalt oben sollte man in einer .txt Datei speichern und diese kann man dann dem Convolver als Config mitgeben.
Der Aufbau der Datei wird hier erklärt:
http://convolver.sourceforge.net/config.html
Das Ergebnis sieht dann in Audiomulch z.B. so aus:
http://www.diy-hifi-forum.eu/forum/showpost.php?p=114364&postcount=650
Diese Konfiguration kann aber auch z.B. in Foobar oder anderen VST-fähigen Programmen genutzt werden.

schrottie
03.04.2014, 07:48
Version 20140403
* Fehler bzgl. Sweeplänge korrigiert
* Fehler in Kanalauswahl korrigiert
* maXO Ordner und Kopieren der Files an die richtige Stelle eingebaut
* unbedingt die aktuelle Version oben benutzen!

kasbc
03.04.2014, 21:17
Hallo schrottie,

das Script schaut gut aus. Recht übersichtlich und gut erläutert (ein bisschen im Thema sollte man aber schon sein).

Das reinfalten der Raumkorrektur in die Weichenfilter mit lsconv ist ne sehr "elegante" Sache. Hab mich eh immer gefragt, was ich mit lsconv machen soll :D Bei Nutzung von rec_imp und nur für die Erzeugung der Raumkorekturfilter braucht man es ja nicht wirklich.

Mal wieder was dazugelernt.

Danke!

schrottie
04.04.2014, 06:57
Schön, dass sich jemand meldet. :)
Ich habe heute frei. Vielleicht schaffe ich es, den konkreten Anwendungsfall zu dokumentieren.

Noch schlafen meine Nachbarn aber. Die per Sweep zu wecken, halte ich für eine mittelgute Idee. :D

kasbc
04.04.2014, 07:45
Hallo schrottie,

mangelndes Feedback heisst nicht, dass das nicht benutzt wird.
M.E. ist es eine deutlich Erweiterung des fujak-Scripts. Ich habe mich z.B. nie mit convolverVST beschäftigt (weil durch fujak auf SIR verwiesen bzw. dann halt auch mit brutefir beschäftigt), dabei ist das Ding deutlich schöner verwend- weil sehr gut konfigurierbar.

Und halt lsconv, das in DRC relativ mager dokumentiert ist. Durch den von dir gezeigten Einsatz wird das Ding deutlich wertvoller (zumindest für mich).

Beim DRC-Designer z.B. ist die "oberflächliche" Bedienung zwar recht einfach, aber irgendwie weiss man nicht so recht was da abläuft. Das gefällt mir an diesen Scripts. Da kann man sich Schritt für Schritt rantasten.

Danke nochmal!

Murphy
04.04.2014, 07:56
Damit du Feedback hast: lese mit, werde in Zukunft evtl. drauf zurückgreifen.
Ich stehe für einen Freund zwischen der Entscheidung PC aufsetzen (DRC, habe aber auch eine Thuneau Lizenz) oder DSM260. Kommt etwas drauf an. ... Ist aber noch nicht soweit.

schrottie
04.04.2014, 08:13
Auf der anderen Seite habe ich mich noch nie mit BruteFIR beschäftigt. Ich benutze zwar im Alltag auf meinen Laptop seit Jahren Linux, aber für die ganzen Audio-Geschichten hat das Windows-System mit DirectWire, Audiomulch und ColvolverVST einfach immer reibungslos funktioniert. Deshalb habe ich nie den Drang verspürt, was anderes auszuprobieren.

Interessant an der Lösung oben finde ich vor allem, wie "schlank" sie ist. 6 einzelne Dateien, die per einem sehr kurzen Konfigurations-File eingebunden werden - fertig. Das hat schon was.

Was ich allerdings festgestellt habe:
Wenn das "Ausgangsmaterial", also der Lautsprecher ohne Korrekturen und nur mit nackter Weiche, sehr unlinear ist, es also grobe Unregelmäßigkeiten im Frequenzgang gibt, dann ist es vorteilhaft, einen Equalizer vorzuschalten und den die groben Korrekturen machen zu lassen. DRC nutze ich dann um das schon ordentliche Ergebnis zu verbessern. Mache ich das nicht so, entstehen bei meinem System deutlich hörbare Artefakte, Fehler, etc. Wenn DRC also zu krass eingreifen muss, wird das Ergebnis nicht gut. Als Basis für meinen Fall nutze ich dann die Soft Einstellung, allerdings leicht angepasst.

Um so vorgehen zu können, muss man allerdings mehrere VST-Effekte hintereinander schalten (routen) können. Das können nicht alle Programme, weshalb (u.a.) ich Audiomulch nutze.

schrottie
04.04.2014, 11:40
Hier also der Weg etwas ausführlicher beschrieben:

Zunächst der Ausgangszustand:
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=1073&pictureid=16991
Die einzelnen Zweige des Systems. Da passt nicht viel zusammen. Getrennt wurde hier mit maXO. Die Konfiguration, die dafür in den Convolver geladen wurde, sieht so aus:

44100 2 6 0
0 0
0 0 0 0 0 0
C:\drc-3.2.1\DRC HTPC\maXO\MyFirstProject\XOLowL44.pcm
0
0.0
0.0
C:\drc-3.2.1\DRC HTPC\maXO\MyFirstProject\XOLowR44.pcm
0
1.0
1.0
C:\drc-3.2.1\DRC HTPC\maXO\MyFirstProject\XOMidL44.pcm
0
0.0
2.0
C:\drc-3.2.1\DRC HTPC\maXO\MyFirstProject\XOMidR44.pcm
0
1.0
3.0
C:\drc-3.2.1\DRC HTPC\maXO\MyFirstProject\XOHighL44.pcm
0
0.0
4.0
C:\drc-3.2.1\DRC HTPC\maXO\MyFirstProject\XOHighR44.pcm
0
1.0
5.0Dann habe ich per Verstärker eingepegelt, damit die Zweige besser zusammen passen. Das Ergebnis sieht dann so aus (vorher/nachher):
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=1073&pictureid=16992

Im nächsten Schritt greife ich mit einem ganz einfachen EQ ein. Ich nutze hier ReaEQ. Ergebnis ist, dass es mit nur 2 kleinen Filtern noch ein wenig ausgeglichener wird:
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=1073&pictureid=16993

Das Setup sieht in Audiomulch dann so aus:
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=1073&pictureid=16994
Man sieht, dass ich im Convolver ein Textfile geladen habe, das Weiche.TXT heißt. Das ist das File von oben.

Dann führe ich mein Script aus Beitrag 1 aus. Das läuft durch, während die Zweige mit maXO getrennt sind und der EQ eingeschaltet ist. Das Ergebnis ist ein vertretbarer Eingriff, der ein deutlich ausgewogeneres Resultat hervorbringt, als ohne DRC.
Die Dateien:
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=1073&pictureid=16995

Und die Messung:
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=1073&pictureid=16996

und die Zweige:
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=1073&pictureid=16997

Für dieses Ergebnis lade ich eine andere Datei in den Convolver, nämlich eine, die die neu erstellten Files nutzt:

44100 2 6 0
0 0
0 0 0 0 0 0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOLowL44_DRC.wav
0
0.0
0.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOLowR44_DRC.wav
0
1.0
1.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOMidL44_DRC.wav
0
0.0
2.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOMidR44_DRC.wav
0
1.0
3.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOHighL44_DRC.wav
0
0.0
4.0
C:\drc-3.2.1\DRC HTPC\Convolver-Files\XOHighR44_DRC.wav
0
1.0
5.0Die heißt bei mir One_File.TXT, weil ich hier eben alles in einer Datei habe...

Ich hoffe, das ist soweit verständlich.

kasbc
04.04.2014, 12:49
Hallo schrottie,

gute Beschreibung. Ich habe ja mal vor Jahren deinen Setup "kopiert", bis auf audiomulch (ich nutze console) und seitdem läuft es bei mir auch stabil. Allerdings probiere ich viel mit verschiedensten Tools rum (VST-Plugins gibt's ja wie Sand am Meer, dazu noch FAL usw) und muss schon aufpassen, dass ich mich nicht verzettle.

Brutefir ist in der Simpel-Konfiguration (d.h. lesen vom line-in und schreiben auf die line-outs) ähnlich strukturierbar wie der convolverVST. Es ist ein bisserl mehr zu schreiben, aber eigentlich recht verständlich. Allerdings habe ich es bisher nur für Weichenfilter genutzt, die ich auf verschiedenste Arten erstellt habe. Wenn man mal die Grundstruktur (3-wege etc.) hat, braucht man nur die Filterfiles (austauschen und hat eine neue Abstimmung.


Hast du schonmal dran gedacht statt des EQ drc zu nutzen? Also eine ca. 50 cm Messung des Chassis mit drc behandeln und dann in die Weiche falten und über das Gesamte dann wieder drc laufen lassen ?

Gruß

schrottie
04.04.2014, 17:07
Ich dachte mir schon, dass BruteFIR im Prinzip ähnlich ist. Wie gesagt, ich habe es aber noch nie ausprobiert.

Ich habe noch nie drüber nachgedacht, DRC doppelt einzusetzen und ineinander zu falten. Wäre alleine aus Neugierde aber mal einen Versuch wert... Sozusagen DRCeption :D

Was ich wirklich spannend finde, sind 2 Eingriffsmöglichkeiten:
1. über die DRC Parameter. Da lässt sich viel einstellen und entdecken. Das Ergebnis klingt immer irgendwie anders.
2. über die Zielkurve, also ganz klassisch die Abstimmung über die Amplitude. Da merkt man erstmal wirklich, wie viel 1 oder 2 dB mehr oder weniger in einem Bereich ausmachen. Das ist schon erstaunlich. Und dann wird es auch wirklich Abstimmung im wahrsten Wortsinn: welche Zielkurve passt zum Lautsprecher, zur Abhörsituation, zum Raum usw. Da kann man Tage über Tage mit verbringen.

Gnom52
04.04.2014, 17:22
Hallo Schrottie

Hast Du nicht wenigstens einen Vornamen für uns ?

Mit DRC und XOver im VST-Convolver arbeite ich seit 2009, habe aber (-keine Werbung ) dahin einfachere Wege gefunden.

Den Zwiespalt zwischen PC-Lösung und DSP sehe ich nach wie vor, weil ich mit DSP noch Fernsehen und Hören könnte, aber mit VST... immer etwas spät dran bin.

Ich bleib dran am Thema.

Grüsse
Wolfgang

kasbc
04.04.2014, 17:33
Hallo Wolfgang,



... habe aber (-keine Werbung ) dahin einfachere Wege gefunden.


Einfachere Wege ? Welche? 2 Stichwörter reichen.

Gruß, Christian

schrottie
04.04.2014, 18:07
Hallo Schrottie

Hast Du nicht wenigstens einen Vornamen für uns ?

Mit DRC und XOver im VST-Convolver arbeite ich seit 2009, habe aber (-keine Werbung ) dahin einfachere Wege gefunden.

Den Zwiespalt zwischen PC-Lösung und DSP sehe ich nach wie vor, weil ich mit DSP noch Fernsehen und Hören könnte, aber mit VST... immer etwas spät dran bin.

Ich bleib dran am Thema.

Grüsse
Wolfgang
Mein Vorname ist schrottie. Mein Nachname übrigens auch. :p
Einige Fernseher können Verzögerungen einbauen. Ansonsten einfach eine TV-Karte einbauen. Dann kannst du auf jeden Fall Bild und Ton synchronisieren.
Wenn ich bei Null anfangen würde, würde ich aber heute vielleicht auch eher auf was etwas fertigeres setzen. Diesen ganzen Kram aus der K+T finde ich gut. Rasberry Pi, DAC, Nas mit Squeezeserver, MiniDSP, Icepower Amps. Das macht in der Summe was richtig Gutes. Dazu noch gute Wavecor Chassis oder was äquivalentes und schon ist man nahe an ideal bei wirklich überschaubarem Budget. Dann bleibt fast nur noch der Raum selber zum Spielen.

Gnom52
04.04.2014, 18:14
Hi Christian

Ich habe auch ca. 1 Jahr lang versucht (mit Erfolg) No-Cost-DRC zu machen, aber dann bin ich auf eine teure (350,-) Lösung gestoßen, die zum Messen und Filter erstellen taugt (und noch mehr kann..).

Schau Dich da mal um:http://www.aktives-hoeren.de/viewtopic.php?f=40&t=1717


Grüsse
Wolfgang

Gnom52
04.04.2014, 18:30
Mein Vorname ist schrottie. Mein Nachname übrigens auch. :p


OK, das habe ich verstanden.

Wolfgang

kasbc
04.04.2014, 19:45
Hallo Wolfgang,

nur "einfacher" (aber auch nur weil alles zum Erstellen der Filter integriert ist) oder/und auch "besser"?

Gruß, Christian

kasbc
05.04.2014, 11:30
Hallo Wolfgang,

danke für die Infos.

Gruß, Christian

Murphy
05.04.2014, 11:34
Acourate wird in dem Moment einfach, wo man den Convolver nutzt: http://img10.imageshack.us/img10/9466/7convolver.png

Filter einbinden, in den Autostart packen und als Blackbox laufen lassen, Steuerung mit Tablet.