Installer bug

There was a bug in the installer where it would not properly use a user selected installation folder (but would use the pre-programmed default folder instead).

I’ve updated the installer for this to 2022.5.22.0 and also repackaged the full Wren and the pre-release installations (as those contain the installer program as well, no version updates there).

I hope the issue to be fixed with this.


Fresh pre-release

Published as pre-release version 2022.5.14.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).

  • Made a Mambi module for ambiophonics output.
  • The XYScope module got a correlation display, see it’s internal help for more info.
  • Another fix on the ProbGraph module, the left- and right-most points were not always properly glued. .
  • Made Wren startup a little bit faster.
  • Made Wren shutdown a lot faster.
  • Improved and streamlined some non-audio timing code.


The removal of the ambiophonics plugin from the electro-music.com store made me see the old ambiophonics thread again and decided to implement that one for Wren. The module blurb says:

Mosc’s ambiophonics module, or Mambi.

See https://electro-music.com/form/topic-27871.html for Mosc’s original idea.

The delay maxes at about 320 us, the default delay setting of 0.25 makes the delay ab out 80us which is what the original uses.

The width parameter can be modulated, the modulation input is 1.0 when unconnected and it will be multiplied with the knob set value once connected.

As the module is strictly monophonic, the width modulation only works on the first voice. The inputs are summed though over all voices and the ouputs are distributed over all voices.

Tried to make some center filling code for it - but I was not convinced and left it out in the end.


And a fix .. for an ommision in the one before

Published as pre-release. 2022.3.21.0]

Stand-alone (non patch) knobs were not handled properly.


Bug fix Vocoder module

Published as pre-release. 2022.2.12.1]

The Vocoder had a bug where changing the bin size could freeze the rest of the synth, fixed in this pre-release.


Some help file issues fixed

Published as pre-release. 2022.2.10.1]

The generated help file (which is the same as the one on this site) had some markup issues messing up the file reading examples, making those wrong and with bold face text and such - fixed those issues.


Various changes to text based modules.

Published as pre-release. 2022.2.9.0]

I wanted Wren to be able to react to what goes on in the electro-music.com chat, and as I already run an IRC bot which can produce a log file I’ve decided on making some modules able to read the last line of that log. This involves the following modules:

  • Morse
  • eSpeakVoice
  • TSS
  • Song
  • SapiVoice

These all have an input field for text to process, what I did was to allow for special text that will be interpreted and it may read from a file now.

When you use ‘file:filespecs’ the filespecs will be split in two parts, the first being the filename to use and the second (optional) part makes a filter. It will be the last non-empty line from that file whih is read and when the filter is present it will process that line and that will be the text to be used by the modules.

The syntax to be used is :



  file:fillename regular-expression

The regular expression being the filter, and the file name can not have spaces in it.

The last non-empty line of the file will be read (or an error message will be returned) and that line will be filtered with the optional regular expression.

When the regular expression contains a group named ‘result’ that will be the matched bit from that last line.


    file:X:\filedir\filename.log (?:msg\s\[)(?<result>.*?)(?:\]\shost)

    pointing to some file on drive X: with a specified filter which has a group named
    'result' (and two other un-named groups of stuff we are not interested in).

    the last non empty line of the specified file could be (this is from a log of an IRC
    chat session, a private message from jan to IRC channel #electro):

      '2022-02-09 01:30:23.784 | priv : [jan -> #electro] msg [pwew .. filter is hard o_o] host [~jan@xxx-xx-xxx-xxx.yyy.zzz.nl]'

    The regular expression   matches:  'msg [pwew .. filter is hard o_o] host'.
    The named group 'result' matches:  'pwew .. filter is hard o_o'
    and that in this case is the bit we want.

Then, in addition I’ve made the TSS module work by default by setting it’s speed parameter to be 1.0 initially (it was zero, and with that the module will not actually run).

Also I’ve added simple SolReSol support to the Morse module, it has no knowledge of grammar and it has a limited set of words - the output is available as the blue output of the Morse module and is meant to be processed by a ScaleQuantizer (being set to a Major sccale for a strict implementation, but other scales with seven notes are usable too (less than seven notes would strip out some of the output values)).

A note about SapiVoice - it does not seem to work ok in the 64 bit Wren version.


Bugfix for Dif module

Published as pre-release. 2022.1.8.0]

The Dif module was not properly working with the changes made, fixed that - and added some code to find the error made in the debug version of the program.


