2022-06-19

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).

TModSimpleRange.jpg

  • 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.

2022-06-02

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).

TModPluckControl.jpg

  • 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.

TModPluck.jpg

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…]

2022-05-15

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.

TModMambi.jpg

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.

2022-03-05

New globals module

Published as pre-release. 2022.3.5.0]

TModGlobals.jpg

Made a new Globals module, for now it will just output the globally set LFO relative rate (r.rate in the user interface) to make it available for modules that do not listen to that global setting (i.e. non-lfo type modules).

2022-02-10

New module

Published as pre-release. 2022.2.10.2]

TModFileCmds.jpg

Made a new simple module, it detects the last line of a file being changed. It will make a short output pulse when such a change was detected.

The syntax to be used is :

  file:fillename

or

  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.

Example:

    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.

Some fixes and changes

Published as pre-release. 2022.2.10.0]

Made the SapiVoice module working again, it had a problem with speaking empty strings, had a memory leak, would not speak no more on text changes and it was way too fast - all addressed.

Changed the Morse moduel to speak an ‘F’ on non letters, non space or non ‘*’ it was a bit odd stopping to work on single interpunction characters .. like ‘.’ etc.

I’m ready for a chat driven performance. just a little more patching :)

2022-02-05

A new module, some changes on an old one and some and remarks

TModNoop.jpg

Published as pre-release. 2022.2.4.0]

The Noop module was changed to output a special value when it’s input is not connected. This is the NOT_CONNECTED special value, some modules do special things when seeing that as their input value (normally meaning that that input is unconnected). I’ve documented all current inputs dealing with that special value, it is in the new modue help.

This makes it possible to pass the NOT_CONNECTED value trough swithes to make non-connectivity programmable. The noop module is the only one able to source this value, but it will be passed on trough other modules when they do not alter the signal (like switches).

It is wise BTW to not use this as a general signal, as the actual value as seen by unaware inputs is very large and this may hurt eardrums :¬)

TModClockGen2.jpg

Then .. made a new module .. it is not finished yet, but am using it in patches already .. so .. better to mention it, as it will show up in new builds. It is a clock generator, and made it because the updated DataGraph module could use it. I’m still struggling with measures and beats and whatnots (music is hard!). It will change I guess, but the basic idea is simple.

[Read more…]

2022-01-27

New envelope - of sorts

NOTE: as of version 2022.1.28.0 the module has inbuilt stretch on the trig input, and no extra module is needed for pulse lengthening.

TModEnvReso.jpg

Published as pre-release. 2022.1.26.0]

Made a new envelope module of sorts.

I had been experimenting before with a State Variable Filter (SVF) set to low frequencies as a method of getting some ressonance in the processed signal. Worked that out to use a time setting instead of a frequency setting for the filter and allowing for very long times (ultra low frequencies … like once per hour) and for pretty short times like 500µs (2kHz - in the audio range).

There are some details and an example patch (including a short mp3 recording from it) in the more section.

[Read more…]

2022-01-10

New distortion module

TModDistort.jpg

Published as pre-release. 2022.1.10.0]

Made a new Distort module. It takes it’s input value and raises it to a settable power (alpha) which can be modulated.

[Read more…]

2022-01-05

New poly status module and a change of the old one

TModPolyStatus2.jpg

Published as pre-release. 2022.1.5.0]

Changed the PolyStatus module a bit and added a PolyStatus2 module with a different distributen of the output values over the voices.

[Read more…]

2021-11-27

A new module

TModLpGate.jpg

Published as pre-release. 2021.11.27.0

A low-pass gate of sorts.

[Read more…]

2021-11-13

And a third one …

TModQuantizer3.jpg

Published as pre-release. 2021.11.13.0

Made yet another quantizer, it quantizes it’s input value to various levels each with it’s own output.

[Read more…]

Another quantizer

TModQuantizer2.jpg

Published as pre-release. 2021.11.12.0

