Modellierung von Hallfahne und binaurale Positionierung von Klangquellen in derselben Stereo-Raumimpulsantwort

Ein ganz anderer Ansatz: Man baue sich eine Vielzahl von Resonatoren und bilde darüber den Nachhall des Raumes ab. Etwa so, als trete man bei einem Klavier das Dämpferpedal und rufe dann in den Saiten hinein. Auf der Quantec-Seite wird auch über solche Resonanzen orakelt.
 
Neben dem Ansatzt und somit Algorithmus (wozu das oben verlinkte Paper einen guten Einstieg geben sollte) spielt auch noch das Tuning der Parameter eine grosse Rolle. Man braucht viel Geduld und gute Ohren, sicher auch eine Portion Glück.

Hier noch Links, die in diesem Bereich Einblick in die Arbeit einiger Experten geben, die bei den bekannten Firmen im Bereich Hall arbeiten:

 
das kann man übrigens auch noch in einen hall einbauen, aber ich wollte nicht gleich mit der tür ins haus fallen.
Haas-Effekt war genau der Hinweis, der mir eben gefehlt bei meiner akuten Nebelstocherei. Gestern habe ich eine Seite mit Audio auf meine Website gestellt, wo ich meine Beschäftigung mit dem ganzen Thema synthetische Musik in selbstprogrammierter Realisierung dokumentiere. Als ich den Tag nen Tag genannt habe, wie der Angelsachse sagt, merkte ich erst, dass ich die Kopfhörer falsch herum aufhatte. Falls es interessiert: https://neusik.de/2020-11-27/anfaengerstueck-4.html

Na, dann beschäftige ich mich im neuen Jahr auch mit Filtern und hoffe, das krieg ich mit vergleichsweise niedriger CPU-Belastung realisiert, also nicht gerade mit einer Filteranwendung pro Echo vielleicht. Hall-Plugins und -Geräte benutzen bestimmt Low-level-optimierte Algorithmen bzw. DSP-Platinen. Hoffe, das krieg ich mit Konvolution und FFT hin, da gibt es entsprechende Fremdbibliotheken, die ich eh schon nutze in meinen bewusst spärlich gehaltenen Abhängigkeiten.
 
Haas-Effekt war genau der Hinweis

mein fehler: gemeint war hier nur das mit dem HRTF.


(was die laufzeitdifferenz zwischen ohr 1 und ohr 2 zwar beinhalten kann aber nicht muss)

denn wenn man schon so anal ist wie ich und unbedingt die air absorbtion der einzelnen reflektionen berechnen will, dann kann man natürlich auch die richtung zum ohr noch gleich mitberechnen. das unterstützt dann zusätzlich auch noch die bewegung der virtuellen schallquelle im raum gleich mit.

ich selbst mache das für normalen hall aber nicht mehr, der aufwand steht in keinem verhältnis zum ergebnis. ich mach das nur noch für mein 10-kanalsystem für den stereo mixdown. da ist dann das HRTF eh drin, und man berechnet dann nur noch einen ganz konventionellen nachhall mit 10 kanälen (oder alternativ mit 4-6 virtuellen wänden)
 
und dann kommt noch ein soundbeispiel ohne hall,
Ich fühle mich so doof, bisher hatte ich nie den Mut ein "Hä?" von mir zu geben. So, genug gelitten, linder meinen Schmerz: Auf welches Soundbeispiel bezogst du dich hier?

Wenn auf das Soundbeispiel im ersten Post, dann wird das ... https://neusik.de/2020-08-19/wam_rondo_alla_turca-mit-hall-3.ogg ... kaum besser in deinem Urteil abschneiden, hab ich Recht? In diesen Hall hab ich noch mal allerhand Nerven und Lebenszeit versenkt. Der Code unterstützt jetzt Dämpfung in Form equalizierbarer Echos durch sozusagen dreidimensionaler Hüllkurven, die nicht nur die Volumina der einzelnen Echos und ihre Delays beschreiben, sondern auch die frequenzbandgebundenen Faktoren der Volumina im Wertebereich 0]..1.
Wenn ihr das über Kopfhörer hört oder gar im Stereodreieck eurer Studiomonitore, solltet ihr mein Nichtklavier zweifelsfrei orten können: Links, rechts, Mitte? Die Ortbarkeit ist allein der Konfiguration des Halls zu verdanken, die Balance bleibt unberührt.
 
Zuletzt bearbeitet:
das bezog sich vermutlich auf das ausgangsposting, denn die neue version von heute morgen kannte ich vor vier monaten ja noch garnicht.

anstatt erst mal die reflektionszeiten mithilfe einfacher geometrie zu berechnen, wie ich es vorschlug, hast du jetzt also "dreidimensionale hüllkurven zur steuerung frequenzgebundener faktoren" erfunden. was auch immer das ist.

und auch wenn ich (vielleicht zu recht?) bei dir auf taube ohren stoße wenn ich dir empfehle, erst mal einen lexicon hall nachzubauen um zu sehen wie so ein "herkömmliches" verfahren aussieht, kann ich es nur noch mal wiederholen:


