Realtime- und Batch-Convolving mit Foobar

Rudolf
Webmaster
Beiträge: 4920
Registriert: 25.12.2007, 08:59
Wohnort: Bergisch Gladbach

Realtime- und Batch-Convolving mit Foobar

Beitrag von Rudolf »

Fortepianus hat geschrieben:ich habe da eine Anfängerfrage zu Acourate -> Foobar an Dich: Wie mach' ich die wav-Filter (Impulsantworten) für Foobar mit Acourate?
[...]
Foobar neueste Version hab' ich auf dem Rechner samt Convolver-Plugin, hab' aber keine Ahnung, wie das dann geht. Wohin die wav? Muss für jede mögliche Samplingfrequenz (44,1, 48 und 96k zum Beispiel) eine Korrektur-wav irgendwo liegen (wo)? Geht das dann on-the-fly beim Abspielen oder muss ich die Files vorher mit der Korrektur-wav falten?
Hallo Gert,

wenn man's einmal rausgefunden hat, ist die Sache ganz einfach:

1. Erstellen der Filterdatei, z.B. mit Acourate

Zunächst muss man eine Korrekturdatei erstellen* und dann als .wav abspeichern (die Samplerrate muss der des D/A-Wandlers angepasst werden, für den Sonos z.B. 44,1 kHz).

*wie dies in Acourate funktioniert, wollen wir demnächst noch in einem kleinen Tutorial beschreiben; Uli und ich sind noch dabei.

2. Convolving mit foobar2000

a) Realtime-Convloving


In Foobar gibt es im Datei- bzw. File-Menü den Befehl Preferences, in dem man so gut wie alles, was des PC-High-Enders Herz begehrt, einstellen kann. Unter anderem auch den DSP-Converter, derer es ja eine ganze Menge gibt. Uns jedoch interessiert hier nur das DSP-Plugin Convolver, das natürlich zuvor installiert sein muss (durch einfaches Drag & Drop der betreffenen .dll in das Foobar-Verzeichnis).

Bild

Hier lädt man die zuvor aus Acourate erzeugte Korrekturdatei und damit ist bereits alles getan, um jede Audiodatei, die man fortan mit Foobar abspielt, realtime zu falten (convolven). Realtime-Convolving funktioniert aber nur dann, wenn man direkt von Foobar aus in eine Soundkarte gehen kann.

b) Batch-Convolving

Will man jedoch z.B. vom Sonos abspielen, muss man die betreffenden Dateien zuvor in einer Stapelbearbeitung offline falten. Dazu öffnet man die zu konvertierenden Audiodateien in Foobar, drückt die rechte Maustaste und wählt im Kontextmenü den Befehl Convert... aus. Dann öffnen sich folgende Einstellungen:

Bild

Hier wählt man das Zielverzeichnis für die gefalteten Dateien aus und kann noch einige andere Schmankerl einstellen, wie z.B. den DSP auf der Registerkarte Processing :

Bild

Wie man sieht, braucht man hier erneut nur den Convolver auszuwählen - sofern er nicht bereits zuvor unter Preferences eingestellt wurde - und los geht's. In wenigen Minuten kann man auf diese Weise einzelne CDs bzw. die gesamte Sammlung falten.

Viele Grüße
Rudolf
Bild
Fortepianus
Aktiver Hersteller
Beiträge: 3671
Registriert: 17.12.2008, 12:41
Wohnort: Stuttgart

Beitrag von Fortepianus »

Hallo Rudolf,

vielen Dank! Werde das bald mal ausprobieren. Bin nämlich dabei, meine Terratec Phase 26 USB soweit auf Vordermann zu bringen (mit dem Lötkolben), dass sie in vernünftiger Qualität 24/96 am Analogausgang abliefert (was im Originalzustand nur in mittelmäßiger Qualität der Fall ist). Damit könnte ich zum einen all das hochaufgelöste Geraffel abspielen, und zum anderen die ABX-Spielereien am Foobar nutzen. Allerdings läuft das dann ja nicht mehr über meine digital eingeschleifte FIR-Kiste, so dass ich das Falten mit den Korrekturfiles vorher am Notebook machen muss.

Viele Grüße
Gert
Bild
KSTR
inaktiv
Beiträge: 1221
Registriert: 08.05.2008, 11:51

Beitrag von KSTR »

Hi Gert,

irgendwo hier hatte ich eine Kurzbeschreibung zur Anwendung des Convolver-Plugs geschrieben (im SFB-GLZ ;)).

