It has been a while I see :) - a fresh release

Today made a couple of small changes and updated the version to 2022.12.4.0

First there was an issue with rate smart modules - they would not go slow on removing all fast wires, they needed some module changes on the patch as well to do that. This is fixed now.

Then made a new moving average filter (called MovingAvg .. it is still in the wrong place on the filter1 tab .. it will be moved to the left later on …) where the averaging time can be set instead of the number of samples. The module is rate smart so it will work in both control and audio mode.

There may have been some more changes as I had some inbetween version number, but this was not documented. Ah .. the FFTW issue it was, in 2022.9.22 … still not sure if that got fixed actually … but it is not happening here …

Published as 2022.12.4.0 for all installation types.

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).


2022.8.10.0 - fixed MIDI CC on knobs

It was brought to my attemtion that the MIDI CC assignments to knobs were no longer working. This got lost while making MIDI a bit less jittery a good while ago … anyway, it is back now, thank you Adis for mentioning this!

The other changes are :

  • Made Mono/Stereo indication on wave players.
  • Fixed MIDI TX LED.
  • Fixed convolver bug on LFO rate changes, it would complain about FFTW not being present (while it was there alright).

Published as 2022.8.10.0 for all installation types.

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).


2022.7.20.0 - A small fix for the Easing module

A small fix to make the Easing module work ok, the range settings were not working properly (in and out range exchanged and the ranges themselves were wrong - messy …).

Published as 2022.7.20.0 for all installation types.

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).


A fresh release : 2022.7.14.0

I think I got all the changes … but .. meanwhile I had been hospitalized for a day or two and quit smoking - so things are a tad hectic here lately :’) (but I seem to be able to concentrate a bit again)

The following changes I could find back in the paper trail (and made a source code release as well - but forgot to update the build numbers - oh well, too many version numbers) :

  • Fixed cursor orientation for a couple of modules - it was a horizontal line where it was supposed to be a vertical one.
  • Added better DLL presence checks.
  • Upped the FFTW max threads from 1 to 4.
  • Added envelope ranges to SimpleRange and RangeConverter modules - to make envelope time modulation easier.
  • Patch version was upped from 13 to 14 for the above change the be handled correctly.
  • The Convolver module works now, with not too much latency in the convolutions (using FFT based overlapped convolution). Reverb times of minutes are possible - or use it for special FX.
  • The OSC Sync module will now pass one float parameter - it used to pass the syhnc only. The param could be used to transfer tuning or speed to another Wren instance.
  • Changed the way the default folders work - for an existing file it will use the folder from the file name now instead of always using the preset / predefined folder.
  • Made a patch player for which a set of patches to be played and a volume curve can be specified. Patches can not be played overlapped but sequenctioa only - when overlap is need two Wren’s can be executed in parallel.
  • Fixed a bug in the spectrum module.
  • Changed the way that FFT normalization is processed and fixed all FFT based modules for this.
  • Made an Easing module - to be driven from some linear signal it can make several kinds of curves both control and audio rate.
  • Made optional automatic sample rate conversion for wave files, this requires r8bsrc.dll to be present - it is in the latest release but not in the pre-release. When the dll is not present conversion will just not work. Also made optional sample level normalization.

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren). For the sample rate conversion to work you’ll want to install the full version.

easing_01.png For the Easing module: With the pos input the the lookup position is being changed and the looked up value will be on the out ouput (possibly multiplied by a connected gain). The inv output holds 1.0 minus out and the rightmost sigin sigout link is being modulated by the out signal. Signal types are selected by the triangle buttons.

patch_player_02_small.png For the patch player: One can set a list of patches, and for each patch a volume curve is defined. Patch playing is sequential - there is no overlap. When overlap is wanted the idea is to start a second Wren instance for filling up the silent bits.

This was used with two Wrens for the ‘I read it al wrong’ performance mentioned a few posts ago.


Some new stuff, pre-release 2022.6.19.0

