Wie beeinflussen Impulsantworten mit verschiedenen Samplerates die Aufnahmequalität?

  • Ersteller unclefish
  • Erstellt am
U
unclefish
Registrierter Benutzer
Zuletzt hier
25.11.23
Registriert
26.08.08
Beiträge
97
Kekse
325
Ort
Berlin
Hallo!

Ich experimentiere zur Zeit ein wenig mit verschiedenen Kombinationen von VST-(Pre)Amps und Speaker Simulationen basierend auf Impulsantworten. Dabei viel mir auf, dass die meisten der (zumindest) frei erhältlichen Impulsantworten bei 44.1 kHz und mit unbekannter Bittiefe gesampelt wurden.

Da ich standardmäig mit 48kHz/24bit arbeite, frage ich mich, wie sich die Verwendung solcher Impulsantworten letzendlich auf das aufgenommene Signal auswirkt. Weiss da jemand eine Antwort?


:confused:

Gruß,
Thomas


p.s.:
In diesem Kontext: Gibt es ein Tool mit dem ich die Bittiefe eines .wav files herausfinden kann?
 
Eigenschaft
 
Gibt es ein Tool mit dem ich die Bittiefe eines .wav files herausfinden kann?
Welches Betriebssystem hast du? Windows XP zeigt die Bittiefe in den Datei-Eigenschaften an.

Hat es einen besonderen grund, warum du mit 48KHz aufnimmst, und nicht mit 44.1KHz?

Auf deine eigentlich Frage habe ich auch keine Antwort, interssiert mich aber durchaus. Müsste ich nochmal wieder genauer nachschauen, wie so eine Faltung digital funktioniert...
 
Die Bittiefe einer abgespeicherten Impulsantwort ist nicht so wichtig, so lange sie nicht schlechter als 16 bit ist und die Impulsantwort gut ausgesteuert bzw. normalisiert ist. Bei der Faltung an sich wird sowieso in 32 bit float gerechnet, hierbei entstehen also keine Qualitätsverluste.
16 bit sind immerhin über 90 dB Dynamik! Soviel SNR wird dein Mikrofon eher nicht haben und der A/D-Wandler nur im sehr gut ausgesteuerten Bereich.

Fazit: 24 bit sind gut zum aufnehmen, da man schnell Headroom zur guten Einpegelung "verschwendet". Für ein gut ausgesteuertes, bearbeitetes Signal sind 16 bit völlig ausreichend.
 
Impulsantworten mit höherer Samplingfrequenz wirken sich schon aus. Die feinen Unterschiede bei Preamp und Speakersimulationen finden gerade im Zeitbereich statt. Da haben höhere Samplingfrequenzen Vorteile.

Auch wenn man statt mit 16 bit mit 24 Bit sampled, gewinnt das Signal Präzision auch im Zeitbereich. Es geht also nicht nur um Dynamik, denn die alleine würde bei 16 Bit ausreichen.

Es sind gerade die Einschwingvorgänge und die transienten Signale, die beim Modelling wichtig sind, da würde ich Impulsantworten mit 24/96 erstellen. Transienten haben in der Regel Frequenzanteile oberhalb von 20 kHz. Die kann ich beim samplen mit 44,1k gar nicht mehr erfassen.

Ungekehrt sind die Pegel der Frequnzanteile oberhalb von 20 kHz eher klein. Da ist dann die AD Wandlung mit 24 bit stat 16 bit im besser, um diese Feinheiten noch differenziert zu bekommen.
 
Hallo nochmal!

Erst einmal vielen Dank für die Antworten. Ich habe die letzten Tage damit verbracht dieser Frage mal etwas genauer nachzugehen und einen kleinen Test durchgeführt, der mir erst einmal etwas Überblick verschafft hat.

In dem Test habe ich meine, mit verschiedenen Impulsloadern (Cubase Reverence, SIR2, keFIR, LeCab, Boogex) und Impulsantworten unterschiedlicher Samplerate erstellten, Aufnahmen mit dem Ergebnis einer mathematisch exakt durchgeführten Konvolutionsrechnung verglichen. Damit konnte ich den Einfluss der Samplerate von Impulsantworten, wie auch Unterschiede zwischen den verschiedenen Impulsloadern recht gut verdeutlichen.

Die genauen Ergebnisse habe ich in einem kleinen PDF zusammengefasst. Wer mal reinschauen möchte kann es hier runterladen:

http://dl.dropbox.com/u/4401219/Vergleich%20verschiedener%20Impulse%20Loader.pdf

Eventuell ist das ja für den einen oder anderen von Interesse.

Gruß,
Thomas
 
Impulsantworten mit höherer Samplingfrequenz wirken sich schon aus. Die feinen Unterschiede bei Preamp und Speakersimulationen finden gerade im Zeitbereich statt. Da haben höhere Samplingfrequenzen Vorteile.
Bei einer Preamp simulation meinetwegen. Aber bei einer Speakersimulation? Denk mal über den Frequenzgang eines zu modellierenden Speakers nach...


Es sind gerade die Einschwingvorgänge und die transienten Signale, die beim Modelling wichtig sind, da würde ich Impulsantworten mit 24/96 erstellen. Transienten haben in der Regel Frequenzanteile oberhalb von 20 kHz. Die kann ich beim samplen mit 44,1k gar nicht mehr erfassen.
Und ob man die hört, ist eine ganz andere Frage. Und das hat überhaupt gar nichts mit der Faltung zu tun. Ich hoffe, dass das hier nicht schon wieder zu einer Samplingrate Diskussion ausartet. :rolleyes:


Ungekehrt sind die Pegel der Frequnzanteile oberhalb von 20 kHz eher klein. Da ist dann die AD Wandlung mit 24 bit stat 16 bit im besser, um diese Feinheiten noch differenziert zu bekommen.
Ja, jetzt überlegen wir mal WIE klein die sind:
- Eine Raumimpulsantwort von stark reflektierenden Räumen mit ordentlich Beton-ähnlichen Wänden kann durchaus Frequenzanteile bis zu 20 kHz enthalten. Standard-halls haben meistens einen Höhen Roll-off beginnend zwischen 3 und 6 kHz. Das heißt, die obere Frequenzregion ist meistens eher unerwünscht und in gut klingenden Räumen nicht allzu präsent vertreten.
- Gitarrenspeaker haben ab 6 kHz einen starken Höhenabfall. Über 7 kHz kommt da kaum noch was raus, ca. spätestens ab 10 kHz gar nichts mehr. Wozu brauch ich da bitteschön ultrahohe Samplingraten?



In dem Test habe ich meine, mit verschiedenen Impulsloadern (Cubase Reverence, SIR2, keFIR, LeCab, Boogex) und Impulsantworten unterschiedlicher Samplerate erstellten, Aufnahmen mit dem Ergebnis einer mathematisch exakt durchgeführten Konvolutionsrechnung verglichen. Damit konnte ich den Einfluss der Samplerate von Impulsantworten, wie auch Unterschiede zwischen den verschiedenen Impulsloadern recht gut verdeutlichen.

Schön, du hast dir ja richtig Arbeit gemacht! Allerdings ein paar Kritikpunkte:
Dein Testsignal ist denkbar ungünstig gewählt für einen Vergleich von Samplingrates bei Faltung. E-Gitarren haben wie schon ein paar mal erwähnt, keinen Frequenzanteil im obersten Bereich.

Es ist sicher von Vorteil, dass du den Vergleich gemacht hast, allerdings hast du da eher nicht die Qualität der Faltungsoperation, sondern die Resamplingqualität der Plugins verglichen?

Hab ich das richtig verstanden: Du sprichst immer von gleichen Parametern von IR und Instrumentensignal. Meinst du damit, dass du mit dem IR-loader eine IR verwendest, die mit anderer Samplingrate als das Testsignal vorliegt?

Die Faltungsoperation ist eine mathematisch simpel beschreibbare (zwar rechenaufwändig aber simpel) Operation. Da kann man nichts anders programmieren, außer man verwendet ressourcenschonende Verfahren wie den Umweg über FFTs. Davon gehe ich aber mal nicht aus.
Und in deinem Test kommt ja auch raus, dass bei Tests, wo keine Konvertierung stattfinden muss auch exakt dasselbe Ergebnis rauskommt, oder?
 
Ich habe mich auf die Preamp Simulation bezogen.

Die haben Bandbreiten weit über 20 kHz. High End Preamps haben oft Bandbreiten bis 200 kHz. Ich behaupte nicht, dass irgendemand so weit hört. Es geht einfach ums Verhalten im Zeitbereich. Wenn die hohe Bandbreite da keine Vorteile hätte, würde kein High End Entwickler so hoch gehen. Deswegen meinte ich, würde ich als Grundlage Samples nehmen, die genauer sind als 16/44,1.
 