Zu beachten:

Für jede Samplerate der Quellen braucht man eine eigenen Korrekturkern in dieser Rate, es sei denn, ein/das Upsampler-Plug läuft VOR dem Convolver, dann reicht dessen Rate (für CD bietet sich 2x oder 4x an).

foobar rechnet wie es sich gehört intern überall in floating-point und kann 32-Gleitkomma-WAVs verarbeiten, an jeder Stelle (auch für den Convolver-Kern). Deshalb diese nicht in 16Bit-abspeichern.

Gleiches gilt für den Output, jedoch kann FLAC mW kein Floating-Point, aber evtl 24-Bit-Fixed-Point. Schon auch wegen dem mehr oder weniger auf Verdacht zu lassenden Headroom...

Beim Processing in ein File statt einen Stream ändert sich nix, d.h. es werden die Daten so in das File gepustet, wie es auch auf der Ausgabe-Soundkarte landen würde mit allen aktuellen Einstellungen (EDIT: stimmt nicht, siehe unten). Das bedeutet, dass die "Totzeit" des Convolvers mit einfließt, das ist ein Problem wenn man einzelne Tracks die ohne Pausen aneinanderhängen (Live, Klassik) konvertiert, weil das Ausgabefile ja länger ist (sein muss) als das Orignal und es dann kurze Löcher zw. eigentlich zusammenhängenden Tracks gibt wenn der Stream (also das was der Convolver als Input bekommt) unterbrochen wird und neu ansetzt. An sich läßt foobar den Stream weiterlaufen innerhalb einer am Stück abgespielten Playlist, jedoch weiß ich nicht ob das dann wirklich so in gesplittete Ausgabefiles (für die einzenen Tracks) auch passiert (EDIT ja, siehe unten). Sicher wäre es, eine komplette CD am Stück als ein File zu bearbeiten, wozu es entsprechend gerippt werden sein muss, als durchgängiger Audiostream. EAC macht das leider nicht (vlt. kann man das einstellen), es pappt leider die Pausen nicht ins WAV bei einem Image, sondern legt diese nur im Cuesheet an (das foobar lesen kann, evtl. bricht foobar den Stream zwischen Tracks also nicht ab, auch wenn es eine markierte Pause ist. EDIT ja, tut es nicht). Plextools macht es, dafür aber keine Cue-Sheets (macht bei mir nix, ich behandle und höre CD immer als ganzes, brauche keine Teilung und Cuesheet, ich mach das "analog" -- wie bei Bladde oder Band).

Man muss also diverses ausprobieren, bis alles perfekt so klappt wie man es haben möchte.

NB: Ich verwende foobar nicht mehr, weil es bei mir knackt (auf den Live-Stream) und der convolver kein cross-convolving kann. Was schade ist, weil es eigentlich so schön ist...

EDIT: Ich sehe grad, im Converter-Setup gibt es diverse Optionen (auch das nicht-abbrechen des Streams). Ebenso kann man doch unabhängig von der Live-Ausgabe die DSP-Plugs und Replay-Gain etc parametrieren...

Grüße, Klaus
Bild
uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

Beitrag von uli.brueggemann »

Fortepianus hat geschrieben: Allerdings läuft das dann ja nicht mehr über meine digital eingeschleifte FIR-Kiste, so dass ich das Falten mit den Korrekturfiles vorher am Notebook machen muss.
Gert,

Acourate hat den Menüpunkt wav-Functions - wav-Filter. Nach vorheriger Wahl der Samplerate und Laden der Filter als Curve1 und 2 (links und rechts) kann eine wav-Datei gewählt und gefiltert werden.

Grüsse, Uli
Bild
KSTR
inaktiv
Beiträge: 1221
Registriert: 08.05.2008, 11:51

Beitrag von KSTR »

KSTR hat geschrieben:foobar rechnet wie es sich gehört intern überall in floating-point und kann 32-Gleitkomma-WAVs verarbeiten, an jeder Stelle (auch für den Convolver-Kern).
Auch 64bit-Floats, wie ich grade erfahren habe.
Bild
KSTR
inaktiv
Beiträge: 1221
Registriert: 08.05.2008, 11:51

Beitrag von KSTR »

Uli,

muss man die Headrrom-Reserve dann hinterher noch einstellen (wäre jetzt bei Rudolfs Beispiel nicht der Fall), oder läßt du schon Platz im Kern, so dass es auch im worst-case niemals clippen kann (mWm kann/muss man das mit einer langen Sequenz weißen Rauschens testen)?