Published as pre-release version 2022.6.19.0

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).


  • New SimpleRange module - it may save some cycles to use simple modules.
  • Made an analog-ish position output for the Divider module, it presents the internal count value..
  • Font for popup editors was too small for one unit modules, made the font smaller for those low modules.
  • Removed Sine and Cosine lookup tables, calculation was faster.
  • More lines of code removed.
  • Changed controls for polyphony and wire thickness to be knobs, those support keyboard control to change the value.
  • Changed format for knob hints a bit - to make things a bit less confusing.
  • Made main VU meter peak and valey indicators a lot slower, a factor of 20.
  • Wire addition or removal no longer needs a patch recompile - it will just keep playing. This works for cable undo and redo operations too.
  • Removed the F12 (patch manual recompile) action. F7 (reset) still works, and patch recompile can still be done programmatically
  • Extra mode for the Pluck module, fixed tuning for KS, Pluck, PluckControl and TunedDelay modules. Lowest possible (internal) frequency now is about 1Hz (it was about 8Hz).
  • Linear controls now additionally display a fraction of the total range in their popups.


Sources for 2022.6.4.0

Finally came to automate source releases a bit, and made a new Wren source release available (2022.6.4.0).

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).

There are some changes in the source release, the zip files no longer have a version number. The main Wren is wren_source.zip and included in that one is wren_components.zip.

You’ll first need to install the components into Delphi (version 10.2 here) before you try to open the Wren sources in Delphi.

Delphi messed up again on version numbers .. the actual values are :

prog_version      = 2022.6.4.0
prog_build        = 183
src_version       = 2022.6.4.0
src_build         = 183
comp_version      = 2022.6.4.0
comp_build        = 78
pre_rel_version   = 2022.6.4.0
installer_version = 2022.5.22.0
patch_version     = 13
pa_version        = 19.0.2
lpc_version       = 2015.1.18
forth_version     = 2017.11.19
looks_version     = 2020.7.18
formants_version  = 2021.4.6
modal_version     = 2018.5.18
markov_version    = 2016.9.9
mazes_version     = 2020.1.23
wrengine_version  = 2018.5.25


Some more changes, a new module and a redo of an old one

Published as pre-release and release version 2022.6.2.0

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).


  • Redid the Pluck module, got out the inversion stuff but gave it an extra string with detuning and cross coupling - I think it to sound more interesting.
  • Made a PluckControl module - I see that the help for it is nonsense still - but it is meant to create a pluck signal for the Pluck and KS modules..
  • Fixed the tuned delay module - it’s delay times were wrong.
  • Fixed the PhaseDetector module - it never worked since Wren got polyphonic.
  • Another 2000 lines or so of code were removed.
  • Totally redid signal propagation, the way how signals are transferred over wires. It made Wren faster by another five to ten percent.
  • Fixed a bug in the compressor module - unfortunately old patches will have wrong compressor gain now and need to be reviewed (they'’l be pretty soft now).
  • Sped up the handling of the lights a bit more, there was some unneeded searching still for screen elements.


There were a lot of changes made to the code and I tested a lot but not everything - there may be surprises .. and when I notice I’ll fix things.

A recording of the pluck stuff - and some more sounds.

It starts with some Karplus-Strong sounds only; a drum like sound and a more typical KS one. At about one minute percussive noise is added, at about two minutes some grain processing is turned on and at around three the PADSynth module is activated.

It is a three voice self playing patch running at 48kHz with a control decimation of 32 needing about 30% of ome core here.

Some details (including a short help for the pluck controller and also about the patch) are behind the read more link.

[Read more…]


And now as a full release 2022.5.30.0 too

Published as release version 2022.5.30.0

This can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).

The source code releases were not updated yet.


A new release

Published as pre-release version 2022.5.2.0
Published as release version 2022.5.2.0
Source code published as 2022.5.2

All can be installed from a recent Wren version - or alternatively download the installer (see the wiki for more info on updating or installing Wren).

  • There were two new module types added, a keyboard (Keyboard - it is on the Utility tab) and a new random generator (ProbGraph - it is on the Ctrl2 tab)..
  • Also I’ve removed clicks from the analog trigger mode for various envelope modules (being described in the previous post).
  • And then a bug in the spline lookup for the DataGraph module got fixed - not all point changes were resulting in changed behaviour.


The keyboard module:

The module is mouse controlled. To get a note click on it, to freeze a note (or latch it) control click on it.

The mouse over highlight is just for orientation and does not affect the sound.

