Log InCreate An Account
  1. Plugins
  2. »
  3. Bjt2
  4. »
  5. Crescendo
  6. »
  7. Details

Crescendo

Synth (Hybrid) Plugin by Bjt2
MyKVRFAVORITE26WANT37

Version 1.0.200 beta released; https://www.kvraudio.com/news/crescendo-version-1-0-200-beta-released-67084:

Latest improvements:

  • Compiled with the latest Visual Studio (2026, ver. 18.6.1, compiler 14.51) and SDK (10.0.28000.1839).

  • Soundfont: Code restructure for bugfixes and better performance of the generated code, exploiting the new features of OSCG. Re-import all your files.

  • Changed default font weight.

  • Introducing Non-Local Means (NLM) denoising engine. Directly from medical research, MRI denoising algorithm applied to the 1D audio domain.

  • Added BIQUADEQDB function for invertible equalization.

  • Reverb Engine Rehaul. New REVERB4 instruction with more parameters. Completely rewritten help with pro-tips.

  • Filter oversampling option, up to 16x, in the QUALITY instruction, with sharpness option.

  • "Power Oversampling" mode: High-ratio decimation (up to 257x) using customizable windowed sinc FIR filters.

  • Engine and UI bugfixes and performance enhancements.

For the HIGHLIGHTS, see here.

For feature requests, suggestions and bugs, please use the official thread on KVR: https://www.kvraudio.com/forum/viewtopic.php?t=581986

For instrument file exchange and other tips use this thread: https://www.kvraudio.com/forum/viewtopic.php?t=620964

Crescendo is Freeware: it is free to use, copy and distribute. See License.TXT in the ZIP file for details.

Crescendo Crescendo Crescendohttps://static.kvraudio.com/i/b/crescendo178a.jpg Crescendo Crescendo Crescendo Crescendo Crescendo Crescendo
Crescendo by Bjt2 is a Virtual Instrument and a Virtual Effect Audio Plugin for Windows. It functions as a VST Plugin.

MyKVR: Groups, Versions, ...

56 KVR members have added Crescendo to 9 MyKVR groups 76 times.

Download KVR Studio Manager (FREE)

Not In Your MY KVR Groups
(or group limitation prevents versioning)
+9 in private groups

KVR Rank

Overall: 42   42

30-Day: 257; 7-Day: 2625; Yesterday: 1421

{See video at top of page}

https://www.youtube.com/watch?v=kNydv4RgEn4

https://www.youtube.com/watch?v=xhWLq1YWU8k

Crescendo is a free, programmable VST plugin for Windows. It allows users to create custom virtual instruments, audio effects, MIDI effects, and MIDI sequencers.

Crescendo is Freeware: it is free to use, copy and distribute. See License.TXT in the ZIP file for details.

