Changelog
v1.0
Coming SoonThe first stable release. Everything polished, battle-tested, and ready for the stage.
v0.9.5
Current BetaStability and Library improvements. Fixes a recurring crash in Logic Pro, improves spider diagram accuracy for community presets, and refines preset download naming.
Critical Fix
- Use-after-free crash (Logic Pro) — hardened async HTTP callbacks with inner lambda lifetime guards and synchronous task cancellation in the plugin destructor. Resolves repeated crashes when switching effects in Logic Pro Library while catalog fetches are in flight.
Library
- Spider diagram accuracy — community preset thumbnails now use full weighted least-squares inverse estimation (97 parameters × 8 axes) instead of a simplified approximation. Spider shapes in the Library tab now match the Magic tab exactly.
- Preset download naming — downloaded presets save with their display name (e.g.
Dark Bass.slpreset) instead of a UUID filename.
Magic
- Arrow navigation — the preset arrows at the top now always cycle through saved presets. AI suggestions are activated by clicking their cards on the Magic tab.
Server
- Spider computation — catalog API ported from simplified 1–2 parameter approximation to full InverseEstimate with log-space deviation for frequency and time parameters.
v0.9.2
Critical stability fix. Resolves a crash in Logic Pro caused by async HTTP callbacks firing after plugin destruction. Adds 79 new tests covering plugin lifecycle, callback safety, and state machine logic.
Critical Fix
- Use-after-free crash — fixed async HTTP callbacks (health check, catalog refresh, heartbeat) accessing destroyed plugin instance after Logic Pro unloads the AU. Added
mAliveweak_ptr guard to all 13 async callbacks and an explicit destructor withCancelAll().
Testing
- 79 new stability tests — 8 new test files covering HTTP callback safety, OnIdle state machines, preset round-trip, tab switching invariants, transport sync, pure logic functions, license lifecycle, and MockHttpClient patterns.
v0.9.1
UI improvements for Magic mode and reliability fixes. The prompt input field now wraps text across multiple lines with cached layout to avoid audio thread overhead. Suggestion cards truncate long preset names cleanly. Checkout success page shows the full product name from Paddle.
Magic
- Prompt word-wrap — text input wraps across lines instead of scrolling horizontally. Layout is cached on change to keep CPU overhead at zero during playback.
- Suggestion card truncation — long preset names are trimmed with ellipsis instead of overflowing the card boundary.
Reliability
- ClipPlayer buffer init — fixed uninitialized buffer in ClipPlayer (SonarCloud reliability finding).
- Config directory permissions — restricted to owner-only (0700) for improved security.
Web
- Checkout success — displays full product name from Paddle (e.g. "FERMENT Plugin License") instead of just "Ferment".
- Insights — six articles published covering live effects, AI in music, and sound design.
- GA4 event tracking — beta form submit event with GTM integration.
v0.9.0
Ferment goes live with Paddle production payments. You can now purchase a license directly from the plugin or website. The checkout flow, webhook processing, transactional emails, and refund handling are all production-ready. Under the hood, the project gains a full CI/CD pipeline with SonarCloud code analysis and automated security checks.
- Production payments via Paddle — secure license purchases with Paddle checkout overlay, automatic tax handling, and instant license delivery via email. Refund processing with automatic license revocation.
- Transactional email via Brevo — license keys are delivered via professional transactional email with contact sync.
- Checkout pages on labs.ciderka.com — dedicated checkout and success pages hosted on the main website with Paddle.js integration.
- Idempotent webhook processing — duplicate Paddle webhooks are safely ignored using transaction ID deduplication.
- Config directory permissions — FERMENT data directory restricted to owner-only access (0700) for improved security.
- Heartbeat-based offline grace — 14-day offline grace period with device-bound license caching.
v0.8.1
A major release introducing the Library tab — a full-screen preset browser with store integration. Ferment now has four main views: Machine, Magic, Material, and Library. This release also adds license activation, preset sync, an expanded preset collection, and a complete e-commerce backend powered by Paddle for purchasing licenses and preset packs.
- Library tab — a new fourth view in the top navigation bar. Browse all presets in a paginated 4×4 card grid, each with a spider chart preview showing its sonic character across 8 axes (Warmth, Brightness, Space, Texture, Movement, Depth, Attack, Width). Filter by Factory, User, Store, and Favorites. Click any card to preview it instantly; commit when you find the sound you want.
- Preset Store — browse and purchase preset packs directly from the Library tab. Each pack is delivered instantly and appears in your collection. Powered by Paddle for secure global payments.
- License activation — a clean in-plugin activation overlay. Enter your license key, activate, and the overlay auto-closes. Machine mode and AI exploration remain free; saving AI-generated presets requires a license (3 trial saves included).
- Preset sync — bidirectional sync keeps your presets consistent across devices via the server. A draft system with tag-based access control enables early testing for creators and beta testers.
- 18 factory presets — expanded from 11, covering a wider range of instruments and performance styles.
- Offline license support — after initial activation, saving works offline via local license cache.
- Profile-aware AI — Magic mode now uses Material instrument profiles to generate presets tailored to your specific instrument.
v0.6.5
A focused bugfix release targeting the Harmonic Shaping stage introduced in 0.6.1. Two critical pitch-lock bugs that made the HarmonicShaper effectively silent are resolved, the correction gain range is substantially widened for audible results, and zipper-noise artefacts on several parameters are eliminated. Includes interface label polish throughout.
- Harmonic Shaping now audible — two pitch-lock bugs caused the 16-band harmonic filter array to lock onto the wrong pitch and stop tracking, making the entire HarmonicShaper stage effectively silent. Both root causes are resolved; corrections now track reliably across the full register.
- Zipper noise eliminated — clicking and stepping artefacts on Phase, Bypass, Analog blend, and Tempo Sync parameter changes are fixed via proper parameter smoothing. All four parameters now transition continuously.
- Harmonic correction gain range increased ~5× — the per-harmonic correction scale was too narrow in 0.6.1, producing barely perceptible results. The range is widened in two stages (~4× then +30%) to deliver clearly audible timbral shaping without introducing artefacts.
- UI label polish — several labels are clarified: OUT D/W → Dry / Wet, E/MOD → ENV / MOD, Crackle → Noise (Analog section), INPUT filter label corrected.
v0.6.1
A landmark release. Ferment gains pitch-relative Harmonic Shaping — a processing stage that would be impossible with a static EQ. It tracks the pitch of your playing and applies per-harmonic corrections that follow you across the entire register, reshaping the tonal character of your instrument in real time. A new Harmonic Profile Editor in the Material tab lets you build and save profiles, with factory presets modeled on classic acoustic archetypes. The Character module gains a new Harm knob to blend the correction in live.
- Pitch-relative Harmonic Shaping — a new processing stage in the Character module that reshapes the harmonic balance of your instrument while you play. Using the YIN pitch detector (shared from the Octaver), 16 RBJ peaking biquad filters are dynamically positioned on each harmonic (f₀, 2×f₀, 3×f₀… up to 16×f₀) and independently adjusted with per-harmonic corrections (±100%, mapped to ±6 dB internally). When you move from A4 to E5, every filter shifts with you — the "warmth" stays on the 2nd harmonic, not on a fixed 880 Hz band. Zero latency; ~1.5% CPU @ 48 kHz for 16 biquads.
- Harmonic Profile Editor — the Material tab gains a new HARMONICS panel alongside the existing SPECTRUM view. A 16-row horizontal bar graph shows the correction applied to each harmonic. Click and drag to sculpt, double-click to reset, use Shift+drag for fine mode. The profile is stored inside the Material profile — switching instruments swaps the correction automatically.
- Factory Harmonic Profiles — five profiles ship with the plugin: Stradivarius Even (warmer, singing tone by boosting even harmonics), Guarneri Balanced (even harmonics lifted, odds untouched), Bright Projection (harmonics 3–8 progressively boosted), Dark & Warm (higher harmonics rolled off), Hollow (even harmonics attenuated for a hollow, reed-like character).
- Harm knob in Character module — a new Amount knob (0–100%) blends the harmonic correction into the signal chain, between the Tone and Crackle stages. The profile itself is always loaded from the active Material profile; this knob controls how strongly it applies.
- Pitch confidence bypass — harmonic correction automatically fades to bypass when the YIN pitch confidence drops below 80% (chords, noisy signals), preventing artifacts on polyphonic input.
- AI preset isolation — the Harm amount is excluded from AI preset generation; harmonic correction is treated as instrument identity, not sound character.
- Preset persistence — harmonic profiles are serialized into Material profile state with full backward compatibility for existing presets.
v0.5.1
A major milestone: the entire project has been rebranded from SoundLab to Ferment. This release reflects our evolution as a sound exploration engine. All plugin binaries, branding, web presence, and documentation have been updated for consistency and clarity. The new tagline — "Press. Blend. Ferment." — captures our philosophy: hands-on control, integration with BLEND, and the iterative art of sound design.
- Project rename: SoundLab → Ferment — all user-facing elements, documentation, and branding updated across the entire product.
- New tagline: "Press. Blend. Ferment." — a concise expression of our design philosophy and integration with the BLEND expression controller.
- Plugin binaries renamed — all formats now display and ship as Ferment (VST3, AU, CLAP).
- Website rebranding — homepage, documentation, changelog, and terms of use fully updated with Ferment identity and messaging.
- Marketing alignment — refined copy emphasizing Ferment as an expressive, iterative sound exploration engine rather than a preset machine.
- Build system consistency — unified version numbering and build metadata across all plugin formats
- Metadata synchronization — updated branding across all configuration and bundling files
- Factory presets — refined 11 curated presets for Ferment audio engine
- Documentation — full website and user guide updated to reflect Ferment branding
v0.4.5
A deep DSP quality pass across the entire signal chain. The reverb engine has been rebuilt from scratch as a Feedback Delay Network with natural, clip-free tails. The octaver gains pitch-period tracking for near-perfect accuracy and sub-5ms onset. Compressor, character, and chorus all receive quality upgrades. Three new analog-inspired effects round out the chain: tube preamp blend, vinyl crackle, and console emulation — bringing the total to 90 parameters.
- FDN Reverb — the Spatial module is rebuilt around an 8-line Feedback Delay Network with Hadamard coupling matrix, replacing the previous Freeverb algorithm. Prime-number delay lengths eliminate metallic resonance, RT60-based feedback gives physically accurate decay, and a soft limiter prevents clipping entirely. 19% faster CPU usage as a bonus.
- Signal-adaptive pitch shifting — the Octaver now uses a real-time AMDF pitch detector with parabolic interpolation to find the exact signal period before each splice. Period-aligned jumps achieve ±2.5 cent accuracy across all intervals (UP1–UP12, DN1–DN12) and all tested frequencies (100–880 Hz).
- Octaver onset < 5 ms — pitch-up latency reduced from ~30 ms to under 5 ms through compact runway calculations and short period-aware crossfades.
- Compressor soft-knee & RMS — the Dynamics module now supports optional soft-knee compression (DAFX-standard quadratic curve in the knee region) and RMS level detection with configurable window, complementing the existing peak mode.
- Character harmonic enhancement — the Body control now generates even-harmonic content (2nd, 4th) for tube-like warmth. A new presence peak at 3.5 kHz adds definition when the Tone knob is pushed positive.
- Hermite cubic interpolation — the Multiply chorus engine upgrades from linear to 4-point Hermite cubic interpolation for cleaner, artifact-free delay reads during LFO modulation.
- Bass emphasis filter — a 150 Hz crossover splits the signal around the waveshaper, routing 60% of the bass content cleanly around the distortion stage. Keeps low-end tight even at high drive settings.
- Tube Blend — a new tube saturation preamp placed before the waveshaper. Adds asymmetric soft-clipping with even harmonics for subtle warmth or full-bodied overdrive. Blendable from clean to fully driven.
- Crackle — vinyl and tape noise generator. Random impulse bursts through a low-pass filter produce authentic surface noise — from subtle atmosphere to pronounced lo-fi character. Opt-in only, zero by default.
- Analog — console emulation with subtle stereo decorrelation, noise floor, and soft saturation. Adds the imperfections that make analog gear feel alive.
- 90 DSP parameters — expanded from 87 with the three new analog-inspired effects. SpiderConverter updated to map all 93 parameters (90 plugin + 3 virtual).
- 11 factory presets — curated starting points including Neon Coil (Electric Guitar), Campfire (Acoustic Guitar), Deep Root (Bass), Silver Thread (Violin), Glass Hall (Piano), Cathedral (Organ), Open Air (Vocals), and more — each tagged with instrument category and play style.
- Complexity removed — the Simple / Medium / Full complexity selector has been removed from Magic mode. The AI now always generates full presets, which proved more useful and less confusing than partial parameter control.
- RAII denormal prevention — a scoped guard sets CPU flush-to-zero flags at the start of each audio buffer, preventing denormal stalls globally across all feedback loops.
- Category-specific base curves — 14 instrument categories now have dedicated DSP parameter curves based on spectral analysis, making profile-driven presets more accurate out of the box.
v0.4.1
Smarter AI presets and a better offline experience. The SpiderConverter now controls 93 parameters with logarithmic scaling and level compensation, producing more musical results without a server connection. AI preset generation gains restraint rules that prevent unwanted distortion and crackle, plus proper tremolo routing. The build pipeline is now fully automated with smart change detection and automatic versioning.
- Expanded offline converter — the SpiderConverter (used when the server is unreachable) now maps spider chart values to 93 parameters instead of 87, with logarithmic scaling for more natural parameter curves and automatic level compensation to prevent volume jumps between presets.
- AI generation quality — layered generation strategy with keyword-aware mapping. Drive is now zero by default (only activated for explicit distortion keywords), crackle effects are opt-in only, and tremolo properly routes through LFO modulation matrix slots.
- AI preset validation — server-side rules catch common issues before they reach the plugin: drive guard (CurveType never exceeds Drive value), crackle guard (vinyl/tape noise only when explicitly requested), and modulation routing validation.
v0.4.0
The DSP core gets a serious upgrade. The waveshaper now models tube-amp behavior with input-dependent drive, power supply sag, and transformer coloration. The compressor gains professional lookahead detection, adaptive smoothing, and analog-style saturation. Under the hood, the entire DSP engine has been refactored into independent modules and CI/CD now runs across three platforms.
- Tube-amp waveshaper — the Shape module now models real amplifier behavior. Input-dependent drive uses an envelope follower (30% static + 70% dynamic), so the distortion responds to your playing dynamics. A smooth exponential S-curve replaces the previous linear mapping for more natural saturation.
- Power supply sag — simulates the voltage drop in a tube amp under load. Fast attack (~2ms) and slow release (~30ms) compress the drive dynamically, adding that "squish" feel when you dig in hard.
- Transformer coloration — an output transformer low-pass filter with drive-dependent cutoff (20 kHz clean → 3.5 kHz driven) and subtle pink noise modulation (±1.5% drive, ±2% cutoff) for authentic analog character.
- Lookahead compressor — the Dynamics module now uses a ~1.5ms ring buffer for lookahead detection, catching transients before they hit. Based on the Giannoulis/Massberg/Reiss method (JAES 2012) used by professional limiters.
- Adaptive gain smoothing — compressor smoothing scales with gain reduction depth (0.5ms base → ~2ms at -24dB GR), eliminating pop artifacts during deep compression with short release.
- Sidechain HPF @ 80 Hz — bass frequencies are filtered from the compressor's detection path, preventing low-end content from causing unwanted pumping.
- GR-dependent saturation — subtle asymmetric saturation that scales with compression depth. Transparent at 0 dB GR, mild analog character at -20 dB GR — adds warmth without coloring clean signals.
- Soft peak limiter — a symmetric limiter at 0.95 catches residual overshoots after compression, protecting your output from clipping.
- Program-dependent release — compressor release adapts smoothly to signal dynamics, speeding up on dense material and slowing down on sparse passages.
- Play style profiles — instrument profiles now include a play style (Bowed, Picked, Fingered, Struck, Sustained, Vocal, Percussion) that adapts dynamics, drive response, and transient handling to how you interact with your instrument. Auto-detection picks the best match from your instrument category, or you can override it manually.
- Save lock indicator — the Save button in Magic mode now displays a lock icon when a license is required, with clear visual feedback for remaining trial saves.
- Smarter offline fallback — when the Magic license trial expires and no license is active, Cast Spell goes directly to the local SpiderConverter instead of attempting a server call, with a distinct status message.
- Server activation fix — corrected the license checksum seed on the server side, resolving activation failures for valid keys.
- Carousel preset sync — switching between AI-generated presets in the Magic carousel now correctly updates the spider chart and preset name display.
v0.3.0
Material mode lands — Ferment now learns your instrument. Create a sonic profile of your guitar, bass, voice, or any source, and let both the AI and the knob interface adapt to its unique characteristics. Plus 18 factory presets, a modular DSP refactor, and 863 tests passing.
- Material tab — the third and final mode. Analyze your instrument's sonic fingerprint and create a profile that tailors the entire Ferment experience to your specific source.
- Instrument profiles — store up to 24 profiles (built-in references + custom). Record audio clips at different dynamics (quiet, normal, loud, articulation) and Ferment extracts spectral metrics: brightness, saturation, harmonics, centroid, attack time, and dynamic range.
- Spectrum analyzer — real-time visualization of your instrument's frequency content in the Material tab. See how your playing translates into spectral data.
- Profile-aware knobs — when an instrument profile is active, Machine knobs show green "sweet spot" arcs indicating the parameter range that works well for your instrument. An orange LED warns when you stray outside.
- AI + profile integration — Magic mode sends your instrument's spectral analysis alongside your text prompt. A "warm delay" for electric guitar now sounds different from a "warm delay" for voice — the AI tailors results to your instrument.
- 15 instrument categories — Electric Guitar, Acoustic Guitar, Bass, Piano, Voice, Synth, Drum, Strings, Brass, Woodwind, Percussion, Organ, Pad, Sample, and Generic.
- 18 factory presets — curated starting points across different styles and instruments.
- Preset v2 format — presets now store instrument profile context (name, category, analysis, knob mappings). Fully backwards-compatible with v1 presets.
- Multi-preset carousel — browse and compare 2–3 AI-generated presets in Magic mode before committing to one.
- Modular DSP refactor (Phase 6) — the entire signal chain has been refactored into 12 independent header modules. Cleaner code, easier to maintain, and more reliable.
- Profile-driven parameter curves — knob response is remapped (log/exponential) based on your instrument profile, so the same knob movement produces musically appropriate results.
- Save lock indicator — the Save button in Magic mode clearly shows a lock icon when a license is required, with visual feedback for trial saves remaining.
- Profile import/export — share instrument profiles with other Ferment users or back them up.
v0.2.0
The big one. Magic mode arrives — describe a sound in words or shape it with an intuitive radar chart, and let AI configure all 87 parameters for you. Plus a licensing system, new DSP modules, and significant reliability improvements under the hood.
- Magic mode — an entirely new way to find your sound. Type a description like "warm tape delay with subtle movement" and Ferment configures the entire signal chain automatically, powered by AI.
- Spider chart — shape sound across 8 intuitive axes: Warmth, Brightness, Space, Texture, Movement, Depth, Attack, and Width. Drag the handles, see the polygon change, hear the result in real time.
- Complexity selector — choose how deep AI goes. Simple (~10 key parameters), Medium (~30), or Full (all 87). Start broad, refine later.
- AI preset naming — every generated sound gets a creative name (think "Amber Growl" or "Molten Core"), making presets easy to remember and fun to browse.
- Iterative editing — refine what you have. Say "make it warmer" or "less reverb, more bite" and the AI adjusts from your current state instead of starting over.
- DC Blocker — automatic DC offset removal at the input stage. Keeps your signal clean, especially when stacking multiple processing stages.
- Noise Gate — adjustable threshold, attack, release, and hold. Tames noise during silent passages without killing the tails you want to keep.
- License activation — Machine mode stays 100% free, always. Magic mode exploration (spider, text input, AI generation) is also free. Saving presets from Magic requires a license, with 3 free trial saves to get you started.
- Offline fallback — no internet? Spider chart + local converter still works. If you've already activated a license, preset saving works offline too.
- Smarter server communication — context caching reduces AI processing costs by ~90%, meaning faster response times and lower overhead.
- Robust error handling — if the server is temporarily unreachable (deploy, network issue), Ferment falls back gracefully to local validation instead of showing cryptic errors.
- License persistence — activate once, stay activated. License state is cached locally so you don't need to re-activate every session.
v0.1.0
The foundation. A complete multi-effect audio engine with 87 parameters, built from scratch for expressive live performance. Machine mode gives you direct control over every aspect of the sound.
- 12-phase DSP pipeline — Input, DC Block, Pre-EQ, Shape, Dynamics, Modulation, Multiply, Temporal, Spatial, Post-EQ, Tempo/Sync, and Output. Each phase carefully designed for musical results at any parameter combination.
- Waveshaper — 4 saturation curves (soft clip, hard clip, fold, wrap) with continuous morphing between them. Add asymmetry, adjust the knee, dial in subtle warmth or aggressive distortion.
- Pre-EQ & Post-EQ — tone shaping before and after the effects chain. Pre-EQ with focus, low/mid/high controls. Post-EQ with 7 bands from sub to air.
- Dynamics — threshold, ratio, attack, release. Musical compression that breathes with your playing.
- Multiply — chorus and doubler engine with up to 8 voices. Detune, spread, delay, depth, rate, and humanize controls for everything from subtle width to massive walls of sound.
- Octaver — SOLA-based pitch shifting, one octave up and one down, with independent mix control. Clean tracking that follows your playing.
- Temporal — delay and echo with tempo sync, feedback, tone shaping, and stereo spread. 15 musical divisions from whole notes to dotted sixteenths.
- Spatial — Freeverb-based reverb with size, decay, damping, and pre-delay. Plus stereo width, pan, and mid/side processing for precise spatial placement.
- Character — body and tone shaping for that final sonic signature that ties everything together.
- 2 LFOs — parametric curve with skew and smooth, tempo sync, free-running or phase-locked. Shape any modulation waveform from gentle sine to aggressive random.
- Envelope follower — tracks your playing dynamics with adjustable attack, release, and sensitivity. Let your volume shape the effect.
- Mod Matrix — 4 routing slots, 17 destinations. Connect any modulation source to any parameter with smooth 256-sample crossfade transitions.
- Machine view — all 87 parameters organized in clear sections. Custom-designed knobs, toggles, dropdowns, and tab switches with a dark, focused aesthetic.
- Input filters — high-pass and low-pass at the input stage, letting you focus the processing on the frequency range that matters.
- Oversampling — off, 2×, or 4× for pristine quality when pushing saturation and nonlinear processing hard.
- 18 factory presets — curated starting points across different instruments and performance styles.
- JSON preset system — save and load your creations. Full parameter state preserved in a readable format.
- Level metering — input and output peak meters for gain staging at a glance.
- VST3 — 728 KB
- Audio Unit — 634 KB
- CLAP — 645 KB
- macOS 10.15+ (Catalina and later)
- DAW-tested with Logic Pro, Reaper, and standalone hosts (Carla, Element)
- Parameter smoothing (5ms anti-zipper) for flawless DAW automation
- Denormal prevention for consistent CPU performance