1. wenn du noch nicht weißt, wie du später davon eine hallfahne erzeugen willst, ist es eigentlich ein bischen zu früh, sich mit den details der echos zu beschäftigen.

2. selbst bei schröder modellen sind die reflektionen keine delays sondern allpässe/kammfilter. das hat #gründe.


das neue soundbeispiel ist in der tat "irgendwie stereo". und ja klar, jede form von echo, delay, oder notchfiltern/resonatoren ergibt auch irgendwie einen raumeindruck.

trotzdem würde ich das nicht als "hall" bezeichnen.

ein hallalgoritmus sollte so aussehen, dass er beides kann; ganz kleine und ganz große räume.

versuch mal mit dem, was du da jetzt hast, einen kirchenhall nachzubilden, indem du alle zeiten mit 75 multiplizierst, dann wirst du evtl. merken, dass es dabei ein problem gibt. :)
 
Zuletzt bearbeitet:
und lass mal diesen casio gedudel sound weg und nimm stattdessen ein spike oder klick zum testen. damit hört man sowas am besten.
 

Anhänge

  • spike(16).aif
    56 Bytes · Aufrufe: 3
  • spike(24).aif
    57 Bytes · Aufrufe: 3
  • spike(f32).aif
    76 Bytes · Aufrufe: 2
ein hallalgoritmus sollte so aussehen, dass er beides kann; ganz kleine und ganz große räume
Das tut er, kommt halt auf die Konfiguration an, von mir aus auch Parametrisierung, wiewohl der Begriff nicht ganz zutreffend ist, wenn sich etwas aus Kurven ergibt (ergeben soll, da es sich empfiehlt Code wiederzuverwenden, wenn er für ein bestimmtes Einsatzszenario geeignet scheint), wie hier die Abstände und Volumina von Delays, möglicherweise unterschieden nach linkem und rechten Kanal und nach Frequenzband.

Und das ist auch der Grund, warum ich deinen Vorschlag nicht einsehe, das heißt nachvollziehen kann, warum ich zunächst geometrisch Reflektionszeiten berechnen soll. Von welchem Raum? Von meinem Wohnzimmer? Woher willst du wissen, ob mein Wohnzimmer so akustisch wertvoll ist, dass sich der Aufwand lohnt? Reaktionszeiten könnte ich doch nachschlagen, wenn es darauf ankäme. Ein Link zu einem IR-Repository wurde bereits gepostet, wenn es auch nicht jede einzelne Reflektionszeit hergibt.

Zudem interessiert Ohren keine Geometrie, nur plausible Delays. Für das Mapping zwischen Hör- und Seheindruck sind Augen und Kopf zuständig. Und die Delays sind allein ausschlaggebend für akusmatische Musik. Die kann man mit Kurven modellieren, wenn man keine Lust auf Parametersenken hat, und ja, ich kann auch scharfe Ecken definieren, um Unregelmäßigkeiten, Ecken im Raum zu berücksichtigen. Wer sagt aber, dass runde Räume, solche mit gleichmäßigen Delays wie eingangs visualisiert, nicht auch Räume sind, in denen akustische Ereignisse einen Hall hervorbringen? Das sind doch geradezu idealtypische Räume, geeigneter zum üben vielleicht?

Ein Hall ist doch nicht erst dann ein Hall, wenn der Raum, durch den er entstand, bekannt ist? Ein Hall ist auch nicht dadurch ein Hall, dass er so umgesetzt wird wie Gerät/Software/Algorithmus xy, oder meinetwegen wie das in einem Studiengang Toningenieurwesen an Institut Egalwo gelehrt wurde. Ein Hall ist ein Hall, sobald Delays ins Spiel kommen, die dank ihre Abstände, Stärken, Dämpfungseigenschaften und Links/Rechts-Unterschiede einen bestimmten Raumeindruck erzeugen. Ob der einem realen Raum entspricht oder einem fiktiven, ist dabei zweitrangig, es geht meinetwegen um Plausibilität. In meinem Fall kann ich mangels entsprechender Ausbildung nicht allzu hohe Ansprüche stellen, Plausibiliät für Musiklaienohren genügt mir so als Proof of concept. Bin ja nicht auf Jobsuche bei Hallgeräteherstellern.

Ich glaube auch nicht, dass es zielführend ist, die Reflektionszeiten mit 75 zu multiplizieren, um aus einer Kammer ne Kirche zu machen. Wenn du meinst, das ergäbe sich aus dem, was ich geschrieben habe, dann liegst du falsch. Wir sind ja hier nicht in "Liebling, ich habe die Kinder vergrößert".