Made another quantizer, it quantizes it’s input value to a value set between the lo and hi values.

[Read more…]

2021-10-24

Fixed filter bank

TModFixedBank.jpg

Published as pre-release. 2021.10.24.1

Made a new fixed filter bank module with 38 bands, starting at 35Hz each next band has a 17% higher central frequency for it’s bandpass filter till the last sits at about 12kHz..

[Read more…]

2021-10-16

A new module and some extra modulations

TModOscPercCS.jpg

Added a couple of modulations to the percussion osc, for click, decay and fine (cents) control.

Also made a new module, a prototype for a Daphne Oram type of Oramics module. I plan to make some variations on this one.

[Read more…]

2021-10-13

Two new modules

TModCopy.jpg

Made two new modules, a Copy/shuffle modle and a percussion oscillator.

The Copy module copies it’s inputs to it’s outputs - but the coupling can be randomized in some way.

The percussion oscillator is loosly modelled after the pch2csd interpretation of the Clavia G2 OscPerc modue (type 195 there) - it ended up a bit different than the original escpecially for the punch mode. Oh, and it got a bit of an odd name somehow … OscTrigCs, will fix that later on.

TModOscTrigCS.jpg

Published as pre-release. 2021.10.13.0

2021-09-22

New TunedDelay module

TModTunedDelay.jpg

Made a new TunedDelay module.

Published as pre-release. 2021.9.21.0

2021-07-05

Upped the current pre-release

TModLog2.jpg

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

2021-07-04

A new power2 module

TModPower2.jpg

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.

2021-07-03

New envelope module type

TModEnvARMod.jpg

Made a new EnvARMod envelope module, it has better time and shape control than the existing EnvAR module. It also has outputs for the A, H and R phases (as well as as for End Of Cycle (EOC). It also has not the bug mentioned in the previous item.

Published as pre-release. 2021.7.3.0

[Read more…]

2021-06-24

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

2021-05-29

Random divider module

TModRndDivider.jpg

The module divides the incoming signal rate by a random amount.

[Read more…]

2021-05-15

A new wave folder module

TModWaveFolder.jpg

Made a WaveFolder module. This module implements a Serge / Ken Stone / Buchla like wave folder using a chain of 4 Lockhart wave folders. The module is anti-aliased using a first order antiderivative method.

[Read more…]

2021-05-07

A new Spectrum analyzer module

TModSpectrum.jpg
Made a spectrum analyzer module. It is FFT based and it uses 8192 points with a Blackman Nuttal window applied over it.

[Read more…]

2021-05-03

Two new Equalizer modules

TModEqualizer.jpg

This is why I needed filter plots, two new equalizer modules. One mono and the other stereo, but otherwise equal.

[Read more…]

2021-04-28

A new NoiseGate module

TModNoiseGate.jpg
Added a NoiseGate module. With the Attack and Release controls you set the attack and release times.

[Read more…]

2021-04-13

A new data recorder module

TModDataRecorder.jpg
Made a data recording module, along the lines of the Recorder module, but it takes it’s input from the selected voice only (so no voice mixing) and it writes out it’s data as a Comma Separated Values (CSV) file.

[Read more…]

2021-04-12

A proper oscilloscope

TModScope.jpg
Made an oscilloscope module, a somewhat more usual one than the XYScope module.

The module listens to the selected voice only.

The input signal is amplified or attenuated by the level control.

The time base can be set to various values, the values reflect the time for the full screen width (so not the usual time per division). For long time base values the update frequency is low. The shortest time span that can be set is one point per sample, in this position the relation between signal rate and size on screen depends on the sample rate.

[Read more…]

2021-04-02

Added a tropical mixer

TModTropicalMixer.jpg

Added a Tropical Mixer module.

What it does is mathematically simple … it computes the minima and maxima of some values. The values are made from an input value summed with a constant value and a modulation input.

[Read more…]