V-ConvoLive
Fwuzeem Audio C-Series
What it is
V-ConvoLive is a live convolution reverb for loading, auditioning, and switching impulse responses. It uses partitioned FFT convolution, decodes and normalizes IRs on a background loader thread, and exposes dry, wet, mix, and makeup controls. When a new IR engine is installed, JUCE’s convolver crossfades from the old engine to the new one over about 50 ms rather than clicking; the previous convolution tail fades out during the handoff instead of being hard-truncated. V-ConvoLive does not add a separate plugin-level gain crossfade around the dry/wet path, and its parameter changes remain block-quantized.
Controls & parameters
IR management
| Control | Function |
|---|---|
Load IR | Opens the IR file chooser. The editor lists WAV, AIFF, FLAC, MP3, and Ogg files. |
< / > | Loads the previous or next alphabetically sorted IR in the current directory. Directory cycling scans WAV, AIF, AIFF, and FLAC files. |
| IR status | Shows the current IR name or a loading/failure status. |
Bypass / bypass | Bypasses all processing and returns the input without convolution. This is the zero-CPU path. Default is false. |
The decoder reads the first channel of the file into a mono IR, validates it, limits it to 10 seconds at the current engine sample rate, and normalizes it to a 50% peak. The normalization gain is capped at 100x. A silent or non-finite IR is rejected.
Audio controls
| Parameter ID | Display name | Range | Default | What it does |
|---|---|---|---|---|
dryGain | Dry | -16 to 0 BS, step 1 | 0 BS | Applies 2^BS to the dry path. This range is attenuation only. |
wetGain | Wet | -16 to 0 BS, step 1 | 0 BS | Applies 2^BS to the input before convolution. |
mix | Mix | 0 to 100%, step 1% | 50% | Sets the final balance: 0% is all dry and 100% is all wet. |
makeupGain | Makeup | -16 to +16 BS, step 1 | 0 BS | Applies 2^BS after dry/wet mixing. |
dryEnabled | Dry On | Boolean | true | Enables the dry contribution. |
wetEnabled | Wet On | Boolean | true | Enables the wet input and wet contribution. |
BS means bit shift. +1 BS is exactly x2, -1 BS is exactly x1/2, and one step is 6.0206 dB of ratio change. The final dry contribution is dryGain * (1 - mix). The final wet contribution is the mix ratio; wetGain is a separate pre-convolution input trim.
Workflow / how to use it
- Insert V-ConvoLive on a mono or stereo audio path. The input and output layouts must match.
- Choose
Load IRand select an impulse response. Decoding and normalization happen asynchronously; the IR becomes active after the loader publishes it. - Use
<and>to browse the sorted WAV, AIF, AIFF, and FLAC files in that IR’s directory. Loading a new file hands the response to JUCE’s convolver, which crossfades the old engine to the new one over about 50 ms once installed. - Set
Mixfor the dry/wet balance. Use Dry and Wet BS as ratio trims around that balance. At0 BS, the corresponding trim is unity; at-1 BS, it is half level. - Use
Makeupafter the blend when a final power-of-two correction is needed. Start conservatively, especially with positive values. - Turn off Dry or Wet when that contribution is not wanted. Use the main Bypass control when the entire effect should be taken out of the processing path.
- For a live set, prepare a directory of alphabetically sorted IRs and use Previous/Next to audition alternatives. Expect the previous reverb tail to fade out during the roughly 50 ms handoff, and check the full dry/wet transition at performance level before relying on it.
Use cases
- Live reverb switching. Keep a folder of room, plate, spring, or other IRs and cycle through it during a performance. The convolver’s roughly 50 ms old-to-new handoff lets the previous tail fade out, but the dry path has no separate plugin-level gain crossfade, so rehearse the complete transition.
- IR browsing and auditioning. Load one response, use Previous/Next to compare neighboring files, and use Mix plus Makeup to level-match them. The browser order is alphabetical.
- Hardware-style dry/wet staging. Think in halves and doubles rather than dB. Use
-1 BSfor half-level dry or wet trim,-2 BSfor quarter level, and Mix for the actual balance. - Parallel reverb return. Put V-ConvoLive on an effect return, set Mix to 100%, keep Wet On, and turn Dry Off so the return contributes the convolved signal. Use Wet BS and Makeup as power-of-two return trims.
- Zero-CPU comparison. Use Bypass to compare the source and reverb without the convolution stage running. This is separate from disabling only the Wet checkbox.
Specs & requirements
- Brand: Fwuzeem Audio; manufacturer code
Fwzm. - Formats: AU and VST3. No Standalone target is declared for V-ConvoLive.
- Audio I/O: Mono or stereo; input and output layouts must match. No MIDI input or output.
- IR formats: WAV, AIFF/AIF, and FLAC are supported by the cycling path. The file chooser and decoder also expose MP3 and Ogg, but those formats are not included in directory cycling.
- Convolution: Partitioned FFT convolution with separate mono processing paths for left and right in stereo use. A stereo IR is read from its first channel by the current decoder.
- IR length and rate: Up to 10 seconds at the engine/session sample rate. The processor accepts the host’s prepared sample rate; it does not publish a fixed 44.1 to 192 kHz restriction.
- Processing precision: FP32 internal processing. FP64 host callbacks are converted through a pre-allocated float bridge.
- Latency and tail: The plugin does not publish a fixed documented latency value; actual timing is determined by the convolution engine’s internal partitioning.
getTailLengthSeconds()reports 0 even though a loaded IR can be up to 10 seconds long. - Programs and state: One host program; APVTS parameters and the current IR path/name are saved in XML state. A missing saved IR is reported as
IR Not Foundand is not published to the convolver. - Platform: The workspace audio-toolbox build guidance targets macOS 10.15 or later.
Notes / caveats
- IR engine handoff. When JUCE’s convolver installs a replacement engine, it crossfades old to new over about 50 ms. The previous tail fades out rather than being hard-truncated. V-ConvoLive does not add a separate plugin-level gain crossfade around the dry path, so the handoff is not an all-path gain crossfade.
- Controls are block-quantized and unsmoothed. The seven DSP parameters are refreshed every 8
processBlockcallbacks. A change can wait almost eight block durations, then applies as a hard step with no slew or interpolation. - Makeup has a very large positive range.
+16 BSisx65536, or about+96 dB. Use positive Makeup values with care to avoid clipping or unexpectedly large levels. - Wet Off does not remove the convolution workload. The wet input is zeroed and the convolver still runs. Main Bypass is the zero-CPU processing bypass; disabling Dry or Wet is not equivalent to it.
- IR normalization is not transparent level matching. Every valid IR is scaled toward a 50% peak, with a 100x normalization cap. Very quiet IRs can therefore receive substantial boost, while silent IRs are rejected.
- Stereo IRs are currently reduced to channel 0. Left and right convolver instances receive the same mono IR derived from the file’s first channel.
- Tail reporting is conservative but incomplete. Hosts receive a zero-second tail report even when the active response contains a long reverb tail.