Wow, da schaut man mal einen halben Tag nicht rein und schon ist hier gleich volles Haus. Freut mich ungemein!
Mal grade noch ne Idee:
...
Vielleicht ist das ja was für die Version 2.1 ;-)
Prinzipiell finde ich die Idee witzig, hab aber noch keine Ahnung, wie ich das umsetzen könnte.
Zwar gibt es die Möglichkeit, direkt OpenGL Calls zum Zeichnen zu verwenden, direkt habe ich mit OpenGL aber noch nie verwendet. Das wäre für mich Neuland, auf dem ich mich erstmal zurecht finden muss.
Prinzipiell zeigen die meisten Kompressoren, so auch der von dir gezeigte Ausschnitt des Pro-C die
statische Kompressionscharakteristik. (statisch hier im zeitlichen Sinne) Das ist auch in Ordnung, da das einen erheblichen Teil der relevanten Infos zeigt. Attack und Release sind (zeitlich)
dynamische Parameter, die mit der Kurve ja erstmal garnichts zu tun haben. Ein Problem das ich hier sehe ist, dass sehr kurze Attackzeiten (die ja auch im Bereiche um 1ms liegen können) in der von dir dargestellten Variante nicht hinreichend berücksichtigt werden können. Gängie Monitore zeichnet mit 60Hz, weswegen eine Zeitkonstante von 1ms (entsprecht 1000Hz) einfach nur als "Sprung" von Wert A auf Wer B gezeichnet würde.
Cool aussehen würde es aber allemal.
Interessanterweise zeigt dir der Pro-C Attack und Release aber schon an, nämlich in der Lautstärke Darstellung. Das ist ein sehr praktisches Feature, weil du hier eben genau siehst, wie schnell oder langsam der Kompressor zupackt oder loslässt.
Hallo Laguna,
welchen Warning-Level verwendest Du denn? Ich arbeite bei Visual Studio prinzipiell mit Warning Level 4 und mit Warning=Error.
eine der Geschichten, für die man C früher schätzte

das 'gemeingefährlich' würde ich eher auf Entwickler beziehen, die so etwas nicht im Griff haben
nicht dass ich
das jetzt Laguna anlasten würde...
Da hast du schon recht mit gemeingefährlich. So kleine Schusseligkeiten sind in C++ tatsächlich tödlich. Wenn ich für die Uni programmiere, wandert als erstes ein -Wall und -Wextra ins Makefile. Mein Fehler, dass ich dem von IPlug erstellten Projekt getraut habe
ich bin definitiv kein DSP Codierer, aber bei Dynamikfunktionen wüsste ich nichts, was auch nur ansatzweise Fliesskommazahlen erfordert
ergo codiert man so etwas besser nicht... nur weil's vermeintlich bequem wirkt

cheers, Tom
Wenn ich mal Zeit habe, bastel ich mal einen EQ, der mit arbitrary precision Datentypen rechnet. Dann kann sich auch niemand mehr wegen "digitaler Kälte" beschweren.
Mich würde am Ende einfach mal der Code interessieren. Also wie das alles aufgebaut ist, hinter welchem Knopf und Regler welche Funktionen stehen und so. Könnte man auch bei Lust und Laune als Workshop aufziehen.
Wieviel Zeit investierst du da täglich, @Laguna ?
Täglich ist das schwer zu sagen. Über die Feiertage hatte ich Zeit und Lust, also hab ich mich mal rangesetzt. Stunden gezählt habe ich nicht, da mir das ja Spass macht. Viel Zeit ist natürlich auch für GUI draufgegangen.
Wenn größeres Interesse besteht, kann ich da gerne was aufziehen. Das würde ich aber, aufgrund der Komplexität erstmal im Backstage-Test-Pool auf eine kleine Gruppe Leute loslassen.
Da ich nach wie vor plane, das Plugin zu verkaufen, kann ich den Sourcecode nicht veröffentlichen.
Wenn du konkrete Fragen hast, werde ich mich natürlich bemühen, die weitestgehend zu beantworten.
Ansonsten gibt es die schon angesprochenen open source Plugins, sowie auf der in meinem letzten Post verlinkten Website, auf der es Matlab und c Sourcecodes gibt.
Ich hab das als Verzögerung der Attack verstanden.
Aber genau wissen tut das nur Laguna

Banjo
Genau. Meine Implementierung von Pre-Attack ignoriert alle Werte über dem Threshold, solange sie nicht mindestens Pre-Attack +1 Samples lang über dem Threshold liegen.
Den Attack nach oben zu drehen ist ein anderer Effekt. Wenn das noch nicht verstanden ist, frag einfach nochmal kurz nach.
Auf die Gefahr hin, dass sich einige bei diesen technischen Ausführungen langweilen
Keineswegs. Immer her mit so Versuchen! Nur so lernt man dazu!
--- Beiträge wurden zusammengefasst ---
Es scheint also keine definierte Heransgehensweise zu geben, was der Hauptgrund für die Unterschiede im Klang von Kompressoren sein dürfte.
Wenn es nur Attack und Release wären....

Es gibt dann ja noch die unterschiedlichste Implementierungen was den Aufbau des Kompressors angeht. es gibt bei vielen noch einen Hold-Regler, Feed Forward oder Feed Back Kompressoren unterscheiden sich auch grundsätzlich, oft gibt es nachgebildete Eingsangs- und Ausgangs-Trafos die den sound nochmal verändern, Soft- und Hard-Knee, ... Die Liste ist sehr lang.
So Far...
Laguna (sorry für Doppelpost)