Whenever a note starts the trig output will go active, and it will stay active for as long as the note is active.

When multiple notes are active they are assigned to successive voices.

On every incomoing arp pulse the note pattern will shift right for all voices, or left when the dir input is less than 0.5. This will make the module behave like an arpeggiator (with each voice being shifted as in a canon).

The mix input is just added to the output value, it can be used for shifting the pitches.


The probablity graph:

With the graph tool a cumulative random distribution function (crf) can be set up - with a little twist.

The distribution is being used by an internal uniform random generator (all values of 0.0 to 1.0 being equally probable), the looked up value will then have the distribution as laid out by the graph. This gives graphical control over how likely output values will be.

On every trig (sync) input pulse a new value will be output and when the value changed a trigger out puslse is being generated as well.

For the graph the leftmost point is fixed at the bottom left corner and the rightmost point hangs in the top right corner - external scalling can always be applied with a mixer or amplifier module.

The twist is that the X and Y axis are being swapped from what woud be expected for a crf, so the uniform random is distributed along the X axis and the Y axis represents the output values.

Output polarity can be set with the selector button ([-1,1], [-1,0] or [0,1] and the inversions thereof), the shape of the graph can be linear, splines, steps or dots. For conveniance the grid marks can be set to several values.


Fresh pre-release

Published as pre-release version 2022.4.2.0

This implements the polyphony changes mentioned in the previous post.

If you have a recent Wren and Installer you can istall this from Wren itself. Otherwise see the wiki


Updated the installer a bit

Published as installer version and Wren version 2022.03.28.0

You’ll have to re-install the installer for this to work but then:

  • Wren will now have direct support for updating itself, the source code or the PortAudio sources.
  • The installer can install itself.
  • When wren.exe was renamed installs originating from the renamed version will update the renamed version now.

To get the update. see the download page for instructions.

Note: the installer executable is an unsigned application downloaded from the internet, Windows will complain about that - it can still be executed though by clicking on ‘more info’ in the complaints screen.


New full version released

Published as 2022.03.25.0

This version uses an installer that you should download to get the update. see the download page for instructions.


New full release 2022.1.5.0

A happy new year!

I’ve made a new ful release for both source code and and executable code, it can be downloaded from here.

The 32 bit executable version is no longer supported, it still is in the source code (but will disappear from there too - over time).


A simpler fixed bank


Published as pre-release. 2021.11.1.0

Made a simpler fixed filter bank module with 19 bands, starting at 70Hz each next band has a 25.3% higher central frequency for it’s bandpass filter till the last sits at about 4kHz..

[Read more…]


Found pixels …

Later … found a couple of pixels …

Published as pre-release. 2021.7.18.1

Changed output for Arpeggiator


Added a Changed output for the arpeggiator module, it is unmarked and just above the regular output - I may find pixels later on o_o.

For now, the connector popup will show the purpose.

Published as pre-release. 2021.7.18.0


Added a sync output to the RandSigs module


The sync output syncs to the leftmost outputs, not that the actual output used makes much difference … basicaly it syncs to the rate, ignoring the sample and hold input.

Published as pre-release. 2021.7.9.0


Pre-relese upped

Upped to pre-release 2021.7.6.0, mainly to get the modulatable Quadratic mode for the RandSigs module officially in (also into the image below).


Upped the current pre-release


The current pre-release was upped to officially include the changes in the three posts before … the RandSigs quadratic mode, the bug fix in the PDosc module and the inclusion of the Log2 module.

The Log2 module is the inverse (with some restrictions for low input values) of the Power2 module.

Published as pre-release. 2021.7.5.0


A new power2 module


Made a new power2 module, it calculates 0.5 * Power( 2.0, input). This is meant to make higher values less likely, more quietness …

Published as pre-release. 2021.7.4.0

Also made the inverse, a Log2 module, which will be in the current pre-release.


Bug in levels for some envelope types

The EnvAHD and the EnvADSR envelope types had states 1 and 3 exchanged, Fixed that, but this may break patch compatibility, especially when you used the blue output(s) as a general control signal.

Published as pre-release. 2021.7.3.0


Made the AMuse module polyphonic


Otherwise it still works the same way.

Published as pre-release. 2021.7.1.1