Okay, dann werde ich also demnächst ein paar Halle einstellen von deinen Spikes. Verstehe ich recht, dass die Soundbeispiele im ersten und vorigen Post kein Hall sind, weil deine Ohren schon wegen der Klangquelle zugemacht haben? Die ist übrigens nicht von Casio, sondern von Grund auf selbstverbrochen. Jedenfalls eine Bitte um Soundbeispiele mit Idealimpulsen (Pistolenschüssen o.ä.) hätte ich gleich verstanden.

Fortsetzung folgt.
 
Von welchem Raum? Von meinem Wohnzimmer?

du kannst es ja von jedem beliebigen machen. denn reflektionen berechnen sich letztlich immer gleich.

Woher willst du wissen, ob mein Wohnzimmer so akustisch wertvoll ist, dass sich der Aufwand lohnt?

da 99% aller räume viereckig sind, ist es naheliegend auch einen hallalgoritmus erst mal auf dieser basis zu basteln.

nichts gegen nolineare verläufe, nichts gegen das sensationelle quantum, und nichts gegen einen echten wald (einer der schönsten halle meiner meinung nach!), aber wenn du das hier willst...

Zudem interessiert Ohren keine Geometrie, nur plausible Delays.

...was ist dann dabei "plausibel" wenn nicht die geometrie eines typischen raumes, so wie er in der wirklichkeit existiert?

viereckiger raum mit und ohne stark gedämmten boden, rundlicher raum, langer gang, große halle, "stage", "club" und "cathedral" oder gerne auch einfach "wand nur links" ist mit sicherheit genua das, was einenm nachher plausibel erscheint, weil das ohr das nämlich kennt und daher wiedererkennen kann.

Für das Mapping zwischen Hör- und Seheindruck sind Augen und Kopf zuständig. Und die Delays sind allein ausschlaggebend für akusmatische Musik.


richtig ist, dass die erstreflektionen wesentlich für die wahrnemung der raumgröße sind.

aber ohne vernünftige diffusion klingt da drin eine gesangsaufnahme halt trotzdem nicht. :)


Wer sagt aber, dass runde Räume, solche mit gleichmäßigen Delays wie eingangs visualisiert, nicht auch Räume sind, in denen akustische Ereignisse einen Hall hervorbringen? Das sind doch geradezu idealtypische Räume, geeigneter zum üben vielleicht?

das ist weniger spektakulär wie man denkt. die erstreflektionen sind bei kugel und würfel nämlich eigentlich erst mal gleich.

aber dass die eck-moden bis in den mittelpunkt gehen empfiehlt eine kugel nicht unbedingt als idealen konzertsaal.

Ein Hall ist doch nicht erst dann ein Hall, wenn der Raum, durch den er entstand, bekannt ist?

natürlich.

Ein Hall ist auch nicht dadurch ein Hall, dass er so umgesetzt wird wie Gerät/Software/Algorithmus xy, oder meinetwegen wie das in einem Studiengang Toningenieurwesen an Institut Egalwo gelehrt wurde.

ja, auch da gehe ich sowieso mit.

Ein Hall ist ein Hall, sobald Delays ins Spiel kommen#

bei deinem modell allerding scheint es doch so zu sein, dass du NUR delays hast.

an dieser stelle wird es dann fraglich, warum du den effekt "hall" nennst. 8)

die dank ihre Abstände, Stärken, Dämpfungseigenschaften und Links/Rechts-Unterschiede einen bestimmten Raumeindruck erzeugen. Ob der einem realen Raum entspricht oder einem fiktiven, ist dabei zweitrangig, es geht meinetwegen um Plausibilität.

es kann auch cool sein, einen hall zu bauen (bzw einen raum) den es in der realitöt so niemals gegeb kann. zum beispiel zwei verschiedene räume gleichzeitig.

das kann aber doch keine ausrede dafür sein, schon den noch in der entwicklung befindlichen hall auf echos zu reduzieren.

In meinem Fall kann ich mangels entsprechender Ausbildung nicht allzu hohe Ansprüche stellen, Plausibiliät für Musiklaienohren genügt mir so als Proof of concept. Bin ja nicht auf Jobsuche bei Hallgeräteherstellern.

ich habe auch keinen schulabschluss und baue trotzdem lexicon modelle nach.

auch das halte ich nur für eine erneute ausrede.

Ich glaube auch nicht, dass es zielführend ist, die Reflektionszeiten mit 75 zu multiplizieren, um aus einer Kammer ne Kirche zu machen. Wenn du meinst, das ergäbe sich aus dem, was ich geschrieben habe, dann liegst du falsch. Wir sind ja hier nicht in "Liebling, ich habe die Kinder vergrößert".

naja, im kern funktioneren alle traditionellen hallalgorithmen genau so.

jeder der building blocks hat ein equivalent in der physik:

- die reflektionen ergeben sich durch die größe und form
- die phase (ganz schwammiger begriff aber egal) durch die winkel
- die diffusion ist eine starke vereinfachung weiterer reflektionen nebst störungen
- das decay ergibt ganz roughly die dämmung der wände

und die ganz krassen maschinen benutzen dann evtl noch