The plugin supports a wide range of features, including:

  • Multi stage pipeline: MIDI pre-processing step, layered instrument sound generation and audio post-processing step, all in a single plugin.

  • The layered instrument sound generation module follows the industry standard paradigm (e.g. SoundFont, common DAW's samplers) and it's compatible with it: musician accustomed to it will find a familiar programming environment.

  • Soundfont 2.04 file import (tested with this ~4GB 24-bit file: https://musical-artifacts.com/artifacts/2525).

  • All processing steps are optional, so you can have a MIDI effect/sequencer, and Audio effect (with optional MIDI pre-processing step/sequencer) and a instrument VST (with optional MIDI pre-processing step/sequencer and optional audio post-processing step).

  • The MIDI pre-processing step includes various processing features: arpeggio or chord generation, a full MIDI processor to create or modify MIDI messages, a built-in programmable sequencer and support for temperaments (microtuning), with temperament blend feature, SCALA, TUN, and KBM files.

  • The building blocks for MIDI pre-processing step, layered audio processing step and audio post-processing step are the assignments: a variable or a note parameter or a VST parameter or a MIDI CC or an audio output can be programmatically modified for each sample with an unlimited complex expression including constants, variables, keywords, audio inputs, audio outputs, sends, VST parameters, MIDI CCs, mathematical operators, oscillators, envelopes, filters, effects and other functions.

  • The audio post-processing step, the MIDI pre-processing step and each layer can have an almost unlimited number of assignments (limited only by the CPU power).

  • Almost unlimited oscillators (both sampled and synth), LFOs (both sampled and synth), envelopes, filters, distortions, and other effects per layer, completely automatable with custom formulas.

  • Each automatable parameter can be automated with an unlimited complex formula, that in turn can have automated parameters that can be automated with a complex formula, and so on.
  • General oscillator function, that allows the automation of amplitude, frequency, phase (for true FM modulation), optional envelope and even loop mode, loop number and loop points in real time and for each sample. It is usable for oscillators and LFOs. Autophase option for synth data, to simulate ever running oscillators, useful for varying detuned unison. This means that you can automate with LFO or perform FM modulation also with sampled data.
  • You can use default values or formulas for the various automatable parameters. The more default values you use, faster is the oscillator function. E.g. if your needs of automation are a default standard formula for frequency and gain with simple linear automation (in cents and dB), plus a simple envelope and/or LFO, you can use the simplified oscillator.
  • Configurable Sinc interpolation: windowing function, sinc lobes, oversampling.
  • Power oversampling: up to 257x windowed sinc FIR filter for synth data.
  • Configurable filter oversampling: up to 16x with sharpness control.
  • Automation at trigger time of the sample slot number, to dynamically change the base sound (sampled or synth) of an oscillator based e.g. on a Keyswitch or MIDI CC or VST parameter.

  • Complete set of effects, including, flanger, phaser, chorus, compressors, noise gates, Non-Local Means (NLM) denoising and a professional grade Reverb with up to 13 parameters.

  • The sequencer has a custom programming language to create, delete and modify notes and MIDI messages on the TAPE, an abstraction on which the messages are stored. This TAPE can also be filled in real time with your live performance and the TAPE (with the merging of live messages and past messages) can be processed in real time by a sequencer program, to create, delete or modify messages.

  • PREV instruction to get the previous sample and implement ANY closed loop system, linear and non linear, like IIR filters, EKS algorithm, (see the digital waveguide test audio file on the right and this on line course: https://ccrma.stanford.edu/~jos/pasp/pasp.html).

  • MIDIOUT instruction to output periodically the value of an expression on a specific MIDI CC and channel on the VST's MIDI Output.

  • MIDIPOST instruction that allows to create a custom mini program to modify Note ON and OFF messages, both from user and from the Sequencer, before temperament step. This mini program will be executed after the basic MIDI processing instruction and allows more complex MIDI processing if needed.

  • MCCCTL instruction: Per MIDI CC and channel input and output enablement.

  • RPN/NRPN messages support. Reading, and linking with other MIDI CC or VST parameter.

  • Support for uncompressed WAV, AIFF, and AIFF-C audio files.

  • Conversion of unsupported audio and video files using FFMPEG, if available, with caching of converted files.
  • Drag & drop support for audio, SCALA, TUN, instrument and SoundFont files.
  • Multiple audio inputs and outputs (up to 101 inputs and 100 outputs).
  • Multi instrument files (program and bank support).
  • Multi channel support (multiple program and bank: each channel can have a different instrument selected).
  • MIDI Polyphonic Expression (MPE) support.
  • HOLD and SOSTENUTO pedals support.
  • LEGATO, mono and polyphonic PORTAMENTO, GLIDING support.
  • Real-time Progress Monitor: Background loading window during project recall.
  • UI personalization: DPI-aware, fully customizable interface: custom colors, fonts, positions, sizes, custom background image, custom knobs colors, indicators, dimension and knob skinning support, with chromakey and anti-aliasing options and flicker-free rendering.

  • UI BRANDING: customize the UI and vendor strings, hide load buttons and make a fully custom plugin.

  • UI performance: bitmap caching, configurable anti-aliasing and refresh rate.

  • Audio Safety: Configurable Overload/NaN protection system to ensure engine stability under extreme modulation.

and much more (see the Highlights here or the PDF manual in the ZIP file)...

Crescendo has been tested on 64-bit Windows 10 with the following DAWs:

  • Ableton Live 9.7.5.

  • LMMS 1.2.2.

  • Audacity 3.6.1.

  • Reaper 7.19.

  • VSTHost 1.57.

  • Savihost64.




Introducing the Non-Local Means (NLM) Denoising Engine:

The core philosophy of this restoration engine is to bypass the historical limitations of spectral subtractors. Traditional noise reduction plugins rely heavily on Fast Fourier Transform (FFT) analysis, which inevitably introduces pre-ringing, phase smearing, and the infamous "musical noise" artifacts (gargling, metallic transients) due to threshold masking in the frequency domain.

By operating entirely within the pure time-domain, the custom Non-Local Means (NLM) engine evaluates the statistical self-similarity of the audio stream. It detects and preserves coherent musical harmonics while mathematical variance isolates and attenuates chaotic, unstructured noise.

Key Architectural Pillars:

Medical-Imaging Port (MRI-Grade Filtering): This engine features a first-of-its-kind porting of state-of-the-art denoising algorithms originally developed for high-resolution Medical Imaging (such as MRI and CT scans). These complex 3D spatial filtering techniques have been meticulously adapted and optimized into a 1D real-time audio stream, providing unprecedented precision in separating micro-dynamics from background hiss.

Custom Hyperbolic Kernel: Instead of relying on traditional transcendental exponential functions—which are computationally heavy and often exhibit aggressive truncation curves—the algorithm introduces a proprietary hyperbolic weighting kernel. This custom mathematical implementation is not only significantly faster on a clock-cycle level, but it also delivers a smoother, more natural decay curve that prevents gating artifacts on low-level acoustic decays and reverb tails.

True Zero-Latency Time-Domain Processing: For real-time applications, the engine can operate with absolute zero latency. By avoiding block-based frequency transformations, the phase response of your track remains perfectly linear, making it safe for live filtering, tracking, or insertion into complex mixer routing matrices where phase alignment is critical.

Optional Bidirectional Look-Ahead Mode: When maximum restoration quality is required, the engine can be switched into a bilateral/bidirectional mode. By introducing a minor, predictable host-compensated latency (a few hundred samples), the algorithm gains the ability to analyze future samples. This look-ahead capability improves statistical accuracy, allowing for deep restoration without compressing the perceived depth of the audio.

Dual-Mode Processing Scalability: The architecture scales seamlessly from zero-delay, lightweight setups designed for live monitoring, up to massive, high-precision parameter boundaries optimized for critical offline rendering and mastering.

Technical Insights & Optimization Guide:

The default settings included in the example files have been forge-tested through long experimentation sessions on highly dynamic 1970s masters and tape tracks containing prominent background hiss.

When configuring the engine, it is important to understand the nature of the target noise:

Impulsive Noise (Vinyl Crackles): Due to the statistical, continuous nature of Non-Local Means analysis, highly impulsive transients like clicks, pops, and vinyl crackles cannot be drastically reduced. The algorithm is designed to protect transients, meaning sudden impulses are interpreted as valid musical events rather than continuous noise.

Continuous Noise (Tape Hiss & Master Hum): This is where the NLM engine excels. Broadband tape hiss, analog preamp noise, and master hum are perfectly manageable.

The NLM demonstration video available above showcases the capabilities of the engine simulating a heavy hiss environment. Note that the noise level usually found in high quality '70s masters is much lower than seen in the example video (-60dB vs -50dB).

How to Dial in the Parameters:

Strength (First Step): Always treat the Strength parameter as your primary control. It acts as the threshold scaling for the noise-floor evaluation. Adjust this first until the hiss recedes to a comfortable level.

Block Size (The Quality Factor): If your CPU speed allows it, increase the Block Size. Increasing the block size is completely safe, does not introduce phase distortion, and represents the most effective way to improve the fidelity of the audio restoration. For optimal results, it is highly recommended to keep the Block Size over 100 samples in Bidirectional mode or over 200 samples in Zero-Latency mode. This is particularly ideal for offline mastering rendering.

Window Size: While a larger search window can increase statistical accuracy and filtering power, raising it too high introduces a risk of time-domain artifacts. Keep the window size conservative: try to not exceed 10 samples in Bidirectional mode or 20 samples in Zero-Latency mode for live denoising (this is required to be able to use a block size of at least 100). If you want to go over that limit, it is advisable to use offline processing. In any case prioritize maximizing the Block Size: if you want to increase the window size and so the filtering power, at least try to keep the ratio of window size to block size over 20-30x.

Important Sample Rate Notice:

The sample numbers and boundaries specified above (e.g., 10/20 for Window, 100/200 for Block) are calibrated for standard 44100 Hz and 48000 Hz sampling rates. If you are operating within high-resolution projects (96 kHz, 192 kHz, or higher), these sample limits must be scaled up proportionally to cover the same temporal duration (in milliseconds). Please note that the computational complexity is proportional to the product of block size and window size, so doubling them for 96 kHz sampling rate means quadrupling the CPU load for each sample. Since the sample rate is also doubled, this mean a load eight time the original one; real-time live processing may become too heavy for the CPU: in these scenarios, utilizing the plugin within an offline rendering/mastering workflow is highly recommended.




Latest enhancements, in case you missed them.
Newest first
:

1.0.200 beta:
Compiled with the latest Visual Studio (2026, ver. 18.6.1, compiler 14.51) and SDK (10.0.28000.1839).

1.0.199 beta:
Soundfont code restructure for bugfixes and better performance of the generated code, exploiting the new features of OSCG. Re-import all your files.
Changed default font weight.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.198 beta:
Soundfont: Fixed bug causing missing layers in specific circumstances. They are now correctly summed and stacked. Re-import all your files.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.197 beta:
Performance enhancements on the NLM filter code: up to 20% on old CPUs.
Tweaked kernel function and weights to allow increasing more the window without artifacts.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.196 beta:
NLM Filter: removed a performance hack that was compromising audio quality.
NLM Filter: optimized NLM thresholds and removed stereo-link and linear weighting. Now NLM uses only an hyperbolic weighting function.
NLM Filter: added bidirectional (look-ahead) version, in addition to the zero latency version.
NLM Filter: New NLM filter examples including multi stage versions.
NLM Filter: Performed experimentations with actual noisy audio files to find the best settings.
Example files have manually tuned settings. Just tune strenght or increase block/windows size if necessary.
Added BIQUADEQDB function for invertible equalization.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.195 beta:
UI bugfixes for some GPUs or Hosts.
Tweaked NLM/NLMH weights.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.194 beta:
Added NLMH with hyperbolic weights. RECOMMENDED: better than NLM in most situations
.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.193 beta:
Introducing Non-Local Means (NLM) denoising engine, directly from medical research: Porting MRI statistical denoising to the 1D audio domain.
Bugfixes and performance enhancements.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.192 beta:
Introduced UIMOD option for setting the Zoom.
Save the Zoom in the DAW project file.
Changed default font to Segoe UI with improved ClearType rendering and sub-pixel alignment for better readability.
Fixed UI rendering artifacts: Standard controls now correctly inherit background textures and transparency for a seamless 3D look.
Fixed UI residual flickering and performance enhancements.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.191 beta:
Introduced REVERB4: a new, fully-extended instruction with 13 automatable parameters for total control over the prime-number matrices.
Inverted Signal Topology: Reversed the internal chain (now Diffusion -> Tank) to improve transient response and eliminate "muddy" onsets.
Presence Boost: Refined the Early Reflections stage to act as a presence reinforcer (optimized for Grand Pianos and percussive attacks).
Standardized parameter names across all versions to align with professional studio terminology.
Full rewrite of the manual section covering the REVERB suite, including technical tips on the parameters and geometric scaling.
New Example: Included a dedicated "Full Reverb" effect file to showcase the new architecture.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.190 beta:
NaN related Bugfixes: better avoidance of NaNs and better treatment of them.
Performance enhancement.
Updated "RandomPad.txt" example for improved stability and tone.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.189 beta:
Added sharpness option to QUALITY to configure the anti-aliasing alignment for filter oversampling.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.188 beta:
Added oversampling option for filters, up to 16x, in the QUALITY instruction.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.187 beta:
Modified "Power Oversampling" mode: now up to 257x windowed sinc FIR (default 10x) and applied to all synth data.
Improved reliability when suspending the VST.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.186 beta:
Introduced "Power Oversampling" mode:
High-ratio decimation (up to 200x) using customizable windowed sinc FIR filters.
Less aliasing artifacts on high-pitched notes.
Preserves full spectrum up to 22kHz.
Increased cap to ww in QUALITY.
Show executed sequencer instruction in debug mode, to debug the script.
Bugfixes (temperament blend, synth oversampling).
New Content: Added a "Random Pad" sequencer example to demonstrate generative textures and script-based FM modulation.
Compiled with the latest Visual Studio (2026, ver. 18.5.1) and SDK (10.0.26100.7705).

1.0.185 beta:
Modified EQ3DB: automatic resonace to have flat response if gains are zero Db (or equal).
Added Fade2GreyV3 example.
Bugfixes and performance enhancements.
Compiled with the latest Visual Studio (2026, ver. 18.4.3) and SDK (10.0.26100.7705).

1.0.184 beta:
New, correct implementation of EQ1DB and EQ3DB.
Added resonance parameter and EQ3DB2.
Added delay and ping pong delay with feedback with 3 sub bands and optional distortion.
Added Fade2GreyV2 example.
Bugfix Glide.
Compiled with the latest Visual Studio (2026, ver. 18.4.3) and SDK (10.0.26100.7705).

1.0.183 beta:
Added BRANDING feature: customize the look and brand identity of Crescendo, creating your own plugin
.
Various bugfixes. Reimport your Soundfont files.
Compiled with the latest Visual Studio (2026, ver. 18.4.3) and SDK (10.0.26100.7705).

1.0.182 beta:
Added 32-bit version.
Compiled with the latest Visual Studio (2026, ver. 18.4.3) and SDK (10.0.26100.7705).

1.0.181 beta:
Added more predefined temperaments.
Added secondary temperament option for temperament blend.
Compiled with the latest Visual Studio (2026, ver. 18.4.2) and SDK (10.0.26100.7705).

1.0.180 beta:
Bugfix POST step.
Added option to KNOB instruction.
Added Temperament blend feature.
Compiled with the latest Visual Studio (2026, ver. 18.4.2) and SDK (10.0.26100.7705).

1.0.179 beta:
UI: Introduced Double Buffering and bitmap caching for flicker free UI even on older systems.
UI bugfixes and performance enhancements.
Compiled with the latest Visual Studio (2026, ver. 18.4.1) and SDK (10.0.26100.7705).

1.0.178 beta:
UI: Introduced KNOB instruction: advanced customization of Knobs, with floating point parameters and Chromakey (transparency) on skin images.
Engine and UI bugfixes and performance enhancements.
Compiled with the latest Visual Studio (2026, ver. 18.4.0) and SDK (10.0.26100.7705).

1.0.177 beta:
UI: Knob skinning, even different for each Knob (see UIMOD 100+).
Engine and UI bugfixes and performance enhancements.
Compiled with the latest Visual Studio (2026, ver. 18.3.2) and SDK (10.0.26100.7705).

1.0.176 beta:
Bugfixes and performance enhancements.
UI: Implemented configurable rate limiters for GUI and DAW updates (see UIMOD 5).
Compiled with the latest Visual Studio (2026, ver. 18.3.2) and SDK (10.0.26100.7705).

1.0.175 beta:
Added real-time progress monitoring during project recall.
UI embellishments: almost flicker free instrument loads/reload.
Bugfixes.
Compiled with the latest Visual Studio (2026, ver. 18.3.2) and SDK (10.0.26100.7705).

1.0.174 beta:
User manual small fixes and increased images quality.
Bugfixes and performance enhancements.
UI: Bugfixes and performance enhancements.
UI: Added transparency and background image for the whole plugin editor window.
Added options for configure the UI redraw speed.
Added option to configure Overload/NaN protection.
Compiled with the latest Visual Studio (2026, ver. 18.3.2) and SDK (10.0.26100.7705).

1.0.173 beta:
Bugfixes and performance enhancements.
User manual small fixes.
Added integrated FM modulation in OSCG.
Compiled with the latest Visual Studio (2026, ver. 18.3.2) and SDK (10.0.26100.7705).

1.0.172 beta:
Small corrections to the User Manual.
Added memory barriers in some places.
Made WAVETABLE, WAVESCAN and GRAINSYNTH sample slot automatable at trigger time.
Added WAVETABLE01 and WAVETABLES for scaled offset and phase distortion synth tutorial with WAVETABLES.
Added unconditional GOTO (and EXIT) instructions. Optimization if the IF condition is const const.
Change of behaviour of glide automation and clarifications in the manual.
Compiled with the latest Visual Studio (2026, ver. 18.3.2) and SDK (10.0.26100.7705).

1.0.171 beta:
Reworked and expanded the User manual.
Many examples, tutorials and explainations were added
.
Increased some structure limits.
Added limits section to the User Manual.
Performance optimizations (+10%-20% speed depending on the CPU).
Bugfixes (handle leak, RETRIG mode and EXECIF).
Added MIDISWAP instruction.
Added CHEBY for Chebyshev distortion.
Added MOOGG, MOOGG0 functions (6, 12, 24, 36, 48 Db/Oct, LP, HP, BP, Notch, All Pass) with configurable distortion type (including Chebyshev). Updated MOOG1F for better numerical stability.
Added filter step in OSCG, including FILT and MOOGG features (distortion, etc...).
Added continuous glide time automation.
Added partial quantization in sequencer, TIMING and PITCH steps.
Added trigger time automation to some parameters of VELOCITY, PITCH and TIMING instructions.
Added NOISE extended MIDI CC for probabilistic EXECIF and IF.
Modified WAVESCAN and GRAINSYNTH to utilize absolute sample positioning.
Compiled with the latest Visual Studio (2026, ver. 18.3.2) and SDK (10.0.26100.7705).
Added AVX 10.2 version.

1.0.170 beta:

Bugfixes on SILTH. Updates and clarifications in the user manual.
Added UIMOD option for configuring the antialiasing of the UI.
Updates and clarifications on the user manual.
Compiled with the latest Visual Studio (17.14.18) and SDK (10.0.26100.6584).

1.0.169 beta:

Tweaked compiler flags and function inlining to obtain higher speed.
Compiled with the latest Visual Studio (17.14.13) and SDK (10.0.26100.4188).

1.0.168 beta:
Bugfixes.
Compiled with the latest Visual Studio (17.14.10) and SDK (10.0.26100.4188).

1.0.167 beta:
Bugfix: infinite loop in parser if there is not a last empty line.
Compiled with the latest Visual Studio (17.14.9) and SDK (10.0.26100.4188).

1.0.166 beta:
Bugfixes.
New example file.
Modifies to MIDIOUT behaviour. Check the user manual.

1.0.165 beta:
Added Hyperbolic functions: tanh, atanh, sinh, asinh, cosh, acosh.
Added MOOG filter simulation functions.
Corrected parsing bug.

1.0.164 beta:
Changed defaults on REVERB for imported SoundFont files. Reimport all files.
UI: Speed up of file loading, reducing the repaint frequency.
Added Tooltips to Super FM.txt.

1.0.163 beta:
Added Super FM.txt: carrier and modulator with custom shape
Corrected bug on EXECIF.

1.0.162 beta:
Updated the user manual.
Removed extra parenthesis in Ping Pong Effect.txt
Corrected bugs on Keyswitches.

1.0.161 beta:
Added License.TXT and License.MD. Added copyright notice in the log window. Crescendo VST is Freeware software.
UI Bugfix: when you change the BANK number, now the program names on the knobs or text boxes are updated.
Update the user manual with mention of AVX10.1 support.

1.0.160 beta:
Repack struct fields and variables for speed.
Added AVX10.1 version (Visual Studio 17.4).

1.0.159 beta:
Compiled with the last Visual Studio Build and SDK.
Fixed FM Bass.txt.
Bugfixes, memory and speed optimizations.
Added LOWBYTE and HIBYTE functions.
Updated the manual: some clarifications, some additions, added tutorials.

1.0.158 beta:
UI: bugfixes, cosmetic fixes and performance enhancements.

1.0.157 beta:
UI bugfixes when opening multiple Crescendo Editors with different background colors.
Auto hide upper bar when personalizing file name.
New example file.

1.0.156 beta:
UI enhancements: knob text, knob style options, file name style options.

1.0.155 beta:
Bugfixes on sequencer.
Bugfixes on integer or rounded VST VARs on some DAWs.
Bugfix: update the DAW knobs only every 100ms and not continuosly.

1.0.154 beta:
Bugfixes.
Debug: now the number of errors is shown and the debug log is forced if there are errors.
Introduced PLAYRAW, PLAYMOD, MERGERAW, MERGEMOD, to set SEQUENCER behaviour.

1.0.153 beta:
Bugfixes, performance optimizations, code restructure, duplicate elimination.
Implemented some VST<->Host commodity functions.
Now IF supports full fledged expressions as operands.
Introduced VAR(nnn) function and MCCnnnn and VARnnn keywords.
Deleted SHMCC and SHMCC2, substituted with assignments: now you can put any Keyword (including MCCnnnn and VARnnn) on the left of an assignment, to set any MIDI CC with an expression.
Introduced MCCCTL and flags to enable single MIDI CC input and output (including Note ON/OFF).
Introduced MIDIOUT: periodic output of an expression in a MIDI CC/VST VAR.
Introduced MIDIPOST: a full NOTE ON/OFF parameters programmable processor.
User Manual updates and clarifications.

1.0.152 beta:
Various bugfixes.
Functions SHMCC, SHMCC2: Periodic output of an expression in a MIDI CC/VST VAR with all side effects (MIDI output, MERGE, etc.).

1.0.151 beta:
Allow compact Knobs (without texts) to pack more of them in the UI. See the User Manual for details.
Bugfix: support UTF-8 also in DEBUG log.

1.0.150 beta:
Bugfix: rounding error and off velocity in detune MIDI output.
Verified of detune support in VSTHost.
Modified and unified some debug messages.
User Manual update.

1.0.149 beta:
Added Crescendo-MIDI.dll versions, featuring a default of zero audio inputs and zero audio outputs.
Allow to specify also 0 and 1 inputs and 0 outputs in the IO instruction: if both are zero some DAWs treats Crescendo as a pure MIDI effect.
Tested on VSTHost 1.57 (x64 version) and verified as working. All three versions supported. In particular Crescendo-MIDI.dll is treated as a pure MIDI effect.
Changes to the User Manual to reflect the new mode and the new I/O limits.

1.0.148 beta:
Bug on DELAY: deallocation mismatch.

1.0.147 beta:
Introduced SMOOTH, to configure the MIDI CC smoothing.
Introduced MAXDLY, to configure the maximum delay to be supported.
Bugfix reverb: scale reverb to be of the same level of input signal. Modified default Dry/Wet in the example files.
Memory optimization for REVERBx: allocate only the needed RAM.

1.0.146 beta:
Bug when CHOKE is active: silence only if the Layer ID is the same, otherwise only one layer per note can be played.

1.0.145 beta:
DEBUG LOG cosmetic fixes.
Reverse Polish Notation parser bug: some invalid combination was not rejected.
NaN protection: check only the final output and not all LAYERs.
NaN protection: perform a suspend/resume cycle if NaN or output greater than 100dB detected.
Correction to the User Manual.

1.0.144 beta:
Added INZ keyword to access INPUT #1 in both LAYERs and POST step.

1.0.143 beta:
Bugfix: allow UTF-8 in Tooltip text. Add Chinese translation to some tooltips (Google Translate) to show it.

1.0.142 beta:
Added reverb widening/shrinking Knob in Reverb example file.
Added TOOLTIP instruction to add tooltips to knobs.
Added tooltips to some example files.

1.0.141 beta:
UI performance optimizations and bugfixes.

1.0.140 beta:
Use separate Autophase position, to avoid autophase reset when song position changes (e.g. loops).
Modified effects with classic Dry/Wet control in the example files and SoundFont import. Reimport all files.
Standalone Ping Pong Effect example file.
Lowered Fc from 15K to 5kHz in REVERB0.
More robust NaN protection.
Updates to the Manual.

1.0.139 beta:
Bugfixes on playing start, quantization, retrigger duration, NOTE OFF only on stop and not song position change.
Bugfixes: reset VST only on messages 120-122. With messages 123 and onward perform Note OFF only.

1.0.138 beta:
Many bugfixes. In particular broken beat/sync envelope options.
Added new example file.
Added corrections, clarifications and tips in the user manual.
Slight change to OSCG and ENVx options (see the manual).
RPN/NRPN and channel mode messages support.
Send all changes on MIDI output, including initializations.
MIDI sequencer full redesign: multichannel, processes also MIDI messages and VST Vars, modular and much more.
Compiled with the last Visual Studio and SDK.

1.0.137 beta:
Bug on POLY multichannel.
Corrections on the User Manual.

1.0.136 beta:
MIDI Polyphonic Expression (MPE) support.
Resolved bugs on multichannel ONLEGATO, ONFIRST, ONRROBIN.
Introduced polyphony option per channel (for MPE support).
Introduced SHOLD option for continuous sampling and holding after release (for MPE support).
Advertise MPE support to the DAW.
Modified the manual for MPE support. Added MPE tutorial.
Compiled with the last Visual Studio and SDK.

1.0.135 beta:
Complete multichannel/multiinstrument support (See PDF Manual). Reimport SoundFont Files.
TEMPERAMENT now supports actual cents and not only deltas from EQUAL temperaments.
Oversampling now applies also to Synth oscillators.
Added IF instruction to the sequencer.
Resolved bugs and performance enhancements.
Rewritten the PDF Manual with new sections.
Compiled with last Visual Studio version and SDK.

1.0.134 beta:
Added 2 decay envelope (for Yamaha DX7 emulation) function.
Added 2 decay envelope option to OSCG.
New FM bass example file.
Updated the manual with more FM oscillator examples.
Compiled with the last VisualStudio version, using last SDK security update.

1.0.133 beta:
Resolved bug on forced release when sustain >0.
Implemented SUPERSAW, SUPERSAW0 and SUPERSAW1.

1.0.132 beta:
Fixed a bug when used with Reaper. Verified as full working on it.
Verified as working on Audacity (effect only).
Bugfix on sampled data start/restart in POST step.
Compiled with last Visual Studio version.

1.0.131 beta:
Bugfix on Drag&Drop.
Compiled with last Visual Studio version.

1.0.130 beta:
Bugfix on forced release.
Introduced CHOKE instruction to activate forced release for repeated notes to simulate e.g. piano single note behaviour.

1.0.129 beta:
UI bugfixes and tweaks.

1.0.128 beta:

Added multiplier for VELOCITY MIDI step, depending on note key to perform simil low/high/band/notch pass filtering.

1.0.127 beta:
DPIAWARE instruction to optionally force DPI_AWARENESS in the HOST process.
RNDN function for Gaussian noise.
Compiled with the last Visual Studio version.

1.0.126 beta:
Compiled vanilla, AVX, AVX2 and AVX512 versions of the plugin. Check with your CPU. Vanilla version works on all x64 CPUs.

1.0.125 beta:
Bugfixes and workarounds for hosts that don't support DPI awareness: force DPI awareness on the host process.
Compiled with the last Visual Studio.

1.0.124 beta:
Fixed some debug messages.
Added border thickness settings for knobs.
Compiled with the last Visual Studio.

1.0.123 beta:
Added oversampling option in QUALITY instruction.

1.0.122 beta:
Bugfixes.
Made envelope statuses double precision to avoid roundoff with high decay or release times.
Performance enhancements: restructured some code.
Performance enhancements to SoundFont generated code. Reimport all files.

1.0.121 beta:
Bugfix PEDAL and SOSTENUTO. Added more debug messages.
SoundFont IMPORT: added HOLD and SOSTENUTO knobs to all files, linked with MIDI CC 64 and 66. Reimport all SoundFont files.
Compiled with the last Visual Studio: good performance enhancement.
UI bugfix and performance enhancements.
Added some tooltips.
Use mouse wheel on some text to change DEBUG and HIDEUI on the fly.
Added UIMOD option (1) to enable or disable Themes (visual styles). Default now is theme enabled.
PDF manual tweaks.

1.0.120 beta:
Caching of FFMPEG converted files.
Compiled with the last Visual Studio.

1.0.119 beta:
Cosmetic tweaks to the knobs.

1.0.118 beta:
Modified pitch shifters: now the parameters are in milliseconds, removed power of two limits, varied default parameters (see PDF manual).

1.0.117 beta:
Added one parameter to PSHIFT2.
Tweaked PSHIFT and PSHIFT2.
Tweaked error messages and SAMPLEUI file filter.
Added in the PDF manual the help on the FFMPEG feature.

1.0.116 beta:
Detect if FFMPEG.exe is in some predefined locations and use it to extract audio from files not directly supported.
Bugfix SAMPLEUI: avoid excessive file reloading.

1.0.115 beta:
Bugfixes for WAV and AIFF files.
AIFF-C files support for big endian floating point, PCM uncompressed big and little endian files.
Tweaked PITCH SHIFTER parameters.

1.0.114 beta:
Added PSHIFT2 with configurable parameters.
Modified parameters of the fast PSHIFT function.
Performance enhancement of the pitch shifter.
Bugfixes.
Added drag&drop support for WAV and AIF(F) files on the SAMPLEUIs.
Compiled with the last visual studio version.

1.0.113 beta:
Added real time PITCH SHIFTER instruction.
Remember VST parameter initial position and let it be restored with CTRL or SHIFT click on the knob.
UI: tweak knobs positions.
SAMPLEUI: added file filters, bugfixes.

1.0.112 beta:
UI bugfixes.
Log window scroll when full.
Change spacing and formatting to not cut labels, change default VST VAR number.
Compiled with the last visual studio version.

1.0.111 beta:
Restructured UI code: more performance, less flickering, less bugs.

1.0.110 beta:
UI performance: redraw the full window only every 200ms - 1000ms.
UI hack: changed default initial window size in Settings.ini because of bad hosts that do not implement sizeWindow() (e.g. LMMS 1.2.2).
UI behavior: Browse becomes STOP during loading. Process correctly WM_QUIT message while loading.
Various bugfixes.
Added textual VST parameters.

1.0.109 beta:
UI performance: redraw log window only every 500ms. Great speedup in debug and Soundfont import with big files.
UI Bugfixes.

1.0.108 beta:
On suspend(): stop active notes, reset delays and reverbs, full sequencer reset.
On DAW clock move or DAW stop/play transitions: put active notes in release, full sequencer reset.

1.0.107 beta:
Reset reverbs, delays, sequencer TAPE and cursor on suspend() and DAW stop/play transitions.
Reset sequencer state on NORMAL only on suspend().
Bugfixes.

1.0.106 beta:
Various bugfixes (UI, loading and saving settings in the DAW, other).

1.0.105 beta:
Stop and reset sequencer, tape and cursors on suspend() or DAW stop.
Bugfixes, performance enhancement.
Read IO instruction also at initialization for hosts that don't support ioChanged().

Previous versions:
More robust NaNs avoiding/recovering.
Compiled with static linking of the runtime: slightly faster and no more need of the VC++ redist.
Compiled with the last Visual Studio version.
Added new functions, declarations and options.
Various tweaks bugfixes and performance enhancements.
Updated the PDF manual.

Latest User Reviews

Average user rating of 0.00 from 0 reviews

Products similar to Crescendo...

Comments & Discussion for Bjt2 Crescendo

Discussion
Discussion: Active
clown134
clown134
23 January 2024 at 10:17am

got the email that this has been updated, never heard of it before but it sounds pretty cool so im definitely gonna try it.

bjt2
bjt2
26 January 2024 at 12:05pm

Thank you for your interest.

I am looking for feedback: opinions, missing features and bugs.

clown134
clown134
6 June 2024 at 9:33pm

so far this plugin is a bit over my head although admittely its mainly because i am unsure how to go about doing things.

would this be capable of long delays? like 20+ seconds, or multiple (8) bars?

bjt2
bjt2
7 June 2024 at 8:40am

The current delay limit is 2 million of samples, that are 40+ seconds at 48kHz and 20+ seconds at 96KHz.

For the limit in BARS, they must be converted in seconds.

At 4/4 and 120 BPM 8 BARS are 16 seconds, so you are into the limits up to 96kHz of sample rate.

I can increase this limit if it is necessary.

The maual is admittedly a bit too concise. There are not many examples and there is more than one way to do things, as with any programming language.

Let me know if i can help you in something.

clown134
clown134
7 June 2024 at 5:57pm

8 bars is actually pretty good! ive been trying to find an alternative to a plugin called elottronix xl by elogoxa for stability reasons.

i stay at 48kHz so this is good news. thanks im going to look into how to set this up and ill stay in touch if i need anything.

thank you.

bermudagold
bermudagold
7 May 2026 at 3:52pm

looks powerful...congrats.

bjt2
bjt2
7 May 2026 at 6:16pm

Thanks! :).

Please log in to join the discussion

Log In To KVR Audio