Ich habe mich auf die Preamp Simulation bezogen.

Die haben Bandbreiten weit über 20 kHz. High End Preamps haben oft Bandbreiten bis 200 kHz.
Das mag schon sein. Aber es geht hier ja um Convolution und nicht um die Simulation von Gitarrenpreamps.
Und welchen Vorteil habe ich von einer 200kHz Bandbreite beim Preamp, wenn nach das Signal nach der Boxensimulation nur noch 7 kHz Bandbreite hat? Außer du verwendest das Preampsignal ohne Boxensim...
 
@ Stifflers_mom:

Vielen Dank für deine Antwort!
Ich antworte mal kurz zu deinen Punkten

Dein Testsignal ist denkbar ungünstig gewählt für einen Vergleich von Samplingrates bei Faltung. E-Gitarren haben wie schon ein paar mal erwähnt, keinen Frequenzanteil im obersten Bereich.
Jo, das kann sein. Ich bin aber Gitarrist und war hier einfach gezielt an Gitarrenaufnahmen interessiert. Ich glaube aber, dass die Ergebnisse nicht von einem konkreten Frequenzbereich abhängig sind.

Es ist sicher von Vorteil, dass du den Vergleich gemacht hast, allerdings hast du da eher nicht die Qualität der Faltungsoperation, sondern die Resamplingqualität der Plugins verglichen?
In erster Linie wollte ich die Ergebnisse der verschiedenen Impulsloader vergleichen. Ob die Unterschiede auf dem Faltungsalgorithmus oder dem Resampling beruhen kann ich da natürlich nicht sagen. Interessant ist aber, dass verschiedene Impulsloader unterschiedliche Ergebnisse liefern.

Hab ich das richtig verstanden: Du sprichst immer von gleichen Parametern von IR und Instrumentensignal. Meinst du damit, dass du mit dem IR-loader eine IR verwendest, die mit anderer Samplingrate als das Testsignal vorliegt?
Genau! In Cuabse (vermutlich ist das in anderen DAWs ähnlich) stellt man ja seine Aufnahmeparameter ein (bzw. die richten sich automatisch nach den im Interface eingestellten Parametern). Bei mir sind das standardmäßig 48kHz/24bit. In dem Test habe ich jetzt Impulsantworten mit (a) 44.1kHz/24bit , (b) 48kHz/24bit und (c) 96 kHz/24bit benutzt und ein von mir aufgenommenes (48kHz/24bit) Preamp-Signal damit gefaltet. Die Ergenisse habe ich dann als wav-Dateien exportiert (alles in Cubase)und soundtechnisch, grafisch und mathematisch (durch eine einfache Ähnlichkeitsanalyse der Signale) verglichen.

Und in deinem Test kommt ja auch raus, dass bei Tests, wo keine Konvertierung stattfinden muss auch exakt dasselbe Ergebnis rauskommt, oder?
Eben nicht. Allein nach der Faltung (in MATLAB durchgeführt) unterscheiden sich die errechneten Signale, also bereits vor der Umwandlung in wav-Dateien sind Unterschiede in allen drei Kriterien (s.o.) erkennbar. Diese werden auch nicht durch den Export als wav-Datei beeinflusst. Lediglich keFIR.v1 liefert genau dieses Ergebnis. Die anderen Impulsloader produzieren, unabhängig von der Impulsantwort, identisch klingende Ergebnisse. Wobei ich mir nicht klar bin, wie das sein kann.
Bei Verwendung einer Impulsantwort die mit 48kHz/24bit gesampelt wurde sind die Ergebnisse aller getesteten Impulsloader (für mich) ununterscheidbar. Unterschiede, die man grafisch oder bei der Ähnlichkeitsanalyse erkennt, sind sehr klein und vermutlich nicht hörbar; Wobei SIR2 das präziseste Signal (relativ zur nativen Faltungsrechnung) lieferte.
 
Jo, das kann sein. Ich bin aber Gitarrist und war hier einfach gezielt an Gitarrenaufnahmen interessiert. Ich glaube aber, dass die Ergebnisse nicht von einem konkreten Frequenzbereich abhängig sind.

Das sollte eigentlich auch so sein, wenn wir über die Faltung reden. Bei der interessiert nämlich die Samplingrate überhaupt nicht. Und wenn dann reden wir entweder über Probleme/Ungenauigkeiten bei der Sampleratenkonvertierung oder über den Glaubenskrieg der Samplingraten! :D


