Purr Software's Meander Module

I have the basics of my algorithmic composition engine, Meander, working in VCV Rack. As mentioned before, this is a port of a Windows application I developed during the 1988-2001 time period (actually starting under DOS). The basic idea in Meander is that it generates notes to be played by other audio modules. It composes harmony based on the circle of fifths, modes and keys. Melody is typically slaved to the harmony, as is the bassline. The program is called Meander since it uses 'fractional Brownian motion" in 1 to 4 dimensions to generate wandering (meandering) songs. I have not implemented the harmonic and melodic arpeggiator yet. Attached is a screen grab of Meander playing a 6 step classical I-vii-iii-vi-ii-V progression in an Ionian/Major mode with C tonic (~key, root). Here is a link to my SoundCloud account of the audio test: https://soundcloud.com/cyberpunken/meander-for-vcv-rack-demo .

8 Likes

Cool! When do you think it might go into the plugin manager?

very interesting module! :+1:
I really would like to try it.

Might still be on the todo list or I just missed it but I don’t see a clock reset input (unless I missed it). When using an external clock that seems like a must have to get everything starting in sync. People may want to combine this with other sequencers.

Looks interesting for sure!

there is a Reset button in the upper left,maybe the reset input just needs to be put on the UI.

I’m not sure. I just achieved “first sound” late last week. As you can see, there are a lot of parameters on the panel but very few of them are functional yet. And I just started work on this around the beginning of this month. There has been a lot to learn. Part of what I have done is made sure I have the fundamental code working and now I just have to greatly expand on this.

Good point. Is there a general spec on what a clock reset input should do and what the voltage signal looks like? I.E., 10V for 1ms, reset and restart clock? Should I also have a clock reset output?

Yes it’s in the manual : https://vcvrack.com/manual/VoltageStandards.html#triggers-and-gates

As for the reset output, it’s completely up to you, but as it seems your sequencer have an internal clock, it can be a good feature to implement in order to drive other sequencers.

Look forward to this module being released. Let us know if you need a beta tester. Can build on Mac.

I could also beta test it, here on win10

Here is PS Meander for Rack showing its true colors. This is a demo of a 12 bar blues harmonic progression, with synced bass and meandering melody. I’m just capturing these demos with my iPhone, so forgive the sound quality. Meander has about 30 harmonic progression presets and will eventually let the user create and save their own.

Also, I took some of the suggestions here and added Run and Reset EXT in and out. Attached is a pic of the current module along with my test patch, for testing the in and outs. Also added volume CV out for harmony, melody and bass. That is used by passing the VCO audio through VCA-2 both VCA’s in series. The ADSR controls the envelope via the first VCA and the Meander volume VCA CV controls the volume of the played notes via the 2nd VCA,

4 Likes

Here is the image.

2 Likes

Seriously excited for this after thinking about it and hearing more about it.

this sounds cool ! it is getting more and more interesting. users harmonic progressions will be a nice addition.

I finally have my PS Meander module circle of 5ths custom widget and algorithmic composition working for 7 modes and 12 keys. This is one complex widget. As the mode and key is varied, the widget UI is regenerated programatically using nvg commands, including blanking out the SVG file circle image.

Here is a screen shot of the circle of 5ths set up for Aeolian/NMinor in A. This is a 12 bars blues. I will post a link to my SoundCloud account with the recorded piece.

4 Likes

Here is the SoundCloud link for the above “song”.

2 Likes

I haven’t really looked into this thing yet so my question will inevitably be ignorant, however, would it be possible to break it up into smaller chunks? Like they did with Surge?

Anything is possible, but may not make sense. Meander is basically a music theory expert system combined with a sequencer of chords, melody and bass with fractal Brownian motion randomness added… All of the pieces have to have access to the expert system as well as having knowledge of what the harmony is doing. I.E., the harmonic progression chord engine drives the melody and bass lines.

I’ve pulled a lot of Meander for Windows (MFW) functionality out in this port. MFW did all of its own sound generation as well as having a drum and a melodic loop sequencer that were not slaved to harmony. It also had piano keyboard playing notes display as well as a bass and treble clef score display. Also had the ability to read and write MIDI files and quite a bit more.

I’m sure Meander for Rack will not be for everyone, due to its complexity and panel size. I’m really doing this for myself, but will make it open source and add it to the VCV GitHub if there is enough interest or potential interest. I just now downloaded Surge in order to take a look at it. I see what you are referring to in Surge.

I welcome anyone’s input or suggestions. I still have a lot of work to do before this is ready for user testing. Most of the module parameter controls are still not wired up to functionality.

3 Likes

I look forward to exploring it and hope that you will release it as open source. Also happy to beta test on linux when ready.

Looks like it’s really coming together nicely. What dictates when it changes to the next chord, and is there any way to use CV-addressing to select a specific chord? Example 0 to .999 volts = I ,1 to 1.999v = II, etc.

Last thing, not sure if the GUI is complete, but there’s probably some opportunity to align some things better on the left-hand side. Example: the Mode knob, and label, are higher than the LED. It may also make sense to put Run, Reset, controls down by the Clock In and move some stuff around. Maybe a slightly smaller wheel creates some room for the Beat X text on the output labels. Just little things like that, nothing drastic. I’m no designer by any means, but I could probably mock something up based on that image if you think it may help. If it’s a work-in-progress, tthen ignore all that.