Classic ZynAddSubFX VST download

Official support for:
User avatar
Topic Starter
990 posts since 3 Jul, 2006

Post Tue Nov 03, 2009 9:22 am

UPDATE: ZynAddSubFX VST (2020 - voice limit, threading bug fix, MIDI sync)

Download Latest Version:
ZynAddSubFX VST v2.4.1.521beta

ZynAddSubFX Demonstration Video:

Listen or download the finished demo song:

Previous versions:
ZynAddSubFX VST v2.4.1.519beta
ZynAddSubFX VST v2.4.1.517beta
ZynAddSubFX VST v2.4.1.515beta
ZynAddSubFX VST v2.4.1.505beta
ZynAddSubFX VST v2.4.1.496beta
ZynAddSubFX VST v2.4.1.496beta (Mediafire hosted)
ZynAddSubFX VST v2.4.1.496beta (Internet archive)
ZynAddSubFX VST v2.4.1.480beta (previous stable build)
ZynAddSubFX VST v2.4.1.476beta (last stable before native VST automation)

ZynAddSubFX VST v2.4.1.454beta (no GUI threading)
ZynAddSubFx VST v2.4.1.420 (last version with one output)

Details about the release:
ver. VST VDX version (Oct 18th, 2020)
- Automation bug-fix with "getparam" (allows feedback to automation host)
- Fixed zombie process remaining in some hosts
- Some new patches

Details about the release:
ver. VST VDX version (Aug 1st, 2020)
- Fixed crashes when clicking "apply" button in PADSynth
- Fixed "note stealing" and correcting polyphony.

Details about the release:
ver. VST VDX version (Aug 1st, 2020)
- Smoothing: PitchBend and CC transitions
- Added cfg option "cc_latency" in milliseconds, for smoothing purposes.
Set this to 1 to have the same behavior as in a previous release
Recommended value: 52ms
- Settings window now correctly displays host sample rate

Details about the release:
ver. VST VDX version (June 14th, 2020)