------------:-----------

Ich habe bei mir z.B. bis zu 8dB an Platz lassen müssen (und auto leveladjust muss "aus" sein sonst normiert foobar wieder auf 0dB impulse power), damit es nicht clippt auch bei fiesen CDs. Experimentell, durch Anzeige des Peak-Levelmeters bzw Inspizieren testhalber in Datei ausgegebene Daten auf Clipping.

Grüße, Klaus
Bild
Fortepianus
Aktiver Hersteller
Beiträge: 3671
Registriert: 17.12.2008, 12:41
Wohnort: Stuttgart

Beitrag von Fortepianus »

Hallo Uli und Klaus,

danke für die weiteren Tipps. Ist soweit klar, in Foobar habe ich zuerst ein Upsampler-Plugin geladen, das alles auf 96kHz setzt, und dann das Convolver-Plugin, das dann falten soll. So kann ich alles bis 96k abspielen und muss nicht jedesmal das Korrektur-wav neu angeben, wenn sich die Samplingrate ändert.

Das Convolver-Plugin von Foobar möchte gerne eine wav-Datei (Stereo) mit der zu faltenden Impulsantwort haben. Das habe ich in Acourate so erzeugt: Meine linke Korrekturdatei in Active Curve 1, rechte in 2. Dann unter "File", "Save Stereo WAV" als wav abgelegt und in Foobar dem Convolver-Plugin diesen File mitgeteilt.

Nun mein Problem: Ich brauche ja nun eine 96kHz-Korrektur-WAV. Filter für meine FIR-Kiste habe ich aber nur für 44,1 und 48kHz berechnet. Klappt das, wenn ich meine 48k-Korrekturfiles (.dbl) in Acourate lade, dann die Samplingfrequenz auf 96k setze und das dann als wav speichere? Oder geht das schief?

Viele Grüße
Gert
Bild
Fortepianus
Aktiver Hersteller
Beiträge: 3671
Registriert: 17.12.2008, 12:41
Wohnort: Stuttgart

Beitrag von Fortepianus »

Hallo Klaus,
KSTR hat geschrieben:
KSTR hat geschrieben:foobar rechnet wie es sich gehört intern überall in floating-point und kann 32-Gleitkomma-WAVs verarbeiten, an jeder Stelle (auch für den Convolver-Kern).
Auch 64bit-Floats, wie ich grade erfahren habe.
ja, hab's eben ausprobiert, funktioniert auch mit 64bit. Danke für den Tipp.

Gruß Gert
Bild
uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

Beitrag von uli.brueggemann »

KSTR hat geschrieben:muss man die Headrrom-Reserve dann hinterher noch einstellen )?
Acourate zeigt an was der maximale Pegel [in dB] der convolvten Datei ist. Meistens ist ein Clipping so kurzzeitig, dass man es ignorieren kann (auch BruteFIR sorgt nur dafür dass es nicht über 0 dB geht).

Aber es ist natürlich dann auch möglich, die Filter per Gain-Funktion vom Pegel anzupassen. Was nur bedeutet, dass man es evtl. zweimal machen muss.
Im Prinzip könnte man so auch den max. Pegel gefahrlos heraufsetzen falls er zu niedrig wäre.

Leider ist das Resultat für jede Faltung anders. Das liegt eben daran was auf der CD drauf ist.

Grüsse, Uli
Bild
uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

Beitrag von uli.brueggemann »

Fortepianus hat geschrieben:Klappt das, wenn ich meine 48k-Korrekturfiles (.dbl) in Acourate lade, dann die Samplingfrequenz auf 96k setze und das dann als wav speichere? Oder geht das schief?
Klappt. Jedoch erst upsampeln und als Pulse speichern. Danach alle Kurven löschen, Samplerate auf 96 kHz umstellen die 96kHz Pulse laden und als wav abspeichern.

Grüsse, Uli
Bild
Fortepianus
Aktiver Hersteller
Beiträge: 3671
Registriert: 17.12.2008, 12:41
Wohnort: Stuttgart

Beitrag von Fortepianus »

Danke Uli,

hat geklappt. Erstaunlich übrigens, wie ordentlich das klingt - habe das Analogteil der Phase 26 USB kurzerhand abgeklemmt und extern durch ein gutes Filter mit diskreter ClassA-Ausgangsstufe ersetzt. Damit kann ich jetzt zumindest vom Notebook aus 96k-Files von meiner NAS abspielen. Nette Spielerei. Meine Hauptantriebsfeder, das zum Spielen zu kriegen, war aber eigentlich das ABX-Tool von Foobar. So kann ich ABX-Blindtests machen zwischen unterschiedlich bearbeiteten Files (wie z. B. bei unserem GLZ-Test damals).

