Log InCreate An Account
  1. News
  2. »
  3. Virtual Instruments
  4. »
  5. KarmaFX

KarmaFX updates Synth Modular to v2.01

KarmaFX

KarmaFX Synth Modular has been updated to version 2.01.

This release boasts several new features, including GUI improvements, MIDI Polyphonic Expression support (MPE), better HiDPI/Retina utilization on Mac/OSX, sound improvements and feature additions to the Chorus and SoftClip modules. It also contains some important bugfixes and performance tweaks.

Changes:

  • MPE: Added MIDI Polyphonic Expression support (MPE). MPE PB Range is configurable in NotePitch module and through MIDI RPN 0. (default is ±48 semitones).
  • MPE: Supports Low-Zone (Master Channel 1) and Off-mode, setup through MIDI MPE Configuration Message (MCM) or forced on in GUI.
  • MPE: Added Timbre option to Expression menu and to MIDIData module, in order to support MPE MIDI Control 74 (CC74).
  • Chorus: Added Width, Crossfeed and Feedback Delay parameters + tweaked Phase-panorama and Spread settings.
  • Chorus: Added option to apply filter to Chorus mix instead of feedback.
  • SoftClip: Added Digital Distortion to SoftClip module with Amount, Bits, Bias and Noise parameters. Renamed Trim to Drive and expanded range.
  • Distortion: Added Stereo option to Bits and Resampling Frequency knobs in Distortion module. Off by default.
  • Folder: Added Stereo option to Symmetry knob in Folder module. Off by default.
  • Sampler: Changed Sample selection knob in non-Multi mode to only switch sample on (re) trigger.
  • ADSR: Added Expression option to Sustain parameter in ADSR module.
  • NotePitch: Added MIDI note filtering through a Note Min/Max Basenote-parameter option in NotePitch module. Default is full MIDI range. (Thanks Daniel.).
  • MIDIData: Added Delta option, where controller events only pass inside note-on/note-off pairs and outputs delta, relative to value on note-on. (Thanks Dan.).
  • MIDIData: Added Bias and Smooth knobs to MIDIData module to optionally bias and lowpass filter incoming MIDI data.
  • SubPatch: Toggling a SubPatch module on/off will now resets its internal buffers and state.
  • GUI: Added HiDPI/Retina option to Options->Window Scale menu for enabling/disabling High Resolution utilization on Mac/OSX. (Thanks Jan.).
  • GUI: Mousewheel now works on knobs and sliders when hovering + Faster overall response, and holding Shift allows for fine-tuning.
  • GUI: Holding Shift key and clicking Options->Maximize/Minimize-All will now maximize and minimize only wave-displays.
  • GUI: The Options Window Size->Custom dialog initial values are now set equal to the currently chosen (non-scaled) resolution.
  • GUI: Enabled (Ctrl-Shift) debug menu on Mac/OS X (undocumented). Was previously PC only.
  • GUI: Exposed Patch Script loading option in debug menu. Can be used to author patches programmatically (undocumented).
  • GUI: Exposed option to show internal Debug Panel in debug menu (undocumented).
  • GUI: Exposed option to instantly toggle MPE in debug menu and to setup Global MPE ini settings (undocumented).
  • GUI: Holding left mouse on module caption for 1 second, now makes target module/knob LEDs blink (undocumented).
  • GUI: Throttled GUI FPS on PC/Windows to max 30 Hz (Same as Mac/OSX).
  • CPU: Improved performance in Osc1, Osc2 and LFO + Unrolled and inlined all parameter modulation processing.
  • CPU: Unrolled and inlined Chorus and MIDIData modules.
  • CPU: Expression parameters now only produce modulation-signals when Expression sensitivity is non-zero.
  • CPU: Granular inner loop is now SIMD optimized + Sample memblocks are now 16 byte aligned (in Sampler/Granular etc.).
  • CPU: Granular grains are now heap allocated and padded to be 16 byte aligned.
  • DOC: Updated manual to revision 0.36. Updated sections on MPE, Note filtering, Chorus, SoftClip (Distortion), ADSR Sustain, MIDIData and HiDPI/Retina.
  • Bugfix: Choosing Module Presets->Default did not reset parameter range-settings, tuning, etc. Fixed.
  • Bugfix: Cutting a parameter wire, by right clicking on wire arrow, would incorrectly shuffle volumes for other connections to the same parameter. Fixed.
  • Bugfix: Editing a Patch Description in Props dialog on PC/Win would only save the first 80 characters. Fixed.
  • Bugfix: SubPatch module would not store/restore subpatch-names correctly. Fixed.
  • Bugfix: Patch Browser toggle from SubPatch module was wonky and could crash the synth on GUI close. Fixed/rewrote toggle code.
  • Bugfix: Loading patch with SubPatch module in Adv-mode and touching bottom row of knobs would crash the synth. Fixed.
  • Bugfix: When using the "Insert" menu to create new module input, that connection could get lost on save/reload of patch. Fixed.
  • Bugfix: Saving a SubPatch could alter values for control panel parameters in parent patch. Fixed.
  • Bugfix: Switching Modulation view to see parameter modulation in wave-displays was not working. Fixed.
  • Bugfix: Resizing Scope module in "Phase" mode could crash the synth. Fixed.
  • Bugfix: The first sample in modulation blocks from Expression-enabled-parameters could be stale. Fixed.
  • Bugfix: Immediately after patch initialization, the first sample-block from a SubPatch Input module would have incorrect volume. Fixed.
  • Bugfix: Scope module Input1- and Input2-modes did not take into account the connection-wire-volume. Fixed.
  • Bugfix: Scope module would not work inside SubPatches unless connected to Output. Fixed.
  • Bugfix: Window size of GUI would not set up correctly for custom window-sizes in AU/VST version on Mac/OSX. Fixed.
  • Bugfix: Moved patch-loading-inside-GUI code into host Update callback and added Paint mutex to remove potential deadlock/crash.
  • Bugfix: Options->Maximize/Minimize-All would not update the GUI icon in the module headers. Fixed.
  • Bugfix: Maximizer module would not recover from overflow mode, even when reset. Fixed.
  • Bugfix: Maximizer module would muffle volume of processed audio immediately after init or reset. Fixed.
  • Bugfix: Unhooking volume-slider from modulation sources would not update its GUI-state. Fixed.
  • Bugfix: Removed excessive internal ramping of ModIndex in FM module.
  • Bugfix: Sampler could cause read-access-violation in multi-sample-mode with memory-guards enabled. Fixed.
  • Bugfix: Finetune display text in NotePitch module GUI was incorrectly showing semitones instead of cents. Fixed.
  • Bugfix: Internal filters in Delay, Phaser and Reverb modules were not reset on on/off toggle. Fixed.
  • Bugfix: GUI would be missing when instancing an Audio Unit on Mac/OSX, after instancing a VST. Fixed.
  • Bugfix: Waveform GUI mouse-drawing in Additive and Pad modules was broken on Mac/OSX. Fixed.
  • Bugfix: Cancelling a menu-triggered patch-load operation inside a SubPatch, would leave the synth in a state unable to load patches. Fixed.
  • Bugfix: PC/Windows 32-bit version did not work on Windows XP due to unmerited Microsoft.VC90.CRT dependency in manifest. Fixed.
  • Bugfix: GUI Magnitude and Phase bars in Additive module did not align with mouse-y-position. Fixed. (Thanks Dan.).
  • Bugfix: Internal sorting of MIDI-events could read out-of-bounds on ring-buffer wrap(1024), causing corrupt, phantom MIDI-events. Fixed. (Thanks Dan & Shane.).
  • Bugfix: Filter keyboard tracking did not smoothly track input frequency. Fixed. (Thanks Dan.).
  • Bugfix: GUI Resize on Mac/OS X did not update mouse tracking region, causing MouseMove-events to not get passed after resize. Fixed. (Thanks Dan.).
  • Bugfix: Unison's stereo Pan knob was incorrectly working in Mono-mode. Fixed. (Thanks Dan.).
  • Bugfix: Frequency Snap to Semitones and Octaves did not work for extreme values, due to ramp interpolation of parameters for very small deltas. Fixed.
  • Bugfix: Cloning a module in GUI did not clone parameter-flag-settings such as Osc1 "Random Poly Phase", "Phase Init Only" etc. Fixed.
  • Bugfix: Having two chained NotePitch modules, where one is Polyphonic and the other is Monophonic did not work polyphonically. Fixed. (Thanks Dan.).
  • Bugfix: Granular module could read 1 sample out-of-bounds on sample wrap. Fixed.
  • Bugfix: Mouse GUI position was offset by 2 pixels in y-direction on Mac/OSX. Fixed.
  • Bugfix: Mouse GUI cursor did not always update correctly on Mac/OSX. Fixed.
  • Bugfix: Generators could produce delayed "ghost"-slides when changing Freq knob in polyphonic mode. Fixed. (Thanks Richard.).
  • Bugfix: Portamento for chords worked inconsistently in polyphonic mode. Updated Poly-Glide to find closest match and respect MPE pitchbend. (Thanks Dan.).
  • Bugfix: Amplifier voices would not always reset when quickly switching NotePitch poly-mode. Could cause hanging notes. Fixed.
  • Bugfix: Noticeable lag when flipping through patches containing active Pad modules, due to wait for Generate-thread to complete. Fixed.
  • Bugfix: LFO with Random-waveform (RND/RND16) did not always wrap correctly in non-trigger mode. Fixed.
  • Bugfix: Latency compensation timing was off by 256 samples. Fixed.
  • Bugfix: Granular Shape curve was biased too much towards rectangular grain-shape. Fixed.
  • Bugfix: Granular output was not double-buffered in GUI. Fixed.
  • Bugfix: Granular would not initialize with correct sample Pos in "Manual" mode. Fixed.
  • Bugfix: Fixed minor discrepancy in equal power panning. Rescale is now sqrt(0.5) as opposed to truncated 0.707.
  • Bugfix: Step and Pattern modules would not highlight active-step in GUI on retrigger or if pattern size=1. Fixed and increased fade-out speed.
  • Bugfix: Middle-mouse-drag to scroll in all GUI stick-controls (Pattern/Additive/Pad etc.) was broken. Fixed.
  • Win32/64: Updated ReadMe file in Demo version.
  • Win32/64: Tested and verified to install and run under Microsoft Windows 11 (Pro, Version 21H2, Build 22000.258).
  • Mac/OSX: Migrated Mac/OS X build to OS X 10.9 as required by Apple for notarization. Hence v2.01 requires OS X 10.9+.
  • Mac/OSX: Upgraded Mac/OS X Audio Unit SDK to AUv2 1.1.
  • Updated bundled patches.

The update will download automatically for all registered users.

Discussion

Discussion

Discussion: Active

Please log in to join the discussion