- Fixed "again" right/left panning
- Major change in the Midi implementation (adapted architecture more to the VST standard)
- Midi sync fix with large buffer sizes
- Fixed another preset browser bug (which allowed to cfg file to pile up)
- Properly fixed interaction between 'max_voices' and Virtual Keyboard
- Should in theory work well now with any buffer size (doesn't require fixed buffers anymore).
- Added the option to change the default state of the mod-wheel via the cfg file.
- Optimize note stealing (implemented fade-out)
- Removed clicks when number of voices is close to max_voices
- Bug fix: Reduced overall latency by 1 buffer (now has zero latency when used as FX)

Details about the release:
ver. VST VDX version (May 30th, 2018)

- Fixed random crashes when pushing the 'Panic' button
- Fixed random crashes when changing presets
- Fixed random crashes when loading presets from the instruments menu
- Added .cfg option for "max_voices". Recommended value 15.
This dramatically improves CPU usage for patches with long trailing sounds.

Details about the release:
ver. VST VDX version (February 4, 2018)
based on linux codebase Version 2.4.1 Pre

- Fixed stereo (default)
- Fixed stereo swap switch
- To sync to host tempo use this formula:
- Delay param = 5080 / HOST BPM => synced to 1 beat
- If you want to sync to a quarter note divide upper calculation by 4
- Increased Polyphony to 64 to 128.
- Increased polyphony may be required due to the modification of the floor of the amplitude envelopes. At -100dB it take a long time until a voice is removed, so the CPU usage has increased and it is more likely that long release notes don't die soon enough because they don't reach the -100dB floor soon enough.
- Fixed crash if AddSynth voice is turned to mono
- Other minor bugs
- Some new banks gathered

Change log (

based on linux codebase Version 2.4.1 Pre (May 2, 2010) -

- Fixed the microtonal component to properly save / load parameters with the host.
- new default Amplitude Envelopes: min db = - 100dB (configurable in the cfg file)
- new configurable 'attack_start_db' setting in the .cfg file
(for compatibility with older patches, so as to not introduce latency, default -40dB)
- Provided Patch Converter utility (make sure to backup patches just in case)
- Modified all included patches to work with the new envelopes (min -100dB)

- If you wish to revert to the old amplitude envelopes, set:
<par name="min_envelope_db" value="-40"/>
<par name="attack_start_db" value="-40"/>

ver. VST VDX version
based on linux codebase Version 2.4.1 Pre (May 2, 2010) -

- Fixed some GUI issues with assigning controls (sometimes a knob would freeze if it were automated / midi assigned)

- Fixed automation routines
- implemented beginEdit and endEdit functions
- Knob automation no longer writes indefinitely (stops when user releases mouse button)
- Host should know now when it's possible to make Zyn read automation
- To add a knob to the list of automation parameters add it in the MIDI window with CTRL=0

- Zyn now knows where it is placed: making a default folder C:\ZynAddSubFX is no longer necessary
- Zyn will always write its .cfg file in the same folder as the .dll
- At first run, it will complain it does not find it, but then will write a default cfg.
- Zyn now looks for the 'banks' folder in the same folder as the .dll
- Alternative banks folders can be assigned in the settings tab / or .cfg file. Note that relative paths are not allowed.
- The .dll and the banks folder can now stay in any folder

- Fixed a problem with the envelopes (min -40dB updated to -80dB)
- Fixed a bug (or a feature?) that sounds woudn't decay right (fixed transition from low volume sound to no sound)

* this version is missing the following features from the latest linux build (Version 2.4.3 codebase):
- NO spike / circle waveform
- NO midi aftertouch support
- NO midi bank select
- same old subsynth (no optimizations)


ver. VST VDX version

- I'd say this is quite an important update, and a step forward towards the stability of this VST.

- Tested with no issues (so far) in latest Renoise demo ;)

(all below, hopefully for real this time :D)
- A (much) more stable GUI (hopefully)
- Fixed GUI corruption when moving windows, opening, closing
- Fixed GUI corruption with file browser
- Fixed GUI corruption in Resonance Window (when drawing by hand)
- Fixed GUI corruption when editing harmonics
- Fixed some multiple instance bugs
- Fixed Multithreading race condition bugs

ver. VST VDX version

- Completely removed the GUI interaction artifacts between Zyn and the Host
(no more weird mouse behavior when Zyn GUI is ON)
- Should be useable now on more hosts...
- No need for wrapper anymore
- Modified internal threading mechanisms
- !! Made ADDITIONAL THREAD to separate GUI from the Sound Generation Thread
- Added option (check settings) to have all Zyn's windows On Top of the host (default is activated)
- Added option NOT to use the new GUI thread (use old style GUI, with known issues, if for some reason the new mode is not working properly - default is inactivated)

- If you choose to have Zyn's windows on top of the host, all tooltips will NOT be shown (technical FLTK reasons...)
- If you wish to see the tooltips, please deactivate the option.


ver. VST VDX version

- Hopefully no more loud bursts of sound!!
- Changed the way sounds is shut off when changing presets
- Changed the way the sound is updated in realtime when the oscillator is edited in realtime
- Fixed crashing GUI on multiple open xmz dialogs *really, really* this time :D :D :D
- Fixed the save xmz dialog (the previous version would have the save button disabled under some conditions)
- GUI Change: Now if you press CTRL and a knob, it will show the knob value, and you can also edit the value (enter the value manually)

ver. VST VDX version

- Rewrote important VST<->host communication routines (to be checked if works on all hosts!!!)
- Fixed a bug that caused some patches not to sound properly. (try to load arpeggio1 in the previous ver.)
- Fixed a bug that caused zyn to crash when changing patches
- Fixed? a bug that could presumably cause loud sound spikes and other strange things
- Fixed MidiLearn automation bug to work with multiple instances
- Fixed MidiLearn window to refresh and remember the MultiCH settings
- Some very mild code optimization
- Fixed many many memory leaks
- Overall VST stability should be improved (hopefully by a lot!)
- Zyn VST should not crash so often anymore
- ...
- Zyn VST should not crash so often anymore
- Zyn VST should not crash so often anymore
- If Zyn VST does crash, at least it should be in the unloading phase... (yes, still a bug that is random...)
- Added inherently several other bugs, while fixing the above (use this with caution: this is in alpha stage)

ver. VST VDX version

- Added Multiple Channel Outputs (see MIDI window)
- Output1 will always correspond to the internal mixed audio
- If enabled, stereo outputs 2-17 will correspond to parts 1-16
- Fixed some memory leaks, and some bugs when cleaning up

ver. beta (VDX Release)
- Fixed sample rate bug at startup (should get host's sample rate properly)
- The line in the cfg file
<par name="user_interface_mode" value="1"/>
is now working doing the folowing:
1 - default window is advanced window
2 - default window is beginner window


Midi Learn System:
- Notice there's a new button on the master window, called MIDI
- That opens a new window, where most controls can be assigned to midi controllers
- Click Acquire to go into Acquire mode. This will wait for you to modify a certain knob, or slider
and will add it to the list of Acquired Controls
- Each Acquired Control can be enabled / disabled
- The options are:
CH - midi channel to wait for (1 to 16)
CTRL - midi controller to assign (1 to 127; note that some midi controllers should be reserved)
MIN - minimum knob value (will scale midi value 0 to this MIN value)
MAX - maximum knob value (will scale midi value 127 to this MAX value)
- Note: if you wish to decrease the knob while increasing the midi controller value, just put MIN and MAX reversed (e.g. MIN > MAX)
- If you click on the description text, you can replace the current assignement with a new one
- After you've configured your list, hit the Apply button which should indicate parameters have been stored (by changing its color)
- The system will save the list of midi parameters assigned if one gives the 'Save All Parameters' command, via the file menu, and retreive it with 'Open Parameters'

Controllable parameters (so far)
- Global:
+ Part Vol, V.Sns., Pan (real time)

- ADDsynth:
+ Global Vol, V.Sns, Pan (real time, Global / Voice)
+ Amplitude Envelope (Global / Voice)
+ Amplitude LFO (real time, Global / Voice)
+ Filter Parameters (real time, Global / Voice)
+ Filter Envelope (Global / Voice)
+ Frequency Envelope (Global / Voice)
+ Frequency LFO (real time, Global / Voice)
+ Voice Oscillator Harmonics (real time)

- SUBsynth
+ Global Vol, V.Sns, Pan, Bandwith (real time)
+ Amplitude Envelope
+ Bandwidth Envelope
+ Frequency Envelope
+ Filter Parameters (real time)
+ Filter Envelope

- PADsynth
+ Envelopes & LFOs tab (same as ADDsynth)

- Effects
+ All instrument effects (real time)

I will probably add new parameters, in my next release. The problem is making some PADsynth parameters real time. This may not possible as PADsynth requires computationally intensive fourier calculations to build up its samples.

Change Log (v2.4.1.415beta):

- Made a lot of ADDsynth internal parameters modifyable in realtime (including base oscillator harmonics)
- Implemented VDX Midi Learn System (in order to assign most parameters to midi controllers)
- Minor UI changes
- Many bugfixes and many new bugs added (inherently)
- Export button in PadSynth now really works (:D really!)

Having said that, I need to emphasize that I need your FEEDBACK in order to make this better. As a lot of code was written, and this thing needs to be properly tested.

Therefore I ask you to test the new functionality and bring out eventual bugs. I would need to know how to reproduce them.

[edit] (paulnasca): I made this topic sticky
Last edited by jackoo on Sun Oct 18, 2020 6:58 am, edited 67 times in total.
== VDX == One Man can make a difference!
My music is on | Info | More Info

1286 posts since 3 Dec, 2002

Post Wed Nov 04, 2009 3:31 am

Hello. Thanks for your efforts. I tried the beta last night and found no problems. (Energy XT 1.41-AMD/pc- XP ser pk3). Found the mapping procedure strait forward and overall a very nice implementation.
I was wondering if you could give some direction as to the use of the included wrapper? I did not use it and am not sure exactly how.

I am happy to see that this synth has not been abandoned.
Thanks again.

User avatar
37497 posts since 11 Aug, 2008 from clown world

Post Wed Nov 04, 2009 3:56 am

My Browser doesn't Support MediaFire Downloads! That's the error that showed in IE7! May try an alternative later on. Thanks . . .

User avatar
Topic Starter
990 posts since 3 Jul, 2006

Post Wed Nov 04, 2009 4:01 am

Hello. Thanks for your feedback.

The wrapper included is VstHost by hermannseib (, a free host program that can act as a sub VST host, to isolate zyn and keep zyn's UI in a separate process.

I used an older version 1.37, because i've seen this as most stable for zyn. There were some issues with the newer version.

How to use it:

- Unzip and
- Place the legree dlls into your favorite VST folder (where you keep your other plugins)
- Make a shortcut to vsthost.exe (copy & paste shortcut)
- Rename the shortcut to something nicer (:D)
- In the shortcut properties window, in the target field you have something like


where X is your Drive Letter...
- Change this into (add the /slave option)

X:\somefolder\someotherfolder\vsthost.exe /slave

- Click OK to save the changes of the shortcut
- Now in order to use zyn:

- Start your favorite host, load LegreeI.dll VST
- A window will pop: VSTHost Slavery Suite
- It says it's waiting for the VSTHost Slave
- Now start vsthost using the shortcut created earlier
- If all is well, VSTHost will run now in slave mode, connected to your usual host
- Within VSTHost, you need to load Zyn. To do this, there is a small Fx white button on the toolbar,
where you can load dlls.
- Load ZynAddSubFX.dll with this and there you have a new little window, with sort of a clock icon. If you click on that, Zyn's UI will appear, and... there you have it.
- Be sure to save your setup from within Zyn's file menu, because having it disconnected from your usual host, that won't be able to save your setups.

I hope this text was helpful.

LEDIT: It is also possible to run multiple slave instances, if instead of /slave u put slave:1 or slave:2, etc. and select from legree the correct slave number to bind to.

I'm looking forward for more feedback.
Last edited by jackoo on Thu Nov 05, 2009 7:13 am, edited 1 time in total.

65 posts since 5 Oct, 2006 from Venice - Italy

Post Thu Nov 05, 2009 5:32 am

Hi jackoo (alias VDX) ,
many thanks for your efforts.
I have made some quickly tests with this your latest VST version, and all seems to work.
For the moment many many thanks.
A Very good work here.

Paolo BHS.

P.S. You can find some of my music tracks composed with ZynAddSubFx at this site : - for example the track "Soft Light Cloud" is played with 4 instances of your VST version of ZynAddSubFx.

User avatar
Topic Starter
990 posts since 3 Jul, 2006

Post Fri Nov 06, 2009 10:18 am

Hello everybody.

I've just had another idea...
Zyn's effects are pretty good quality. What if there was a way to connect the output of other VSTs to it, and apply some of its Reverb, Filters, Echo, etc

So I've implemented a new change in v2.4.1.416beta. I've added 4 Audio Inputs for the VST version. They are named Ext1, Ext2, Ext3, Ext4.

I've added these into the MODE combo box (which had Poly, Mono and Legato).
When one of these is selected, zyn will take the input from the associated Audio Input (the wiring is made within the main host).

Legree can also be configured to have multiple inputs. For example, for 4 stereo audio inputs, select 8 inputs (mono) in legree.

I've also made sure that zyn's internal sampling rate is the same as the hosts.
The only problem would be when the ASIO buffer size is below zyn's buffer size (eg. 256B).

Let me know how this works for you.

LEDIT: I found a serious bug, that could crash ntdll.dll when some midi controllers were assigned, especially effects. I hope to have fixed it in
version 417.

The 417 version is hosted at:
Last edited by jackoo on Fri Nov 06, 2009 11:34 pm, edited 1 time in total.

47 posts since 22 Mar, 2008 from Monopoli (Bari) - Italy

Post Fri Nov 06, 2009 10:41 am

Great idea!
I am used to zyn's effects (especially reverb and eq, which are nicely made and quite effective), and especially in the Linux world, where there is a lack of graphical eqs, being able to jack zyn to an audio track might be nice. Although I find that chorus could be better, and delay should feature a "bpm" mode, so to enter a specific value and not having to find out by trial and error. Even a Midi Clock sync would be great (but this maybe has already been implemented).

I hope these features will eventually be passed on to the Linux standalone version.

1038 posts since 19 Apr, 2004

Post Fri Nov 06, 2009 12:25 pm

Aloysius wrote:My Browser doesn't Support MediaFire Downloads! That's the error that showed in IE7! May try an alternative later on. Thanks . . .
Same here :-( would it be possable for someone to provide a different link?

Love this synth, thanks for your work on this project.

Fretted Synth

User avatar
Topic Starter
990 posts since 3 Jul, 2006

Post Fri Nov 06, 2009 11:54 pm

boneless wrote:Great idea!
I am used to zyn's effects (especially reverb and eq, which are nicely made and quite effective), and especially in the Linux world
I haven't worked much with Linux, I don't know if my code compiles on Linux (but it should with very little modifications). Than again, the part that handles the AudioIn is based on the VSTSDK (takes input from the host).I've made a lot of small little changes to the VST code, that I can't even remember them. I remember that the official devs were working on the same thing, such as parameter automation.

I have however provided my sources (see src directory in zip file). Maybe there is some software to compare the sourcefiles, otherwise it would be difficult to see the changes manually. I do hope my code could help the main codebase; maybe some official devs could help me on that.
boneless wrote:Even a Midi Clock sync would be great
Could you please elaborate on what that means? :oops:
FrettedSynth wrote:would it be possable for someone to provide a different link?
Yes, I guess. Please tell me where I could upload it for you. Unfortunately I don't have a webhosting service available, so I resort to using free hosting services like mediafire.

LEDIT: Here are some alternative downloads: ...

47 posts since 22 Mar, 2008 from Monopoli (Bari) - Italy

Post Sat Nov 07, 2009 3:51 am

Erm, I probably am not referring to it properly :D

Say that there are tempo changes, and you want to sync LFOs or delay time to the current bpm, some synths are capable of keeping track of the sequencer's tempo and adjust parameters accordingly.

User avatar
5216 posts since 5 Aug, 2006 from UK - The Mudway Towns

Post Sat Nov 07, 2009 2:38 pm

This is very exciting to hear about. I'm on linux as well though so I would really want to see this folded into the standalone version.

I very much like the idea of audio-in to make use of zyn's effects.

Keep up the good work :)
It wasn't me! (well, actually, it probably was) - apparently now an 'elderly' so maybe I forgot!

1038 posts since 19 Apr, 2004

Post Sat Nov 07, 2009 8:46 pm

Thank you for taking the time to upload and even more for your work on this synth.

180 posts since 20 Aug, 2009

Post Mon Nov 30, 2009 2:48 pm

Salutare Paul,mii de multumiri ,excelent synth-ul.E complex,sound foarte bun si cu interfata nepretentioasa .11/10,ma bucur ca l-am gasit aici pe KVR ;)

User avatar
Topic Starter
990 posts since 3 Jul, 2006

Post Thu Dec 24, 2009 9:57 am

Hello all,

I added the latest stuff from the linux version, in v2.4.1.419beta

Main features added:
- Unison for ADDsynth
- Bandwidth reverb

Though I heard it's in experimental stages, unison seems to work and sound fine on linux, so it should do fine in the VST too.

If there's trouble, please post here

Merry Christmas,
Last edited by jackoo on Sat Dec 26, 2009 3:30 am, edited 1 time in total.
== VDX == One Man can make a difference!
My music is on | Info | More Info

1 posts since 1 Aug, 2008

Post Thu Dec 24, 2009 10:16 am

У Zyn на панели управления "Filter Parameters" частота среза ( С.freq ) зависит от добротности ( Q ) что не есть правильно и весьма неудобно.
Я не программист но был бы рад если кто устранит замеченный недостаток.
В целом новая версия 2.4 оказалась более ресурсоемкая чем 2.2.1.( in Linux ).:help:

Return to “ZynAddSubFX”