- haas delays für die laufzeitverschiebungen zwischen den ohren
- binauralfilter für den seitlichen winkel (funktioniert aber nur mäßig, wenn man die refelctions später in den diffusor schickt)

Okay, dann werde ich also demnächst ein paar Halle einstellen von deinen Spikes.

ja wäre sicher mal für alle beteiigten sehr interessant, wenn du 1-3 ergebnisse hochladen könntest.

ich verspreche auch, dass dann nicht wieder am laptop sondern in meinem technolabor anzuhören.
 
da 99% aller räume viereckig sind, ist es naheliegend auch einen hallalgoritmus erst mal auf dieser basis zu basteln.
Hm, kann es sein, dass du nicht viele Räume kennst? Also ja, viele, einigen wir uns auf 95%. Trotzdem interessiert die Ohren, dabei bleibe ich, die Raumgeometrie reichlich wenig. Ich kann mir vorstellen, dass sie den Akustiker auch nur insofern interessiert, als es um die Raumplanung geht oder um die akustische Nachbildung eines bestimmten Raums. Die spielt allenfalls am Anfang eine Rolle, wenn es um die Ortung der Klangquelle geht.

Aber in die Ohren, da kommen meines Wissens nur Delays rein, zack, bumm, aua, gestatten Welle, ovales Fenster vor dem Schneckengang, ovales Fenster, Welle – Frontalzusammenstoß. Und das modelliere ich. Die Energie, die hier eine Rolle spielt, kennt nur vor-zurück, kein längsseits, kein sonstwas anderes, sonst hätte sich die Evolution den ganzen Brimborium mit Ohrmuschelform, Gehörgang und Mittelohrmechanik ja auch sparen können. Bei der Modellierung des Klangs interessiert mich ja auch nicht, ob die Hammer von meinem Nichtklavier mit Filz oder Leder bespannt sind, so drauf wie die Jungs bei Pianotech bin ich da wirklich nicht. Mir geht es allein darum, auszuloten, wie weit ich mit den primitiven, am Gymnasium im Grundkurs gelehrten bzw. gelernten Mitteln komme, die ich mir in vier Jahren aufgefrischt bzw. erarbeitet habe.

Ein Mathematikstudium hatte ich nicht vor anzuschließen. Sollte ich irgendwann mal ans Ende meiner Ambitionen, meines Ehrgeizes angekommen sein, dann ist das so. Dann leg ich den Hall eben beiseite, das ist eh nur ein Nebenschauplatz. Ursprünglich wollte ich gar keine Filter und Effekte implementieren, weil es die eh schon zu kaufen gibt. Textkontrollierte Synthis gibt es nicht. Na gut, Sonic Pi gibts, aber ... off-topic.

ich verspreche auch, dass dann nicht wieder am laptop sondern in meinem technolabor anzuhören.
Ach, dafür brauchst du vielleicht kein Techlabor, um zu hören, dass du recht hast :). Zumindest höre ich natürlich, dass reine Delays zwar wie ein Hall wirken können, aber nur bei weniger perkussiven akustischen Ereignissen, die länger sind als die kürzeren Delays im Nachhall, sonst klingt das ganz schnell nach Reißverschluss. Um selbst diese natürlich wirken zu lassen, braucht man wahrscheinlich einen Diffusor, verstehe ich richtig? Eine Art Diffusor hätte ich zwar, der verjittert aber nur die Stärken, nicht die Reflektionszeitdifferenzen, von Additionen weiterer Delays ganz zu schweigen. auch könnte ich das Spektrum der Dämpfung statt für 20 für 100 Frequenzbänder rendern. Aber dass es die höhere Rechenzeit lohnt, bezweifle ich, eher verspreche ich mir etwas davon, unterschiedlich konfigurierte Halle zu "stapeln".

Und die ganzen Geräte, glaube ich, nutzen Filter nur, weil sie echtzeitfähig sein müssen, um am Markt eine Chance zu haben. Da ich Frei- und Rechenzeit habe, kann ich mir Delay-Ketten leisten

Erstes Soundbeispiel:
Nehmen wir dein Spike. Meine Hall-Konfiguration, die ich Badezimmer getauft habe, ergibt folgende Visualisierung, nach den Ohren getrennt. Aber ja, nein, kein Hall.
spike_bathroom.png
Anhang anzeigen spike_bathroom.wav

Zweites Soundbeispiel:
Dasselbe für eine Kirche. Die Konfiguration ist auch hier aus dem blauen Dunst, zugegeben. Ersichtlich ist hier ein Jitter in einem Umfang von 70dB, zum Ende hin mehr. Das Soundbeispiel klingt, als würde ich ein kleines Steinchen, gerade aus der Sohle meiner Wintertreter gepolkt, aufs Laminat fallen lassen. Naja, etwas übertrieben. Hört man, dass sich die Klangquelle ändert von rechts zur Mitte? Gedanken dahinter ist, dass sich die Schallwellen im Raum verteilen und bald ohne nennenswertem Unterschied zwischen Links und Rechts auf beide Ohren treffen.
spike_church.png
Anhang anzeigen spike_church.wav

