Vintage · Amber Triode — Walnut cabinet, hardware controls and tube filaments that respond to the input level, with Drive adding intensity.
Modern · Studio Tape — Graphite and aluminium styling with signal-driven tape reels. Four skins share the same DSP and can be selected from Menu → Skin or Settings.
Paper / Ink — Two minimal line-art skins inspired by the Blue Wings portfolio: warm paper with dark ink, or the Fire website's blue-black page with warm white text and peach accents. Both use the website's colours and typography. Flat controls, fine outlines, monospaced values and schematic tube/tape displays keep the interface quiet. Modulation-source colours remain identifiable, tube filaments still respond to audio, and tape reels retain their continuous transport. The selected appearance persists locally and does not alter presets, processing or undo history.
『Fire』 is a multiband distortion and modulation effect for AU, VST3 and CLAP hosts. Build independent Band and Master effect chains with analogue distortion colours, dynamics, modulation, delay, reverb and granular processing. Explore 236 factory presets across eleven collections in the full-page sound library, including 36 dedicated Analog Drive scenes.
Demo video:
(YouTube) https://youtu.be/U5UTz6kWVE4
(Bilibili) https://www.bilibili.com/video/BV11MWpzUEKA/
🎵 Home Page for Wings Music: Blue Wings Music
Hope you like it!
Thank you for downloading the Fire plugin!
When you try to load the plugin in your DAW on macOS, you may see an error like:
"Fire.vst3" cannot be opened because the developer cannot be verified.
This does not mean the plugin contains any virus or malicious code.
Instead, this is due to Apple’s security policy, which requires developers to:
- Enroll in the Apple Developer Program
- Pay $99/year
- Notarize and sign each build with an Apple-issued certificate
As an independent developer releasing free software, I currently do not have the budget to enroll in the paid program. Therefore, macOS treats this unsigned plugin as “unverified.”
To use the Fire plugin on macOS, follow these steps to manually allow it.
Copy the plugin files to the standard plugin folders:
# VST3
~/Library/Audio/Plug-Ins/VST3/
# Audio Unit (.component)
~/Library/Audio/Plug-Ins/Components/
# CLAP (if applicable)
~/Library/Audio/Plug-Ins/CLAP/macOS adds a quarantine flag to files downloaded from the internet. Remove it using Terminal:
xattr -rd com.apple.quarantine ~/Library/Audio/Plug-Ins/VST3/Fire.vst3
xattr -rd com.apple.quarantine ~/Library/Audio/Plug-Ins/Components/Fire.componentIf you're using the CLAP version:
xattr -rd com.apple.quarantine ~/Library/Audio/Plug-Ins/CLAP/Fire.clapSome DAWs still require the plugin to be signed, even if it’s local. You can apply an ad-hoc (self) signature:
codesign --deep --force --sign - ~/Library/Audio/Plug-Ins/VST3/Fire.vst3
codesign --deep --force --sign - ~/Library/Audio/Plug-Ins/Components/Fire.componentNow open your DAW. The plugin should scan and load without issues.
If you appreciate this plugin and would like to support development, you can consider donating via PayPal or sharing the plugin with others.
Thank you for your understanding!
Fire uses C++23 for both Projucer exports and CMake builds, including tests
and benchmarks. Use a compiler with C++23 language-mode support. The standard
is saved in Fire.jucer, so regenerating an IDE project retains this setting.
The project pins JUCE 9.0.3 in its JUCE submodule. Initialise submodules
before building; CMake and every Projucer exporter use this local copy.
Use Projucer 9.0.3 when re-saving Fire.jucer and regenerating native IDE projects.
The build automatically applies the version-pinned callback lifetime guards
in cmake-overrides/juce-9.0.3-callback-safety.patch. These protect controls
whose host deletes their editor during a gesture or enablement notification.
The patch leaves the JUCE commit unchanged, is safe to reapply, and stops with
an error if the dependency revision or edited source does not match.
To build plug-in bundles without installing them into the user's plug-in folders:
cmake -S . -B Builds/Release -G Ninja -DCMAKE_BUILD_TYPE=Release -DFIRE_INSTALL_PLUGINS=OFF
cmake --build Builds/Release --target Fire_AU Fire_VST3 Fire_CLAP -j6The AU target is available on macOS. Built bundles are under
Builds/Release/Fire_artefacts/Release/. Set FIRE_INSTALL_PLUGINS=ON to retain
the project's usual automatic copy behaviour.
Use Release builds when auditioning in a host. Projucer Debug configurations
do not automatically replace the installed plug-in. Fresh CMake Debug and
multi-configuration builds default to FIRE_INSTALL_PLUGINS=OFF; an existing
cache or explicit option is preserved. Set -DFIRE_INSTALL_PLUGINS=OFF when
reusing an older build directory. Debug output remains available in the build
directory for debugger sessions.
To build AudioPluginHost with the same pinned JUCE version, build it separately:
cmake -S JUCE -B Builds/JUCE9-Host -G Ninja -DCMAKE_BUILD_TYPE=Release -DJUCE_BUILD_EXTRAS=ON
cmake --build Builds/JUCE9-Host --target AudioPluginHost --parallelThe macOS app is in
Builds/JUCE9-Host/extras/AudioPluginHost/AudioPluginHost_artefacts/Release/.
Updating Projucer or rebuilding Fire does not update an existing AudioPluginHost.
- Open the
.jucerfile using Projucer. - Select your preferred IDE (Xcode, Visual Studio, etc.) in the Exporters tab.
- Open the generated project and build the target named Fire.
Note: You should choose Release mode rather than Debug mode. Debug builds may cause significantly higher CPU usage during audio processing.
If you don't have Projucer:
- You can build it from source at:
JUCE/extras/Projucer/Builds/... - Or download it from the JUCE latest release
If you have CMake and Ninja installed:
cmake -S . -B Builds -G "Ninja" -DCMAKE_BUILD_TYPE=Release
cmake --build Builds --config ReleaseThis will generate the builds in the Builds/ folder. You can then find the built plugin under:
Builds/Fire_artefacts/Release/
Tip: Use
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"on macOS if you want to build for universal binaries.
『Fire』has a top panel, a spectrogram, four graph visualizers, band effect, and global effect.
- Undo / Redo: The header menu and Cmd/Ctrl-Z, Cmd/Ctrl-Shift-Z or Ctrl-Y restore sound edits, including complete knob gestures, LFO curves/routings, EQ nodes and effect-chain changes. History stays in the processor when the editor is closed. Loading a DAW project starts a fresh history; audio-thread automation does not create history entries. Up to 100 edits are retained, within a 64 MiB snapshot budget. Undo keeps the current editor size.
- HQ: 4x oversampling for Band Shape and independently added Band/Master Shape modules, including Envelope and Macro modulation.
- A/B: Switch between A/B to compare.
- Copy: Copy current preset parameters to another (A/B) panel.
- Match: Learn and hold separate loudness compensation for A and B.
- Preset bar: Click the current sound name to open the full-page sound library. Choose a collection on the left, or search by name, colour and space. A single click loads a preset while keeping the browser open for auditioning; double-click, Escape or Back to Reactor returns to the processing page. Up/down arrows audition neighbouring sounds when the search field is not focused. The current sound stays highlighted. Collections have distinct dark colour palettes. Use each row's star to save it in Favourites; favourites persist in your local library. Delete moves user files into Fire's Recycle Bin and hides factory scenes. Restore returns them to their original collection, without switching the current sound or overwriting an existing user file.
- Factory scenes: 236 read-only starting points, with 20 scenes in each of Vocals, Synths, Drums, Bass, Guitar, Keys, Spaces, Lo-Fi, Rhythm and Effects, plus 36 scenes in Analog Drive. Scenes combine the analog circuits, spatial reverb models, compression, modulation and other effects, with four assigned macros. The catalogue expands each scene's complete state only when selected. Existing factory identities survive rescans and project restoration; user presets appear in their own collection. Save an edited factory scene as a user preset.
- Analog Drive collection: three authored scenes for each of the twelve hardware colours. Vocal preamps, electric-key colour, guitar breakup/fuzz, drum transients and Master bus treatments use different chains and tone/dynamics settings. Split-band bass scenes retain a clean mono foundation. Seven scenes use the input envelope to open the colour blend on stronger notes. Each scene uses one colour stage and starts in HQ. Macros are 1 Drive, 2 Tone, 3 Output trim and 4 Dry blend; Tone adds up to 3 dB around the scene's chosen presence/body frequency, Output trim reduces level to balance extra Drive, and Dry blend brings back the original signal. Look for Valve Bloom, Tweed Touch, Iron Program Bus and Tape Studio Print as starting points. Returning from the library selects the scene's active Shape module: Master treatments open in Master Lab, split-band colours focus the upper band, and single-band colours open in Band Lab. The sound's parameters stay unchanged.
- Save: Save your preset to user folder.
- Menu: Other settings including init, open preset folder, rescan preset folder, open GitHub page, check for new version.
Loop a representative passage, then turn Match on and play for about three seconds. The current side learns its processed level relative to the plug-in input, then displays a fixed compensation value in dB. Switch A/B and replay the same passage to learn the other side. Previously learned sides retain their own compensation, and Copy copies the current side's compensation too.
Click the value/Learn button to measure again; click it during measurement to cancel. The compensation stays fixed when you subsequently adjust controls. Turn Match off to hear the original output level; changes use a short gain fade. The Output knob, its automation, and the plug-in's reported latency stay unchanged. Host bypass passes the original bypass signal and pauses learning.
Measurement uses K-weighted energy over a short window, accepting only frames where both input and output contain usable audio. Play audio means there was insufficient signal; a previous valid compensation is retained. Correction is limited to ±18 dB, with LIMIT shown when full matching is outside that range. This is an audition aid, rather than an integrated LUFS meter.
Match settings and both learned gains are saved in the DAW project, separately from sound-preset files. Loading a sound preset clears the current side's measurement and learns again if Match is enabled. Older projects open with Match off. Closing the editor retains the comparison state in the processor.
- You can split up frequency to four bands for multiband distortion.
- You can click four switches on the right side of graphs.
- Drive:『Fire』 has several distortion functions, with Gain Comp, Safe and Extreme controls.
- Gain Comp: Estimates a level reduction from the audible Drive gain while keeping Output independent. The amount appears beside the Drive control. Older projects retain Legacy Link until explicitly upgraded.
- Safe: If your drive knob pushes your volume too loud, it will automatically reduce your drive value. It also shows reduced value on drive knob.
- Extreme: It expands the range of the the drive knob (from around +40db to around +60db) when it is enabled to give more distortion.
- Retification and bias: Change your distortion shape.
- Compressor: You can change threshold, ratio, attack, and release for each band.
- Stereo: Change audio width and pan.
- Output and mix: For each bandm you can change the output and the mix.
『Fire』 starts with four fully customizable LFOs and supports up to 16 sources.
- LFO Selection: Select a source in the scrollable left rail. Use + to add a source, or its remove button to delete it.
- Rate & Sync: The Rate knob controls the LFO speed. Click the BPM button to toggle synchronization with your DAW's tempo.
- Smooth: Adjusts the smoothness of the LFO shape.
- Phase: Adjusts the starting point (phase) of the LFO shape.
- Grid: The X and Y controls adjust the grid divisions in the editor for visual guidance and snapping.
The main LFO display allows you to create complex modulation shapes. It has two primary modes: Edit Mode and Brush Mode.
Edit Mode Controls:
- Add Point: Double-click on an empty space in the editor to add a new point.
- Delete Point: Double-click on an existing point to delete it. Note: The first and last points cannot be deleted.
- Move Point(s): Click and drag a point to move it.
- Adjust Curve: Click and drag the line segment between two points to adjust its curvature.
- Select Multiple Points:
- Hold Shift and drag to draw a selection box (marquee) around multiple points.
- Clicking on an already selected point allows you to drag the entire selection.
- Snap to Grid: Hold Ctrl (Windows) or Cmd (Mac) while dragging a point to snap it to the nearest grid line.
- Context Menu: Right-click anywhere in the editor to open a context menu with the following options:
- Select All: Selects all points.
- Clear: Resets the LFO to a default straight line.
- Copy / Paste: Copies the current LFO shape and allows you to paste it into another LFO editor.
- Invert: Flips the shape horizontally or vertically.
Brush Mode Controls:
- Activate Brush Mode to paint pre-defined shapes onto the grid.
- Use the dropdown menu next to the mode buttons to select a brush shape (e.g., Saw, Sine, Square).
- Click and drag within the editor grid to paint the selected shape. The brush will only respond to the left mouse button.
- Envelope / Macros: Open these controls from the matrix header. Envelope follows the raw plug-in input's linked stereo energy, with Attack, Release and Sensitivity controls and a live level display. Opposite-polarity stereo input does not cancel the detector. Choose Envelope as a routing source to make Drive, filters, effects or Mix react to the incoming performance.
- Macro 1–4: Four automatable 0–100% controls can each drive several destinations. Choose a macro in each matrix row, then set its depth and polarity. Their values ramp over 20 ms. Factory scenes preassign them to intensity, width, tone/space and dry blend; descriptions explain the scene. Source badges show ENV or M1–M4. These controls remain available with an empty LFO bank and are saved in sound presets, A/B and DAW projects. The seven added parameters use AU version hint 11, after every historical parameter; older states load neutral macros. Source configuration controls cannot be modulation destinations, preventing recursive source routes.
- Matrix Button: Opens the Modulation Matrix window, where you can assign LFOs to control plugin parameters.
- Assign Button: Engages "Assign Mode." While active, the next parameter you click in the plugin will be automatically assigned to the currently selected LFO.
The matrix presents each routing from Source → Destination → Depth, with signed percentage depth, bipolar/unipolar selection, an Active power button and a remove icon. Use Add routing to create a connection; close the window with its native close button or Escape. The column layout stays aligned while scrolling and resizing.
Assigned knobs use a translucent source-coloured range band. A bright outlined dot shows the current modulated value, while the neutral inner notch marks the base value. Bypassed modulation is dimmed and does not show a moving dot.
- Filter: you can set lowcut, highcut, and peak. Lowcut and highcut each has four slopes (12, 24, 36, 48) you can choose.
- Downsample: downsample your audio.
- Output and mix: for global control.
我也是一个音乐制作人,欢迎关注网易云音乐:羽翼深蓝
我的个人主页(之后会推出其他的音频软件)
I am also a music producer (Artist name: 羽翼深蓝 - BlueWings). Check out my music here:
Other Softwares by Blue Wings Music
5.1. A great example of using XML by johnflynnjohnflynn to save presets to file example. I changed the code to save presets as mutiple files.
5.2. Diode Clipping algorithm from JUCE forum
5.3. Spectrum Analyser by adriannaziel
5.4. SimpleEQ by matkatmusic
- Add reorderable band and master effect chains with Chorus, Delay, Reverb, Clouds Granular, Lo-Fi, Flanger, Phaser and Chord Resonator, plus band OTT.
- Add an interactive EQ with up to 12 nodes and a scrollable bank of up to 16 LFOs, with updated modulation controls and signal-driven visuals.
- Separate Drive compensation from Output in new states while preserving legacy Link behaviour when loading older presets and host projects.
- Harden state restoration, automation transitions, host bypass, oversized audio callbacks and non-finite input handling; update to pinned JUCE 9.0.3.
- Keep UI, updater and plug-in metadata on the build's version, and validate release tags and macOS bundle signatures before packaging. Stable tags create normal GitHub releases; tags containing a prerelease suffix remain prereleases.
This is a major feature update that introduces a comprehensive LFO modulation system and involves a significant refactoring of the plugin's core architecture.
-
New Feature: LFO Modulation System 🚀
- Four Independent LFOs: Added a new LFO panel with four fully customizable LFOs that can modulate most parameters in the plugin.
- Customizable LFO Shapes: Includes a powerful graphical editor to create custom LFO shapes. You can add, remove, and drag points, as well as adjust the curvature of segments between points.
- Brush & Edit Modes: Two distinct editing modes for flexible workflow. Use "Edit Mode" for precise point-based editing and "Brush Mode" to quickly paint preset shapes (Saw, Sine, Square) onto the grid.
- Modulation Matrix: A dedicated matrix panel to manage all modulation routings in one place.
- BPM Sync & Free (Hz) Modes: Each LFO can be synchronized to the host's BPM or run freely in Hz.
- Quick Modulation Assignment: A new "Assign" mode allows you to click any knob to instantly map it as a modulation target.
- Other New Features: Features like attack / release for compressor, new pan for stereo, and more downsample controls!
-
Major Code Refactoring:
- I refactored both UI and DSP code of this plugin so it is easier to modify and understand now.
-
Bug Fixes:
- Fixed a critical bug where the plugin might not load presets correctly.
- Fixed a bug to correct parameter and LFO state when adding/deleting bands.
-
Performance Improvement
- Highly improved performance compared to v1.5.0b.
- Refactored signal processing chain for significantly lower CPU usage.
- Optimized Waterfall Spectrogram with smooth animation and minimal CPU load.
- UI Improvements
- Mouse Wheel Q-Control: Adjust filter Q values by hovering over nodes and scrolling.
- Redesigned UI: A more logical layout with intuitive controls for a seamless workflow.
- Unified Color Scheme: New professional look with improved visual comfort during long sessions.
- Highly improved performance compared to v1.5.0b.
-
Add real-time value display on the global filter.
-
Refactor internal code structure to improve GUI rendering performance.
-
Fix a bug where VU meters were not visible in multiband (Band) mode.
-
Add a new setting to disable auto-update.
-
Fix phase issues in multiband mode:
- Frequency response is now flatter and more phase-coherent across bands.
- Fix phase shift issues when the Mix value is less than 1.
⚠️ Note: These improvements may slightly alter the sound of older sessions. Please freeze your audio if you are using a previous version of the plugin.⚠️ Note: In the default mode, the algorithm is set to "Cubic." This is a nonlinear distortion algorithm, so even when the drive is set to 0, the algorithm still affects the sound. If you want to output a completely dry signal that is not affected by the algorithm, you can set the mix (in band mode) to 0. In that case, it will output a flat response. -
For long-term product consistency, the manufacturer name has been changed to Blue Wings Music.
- The new plugin will not appear under the old "Wings" manufacturer in your DAW.
- You may need to manually remove the old version.
- Whether the new version automatically replaces the old one has not been fully tested.
- If it fails to replace the old plugin, please save your presets and re-import them in the new version.
-
Global Filter EQ gain range expanded from ±15 dB to ±24 dB. Add smoother to prevent noise when moving the global filter.
⚠️ Note: Important: This is a breaking change. Due to how DAWs store normalized parameter values, old presets and projects will sound different after the update if you used the global filter. I'm sorry about that 😭.
- Add a button for more Drive gain (E-Extreme).
- Fix a bug of compression settings and width settings can not be set for each band independently.
- Add original spectrum (white).
- Improve GUI of VU meters.
- Refactor the code of frequency lines and close buttons.
- Fix a crash in Fl Studio of v0.9.9.
- Fix audiobuffer pointer bug when setting history array.
- Fix the bug of changing presets that might cause wrong frequency line positions.
- New close buttons for each band.
- Other GUI improvements.
- Add Extreme button for more distortion.
- Check update when opening the plugin.
- Support JUCE 7.
- Fix a bug that changing presets doesn't reset new params.
- Add a Limiter in the global mode.
- Fix the bug of freezing distortion graph before playing the audio. (in Logic Pro)
- Fix the bug of global mix button phasing issue.
- New function! When you move your mouse to the spectrogram, the peak frequency and decibel will be calculated.
- New separate bypass buttons for each band.
- Improve width graph, reduce CPU usage.
- Fix the bug that close button sometimes doesn't work.
- Fix phasing issue in HQ mode.
- Fix low frequency drop in HQ mode.
- v0.9.3 - v0.9.7 has those bugs
- Fix HQ not working bug in v0.9.6.
- Add fade in/out of frequency text labels.
- Fix a crash when turn on HQ mode in mono channel mode in Logic Pro.
- Improve graphs in mono channel mode.
- Fix an issue where graphs are not refreshed before playing in Logic Pro.
- Smoothed the graph of spectrogram.
- Fix Logic Pro crash.
- Add GitHub CI.
- Fix vst3 bug.
- Fix A/B mode bug.
Warning: Previous presets won't work, you have to resave your preset!
- For VU meters and width graph, each represents to each band instead of global.
- Add more details to VU meters.
- Add "solo" buttons, change "enable" buttons to "bypass" buttons.
- Remove "None" option in the distortion functions, because it causes bug(in version 0.9.3) and you can bypass the band now.
- Add bypass buttons for compressor, width, filter, downsample.
- Add 4 new distortion functions.
Warning: Previous presets won't work, you have to resave your preset!
- Redesign GUI.
- Fix multiple bugs of multiband control(enable buttons, focus band, vertical lines, etc.), redesigned the code structure.
- Add new filter control and filter graph.
- Fix other bugs such as preset box selection, A/B mode, bypass repaint issue, etc.
- Now you can click graph to zoom in and out.
- GUI improvement.
- Add shape, width, and compressor groups.
- Spectrogram display bug fixed.
- Add VU meter and width graph.
- Add frequency label, and frequency automation bug fixed.
- Drive knob reduction and GUI improvement Fix a bug that in global mode menu won't change when selecting different bands.
- First Beta release.
From v.0.9.4, I changed the license to AGPL-3.0.
- Currently, up to version 0.9.4 is free for music producers, audio programmers who start to learn JUCE. You can fork, modify my code, but projects that used my code must be open-source.
-
Do not create an app and distribute it on the iOS app store.
-
Do not use the name "Fire", "Wings", or "羽翼深蓝Wings" for marketing or to name any distribution of binaries built with this source. This source code does not give you rights to infringe on trademarks. If you wanna use it for commercial, please send me an email. Otherwise, your software has to be open-source.
OTT is an independent upward/downward dynamics module in Band Lab. It uses Fire's existing one-to-four frequency bands and runs after Compressor and before Stereo, with no additional latency. The dynamics concept is described in the Ableton Multiband Dynamics reference.
- Add or move crossover points in the spectrum using the existing band controls.
- Select OTT in Band Lab, choose a band, and enable that band's OTT power button.
- Drag the spectrum's lower (upward) and upper (downward) threshold lines vertically. Dragging another band's line selects that band. A fading Up or Down readout identifies the threshold during editing. The lines share the spectrum's dB scale; double-click resets a threshold, and arrow keys allow precise changes.
| Control | Function |
|---|---|
| Depth | Strength of both upward and downward compression, from 0 to 1. |
| Time | Attack/release scale, 10–400%. At 100%, the linked peak detector uses 5 ms attack and 100 ms release. |
| Up Thresh | Raises detail below this level. Remains at least 6 dB below Down Thresh when edited. |
| Down Thresh | Compresses signals above this level. |
| Gain | OTT output trim, −24 to +24 dB. |
| Mix | Blends this band's OTT signal with its input; zero is transparent. |
The stage uses 4:1 upward and 8:1 downward ratios with soft knees. Upward boost is limited to 24 dB and tapers off near the noise floor. Both channels share the detector and gain, preserving the stereo image. Parameters can be configured while OTT is bypassed, and all six continuous controls support LFO routing and host automation.
OTT uses a blue-violet palette distinct from Compressor. Threshold lines have no circular handles or permanent numeric labels. OTT knob values and the band's Output/Mix values fade in during a drag, keyboard focus or text editing, then fade out when the interaction ends. The dynamics panel retains slim input/gain meters and reveals exact readings during OTT edits.
Ribbons rise for upward compression and sink for downward compression. Their shape, local opacity and saturation follow the live logarithmic spectrum; motion strength follows wet-weighted dynamics activity, excluding output trim. Higher-frequency energy produces faster ripples. Dragging a threshold previews its direction even without audio, and the preview fades away on release. Stale audio telemetry settles back to idle.
OTT settings participate in presets, A/B comparisons and band copying. Older projects load with OTT disabled, preserving their existing processing. Existing parameter IDs and automation indices are retained.
Reverb now has Classic, Room, Hall, Plate, Spring and Chamber models. Classic retains the original processing and automation mapping. The new models use tuned diffusion and feedback-delay structures; Spring adds frequency-dependent allpass dispersion. Choose the model beside the reverb controls. Size, Damping, Pre-delay, Width, Low Cut and Mix remain available on their existing host IDs. Model changes fade through the dry signal and clear old delay history without reallocating in the audio callback.
Shape also offers twelve Analog Hardware colours: Warm Triode, Bright Pentode, Class A Console, Tweed Breakup, British Crunch, Modern High Gain, Diode Overdrive, Germanium Fuzz, Silicon Fuzz, MOSFET Drive, Transformer and Tape Saturation. These circuit-inspired colours combine nonlinear stages with input/tone filtering, power-supply sag and magnetic memory. The original twelve digital modes and their host automation ranges remain unchanged. New model selections use independent appended parameters and smooth mode transitions.
The amplifier colours use a normalised RC supply and coupling-capacitor bias model. Output-load current depletes the supply; rail voltage changes clipping headroom and the operating point, and both recover according to their circuit time constants. Transformer uses a Jiles–Atherton magnetic material law coupled to the winding voltage/flux equation, including irreversible magnetisation and remanence.
Tape Saturation replaces the former feedback colour with a biased magnetic recording model, complementary record/playback equalisation, and playback-gap, spacing and coating-thickness losses. Its nominal 55 kHz bias runs at an adaptive internal clock; HQ uses fewer internal subdivisions at its higher input rate, so it does not multiply the RF solver cost by another four. The bias-only steady state is prepared and shared outside the audio callback. Tape uses uncoupled Jiles–Atherton domains for practical multi-instance processing, while Transformer retains mean-field coupling. Tape's material and 15 ips head parameters are generic, rather than a measured clone of a named machine. The magnetic modelling reference is Chowdhury's DAFx-19 paper; Fire uses bounded exponential field integration instead of the paper's time-domain Runge–Kutta solver. These upgraded analog colours can sound different from earlier unreleased builds.
Magnetic value/slope coefficients and material scale factors are cached, and the Transformer winding solver reuses its converged candidate. Tape skips pinned domain solves and parks a settled silent RF path while continuing its bias phase. These optimisations keep the physical models, RF clock and head-loss filters.
Analog pages use a hardware faceplate. Tube filaments follow the band or master input level, with Drive increasing their intensity. Silence extinguishes the glow even at maximum Drive; a perceptual level curve keeps quiet signals visible at modest Drive, with a quick attack and a short cooling tail. The tape transport turns while audio arrives and winds down when callbacks stop. The artwork is cached and animation runs only while its panel is visible. Both Band Shape and independently added Master/Band Shape instances offer these colours; each added analog Shape has its own Drive control.
Choose Menu → Skin → Modern / Vintage / Paper / Ink, or use the four appearance buttons in Settings. Modern uses graphite and aluminium; Vintage combines a bevelled walnut cabinet rail and recessed charcoal control fascia with solid walnut side cheeks and a front rail, warm grey metal operating panels, physical keycaps, dark ribbed bakelite knobs and cream scales. The choice is saved as a local appearance preference. Existing open instances keep their selected skin; new instances use the saved preference. Switching skins preserves the current sound, preset and undo history. Vintage, Paper and Ink workspace, module and LFO selections change immediately; Modern retains its sliding selection indicators. The tape display includes reel hubs, guide rollers and a head shield; the colour display has graduated, uncalibrated intensity scales and a moving needle. Paper and Ink use responsive schematic line drawings for tubes, tape reels and circuits. All four skins keep the independent, continuous reel animation and signal-driven tube illumination.
Use CHAIN → + in either Master Lab or Band Lab to select a DSP module. Both workspaces share Drive, Shape, Compressor, OTT, Stereo, EQ, Lo-Fi, Chorus, Flanger, Phaser, Delay, Reverb, Granular and Chord Resonator. Every row, including the initial modules, can be bypassed, moved or removed with its − button. Removed modules can be added again, and each chain supports up to eight additional independent instances. Master Analysis is a removable display page. The module rail keeps five fixed-height rows visible and scrolls as more effects are added. The selected module scrolls into view automatically.
| Effect | Controls |
|---|---|
| Chorus | Rate, Depth, Delay, Feedback, Width, Mix. |
| Delay | Time (10–2000 ms), Feedback, Tone, Ping-Pong, tempo Sync, Mix. Sync offers 1/16 through one bar, including dotted eighth/quarter notes, within the two-second delay capacity. |
| Reverb | Size, Damping, Pre-delay, Width, Low Cut, Mix. |
| Granular | Clouds: Position, Size, Pitch (±24 semitones), Density, Texture, Mix, Spread, Feedback, Reverb and Freeze. Clouds is the sole granular engine. |
| Lo-Fi | Rate, Bits, Jitter, Tape, Wow, Flutter, Mix. |
| Drive / Shape / Compressor / OTT / Stereo | The corresponding core DSP controls, independently available in both workspaces. |
| EQ | Up to 12 independent points per instance, with Frequency, Gain, Q, filter type, slope and point power. |
All Granular inserts use a port of Mutable Instruments' Clouds normal granular mode, with its grain scheduler, window shapes, diffusion, feedback and reverb. Density selects regular grains to the left, random grains to the right, and no new grains in the centre. Texture moves from sharp to smooth grain envelopes, then adds diffusion. Position selects progressively older audio. The expanded Clouds control page uses the space normally occupied by the waveform display.
Freeze holds the recording while grains continue to play. Completed frozen recordings are now saved in presets, A/B snapshots and host projects, including their stereo PCM and ring position. The original 32 kHz / 16-bit material survives host sample-rate changes, effect deletion followed by Undo, and band reordering when a frequency band is removed or added. Newly inserted/reused slots start empty. Scheduled grains, feedback and reverb tails restart on restoration; the saved recording remains the same. Saved files use a bounded, versioned, compressed payload with length and integrity checks. Presets may be up to 12 MiB to accommodate multiple frozen slots. Older files without recorded audio retain their previous empty-buffer capture behaviour. With an empty recording, Freeze captures fresh audio before holding it. Spread, Feedback and Reverb support host automation and LFO modulation.
The Clouds core runs at the original 32 kHz, stereo/16-bit quality, with band-limited conversion to and from the host sample rate. Its wet bandwidth and intentional granular texture follow that design. Fire retains its transparent dry path and linear Mix control. The alternate stretch, looping-delay and spectral modes, hardware trigger input and lower-fidelity quality modes are not included. This is a desktop adaptation, not a claim of bit-identical hardware emulation. Upstream source revisions, licensing and portability fixes are documented in the Clouds port notes. Regression coverage and reproducible CPU measurements are in the Clouds validation report.
Granular now uses Clouds exclusively; the engine selector and the original Fire granular DSP have been removed. Older Fire granular states are converted once to Clouds controls on load. Pitch and Mix are preserved; Size, Density, Position and Spray are mapped to the closest supported Clouds controls. This migration changes the sound of old granular presets. Existing Clouds presets keep their values. The old engine parameter IDs remain inert reserved slots so later automation indices do not move; they cannot select another engine.
Lo-Fi is available in both workspaces, including multiple instances. Rate, Bits, Jitter and Mix sit above Tape, Wow and Flutter. Tape adds saturation and a softer high-frequency response; Wow introduces slow pitch drift and Flutter adds faster pitch variation. Zero Jitter/Tape/Wow/Flutter preserves the previous insert processing.
Built-in modules and insert effects run in the same freely reorderable list, before the chain's Output/Mix controls. Drag any module, including Drive, Shape, Compressor, Stereo, OTT, Master EQ and Lo-Fi, to change its processing position. Analysis is a movable display page and does not process audio. Older presets retain their original audio order (OTT before Stereo, and Master Lo-Fi before EQ); the list now displays that order. Drive and Shape retain their legacy combined processing when adjacent in that order, and run as separate stages when moved apart. Hover any module to reveal its − remove button, or drag its name/body to reorder it. A floating preview and insertion line indicate the destination; holding near the list edges scrolls to offscreen effects. The new order is committed once on release. Escape, dropping outside the list or changing workspace/band cancels the drag. Removing the selected effect selects its nearest remaining neighbour. The power button bypasses each effect, and the context menu also provides move/remove actions. Reordering retains that slot's parameters and LFO assignments. New effect values fade in while editing; the waveform shows the selected band's output or the master output.
Every insert retains its six normalized host controls with effect-specific labels and units in Fire's UI; Clouds adds a separately versioned set of controls. LFO modulation, presets, host state, A/B comparisons and band copying include the new controls. New host parameters are appended with a newer AU version hint, and older projects load empty insert racks with Tape/Wow/Flutter at zero. Empty slots prepare only lightweight timing state. Effect buffers are prepared on demand outside the audio callback; generic host type automation requests a background preparation worker, and the slot smoothly stays dry until its engine is ready. Previously used effect families are retained for quick switching. The plug-in reserves a fixed delay budget for independently insertable Shape stages. In legacy-only recipes the unused budget is placed at the output, preserving the original DSP/sample clocks and Lo-Fi sound; when independent Shapes are present, the rack uses that budget to align its slots. Independently added Shape uses this budget for its HQ oversampler and aligned module Mix; other modules use a pure delay. The host receives one fixed PDC value across HQ automation and module insertion/removal (83 samples, about 1.7 ms at 48 kHz). Band Mix, Global Mix and host bypass retain aligned dry paths. Delay, pitch modulation, granular playback and reverb additionally create their intended time offsets and tails in the wet signal. Tail reporting reserves conservative bounds so hosts do not cut long echoes prematurely; a frozen Clouds buffer or maximum feedback reports an infinite tail.
The Band Lab View dropdown switches between Waveform, Transfer, Meters and Stereo. Auto follows the selected module. A manual choice remains selected when changing modules or bands; dragging Drive temporarily previews Transfer and restores the previous view afterward. Hidden graphs stop their display timers.
EQ is available in Master and Band chains and supports up to 12 points per instance. The original Master EQ also supports spectrum editing. Double-click an empty area of the spectrum to add a bell at that frequency and gain, or use the + in the EQ panel. Drag a point to change frequency/gain; scroll over it for Q. Select a point to show its Frequency, Gain, Q, Filter Type and Slope controls. The numbered selected dot in the bottom navigation grows smoothly; click another dot, or use left/right arrows while a dot has keyboard focus, to change points. − removes the selected point; Delete/Backspace also removes it when the spectrum has focus.
Types are Bell, Low Cut, High Cut, Low Shelf, High Shelf, Notch and Band Pass. Slope is available for cut filters (12/24/36/48 dB per octave); Gain is unavailable for Notch and Band Pass. Points can be bypassed individually. The EQ remains editable while its global power is off; adding a point enables it for audition.
The original three points keep their parameter IDs, ranges and filter response, including the cut filters' gain/Q shaping. New points occupy fixed parameter slots: deleting a neighbour does not move automation or LFO assignments. EQ points and routing are saved in presets, A/B states and host projects. Adding/removing an EQ point leaves other effects' delay tails and Clouds Freeze recordings intact.
The LFO BANK rail uses the same width and row spacing as the Band Lab chain. Use + to add a source (up to 16), and hover or focus a row to reveal its remove button. The rail scrolls without shrinking its rows and brings the selected source into view. All sources may be removed; the empty bank offers + to start again.
Slots keep their identities: deleting LFO 2 does not renumber LFO 3 or move its routes. Removing a source clears its routes; other sources and audio-effect tails continue. Reusing a slot starts with a fresh shape and timing settings. Only present sources appear in Assign and Matrix menus. Old projects retain their original four sources; presets, A/B and host state save the expanded bank.
EQ, LFO, insert, band and master ordinary rotaries share the same control and dial sizes at each UI scale. The main Drive control retains its larger emphasis size.
The large Drive dial uses a single proportional pointer; its modulation range and source badge stay visible without extra pointer marks. In Shape Forge, a short gradient highlight follows the LFO curve with a soft trailing glow. It uses the phase actually read by the audio engine, including phase offsets and timing corrections. The glow wraps across the cycle boundary, stays below edit handles, and follows free-running audio even when transport is stopped. When audio callbacks stop, it holds the last real position and fades out. Waveform and glow masks are cached; movement redraws only the old and new highlight regions.
Shape Forge uses a compact icon toolbar: a grid opens Matrix, connected points select Edit Mode, and a brush selects Brush Mode. Controls stay on one row at supported window sizes. Assign uses a routing/status icon, with a text confirmation when space permits; full status text remains available through its tooltip and accessibility description. Hover tooltips, keyboard focus and accessible names explain each control. Active tools pick up the selected LFO colour; switching edit modes keeps the toolbar and curve in place.
Waveforms use warm left and cool right traces, a restrained glow and a bright live endpoint. Pixel buckets retain the extrema in the available display history, preserving brief transients that point sampling could miss. Both channels share a bounded display gain, so quiet signals stay quiet and the stereo balance remains visible. Silent sections return to faint reference lines.
The spectrum uses a fine bright edge with a subtle fill and a slower release. Shape-preserving curves round the trace between measured frequency points without inventing peaks or changing FFT resolution. Device-resolution raster layers are reused for opacity transitions; transparent traces skip drawing, and held peaks update independently from the live trace. Peak-preserving pixel reduction keeps narrow peaks aligned with their dB readouts. Traces settle below the display floor, and bypass clears held peaks as well as live data. Graph cards use a soft hover edge and an expand/restore icon. All motion follows signal data or interaction; static geometry is cached and hidden displays stop their animation timers.
Both Band Lab and Master Lab offer Flanger and Phaser in the CHAIN + menu. Each uses a normal insert slot, so multiple instances can be combined, reordered, bypassed and removed independently. Their six controls support host automation and LFO assignment; presets, A/B and band copies retain the complete setup.
- Flanger mixes a swept short delay with the dry signal for a comb-like, metallic sweep. Controls: Rate, Depth, Delay, Feedback, Width, Mix.
- Phaser mixes a six-stage all-pass chain with the dry signal for moving notches and a rounded, swirling sweep. Controls: Rate, Depth, Center, Feedback, Width, Mix.
Start with Mix at 50% to hear the cancellations clearly. Width offsets the internal sweep between left and right; set it to zero for a centred sweep. Negative feedback gives an alternative resonance character. Mix at zero and bypass retain the dry signal; bypass and ordinary parameter changes fade smoothly. These effects add no reported processing latency. When Flanger starts or resumes from a fully cleared bypass, it first fills its short delay under dry audio, then fades the wet signal in. This avoids exposing the edge of an empty delay buffer while inserting an effect on sustained audio.
Existing effect Type automation retains its six original choices and values. The new algorithms use an appended Modulation Type host selector (Standard / Flanger / Phaser); the plugin's CHAIN menu handles it automatically. Old presets and projects load with Standard selected.
Add Chord Resonator from the CHAIN + menu in Band Lab or Master Lab to excite a tuned harmonic bank with the incoming audio. Multiple instances can be reordered, bypassed and saved independently, just like other inserts. Band instances listen to their selected band's signal; Master listens to the complete signal at its position in the chain.
Choose Root (C2–C5; middle C is C4) and Chord from the two selectors. The eight voicings are Major, Minor, Major 7, Minor 7, Sus 2, Sus 4, Fifth and Octave. The note readout shows the chosen voicing. Four ordinary rotaries shape the result:
- Color sets the balance of the fundamental and upper harmonics.
- Decay sets the nominal time for the resonances to decay by 60 dB (0.05–3 seconds).
- Width spreads the resonant voices in stereo; zero gives each voice equal left/right gain while retaining the input's stereo channels.
- Mix blends the dry attack with the resonant sound.
Start with a harmonically rich bass or a rhythmic noise/percussion source and the default C3 Minor 7 voicing. To keep the sub intact, place the effect on a mid/high band. It colours frequencies excited by the input; it does not automatically detect a key or retune arbitrary audio. No MIDI or external carrier is needed. Root/chord changes crossfade, while continuous parameters support LFO modulation and host automation. The effect adds no fixed processing latency, and silence produces only the existing decaying tail. The wet path removes DC bias, and controlled gain transitions prevent stored harmonics from causing a sudden level jump when Color or Width is increased.
The previous Type and Modulation Type host selectors retain their ranges and automation positions. A new per-slot Chord Resonator flag selects this algorithm; the CHAIN menu manages it automatically. Older presets and projects load with these flags off.
Gain Comp lives on the Drive page and estimates a level reduction from the Drive gain actually being applied, including its LFO modulation, Safe limiting, Extreme mode and bypass transition. At ordinary, unrestricted settings it retains the approximate Drive 60 → −6 dB relationship. This is an estimate for convenient sound design, rather than a loudness measurement.
The reduction is applied at the end of the Drive stage (or the adjacent joined Drive/Shape stage). Output stays independently adjustable, and later effects receive the compensated signal. Changing Gain Comp no longer directly turns down an already-recorded tail in a downstream delay or reverb. Bypassing Drive returns its compensation smoothly to unity; a joined Shape Mix at zero also removes compensation for the inaudible Drive contribution. Reordering Drive moves its compensation with it. Compressor remains a separate, reorderable effect.
The readout shows the applied gain while audio is running. ≈ marks a base Drive/Extreme estimate when current audio telemetry is unavailable; it does not pretend to track an unheard LFO or Safe limiting. Off and Bypassed make inactive states explicit. Use Match / Learn afterwards for an actual whole-chain listening-level comparison; its learned adjustment remains fixed until learned again.
New instances and newly created bands use Gain Comp. Existing presets and projects retain Legacy Link, including its old override of the stored Output setting. Their Drive page offers Use Drive Comp to explicitly switch that band to the new behavior and enable compensation. This restores the stored manual Output value and changes the compensation's position, so the sound can change. Merely opening the editor never upgrades an old project. Both modes are saved independently per band and on both A/B sides; existing parameter IDs and automation positions remain unchanged.
The header and Settings page use a vector 火 mark based on the original
Fire logo. The header's Wings signature uses the original angular wing motif.
Editable transparent SVG versions live in assets/images/firelogo.svg and
assets/images/firewingslogo.svg; the UI draws cached paths at the current scale.
The Fire mark's warm edge, small flame tongues and sparks follow the global output RMS and peaks. Loud sounds and attacks produce stronger motion, while quiet sounds stay restrained. It works with live input even when the transport is stopped and is independent of the selected band. Silence or stopped audio callbacks settle to a still gold mark. Hidden editors discard old fire energy and require fresh audio after reattachment. This shares the existing UI clock, stops header animation repaints once settled, and adds no audio-thread work.