Help text …

Published as pre-release. 2021.10.25.0

Updated some help texts that were misleading. Thanks Thomas :)

There might be a couple more here and there, I tend to copy modules … and errors.


A bug fix and some changes


Published as pre-release. 2021.10.24.0

The oramics1 module’s mode was not working, fixed that.

Made some changes on the OscPercCS module. A punch2 mode was added, which alters the wave shape and added shape control. Everything still works the same otherwise, but there can be some change of color now. A shape of 0.5 (which is the default value) gives the original color, the modulation works additive - not multiplicative.

Had to change the layout a bit to make room for the extra controls.


Boids …

Published as pre-release. 2021.10.18.0

The boids module’s layout got fukt, unfukt that …

Fixed and changed the Oramics1 module

Published as pre-release. 2021.10.17.1


The Oramics1 modue had the in/out level conversion not working - fixed that.

Also added a couple of modes to the module:

[Read more…]


Fixed the percussion oscillator’s name


Changed the odd name OcTrigCS from the previous lemma into OscPercCS, this will break patches made by the previous version using this nmodule, but eh … it was correctly named in places and incorrectlhy in others. So … just fixed it, sorry for the mess.

Published as pre-release. 2021.10.13.1


Updated help

Updated the built-in help for the two changes mentioned below.

Published as pre-release. 2021.9.22.0


Bug in PDOsc module


In the PDOsc module the cents input was added to the cents modulation, instead of multiplied by; fixed this for 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


Some small changes

There still was an issue with the ScaleQuantizer. When first loaded from the module selector it would by default need an enforce operation, fixed that.

Changed the connector popups to additionally show the signal type .

Published as pre-release. 2021.6.24.1


Bug in ScaleQuantizer re-re-visited


It is impossible to get the lock issue right, I’ve made an enforce button to enforce a preset scale.

When a known scale is set on the buttons it is possible to set a preset without it, when the module indicates a Custom scale you’ll need to either use the enforce button once, or select a known scale with the note buttons.

As said before, I should have made them note buttons read only … oh well, this’ll sort of work.

Published as pre-release. 2021.6.8.1

Bug in ScaleQuantizer revisited …


Note: there is a follow-up on this one.

It turned out that the runtime module behavour was a bit problematic too … I’ve made a fix for that as well now … almost at least.

[Read more…]


Bug in ScaleQuantizer


Note: this is not working, it needs more work …

The ScaleQuantizer would not treat the scale selector as a preset selector, instead it would always overrule any manual changes of the scale. I’ve fixed this in the latest pre-release.

[Read more…]


Bug in the LeakyGateSeq module


The LeakyGateSeq was addressing inputs where parameters were meant to be used, this would crash Wren. Fixed it.


Bug in variations

Variations were not applied on patch read, fixed that.

[Read more…]


A couple of (XY) Scope changes and bug fixes.

I forgot to set a pen color for the trace drawn by the scope modules, and some more stuff.

[Read more…]


Bug in EqDivQuantizer

The equal division quantizer (ModEqDivQuantizer) does not work properly.

A big thanks to wmonk, he got the right code for me to fix it. So, let’s try it in the wild world web now!

eSpeak bug

It looks like eSpeak is not being detected correctly when only the 64 bit version of it has been installed, I’m investigating this.

[Read more…]

Error in Scala SCL parser.

An error in the Scala SCL file parser, it would not accept files where the comment was empty.

Changed the parser to accept empty comments.


Another font bug fixed

Another fix for the fonts, changes in module and module title font did not propagate properly anymore.


Hint window bug and font selection issues

The size for hint windows with an image in them is not calculated correctly.

Ok, fixed that and also, this time really, fixed the shutdown issue mentioned before (things actually went wrong with all font selection). Also I’ve set the default popup font size to 10, it was not defaulted before and it came up as 8, which even for me is a bit small on the popups.

Fixed a bug in the connector hint implementation

Fixed a bug in the connector hint implementation that would lead to occasional crashes on stopping Wren.


Bug in poly specs

Fixed a couple of poly specification errors, that’s only how the affected modules were drawn. Also fixed a bug in the GateSeqMulti module where a parameter index was wrong, this was a true bug ffecting performance in some cases.

Bug in the Mux module

There was a bug in the Mux module, crossfading would only work when something was connected to the cross fade modulation input. Fixed it.