Code:
SOMPYLER(~/programing/sompyler) $ cat lib/rooms/church.splr
levels: 100:100;1,75!;5,70;7,50;10,40
delays: 2.3:2000;1,190!;2,1850!;4,453!;19,12;20,7;21,5;25,3
freq_lanes:
- 20:1;1,1
- 7:2;5,1;8,1;9,0
- 1:1;1,0;2,0
border: 35:6+1;0,0;1,1;2,1!;6,1
jitter: 1,70!;3,71;7,76
SOMPYLER(~/programing/sompyler) $ cat lib/rooms/bathroom.splr
levels: 100:100;1,75!;2,70;4,50;6,40
delays: 0.7:200;1,190;4,15;9,12;10,7;11,5;15,3
freq_lanes:
- 20:1;1,1
- 7:2;5,1;8,1;9,0
- 1:1;1,0;2,0
border: 35:6+1;0,0;1,1;2,1!;6,1 # 35ms Haas-Effekt; mit der Nachhallzeit abnehmend
SOMPYLER(~/programing/sompyler) $ for mode in bathroom church; do scripts/add-reverb lib/rooms/$mode.splr "/home/floh/Downloads/spike(16).aif" 1:4,2 /tmp/spike_$mode.wav; done
...
SOMPYLER(~/programing/sompyler) $ scripts/add-reverb lib/rooms/church.splr /tmp/anfaengerstueck_3.ogg 1:4,2 /tmp/anfaengerstueck_3h.wav && lame -V4 /tmp/anfaengerstueck_3h.wav

Außerdem noch als Bonus zum Dank dafür, dass ihr meinen Sermon durchgehalten habt, eine kleine Eigenkomposition, umgesetzt auf einem vorbildlosen Instrument, in einer Kirche.
Anhang anzeigen anfaengerstueck_3h.mp3
 
Zuletzt bearbeitet:
Aber in die Ohren, da kommen meines Wissens nur Delays rein

was sollte denn deinen ohren sonst bekannt vorkommen, wenn nicht etwas, was sie mal gesehen haben?

deines wissens nach, ja davon ging ich aus, als ich versuchte dieses wissen ein wenig zu erweitern. :)

Die Energie, die hier eine Rolle spielt, kennt nur vor-zurück, kein längsseits, kein sonstwas anderes, sonst hätte sich die Evolution den ganzen Brimborium mit Ohrmuschelform, Gehörgang und Mittelohrmechanik ja auch sparen können.

wenn du da mal ein wenig darüber nachdenkst, dann müsstet du von selbst darauf kommen, dass das nicht alles sein kann.

warum zum beispiel drehst du dich herum wenn du tatü tata hörst?

Dann leg ich den Hall eben beiseite, das ist eh nur ein Nebenschauplatz.

ein hall wäre jedenfalls nicht das erste, was mir einfiele um die digitale berechnung noch weiter zu abstrahieren. das gute alte prinzip des "midi delays" lässt sich da wohl nicht so ohne weiteres anwenden.

aber nur bei weniger perkussiven akustischen Ereignissen, die länger sind als die kürzeren Delays im Nachhall

richtig, bei so manchem material mag es halbwegs funktionieren.

die natur funktioniert auch nicht mit jedem material: gesang in der leeren fabrikhalle kannst du vergessen. aber eine nachbildung sollte wenigstens das können, was das vorbild kann.

Eine Art Diffusor hätte ich zwar, der verjittert aber nur die Stärken, nicht die Reflektionszeitdifferenzen

leider kann ich da keine allgemeingültige antwort darauf geben. der diffusor ist üblicherweise eine art mixer, der ziemlich am schluss irgendwo dort, wo der nachhall berechnet wird, die delays permanent in der phase umkehrt oder phasen miteinander vertauscht, und das ganze in einer art feedbackschleife.

es handelt sich dann sozusagen um ein ganz grobes modell der weiteren berechnung von dritt-, viert-, usw reflektionen, nur dass das so einfach weniger rechenleistung braucht wie sie tatsachlich alle einzeln zu berechnen.

denn je später desto mehr reflektionen gleichzeitig, und desto egaler die genaue richtung und die perfekte zeit.

ich kenne aber nur einen algo den ich irgendwann mal gebaut habe und es mag weitere geben, die es ganz anders machen.

 
Zuletzt bearbeitet:
so, bilderchen hast du schon gemacht, das ist gut.

mal im vergleich dazu wie ein typischer digitaler raumhall effekt (waves ren verb plug-in) als wellenform so aussieht:

1615669638314.png


isse meiner:

1615671298267.png

isse besteste.

bessererer als wie waves renverb oben, haha.


das hier ist deiner (zweites audiofile):

1615670123827.png

da liegen welten dazwischen, was?

nicht im sinne von besser/schlechter, aber im sinne von birnen/eichhörnchen.
 