In erster Linie wollte ich die Ergebnisse der verschiedenen Impulsloader vergleichen. Ob die Unterschiede auf dem Faltungsalgorithmus oder dem Resampling beruhen kann ich da natürlich nicht sagen. Interessant ist aber, dass verschiedene Impulsloader unterschiedliche Ergebnisse liefern.

Der Faltungsalgorithmus ist wie gesagt immer der gleiche. Außer ein Plugin arbeitet mit anderer Wortbreite bzw die Rundungsfehler variieren. Kann ich mir aber nicht vorstellen, dass das so ist, bzw. ins Gewicht fällt, da normal alles in 32 bit float gerechnet wird.


In dem Test habe ich jetzt Impulsantworten mit (a) 44.1kHz/24bit , (b) 48kHz/24bit und (c) 96 kHz/24bit benutzt und ein von mir aufgenommenes (48kHz/24bit) Preamp-Signal damit gefaltet. Die Ergenisse habe ich dann als wav-Dateien exportiert (alles in Cubase)und soundtechnisch, grafisch und mathematisch (durch eine einfache Ähnlichkeitsanalyse der Signale) verglichen.

Wie kann ich mir die 3 Impulsantworten vorstellen?
- Hast du 3 mal eine Impulsantwort des gleichen Setups selbst mit verschiedenen Samplingraten aufgenommen?
- Eine IR genommen und in die anderen Samplingraten konvertiert?
- 3 überhaupt verschiedene IRs genommen?

Ein optischer Vergleich ist immer nur ein ungenaues Schnellverfahren. Wie wär es mit einem Fehlermaß?
Z.B. könntest du die Differenz von 2 Signalen bilden und dann über den Absolutbetrag dieses Fehler aufsummieren. Dann siehst du in etwa, wie stark sich die Signale unterscheiden, oder ob überhaupt.
In Matlab: E = sum( abs( x1 - x2 ));


Eben nicht. Allein nach der Faltung (in MATLAB durchgeführt) unterscheiden sich die errechneten Signale, also bereits vor der Umwandlung in wav-Dateien sind Unterschiede in allen drei Kriterien (s.o.) erkennbar.

Die Umwandlung in wav sollte überhaupt keinen Einfluss haben. Die Werte werden lediglich von 32 bit float als 24 bit fixed-point gespeichert.

Lediglich keFIR.v1 liefert genau dieses Ergebnis. Die anderen Impulsloader produzieren, unabhängig von der Impulsantwort, identisch klingende Ergebnisse. Wobei ich mir nicht klar bin, wie das sein kann.
Bei Verwendung einer Impulsantwort die mit 48kHz/24bit gesampelt wurde sind die Ergebnisse aller getesteten Impulsloader (für mich) ununterscheidbar. Unterschiede, die man grafisch oder bei der Ähnlichkeitsanalyse erkennt, sind sehr klein und vermutlich nicht hörbar; Wobei SIR2 das präziseste Signal (relativ zur nativen Faltungsrechnung) lieferte.

Wie bist du in Matlab mit den unterschiedlichen Samplingraten umgegangen? Hast du die jeweilige IR oder das Signal umkonvertiert?
Oder gar nicht? Hört sich grad für mich so an, als hättest du in Matlab das 48k Signal einfach mit den 44.1k und 96k IRs gefaltet ohne Konvertierung? :gruebel: da würd ich mich nicht wundern, wenn da Mist rauskommt! ;) Und keFIR macht im Gegensatz zu den restlichen Plugins dann auch keine Samplingratenkonvertierung, deshalb das gleiche Ergebnis wie Matlab... Lieg ich da richtig?
 
@ Stifflers_mom:
Vielen Dank noch mal für deine Antwort. Macht echt Spaß, sich mit jemandem austauschen zu können.

Z.B. könntest du die Differenz von 2 Signalen bilden und dann über den Absolutbetrag dieses Fehler aufsummieren. Dann siehst du in etwa, wie stark sich die Signale unterscheiden, oder ob überhaupt.
Das und noch mehr hab ich doch gemacht (Die Angaben der Fehlersummen stehen in der letzten Fußnote). Darauf aufbauend hatte ich ja auch ein Ranking SIR2>Cubace Reverence>keFIR>LeCab*>Boogex* erstellt.