Grüße Gert
Bild
Fortepianus
Aktiver Hersteller
Beiträge: 3671
Registriert: 17.12.2008, 12:41
Wohnort: Stuttgart

Beitrag von Fortepianus »

Hallo Klaus,

zu dem Upsampler-Plugin von Foobar:
KSTR hat geschrieben:Für jede Samplerate der Quellen braucht man eine eigenen Korrekturkern in dieser Rate, es sei denn, ein/das Upsampler-Plug läuft VOR dem Convolver, dann reicht dessen Rate (für CD bietet sich 2x oder 4x an).
Taugt das was? Bei mir taucht das unter "Available DSPs" als "Resampler (PPHS)" auf. Was bedeutet denn der auswählbare Schalter "Ultra mode"? Und läuft es dann vor dem Convolver-Plugin, wenn es in der Liste der aktiven DSP-Plugins oberhalb des Convolvers steht?

Viele Grüße
Gert
Bild
Fortepianus
Aktiver Hersteller
Beiträge: 3671
Registriert: 17.12.2008, 12:41
Wohnort: Stuttgart

Beitrag von Fortepianus »

Hallo Klaus,
Fortepianus hat geschrieben:Was bedeutet denn der auswählbare Schalter "Ultra mode"?
habe gerade mal den Schalter gesetzt und festgestellt, dass das Resultat Unterbrechungen und Verzerrungen übelster Sorte sind. Da lass' ich das Häkchen doch besser mal weg.

Außerdem habe ich raus gefunden, dass 192k-Files, die ohne Upsampler-Plugin laufen und dann eben mit 96k vom DAC ausgegeben werden, den Upsampler irgendwie aus dem Tritt bringen.

Gruß Gert
Bild
KSTR
inaktiv
Beiträge: 1221
Registriert: 08.05.2008, 11:51

Beitrag von KSTR »

Fortepianus hat geschrieben:Und läuft es dann vor dem Convolver-Plugin, wenn es in der Liste der aktiven DSP-Plugins oberhalb des Convolvers steht?
Ja
habe gerade mal den Schalter gesetzt und festgestellt, dass das Resultat Unterbrechungen und Verzerrungen übelster Sorte sind. Da lass' ich das Häkchen doch besser mal weg.

Außerdem habe ich raus gefunden, dass 192k-Files, die ohne Upsampler-Plugin laufen und dann eben mit 96k vom DAC ausgegeben werden, den Upsampler irgendwie aus dem Tritt bringen.
Muss am Rechner/Setup liegen, und wie kann ein Plug, das gar nicht läuft, aus den Tritt kommen? Bei mir lief bis vor einer Stunde**) upsampling auf 96k problemlos (bis auf die generellen probs mit foobar).

**) Jetzt läuft grad garnichts mehr, wollte eben das Crossoverplug mal testen mit ASIO4ALL als Verteiler, seitdem läuft gar nichts mehr kein sound mehr aus keiner anwendung egal welche und auch nach allen de/reinstalls von allem was mit sound zu tut hat nach allen regeln der kunst... muss das system neu aufsetzten... und XP ist bei mir eh scheiße gewesen, W2K hatte nie die probs mit foobar und überhaupt. Ankotzen tut's mich trotzden, ich hab grad überhaupt keine Zeit für so'n scheiss.

:( grüße, klaus
Bild
AprilWine
Aktiver Hörer
Beiträge: 68
Registriert: 23.09.2009, 00:02

Beitrag von AprilWine »

Moin Rudolf, moin Profis,
ich habe da ein Problem.

Bei der 44.1 Datei erhalte ich die Meldung, daß nicht "convolvert" werden kann.
Bei der 48er klappt es, obwohl die Ausgabe in 44.1 erfolgt ???

Dieses bekomme ich auch bei Acourate LSR zu sehen.

Somit habe ich auf 48 umgestellt.

Scheint jetzt zu funktionieren. Jedenfalls bekomme ich keine Fehlermeldungen mehr.

stellt sich für mich nur die Frage warum ?
In Foobar wird übrigens beim Abspielen weiterhin 44.1 angezeigt.


Gruss Stefan
Bild
Antworten