Zuletzt bearbeitet:
hier zum abschluss noch was rundes:

ein großes silo. via faltung. mikro hängt von oben nach unten.

1615672501531.png

ein schönes beispiel dafür, dass es in der natur durchaus auch diese "nonlineare" anschwellen geben kann - was z.b. mein herkömmlicher hall nicht kann.
 
wenn du da mal ein wenig darüber nachdenkst, dann müsstet du von selbst darauf kommen, dass das nicht alles sein kann.

warum zum beispiel drehst du dich herum wenn du tatü tata hörst?
Äh, natürlich versucht das Gehirn aus den Delays die Raumsituation und die Position der Klangquelle abzubilden, das meinte ich aber nicht. In die Ohren kommen Delays, wenn auch sehr viel dichter als sie in meiner Hallfahne liegen, noch dichter als bedingt durch die Trägheit des Gehörs zwei Klicks unterscheidbar wären. Das ist der einzige Trade-off, den ich gemacht habe, damit die Rechnerei meine Geduld nicht überstrapaziert, ist, dass ich alles unter 40dB rausgenullt, d.h. gar nicht erst berechnet habe. Natürlich kannst du deshalb meinem Hall seine Hallartigkeit absprechen, aber für melodisches Zeug sei es des Halles genug.

Danke für die Bermerkung wie ein Diffusor funktioniert. Ein solcher steht aber wenn überhaupt ganz weit unten auf der Liste, weiter unten als die hallbasierte Position jedes Tons im Raum (wieder auf Kurven modellierbar). Die Rhythmussektion könnte ich ja auch trocken(er) reinmixen, oder überhaupt alle vier Schienen eines Songs (Bass, Rhythmus, Harmonie, Melodie), oder gar stimmenweise, extern abmischen und mit Effekten versehen. Delay-Hall ist schon ziemlich an der Grenze dessen, was ich momentan verstehe von der Welt.

Bei deinen Waveforms wundere ich mich, warum mein Soundbeispiel nicht in der Amplitude abflaut . In meinen Ohren wirds jedenfalls leiser, und es macht am Ende auch nicht knacks und still. Hast du da irgendwas drin im Algorithmus zur Darstellung, dass die normalisierte relative Differenz zum moving average window zu den letzten n Samples nimmt oder so?
 
weil das GUI oft der hauptunterschied ist? ;-)

du willst gar nicht wissen wieviele kommerzielle "eigenentwicklungen" auf ircam patenten oder freeverb3 basieren.

...

das mit dem viereckigen raum... da ist noch was anderes.

wenn du einen fünfeckigen raum mit einer trapezförmigen wand links und eine abgerundeten decke hast, dann kannst du den nicht gescheit modellieren, weil er je nach aufstellung von hörer und quelle zwischen 40 und 76 zweitreflektionen hat.

den viereckigen hingegen macht man mit 4/5 oder 4/8 oder 4/12 und es passt immer.
 
Zuletzt bearbeitet:
Bei deinen Waveforms wundere ich mich, warum mein Soundbeispiel nicht in der Amplitude abflaut.

das hat mich auch gewundert, dachte erst, dass es evtl. ein 64 bit file ist oder sowas, aber dann hätte ich es nicht laden können.

jedenfalls habe ich versucht die höhe zu skalieren und es sieht auch bei höhe 0.001 immer noch so aus wie dort. :/

wir denken uns das abflauen einfach.
 
Spricht für ne binäre Normalisierung, ja, nein, sonst nix. Aber auch wundert mich dann, wo die Dämpfung im Nachhall eigentlich hin ist. Die ist ja drin, hörbar an den letzten Sekunden meiner Soundbeispiele. Auch meine Visualisierungen weisen sie aus, deutlicher gehts nicht, sonst gäbe es ja keine Delays mit negativen Leveln. Da überrennen sich am Ende sogar ein paar, schließlich brauchen auch eingefaltete Spektren Platz in der Zeitdomäne. Naja, wie heißt es so schön: Traue keiner Statistik, die du nicht selbst ... 🤔

Aber okay, soweit d'accord, schon klar: Von Reverb rede ich lieber gar nicht mehr. Hab die Umbenennung sogar in meinem Code nachvollzogen, will ja keine falschen Hoffnungen wecken.
 
das hat mich auch gewundert, dachte erst, dass es evtl. ein 64 bit file ist oder sowas, aber dann hätte ich es nicht laden können.

jedenfalls habe ich versucht die höhe zu skalieren und es sieht auch bei höhe 0.001 immer noch so aus wie dort. :/

wir denken uns das abflauen einfach.

Das muss ein Problem bei Dir sein - ich kann das Decay (in Samplitude) deutlich sehen.

Beispiel 2.jpg
 