Wie kann ich mir die 3 Impulsantworten vorstellen?
Die kommen, wie gesagt, aus der Demokollektion von Red Wire. Ein und dieselbe Box wurde x-mal mit verschiedenen Parametern (Samplerate/Sampletiefe) abgenommen. Ich habe einfach drei IRs mit den angegebenen Parametern gewählt. Lad dir einfach mal das Demo runter, ist wirklich sehr empfehlenswert!

Hört sich grad für mich so an, als hättest du in Matlab das 48k Signal einfach mit den 44.1k und 96k IRs gefaltet ohne Konvertierung?
Genau! Das habe ich auch absichtlich so gemacht. Denn durch dieses Vorgehen erhalte ich zumindest eine Teileinsicht, wie die verschiedenen, getesteten Impulsloader arbeiten. So weiss ich jetzt, z.B. dass keFIR keine Konvertierung durchführt und daher kritisch auf IRs mit abweichenden Parametern reagiert, während die anderen Impulsloader das verwendete IR vor der Faltung zu konvertieren scheinen, und daher konstante Ergebnisse produzieren.

Das zweite, für mich wichtige, Ergebnis aus dem Test ist, dass ich jetzt genau weiss (und über den reinen Höreindruck hinaus), dass die meisten Impusloader qualitativ gleichertige Ergebnisse produzieren. Und das unabhängig von den Parametern der verwendeten IRs.
 
Ok, jetzt lichtet sich die Sache so langsam. Einmal muss ich noch nachhaken: ;)


Das und noch mehr hab ich doch gemacht (Die Angaben der Fehlersummen stehen in der letzten Fußnote). Darauf aufbauend hatte ich ja auch ein Ranking SIR2>Cubace Reverence>keFIR>LeCab*>Boogex* erstellt.

Das Fehlermaß ist dann also für die Samples mit 48k als Abweichung vom Matlab Signal berechnet?
Dabei wäre gut zu wissen, wie lang das Signal ist, und den Fehler darauf zu beziehen. Die letzten 2 bzw. 3 Werte sind nämlich ordentliche Fehler, wenn das Signal recht kurz wäre.
Eine Angabe in Fehler pro Sample (also noch einfach durch die Länge des gefalteten Signals in Samples teilen) wäre aussagekräftiger.
Wenn dein Signal nur 300 Samples lang wäre, ist 317/300 nämlich ordentlich daneben. ;)
Bei dem Plugin, das einen Time-shift einfügt, wäre es natürlich sinnvoll, den vor der Berechnung des Fehlermaßes zu korrigieren.
 
Das verwendete Sample hat eine Länge von 19 Sekunden (bei 48 kHz).

Du hast es natürlich erkannt: Der auftretende Shift beeinflusst das Ergebnis der Fehlersumme gravierend. Ich muss gestehen, dass ich schlicht zu faul war das jetzt x-mal mit verschiedenen Korrekturen durchzurechnen. Man kann eigentlich schon anhand der Plots sehen, dass die wav-Dateien von LeCab und Boogex deutlich stärker von der Matlab wav-Datei abweichen. Das kann man durch Korrektur sicher verringern, es wird aber niemals so gut wie die Ergebnisse von SIR2 oder Reverence.

Daher mein Tip: Zur Simulation der Abnahme einer Box mit einem (!) Mikrofon: SIR2 oder Reverence. Falls der PC genug Resourcen hat kann man natürlich auch tricksen und die Abnahme mit mehreren Mikrofonen via SIR2 simulieren.
 
Du hast es natürlich erkannt: Der auftretende Shift beeinflusst das Ergebnis der Fehlersumme gravierend. Ich muss gestehen, dass ich schlicht zu faul war das jetzt x-mal mit verschiedenen Korrekturen durchzurechnen. Man kann eigentlich schon anhand der Plots sehen, dass die wav-Dateien von LeCab und Boogex deutlich stärker von der Matlab wav-Datei abweichen. Das kann man durch Korrektur sicher verringern, es wird aber niemals so gut wie die Ergebnisse von SIR2 oder Reverence.

Warum sollten Lecab und Boogex schlechter sein als die anderen? Das ist glaube ich etwas voreilig geurteilt. Der Time-shift ist kein Thema, die haben nur eine andere Buffer-Größe. Für faule gibts bei sowas die Kreuzkorrelation. Die Höhe des größten Peaks der Xcorr gibt dann ein Maß für die Übereinstimmung an.
 

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben