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.

Re. signal propagation: it used to be that calls were needed to propagate signals from outputs to connected inputs. This was turned around; I’ve made inputs to be a pointer to outputs where they can just directly read the value without an explicit propagation call to be needed.

Re. the speedup: It depends a bit if the module flashy lights are enabled or not. When they are off the extra speedup is about 5% but when they are on it is over 10% - the latter seems to be the most realistic number. With the previous reduction of 25% or so the total speed-up seems to be over 30% now. I did notice some differences though in the audio driver that was used and did not test on a lot of patches but used a mdedium sized one of about half a screen full of modules running at 30% or so with a voice count of three. YMMV … but eh .. I’m not unhappy.

I’ve calculated the speedups on the mid between lowest and highest CPU usage as there is a lot of intrinsic variation in speed over time - about 15%.

Re, the pluck controller :


The idea is that shift moves around the string excitation position; The mix affects how strong that effect will work by mixing the input with the a delayed version of it; the color and Q control the filter for pluck color. The frequency should be sset the same as the frequency of Pluck or KS modules - so the same fixed setting and the same freq. control signal is to be used. This will have to do for now for a manual :’)

The above image shows a very simple test patch, I would suggest to run it polyphonically. Made the modules have a neutral color to better show the wires.

The patch below is the one used for the recording.

download the patch - it needs Wren version 2022-.6.2.0 or later.