Zuletzt bearbeitet:
Nun ja, ich könnte denkbarerweise hinter ein Delay auch einen Kammfilter schalten. Vielleicht verstehe ich das noch nicht ganz, aber zumindest muss ich wie gehabt die Zahl der Frequenzbänder des Spektrums hinterm Delay beschränken. Um einen Kammfilter umzusetzen, würde ich dann bei 20 Frequenzbändern jedes 5. Band ausnullen, also gewissermaßen zöge ich dann 4 Furchen durchs Hallbeet. Und kann ich mir dann dafür signifikante Prozent der Delays sparen und kriege dafür trotzdem bessere Ergebnisse?

Du siehst an meinen Erklärungen, dass ich visuell denke, womöglich aber in eine ganz falsche Richtung. Aber wie schon gesagt, qualitativ mit anderen Hallmitteln mithalten können ist mir nicht so wichtig wie (zumindest für mich in ein paar Monaten noch) verständlicher Code. Delays reichen mir eigentlich.
 
einen comb oder einen allpass benutzt man anstatt (in einem reverb) einfach nur zum verzögern, so wie du dein delay.

der wesentliche unterschied zum sample delay ist, dass man einen comb "sowieso" upsampled.

man hat damit im ergebnis also weniger frequenzverfärbungen als mit einem tapping buffer (mit dem kann man nämlich seine überraschungen erleben) - und kann trotzdem auch 17,58 samples verzögern.


das wird dir jetzt überhaupts nicht sagen, aber so sieht das in meiner welt aus:

1615929432574.png

die ableitung der zweit- von den erstreflektionen ist dabei natürlich wieder nur so ein fauler kompromiss a la lexicon.

um den tatbestand des raytracings (worüber ich oben immer geredet habe) zu erfüllen würde man sie komplett unabhängig berechnen (denn sie können ja keinesfalls identisch sein.)

auch fällt dann die symetrierung weg und stattdessen läuft einfach alles überall nur parallel, 4 erste und 16 zweite.

faule kompromisse wie obiges modell funktionieren aber oft erstaunlich gut.
 
Zuletzt bearbeitet:
das wird dir jetzt überhaupts nicht sagen, aber so sieht das in meiner welt aus:
Auf den ersten Blick: Da hat jemand ne Stange Dynamit in ne Tabellenkalkulation geworfen. Auf den zweiten Blick könnte ich aus der einen oder anderen Erläuterung am Bild, für die sich ganz dumm stellenden, schon etwas Wissen ziehen. Also, wenn du Zeit und Lust hast. Plane auch, meine Shapedelays zu erläutern, unabhängig davon, auf meiner Website, hier nur verlinkt.
 
stell dir einfach vor das wäre ein modularsynthesizer und die verbindungen sind die patchkabel^^

die beiden kleinen fenster sind der inhalt der beiden objekte links.

...

habe hier ein altes auseinanderklabüstertes gefunden, vielleicht ist das besser lesbar.



1615989390369.png
 
Zuletzt bearbeitet:
im vergleich dazu die grundstruktur der reflektionen bei raytracing im rechteckigen raum (hier ohne modulationseingänge): alles parallel und kein gewusel.

nur die hallfahne dann sinnvoll dranzupappen ist eine wissenschaft für sich.

1615991046849.png
 
Zuletzt bearbeitet:
Danke. Der Spruch "ein Bild sagt mehr als tausend Worte" gilt leider auch nur dann, wenn das Bild an bestehendes Wissen andocken kann. Es besteht also das Problem, dass ich mich wiederum mit Modularsynthesizer nicht auskenne und ehrlich gesagt auch wenig Ambition verspüre, mich dareinzufinden. Ich müsste mir jedes einzelne Kästchen anschauen, Ein- und Ausgänge analysieren und die Parameter in dem Kästchen richtig interpretieren und hab ja doch alles wieder vergessen, sobald ich mich dem nächsten widme.

Am Ende leb ich halt in meiner Welt und du in deiner und der einzige Unterschied ist, dass andere Modularsynthetiker dich verstehen mögen, während ich mit meinen Faseleien über Kurven genauso mit ner Wand reden könnte. Wenn wir uns schon nicht darauf einigen können, dass man für länger dauernde Klangereignisse, also weniger perkussive, mit Sample delays einen Quasi-Hall hinkriegt, den andere Synthetiker für voll nehmen können, dann ... ist es gut, darüber gesprochen zu haben. Im Scheitern bin ich langsam Experte. Und ich bin stur, sonst würd ich ja auch den Thomann leerkaufen, um endlich richtige Musik machen zu können, aber richtige Musik gibts halt eh schon en masse, da kann ich es genauso mit Pippi Langstrumpf halten, Wiedewiedewitt und

Tschüss. :)
 
Zuletzt bearbeitet:
Natürlich arbeite ich weiter daran. Letztens hat sich die Erkenntnis durch meine Sturheit gegraben: Ein Reverb unterscheidet sich von einer Delaykette darin, dass jedes Echo sein Eingangssignal vom vorigen bezieht. Das ist kein Detail für die Umsetzung in Hardware, sondern auch bei algorithmischer Umsetzung wesentlich. Bei der Delaykette nach meiner bisherigen Machart unterscheidet sich jedes Delay nur durch seine Verzögerungszeit und einer eq-Funktion, aber alle bekommen dasselbe trockene Signal eingespeist.

Das hab ich jetzt geändert. Jedes Echo bezieht sich jetzt auf die Summe von Audiosignal und bisheriger Echos. Nun wird auch ein idealer Impuls (einzelner Spike) ordentlich verhallt. Dabei muss ich trennen zwischen echtem Delay (so ein Echo ist technisch nichts anderes) gemäß Halldefinition, und der eq-Funktion auf ihm, die in zeitlicher Perspektive ja auch nur aus einer Abfolge kleinerer Delays besteht, deren Höhe sich durch inverse Fouriertransformation aus dem Spektrum ergibt. Denn in der physischen Welt dämpft/verstärkt eine Oberfläche ja alle Frequenzen gleichzeitig, daher muss für jedes Frequenzband pro Echo weiterhin dasselbe Material verarbeitet werden.



 
Natürlich arbeite ich weiter daran.

oh je.

Letztens hat sich die Erkenntnis durch meine Sturheit gegraben: Ein Reverb unterscheidet sich von einer Delaykette darin, dass jedes Echo sein Eingangssignal vom vorigen bezieht.

ja, das kann man ganz grob so sagen, wenn man das gute alte analoge bbd mal unterschlägt und zum sonderfall erklärt.

wobei das natürlich nur dann einen hörbaren unterschied macht, wenn das signal nicht nur samplebasiert verzögert wird, sondern auch noch andere dinge passieren (so wie eben beim comb/allpass, oder wenn man noch die absorbtion mithilfe einen tiefpasses nachmodelliert, so dass die späteren reflektionen etwas dumpfer sind und all das.)


wenn du mal in mein oberes bild mit dem modell schaust (stell dir dabei einfach eine simplifizierte version des graphen vor) , wirst du auch festellen, dass z.b. von diesen 4 erstreflektionen nur von den letzten beiden auch was vom ausgang weggeht: vom vorletzten 1 mal und vom untersten (dort wo "first" steht) gleich 5 kopien.

wäre das ein echo effekt, würde wohl eher von allen parallelen verzögerungen ein gelbes signal kabel weg gehen.


das hauptsächliche problem in deinem ersten versuchsschritt ist wohl dennoch vor allem das fehlen einer "hallfahne", die sich aus delays eben einfach nicht gescheit erzeugen lässt.

in vielen modernen digitalgeräten machen die übrigens heute die verzögerungen mit faltung und die diffusion nach schröder/moorer oder griesinger - genau umgekehrt, wie viele leute denken würden. bei der frage welche technik man wozu verwendet darfst du dir jede freiheit nehmen. so lange du nur die ganz groben fragen ehrlich modelliert hast.


dein audio... klingt jetzt nach "hall".
 
das hauptsächliche problem in deinem ersten versuchsschritt ist wohl dennoch vor allem das fehlen einer "hallfahne", die sich aus delays eben einfach nicht gescheit erzeugen lässt.
Was meinst du mit meinem ersten Versuchsschritt? Weder hab ich Versuchsschritte protokolliert, noch dieselben numeriert. Auf ersten Versuch vor Monaten beziehst du dich wohl weniger, sonst hättest wohl geschrieben war, statt "ist". Dennoch bitte ich um etwas mehr Eindeutigkeit, oder weniger Mehrdeutigkeit.


in vielen modernen digitalgeräten machen die übrigens heute die verzögerungen mit faltung und die diffusion nach schröder/moorer oder griesinger - genau umgekehrt, wie viele leute denken würden. bei der frage welche technik man wozu verwendet darfst du dir jede freiheit nehmen. so lange du nur die ganz groben fragen ehrlich modelliert hast.
Diffusion klingt für mich zunächst nach zweiten Schritt vor dem ersten tun, nach einer algorithmischen Abkürzung, damit die Signalverarbeitung effizienter, vor allem in Echtzeit geschehen kann (absolut legitim, nur nicht mein eigenes Ziel). Wie klein Fritzchen meint, 1 und 1 ergibt 2.3, seine Kameraden sagen 1.9 oder 1.73 - wenn man den Durchschnitt aller Tipps nimmt, liegt die Klasse insgesamt richtig, so gibts ne Eins für alle. Für mich ist das Diffusion, trägt nur leider nichts zum mathematischen Verständnis der lieben kleinen bei. Mit Diffusion werden also Zufallsdaten erzeugt, die im Durchschitt dem Ohr glauben machen, es hätte es mit unvorhersehbaren, natürlichen, analogen Signalen zu tun. Kurz: Diffusion und "ehrliche Modellierung", ist das nicht ein Widerspruch?

dein audio... klingt jetzt nach "hall".
Na immerhin. Dann kann ich das Skript ja wieder umbenennen. add_quot-reverb-quot.py, yeah. ;-)
 


Neueste Beiträge

News

Zurück
Oben