Aureate — Bedienungsanleitung
Was Aureate ist
Aureate ist ein Tape-/Console-Saturation-„Glue"-Plugin für orchestrales Material — Streicher, Blechbläser und geschichtete/gebusste Spuren, die Kohäsion und einen Hauch analoger Wärme brauchen, ohne wie ein Gitarrenpedal zu klingen. Es kombiniert einen 4x-oversampelten, im Charakter wählbaren Saturator (tanh-basiertes Tape, Soft-Knee-Console oder exponentielle Valve) mit Tape-Transport-Artefakten (unabhängiges Wow/Flutter, ein LF-Head-Bump, HF-lastiges Hiss) und einem Dual-Shelf-Tilt-Tone-Regler plus unabhängigen HF-/LF-Trim-Shelves.
v0.3.0 ergänzt den Abschnitt, den der Name des Plugins immer schon nahegelegt hat: einen programmabhängigen Bus-Kompressor mit zwei wählbaren Kennlinien (VCA und Vari-Mu), eine „Iron"-Übertragerstufe in der Flussdomäne, einen ADAA-„HQ"-Qualitätsmodus und drive-kompensiertes Auto Gain. Jedes davon ist per Default aus oder neutral, und jeder neutrale Default ist ein Branch-Skip statt einer transparenten Einstellung — eine bestehende Session klingt Bit für Bit wie in v0.2.1 (siehe Upgrade von v0.2.x unten).
v0.2.0 ist eine recherchebasierte Überarbeitung des Saturation-Kerns — die vollständige Begründung (was sich geändert hat und warum) findest du in docs/design-brief.md, die zugehörigen Quellenangaben in docs/research-notes.md. Nichts hier ist an gemessener Hardware kalibriert; jeder Standardwert ist entweder aus v0.1 übernommen oder so gewählt, dass er innerhalb einer belegten Bandbreite/Reihenfolge aus der Literatur liegt — siehe dazu den eigenen Honesty-Abschnitt des Briefs.
Wo es in einer Heavy-Music-Produktionskette sitzt
Aureate ist dafür gedacht, nachdem die einzelnen Layer eines orchestralen/chorischen Stacks (Streicher, Blechbläser, Chor usw.) ausbalanciert wurden, zu laufen, typischerweise auf:
- Einem Streicher- oder Blechbläser-Bus, um eine Divisi-Sektion so zu verkleben, wie Tape-/Console-Summing das auf natürliche Weise tut — ein wenig Drive und Warmth, moderater Mix, und die Sektion liest sich als ein Instrument statt als Haufen Nahmikrofonierungen.
- Einem orchestralen/chorischen Submix-Bus, der nach den einzelnen Sektionen und vor dem finalen Mix-Bus sitzt, um Kohäsion hinzuzufügen, bevor das orchestrale Material auf die Metal-Instrumentierung (Gitarren, Drums, Bass) trifft.
- Dem Mix-Bus selbst (sparsam — niedriger Drive, Mix deutlich unter 100 %), als subtiler „Master-Glue"-Durchgang, in derselben Rolle, die eine Tape-Maschine oder ein Console-Summing-Bus in einem hybriden Analog-/ITB-Workflow spielen würde.
Es ist kein Distortion- oder Amp-Sim-Plugin (diese Rolle übernehmen overture/tenebrae an anderer Stelle der Suite) — Drive ist bewusst auf moderate 24 dB gedeckelt, und die Standard-Warmth-/Character-Einstellungen bleiben deutlich im Bereich „fügt Fülle hinzu", nicht „fügt Grit hinzu".
Signalfluss
input -> Wow/Flutter (independent wow + flutter) -> Glue compressor (v0.3.0) -> Drive
-> [4x oversampled: Warmth HF-rolloff -> LF head bump -> saturator (Character:
Tape/Console/Valve, Warmth+Bias-driven asymmetry, ADAA in HQ quality) ->
Iron transformer stage (v0.3.0) -> Tone tilt -> HF/LF Trim
-> Hiss (HF-forward)]
-> downsample -> Auto Gain (v0.3.0) -> Dry/Wet Mix -> Output trim -> output
Wow/Flutter und Drive laufen mit der Host-Samplerate; alles vom Warmth-Low-Pass bis Hiss läuft innerhalb der 4x-oversampelten Domäne, sodass die Harmonischen des Saturators (und das Rauschen von Hiss) mit dem 4-fachen der Host-Rate erzeugt und gefiltert werden, bevor ein einzelner Downsample-Schritt erfolgt. Mix mischt das prozessierte („wet") Signal zurück mit einer latenzkompensierten Kopie des unangetasteten Inputs, und Output ist ein finaler Trim, der auf das kombinierte Ergebnis angewendet wird. Die vollständige technische Aufschlüsselung, inklusive Latenz-Buchhaltung und Real-Time-Safety-Notizen, findest du in docs/architecture.md.
Gemeldete Latenz
Aureates gemeldete Latenz hat genau zwei feste Quellen: die eigene Latenz des 4x-Oversamplers (JUCEs Halfband-Polyphasen-IIR-Design, aufgelöst bei prepare()) und Wow/Flutters feste 6-ms-Basisverzögerung. Diese Basisverzögerung ist immer präsent, auch bei Wow 0 % / Flutter 0 % — nur die Tiefe jedes LFOs skaliert mit dem eigenen Regler, nie die gemeinsame Basisverzögerung —, sodass das Automatisieren von Wow oder Flutter während der Wiedergabe die gemeldete Latenz des Plugins nie mitten im Stream verschiebt. getLatencySamples() meldet die exakte Ganzzahl-Summe beider Anteile, und hier wird keine feste Zahl pro Samplerate veröffentlicht, weil der eigene Beitrag des Oversamplers vom Halfband-Filterdesign JUCEs bei jeder Rate abhängt.
Keine der v0.3.0-Ergänzungen verändert diese Summe, bei keinem Setting: Die Glue-Sektion läuft mit der Host-Rate vor Drive und fügt konstruktionsbedingt null Latenz hinzu, und die Iron-Stufe lebt innerhalb der bestehenden 4x-oversampelten Region statt einer neuen. Das ist direkt verifiziert — die gemeldete Latenz wird identisch geprüft über jede Kombination aus Glue (an/aus, VCA/Vari-Mu), Iron-Menge, Quality (Classic/HQ) und Auto Gain, bei sechs Sampleraten von 44,1 bis 192 kHz, einschließlich „alles gleichzeitig aktiviert". Was auch immer die Zahl bei der Samplerate deiner Session ist — keiner dieser Regler wird sie verändern.
Gain-Staging-Hinweis
Die Standardwerte von Drive/Warmth sind auf einen nominalen Eingangspegel von -18 dBFS RMS abgestimmt (die vielzitierte Tape-„0-VU"-Kalibrierungskonvention) — keine Messung von irgendetwas Aureate-Spezifischem, nur eine dokumentierte Annahme. Das erklärt, warum die standardmäßigen 6 dB Drive auf einem heißen, limitierten digitalen Bus ganz anders wirken als auf einem Bus mit konservativem Gain-Staging — und es ist der Bezugspunkt, an dem sich die Werkspresets für Drive/Output als aufeinander abgestimmtes Paar orientieren.
Parameterreferenz
| Parameter | Range | Default | Unit | Was es bewirkt |
|---|---|---|---|---|
| Wow | 0-100 | 0 | % | Menge der langsamen Tape-Transport-Tonhöhendrift (~0,7 Hz), angewendet über ein moduliertes Delay vor Drive. 0 % ist ein festes (unmoduliertes) Delay — ein echter Off-Zustand, nicht „sehr wenig". Unabhängig von Flutter (v0.2.0) — nutze Wow allein für eine langsame, „atmende" Tonhöheninstabilität ohne schnelleres Schimmern. |
| Flutter | 0-100 | 0 | % | Menge des schnelleren Tape-Transport-Tonhöhenschimmerns (~11 Hz), angewendet über dasselbe modulierte Delay. Unabhängig von Wow (v0.2.0) — nutze Flutter allein für einen schnelleren „Wobble"-/Schimmer-Charakter ohne langsame Drift. Nutze Wow und Flutter gemeinsam, sparsam eingesetzt (je 10-25 % pro Regler), für einen klassischen Vintage-Tape-Charakter auf gehaltenen Pads/Streichern; höhere Einstellungen sind ein offensichtlicher, bewusster Effekt. |
| Drive | 0-24 | 6 | dB | Gain in den Saturator hinein. Bewusst moderat gehalten — Aureate ist ein Glue-Prozessor, kein Distortion-Pedal. Höhere Einstellungen treiben die per Character gewählte Kurve stärker, was mehr harmonischen Inhalt und Kompression hinzufügt. |
| Warmth | 0-100 | 35 | % | Steuert drei Dinge über einen Regler, alle unterschiedlich stark je nach Character: den Asymmetrie-Bias des Saturators (single-ended, tape-artiger Charakter — die Bias-Obergrenze unterscheidet sich je Character, siehe unten), einen sanften Pre-Clip-Höhenabfall (Tape-Selbstlöschung/Bias-Oscillator-Verdunkelung) und eine sanfte LF-Head-Bump-Resonanz um 80 Hz (Tape-Transport-Kopfgeometrie, bis zu +1,5 dB). Höheres Warmth = asymmetrischere Saturation, ein dunkleres Top-End und ein Hauch mehr Low-End-Gewicht — der mit Abstand wichtigste „Charakter"-Regler des Plugins. |
| Bias | -100 to 100 | 0 | % | Ein zusätzlicher, unabhängiger Asymmetrie-Trim des Saturators, der zum eigenen Bias-Beitrag von Warmth hinzukommt. Nutze ihn, um die Asymmetrie weiter zu verschieben (oder in die Gegenrichtung), ohne die HF-Rolloff-/Head-Bump-Menge von Warmth anzutasten — nützlich, um die Balance zwischen ungeraden und geraden Harmonischen nach Geschmack einzustellen. |
| Character | Tape / Console / Valve | Tape | - | Wählt die Transferfunktions-Familie des Saturators, jede mit einem wirklich eigenständigen Profil der harmonischen Balance. Tape: sanftes, asymmetrisches tanh, von den dreien am stärksten von ungeraden Harmonischen dominiert und am wenigsten asymmetrisch (die Bias-Obergrenze von Warmth ist hier am niedrigsten) — der klassische, vergebende Tape-Glue-Sound. Console: eine asymmetrische Soft-Knee-Kurve (v0.2.0), die bei niedrigem bis moderatem Drive transparent bleibt und erst bei kräftigem Antreiben Charakter zeigt — der Archetyp „am wenigsten charaktervoll, bis sie gefordert wird", näher an einem Solid-State-/Transformer-Summing-Bus. Valve: eine asymmetrische, exponentielle Saturation-Kurve, von den dreien am stärksten asymmetrisch/am stärksten von geraden Harmonischen geprägt (die Bias-Obergrenze von Warmth ist hier am höchsten) — ein runderer, röhrenartiger Schub. |
| Tone | -100 to 100 | 0 | % | Ein Dual-Shelf-Tilt-EQ (zwei unabhängige Shelf-Eckpunkte, kein Lehrbuch-Tilt mit einem einzelnen Drehpunkt): negativ verdunkelt (Low Shelf hoch, High Shelf runter), positiv hellt auf (umgekehrt), 0 % ist flach/unity. Nutze dies für die grobe tonale Balance des gesamten prozessierten Signals. |
| HF Trim | -6 to 6 | 0 | dB | Ein High-Shelf-Trim mit fester Frequenz (8 kHz), unabhängig von Tone — eine feinere Top-End-Anpassung (Air hinzufügen oder Härte zähmen), nachdem der breitere Tone-Tilt die Gesamtbalance gesetzt hat. |
| LF Trim | -6 to 6 | 0 | dB | Ein Low-Shelf-Trim mit fester Frequenz (150 Hz), unabhängig von Tone — eine feinere Low-End-Anpassung (Gewicht hinzufügen oder Mud straffen) nach dem breiteren Tone-Tilt. |
| Hiss | 0-100 | 0 | % | Menge geformten Rauschens („Tape Hiss"), das in das prozessierte Signal gemischt wird, erzeugt innerhalb der oversampelten Domäne und geformt durch ein dediziertes, höhenlastiges Shelf-Filter (v0.2.0), sodass es sich wie breitbandiges Hiss anhört und nicht wie gedämpftes Rauschen. 0 % ist wirklich still (überhaupt kein Rauschteppich) — eine bewusste „Vintage"-Option für Material, das klingen soll, als käme es von einer Tape-Maschine, kein Mischpult-Artefakt, das standardmäßig aktiv bleiben sollte. |
| Mix | 0-100 | 100 | % | Dry/Wet-Mischung. Bei 0 % ist das Plugin ein sample-genauer (latenzkompensierter) Durchlauf des Inputs — nützlich für Parallel-/New-York-Style-Blending oder um zu bestätigen, dass Aureate ein Signal nicht einfärbt, wenn du es per A/B herausnehmen willst. |
| Output | -24 to 24 | 0 | dB | Finaler Output-Trim, angewendet nach der Dry/Wet-Mischung — anders als Drive (das nur den Wet-Pfad betrifft) skaliert Output das kombinierte Dry+Wet-Signal als Ganzes. Nutze ihn, um Pegeländerungen durch Drive/Warmth/Character auszugleichen, bevor das Signal weiter durch die Kette läuft. |
| Glue | Off / On | Off | - | Hauptschalter für den Bus-Kompressor-Abschnitt aus v0.3.0, der bei Host-Samplerate vor Drive sitzt (Konsolen-Insert-Reihenfolge: erst Dynamik, dann die Konsolen-/Tape-Farbe, die sie speist). Off ist ein echter Bypass — der Abschnitt kehrt zurück, bevor er ein einziges Sample anfasst, fügt keine Latenz hinzu und kostet nichts. Ein- und Ausschalten überblendet über 10 ms und ist damit automationssicher. |
| Glue Model | VCA / Vari-Mu | VCA | - | Welchen Detektor und welche Gain-Cell-Kennlinie der Abschnitt fährt. VCA: ein Timing-Netzwerk in der dB-Domäne innerhalb einer Feedback-Schleife — sauber, vorhersagbar, das klassische Verhalten eines Konsolen-Bus-Kompressors, und das, was auf den Attack-Schalter reagiert. Vari-Mu: eine Kennlinie im Stil eines Röhrenlimiters mit weicher Totzone im Sidechain, einem strombegrenzten Gleichrichter und einem Release-Netzwerk mit drei Kondensatoren — ein deutlich weicherer Knee, ein intrinsischer Attack und ein Release, dessen Form sich mit dem Programmmaterial ändert. Ein Wechsel bei laufendem Signal überblendet den angewendeten Gain über 30 ms, wobei die eintretende Kennlinie aus der abgehenden Gain-Reduktion warmgestartet wird, sodass es nie springt. |
| Glue Threshold | -30 to 10 | 0 | dB | Wo der Abschnitt zu arbeiten beginnt, bezogen auf den -18-dBFS-RMS-Kalibrierpunkt des Plugins: Bei 0 dB liegt ein Sinus mit -18 dBFS RMS exakt auf der Schwelle. Da der Detektor Peaks gleichrichtet, die Schwelle aber auf RMS bezogen ist, zieht ein Signal auf der Schwelle bereits etwas Gain-Reduktion — das ist es, was den Knee die Schwelle überspannen und ihn sich über einige dB erstrecken lässt, statt an einer Ecke zu beginnen. In der Vari-Mu-Kennlinie ist dieser Regler der Drive des Sidechains selbst, sodass Threshold, Ratio und Knee interagieren, statt unabhängig zu sein; das ist das authentische Verhalten dieser Schaltungsklasse, keine Einschränkung. |
| Glue Ratio | 2:1 / 4:1 / 10:1 | 2:1 | - | Wie stark sich der Abschnitt jenseits der Schwelle hineinlegt. Da die Schleife eine Feedback-Topologie ist, verändert die Ratio auch den effektiven Attack (höhere Ratios greifen schneller) und die Knee-Breite (niedrigere Ratios sind weicher) — nichts davon ist einprogrammiert; es fällt aus der Schleife heraus. |
| Glue Attack | 0.1 / 0.3 / 1 / 3 / 10 / 30 ms | 10 ms | - | Die Attack-Zeitkonstante der VCA-Kennlinie. Von der Vari-Mu-Kennlinie ignoriert, deren Attack ihrem strombegrenzten Gleichrichter intrinsisch und daher kein Bedienelement ist — ein größerer Überschwinger braucht dort proportional länger, um seine eigene Gain-Reduktion zu erreichen, was eine feste Zeitkonstante nicht nachbilden kann. Schnelle Einstellungen (0,1–1 ms) fangen Transienten ab; langsame (10–30 ms) lassen sie durch und verkleben den Körper darunter. |
| Glue Release | 0.1 / 0.3 / 0.6 / 1.2 s / Auto | Auto | - | Wie schnell der Abschnitt loslässt. Die vier festen Positionen tragen die Beschriftungen der modellierten Hardwareklasse; die gemessenen 37-%-Erholungszeiten des Vari-Mu-Netzwerks liegen bei etwa 0,3 / 0,8 / 2 / 5 s, und diese Lücke zwischen Beschriftung und Verhalten ist eine reale Eigenschaft der Schaltung, nicht etwas hier still Umetikettiertes. Auto ist die Position, die den Abschnitt sich wie Glue verhalten lässt: Eine kurze Spitze ist innerhalb einer Sekunde vergessen, während zehn Sekunden anhaltender Gain-Reduktion um ein Vielfaches länger zum Loslassen brauchen — nicht weil irgendetwas misst, wie lange das Signal laut war, sondern weil sich ein langsamer Reservoir-Kondensator nur füllt, wenn das Signal tatsächlich anhält. |
| Glue Makeup | 0 to 12 | 0 | dB | Statischer Ausgangsgain für den Abschnitt, bewusst nicht automatisch aus Threshold und Ratio abgeleitet — das Gain-Staging des Abschnitts bleibt deine Entscheidung. |
| Glue SC Filter | 20 to 500 | 20 | Hz | Ein Hochpass nur im Detektorpfad — das Audio wird nicht gefiltert. Höher drehen, damit Kick und tiefe Streicher nicht den ganzen Mix pumpen lassen. 20 Hz ist ein harter Bypass, nicht bloß eine sehr tiefe Eckfrequenz. |
| Iron | 0-100 | 0 | % | Anteil der Ausgangsübertrager-Stufe in der Flussdomäne, innerhalb derselben 4x-oversampelten Region, direkt nach dem Sättiger. Da der Fluss in einem Übertragerkern das Integral des Signals ist, sättigt der Kern bei gleichem Pegel zu tiefen Frequenzen hin weit stärker — die dritte Harmonische steigt Richtung Bassbereich von selbst steil an, in dieser Implementierung gemessen bei rund 10 dB pro Oktave (siehe Bekannte Einschränkungen dazu, wie das mit der idealisierten Vorhersage vergleicht). Dazu eine sanfte LF-Resonanz um 35 Hz und etwas Höhenrundung, und du bekommst Gewicht und Eisen statt Fizz. 0 % überspringt die Stufe vollständig. |
| Quality | Classic / HQ | Classic | - | Classic ist exakt die Sättigungsmathematik von v0.2.1, unverändert. HQ wendet auf dieselben drei Character-Kurven Antiderivative Anti-Aliasing erster Ordnung an — gleiches Oversampling, gleiche gemeldete Latenz, gleiches Voicing, ein gemessen 24 dB niedrigerer Alias-Teppich bei einer harten Messvorgabe von 10 kHz / 24 dB. Es gibt außer CPU-Headroom keinen Grund, HQ nicht zu nutzen — siehe Bekannte Einschränkungen, warum hier keine Benchmark-Zahl genannt wird. |
| Auto Gain | Off / On | Off | - | Kompensiert den größten Teil des von Drive hinzugefügten Pegels, nur auf dem Wet-Pfad, sodass ein A/B von Drive ein A/B des Charakters ist und nicht der Lautheit. Ehrlichkeitshinweis: Das ist eine Ein-Punkt-Kalibrierung pro Character (gemessen gegen pegelgleiches Rosa Rauschen bei Drive 0 gegenüber 18 dB), kein Loudness-Matching — es misst dein Signal nicht und ist bewusst eine Abhörhilfe und kein Mastering-Werkzeug. |
Presets
Die Preset-Leiste am oberen Rand des Editors lässt dich durch Werks- und User-Presets browsen (< / Preset-Name / > zum Durchblättern, Klick auf den Namen öffnet das vollständige Menü), eigene Presets per Save/Save As/Delete verwalten, einzelne Presets oder Preset-Bänke als Zip importieren/exportieren und den aktuellen Zustand als eigenen Startup-Default setzen. In v0.3.0 sind vierzehn Werkspresets an Bord — die elf aus v0.2.0, byte-identisch, plus Orchestral Bus Glue, Soft Tube Glue und Iron Bus Weight, die den neuen Abschnitt in seinen drei nützlichsten Ausprägungen zeigen. Was jedes einzelne bewirkt, steht in docs/presets.md. Presets werden nutzerspezifisch gespeichert, unter ~/Library/Audio/Presets/Yves Vogl/Aureate/ auf macOS (%APPDATA%/Yves Vogl/Aureate/Presets/ unter Windows).
Unter der Haube
Die Begründung hinter den v0.3.0-Ergänzungen steht in docs/architecture.md; die belegten Zahlen unten stehen im CHANGELOG.md. Dieser Abschnitt fasst beides für alle zusammen, die wissen wollen, warum sich der Abschnitt so verhält, wie er es tut, nicht nur, wofür die Regler beschriftet sind.
Der Glue-Kompressor ist ein Feedback-Gesetz, kein Kurven-Fit. Beide Gesetze teilen sich einen mono-summierten Sidechain und einen Detektor, der das Signal nach der Gain-Zelle sieht, ein Sample alt. Genau diese eine Topologie-Entscheidung — keine separat programmierte Knee-Kurve oder Attack-Formel — erzeugt den Soft Knee, den ratio-abhängigen effektiven Attack und die Programmabhängigkeit des Release. VCA löst ein Timing-Netzwerk im dB-Bereich innerhalb dieser Schleife: An der 10-ms-Attack-Position gemessene 63-%-Attack-Zeiten sind 4,96 / 2,46 / 0,98 ms bei 2:1 / 4:1 / 10:1 (die Closed-Loop-Vorhersage lautet 5,00 / 2,50 / 1,00 ms). Vari-Mu tauscht dafür einen wirklich anderen Detektor und eine andere Gain-Zelle ein: einen Softplus-Dead-Zone-Sidechain, einen strombegrenzten Gleichrichter, ein trapezoid diskretisiertes Drei-Kondensator-Release-Netzwerk und eine Gain-Zelle, abgeleitet aus der analytischen Transkonduktanz eines veröffentlichten Trioden-Gesetzes — weshalb ihr Attack kein Nutzerregler ist, und weshalb eine Verdopplung der Schrittgröße ihre Peak-Rate der Gain-Reduction-Änderung nur um etwa das 1,22-Fache wachsen lässt, gegen etwa das 2,0-Fache beim exponentiellen Attack des VCA-Gesetzes.
Das Auto Release ist ein Reservoir, kein Timer. Sein langsamer Kondensator wird nur durch Release-Phasen-Ripple geladen, sodass ein 50-ms-Burst nach etwa 0,28 s vergessen ist, während zehn Sekunden anhaltende Gain Reduction rund 2,37 s zum Loslassen braucht — über achtmal länger —, mit einem Tail, der nie überschwingt und zurückfedert.
Iron ist Faradaysches Gesetz, keine EQ-Kurve. Die Stufe integriert das Signal zum Fluss, sättigt diesen Fluss, differenziert dann zurück — drei billige Operationen, in dieser Reihenfolge, innerhalb der bestehenden oversampelten Region. Weil der Kernfluss das Integral der anliegenden Spannung ist, sättigt ein sättigender Kern bei gleichem Anschlusspegel zu tiefen Frequenzen hin weit stärker, sodass der Anteil der dritten Harmonischen zum Bassbereich hin von selbst ansteigt — nichts in der Stufe ist darauf gefittet, diese Steigung zu erzeugen. Das Integrator/Differenzierer-Paar ist bewusst Backward-Euler-matched statt der gebräuchlicheren bilinearen Transformation, weil die bilineare Inverse einen ungedämpften Pol bei Nyquist trägt, an dem ein Transient für immer hängen bleiben würde; das Backward-Euler-Paar ist stattdessen ein reines Ein-Nullstellen-FIR, das auf echte Null abklingt — genau das, was ein Zehn-Sekunden-Stille-nach-einem-Transienten-Check verifiziert.
HQ senkt den Alias-Boden, ohne das Plugin neu zu voicen. Quality: HQ wendet Antiderivative Anti-Aliasing 1. Ordnung auf dieselben drei Character-Kurven an, in derselben oversampelten Region, bei derselben gemeldeten Latenz. Gemessen an einer 10-kHz-/0-dBFS-/24-dB-Drive-Messvorgabe sinkt der nichtharmonische Boden bei jedem Character um etwa 24 dB, während die hörbare harmonische Struktur (H2/H3) innerhalb von etwa 1 dB von Classic bleibt und die Magnitude-Response bei niedrigem Drive innerhalb von 0,1 dB bis 5 kHz — eine Alias-Boden-Option, kein anderer Klang.
Jede neue Stufe ist konstruktionsbedingt an ihrem Default neutral, nicht zufällig. Die Glue-Sektion kehrt zurück, bevor sie ein Sample berührt, wenn sie aus ist; Iron wird bei 0 % vollständig übersprungen; Classic Quality fährt weiterhin exakt den v0.2.1-Sättiger-Code statt eines generischen Pfads auf einem neutralen Parameter; Auto Gain aus wendet überhaupt keinen Gain an. Deshalb spielt eine v0.2.x-Session nach dem Upgrade bit-identisch (siehe Upgrade unten), und es wird in der automatisierten Testsuite auf zwei Arten geprüft: gegen dieselbe Binary mit jeder neuen Stufe zwangsweise umgangen (null Differenz), und gegen einen eingecheckten v0.2.1-Referenz-Render (Übereinstimmung auf rund −120 dBFS auf der Toolchain, die ihn erzeugt hat).
Null Heap-Allokationen auf dem Audio-Thread, bewiesen unter einem ersetzten Allocator über jeden neuen Pfad — beide Glue-Gesetze zyklisch durch jede Gesetz-/Ratio-/Attack-/Release-Position, während Threshold und Sidechain-Filter durchgefahren werden, Iron kontinuierlich durchgefahren (was die Koeffizienten seiner zwei Filter jeden Block neu ableitet), und der eigene Ein-/Aus-Schalter der Glue-Sektion, der Block für Block umschaltet. Dieser Guard hat in dieser Codebase eine verifiziert-rote Historie: ein echter Per-Block-Allokations-Bug, der seit v0.1.0 vorhanden war (heap-allozierende IIR-Koeffizienten-Factory-Aufrufe in den Filtern der Sättigungs-Ära), wurde in v0.2.1 gefangen und behoben, bevor v0.3.0 dieselbe Disziplin auf alle elf neuen Parameter ausweitete.
Bekannte Einschränkungen
- Voicing ist an veröffentlichte Schaltungsanalysen und Trioden-Gesetze verankert, nicht an gemessene Hardware. Nichts in diesem Projekt behauptet, dass irgendetwas „klingt wie" ein bestimmtes Gerät — jede Verhaltensbehauptung oben ist eine getestete Invariante (eine Knee-Breite, ein Slew-Verhältnis, ein Zeitkonstanten-Verhältnis), und die Parameter der Trioden-Gain-Zelle sind Parameter eines veröffentlichten Gesetzes, gefittet auf einen dokumentierten Regelbereich und eine Kurvenform, keine Messung eines bestimmten Geräts.
- Der Bass-Anstieg von Iron misst in dieser Implementierung bei rund 10 dB/Oktave, unterhalb der 12 dB/Oktave, die ein idealisiertes Flussintegrations-Modell vorhersagen würde. Der Fluss-Eckpunkt und die endliche Kernkurve der ausgelieferten Stufe erklären die Lücke; das ist eine echte, gemessene Eigenschaft dieser Stufe, kein Bug, und deshalb zitiert die Iron-Zeile oben nicht 12 dB/Oktave als Messung.
- Der Knee des VCA-Glue-Gesetzes wird bei höheren Ratios wirklich schmaler — rund 2,2 dB breit bei 2:1, aber unter 1 dB bei 4:1 und 10:1. Das ist derselbe Feedback-Mechanismus bei höherer Loop-Gain, keine Inkonsistenz: Ihn bei den höheren Ratios zu verbreitern würde bedeuten, einen expliziten Soft-Knee-Term hinzuzufügen — also genau das Verhalten zu curve-fitten, das dieses Design absichtlich emergent lässt.
- Die aufgedruckten Markierungen des Release-Schalters beim Vari-Mu-Gesetz (0,1 / 0,3 / 0,6 / 1,2 s) entsprechen nicht seinen gemessenen 37-%-Recovery-Zeiten (rund 0,3 / 0,8 / 2 / 5 s). Diese Lücke ist eine echte, dokumentierte Eigenschaft der modellierten Schaltungsklasse — der Schalter behält die hardwareklassentypischen Markierungen, statt still auf die gemessenen Werte umbeschriftet zu werden.
- Quality: HQ trägt eine winzige, inhärente Verzögerung aus seiner Antiderivative-Mittelung — einen Bruchteil eines Samples bei der 4x-oversampelten Rate, weit unterhalb dessen, was
getLatencySamples()in ganzen Host-Samples meldet, und unhörbar. Es bedeutet allerdings, dass ein Classic- und ein HQ-Render nicht ohne vorherige Kompensation dieses Bruchteils im rohen Zeitbereich gegeneinander genullt werden können. - Für dieses Plugin ist kein CPU-Benchmark veröffentlicht. HQ ist nicht kostenlos — es wertet pro oversampeltem Sample eine zusätzliche Antiderivative zur bestehenden Character-Kurve aus —, aber in diesem Repository existiert keine gemessene Prozent- oder Millisekunden-Zahl, die hier zitiert werden könnte.
- Die Glue-Sektion modelliert keine Detektor-Nichtlinearität — sie ist konstruktionsbedingt reines Envelope-Verhalten, das mit der 1x-Host-Rate läuft. Willst du die Verzerrungs-Charakteristik eines Bus-Kompressors statt seiner Dynamik, liefert diese Sektion das nicht; der Character-Sättiger und die Iron-Stufe weiter unten in der Kette tun das.
- Bewusst außerhalb des Umfangs dieses Releases: Tape-Aufnahme-/Wiedergabe-Pre-/De-Emphasis und pegelabhängiger HF-Verlust-Modellierung, ein vollständig physikalisch modellierter Eisenkern, eine Push-Pull-Newton-gelöste Vari-Mu-Gain-Zelle, stochastisches Wow/Flutter und geschwindigkeitsabhängiger Head Bump/Hiss, M/S-Verarbeitung, ein Input-Kalibrierungs-/Headroom-Regler, ein Gain-Reduction-Meter mit echter Ballistik, sowie Linear-Phase- oder Higher-Order-Oversampling-Optionen.
- Der Editor ist weiterhin die funktionale Slider-GUI aus v0.1 — die Preset-Leiste oben, dann ein Rotary pro Float-Parameter (plus eine Combobox pro Auswahl-Parameter), angeordnet in Signalfluss-Reihenfolge. Ein eigenes, photoreales Panel ist ein späterer, suite-weiter Meilenstein.
- Pre-1.0. Release-Binaries für macOS und Windows sind derzeit unsigniert. Nur AU, VST3 und Standalone — kein AAX. Lizenziert unter AGPLv3. Breaking Changes am gespeicherten Zustand bleiben bis v1.0.0 möglich (v0.2.0 hatte zwei, beide mit dokumentierter, toleranter Migration — siehe Upgrade unten).
Upgrade von v0.2.x
Nichts zu tun. Alle elf Parameter aus v0.3.0 stehen per Default auf einem neutralen Wert, und jeder neutrale Default nimmt denselben Codepfad, den v0.2.1 genommen hat, statt eines mathematisch äquivalenten — der Glue-Abschnitt kehrt im deaktivierten Zustand zurück, bevor er ein Sample anfasst, die Iron-Stufe wird bei 0 % übersprungen, Classic-Qualität fährt weiterhin die Sättiger-Schleife von v0.2.1, und Auto Gain aus wendet keinen Gain an statt eines Gains von 1,0. Eine v0.2.x-Session spielt daher Bit für Bit wie zuvor (in CI abgesichert als max abs diff == 0 innerhalb einer Binary und in der -120-dBFS-Klasse gegen einen aus dem v0.2.1-Tag aufgezeichneten Referenz-Render). Die gemeldete Latenz ist bei jeder Einstellung und jeder Samplerate unverändert, die Delay-Kompensation des Hosts verschiebt sich also ebenfalls nicht.
Upgrade von v0.1.x
v0.2.0 bringt zwei Breaking Changes für gespeicherte Automation/States mit sich — beide vor 1.0 ausdrücklich erlaubt: Der einzelne Parameter „Wow/Flutter" ist jetzt zwei unabhängige Parameter (Wow/Flutter), und die Warmth-getriebene Bias-Obergrenze jedes Character-Modells hat sich geändert (Tape und Console sind bei denselben Warmth-/Bias-Einstellungen jetzt weniger asymmetrisch als vorher; Valve ist unverändert). Eine mit v0.1.0 gespeicherte Session lädt weiterhin fehlerfrei — ihr alter Wow/Flutter-Wert wird auf die beiden neuen Parameter Wow und Flutter kopiert —, klingt nach dem Upgrade aber anders, falls du Warmth/Bias mit Tape oder Console genutzt hast. Das ist eine hörbare, bewusste Voicing-Korrektur (siehe docs/design-brief.md), kein Bug.
Tipps
- Beginne mit Character, bevor du zu Drive greifst. Die drei Modelle klingen selbst bei identischen Einstellungen wirklich unterschiedlich — Tape ist der vergebendste, von ungeraden Harmonischen dominierte Glue-Sound; Console bleibt transparent, bis du kräftig antreibst, und mischt sich dann ein; Valve ist der am aggressivsten asymmetrische, von geraden Harmonischen geprägte Schub. Wähle zuerst den Character, dann stelle Drive/Warmth nach Geschmack ein.
- Warmth erledigt dreifache Arbeit. Es steuert gemeinsam die Character-abhängige Asymmetrie des Saturators, den HF-Rolloff und den LF-Head-Bump, sodass eine einzelne Warmth-Bewegung nach „mehr Tape" klingen kann, ohne dass sich sonst ein Regler ändert — das ist der schnellste Weg, den Kern-Charakter des Plugins zu erkunden. Falls du den Verdunklungs-/Gewichtseffekt ohne mehr Saturation-Asymmetrie willst, greife stattdessen zu den separaten LF-/HF-Trim-Shelves, oder gleiche die Asymmetrie mit einem negativen Bias wieder aus.
- Bias ist für Feintuning da, nicht für den großen Auftritt. Lass ihn bei 0 %, bis Warmth (und Character) dich fast ans Ziel gebracht haben, und schiebe dann Bias nach, wenn du etwas mehr (oder weniger, oder umgekehrten) asymmetrischen Charakter willst, ohne HF-Rolloff/Head-Bump zu verschieben.
- Wow, Flutter und Hiss stehen alle drei bewusst standardmäßig auf off. Es sind bewusste „abgenutztes Tape"-Effekte für Material, das klingen soll, als käme es von einer physischen Maschine (ein Mellotron-artiger Streicher-Patch, ein Vintage-Tape-Emulation-Durchgang auf einem ganzen Mix) — die meisten orchestralen Glue-Anwendungsfälle sollten alle drei bei 0 % lassen und nur zu ihnen greifen, wenn genau dieser Charakter das Ziel ist. Wow und Flutter sind seit v0.2.0 unabhängig, sodass du eine langsame Drift ohne schnelleres Schimmern einstellen kannst, oder umgekehrt.
- Nutze Mix für Parallel-Processing. Da Mix sample-genau latenzkompensiert ist, kannst du ein stark getriebenes, charaktervolles Wet-Signal unter das saubere Dry-Signal mischen (New-York-Style Parallel-Saturation), ohne Phasenverschmierung durch die Oversampling-Latenz.
- HF/LF Trim vs. Tone. Die Tilt-Shelves von Tone bewegen die gesamte spektrale Balance in einer Geste; HF/LF Trim sind unabhängig, sodass du zum Beispiel mit Tone aufhellen und dann mit einem negativen HF Trim etwas Top-End zurücknehmen kannst, falls die Aufhellung von Tone auch etwas Bestimmtes um 8 kHz überbetont.
- Nutze Output zum Gain-Matching. Da Drive/Warmth/Character alle den Pegel und die wahrgenommene Lautheit des Wet-Signals verändern, nutze Output, um das prozessierte Signal wieder auf ungefähr dieselbe Lautheit wie den Dry-Input zu bringen, bevor du sie vergleichst (vermeidet die „lauter klingt immer besser"-Falle beim A/B-Vergleich von Mix oder Bypass).