PS-PurrSoftware Plugin Modules

Thanks for the feedback. Currently there is no functionality to use CV input control of harmonic degrees, but that would be pretty easy to do. I’ll add it to my list. The UI is definitely a work in progress. I quickly outgrew the usefulness of doing all of my design in SVG (Inkscape for me). So, I do not let helper.py build my cpp file now. That’s a two edged sword though. Any changes I make to the layout, including spacing and alignment have to be done by hand in the cpp file. That is tedious. If you or anyone have a better way, I would love to hear it. Others said that they still allow helper.py to create a working cpp file and then manually merge the new pieces with the old pieces without overwriting any old pieces.

Oh yeah, your other question. Currently the module changes to the next chord on the first beat of a measure. Meander for Windows has a lot of options such as chord patters within a bar. I have not implemented any sophistication yet. Similar patterns should exist for melody and bass.

My SVG panel design has the basics and I do still edit it if I add a new param or object, but then I have to manually add the cpp code for the new param or object. This process works but is coordinate tedious. I usually add the object in the SVG and grab the coordinates and length and width and then transform those manually in to cpp file from SVG mm’s and Y-at the bottom to Rack’s px and Y at the top, fudging for object height adjustment offset in the Y coordinate. I should probably write a little function to do this automically, given the SVG X, Y, W, and H.(and the panel height).

1 Like

Very impressive module! Great work. If i may just a suggestion. I think would very nice if each one of the four parts have is own independent dotted/triplet time divisions/multiplications. Thank you for your contribution and efforts.

That’s a good idea. There is virtually no end to what could be added under algorithmic control. Meander for Windows has a lot of nuance control, but not specifically triplets. I simulated triplets in my melody “echo” or arpeggiotor where I could define a number of articulations of the melody note, with a variable time interval between the articulations.

1 Like

here’s my process, if it helps:

I write code to generate most of my svg layout - I write it in javascript, using svg.js and math. this gets merged into a basic svg template and saved in res-src. I convert svg’s from res-src into res by running through Inkscape and converting the paths. thus most of the heavy lifting is done by code.

I also split my code into three parts:

  • controller/module.hpp
  • controller/module.cpp
  • view/module.cpp

where module gets replaced by the actual module name - it makes managing those concerns much easier for me.

2 Likes

This seems pretty cool. Meander for Rack is playing the Arturia Pigments soft-synth. Pigments is playing the Meander harmony part in an ambient patch. I’m using a LoopMIDI port 3 virtual MIDI port via the Rack CV-MIDI module. Meander is progressing. Each day I implement about a page worth of todo’s.

2 Likes

Here is the SoundCloud recording of Meander for Rack with Arturia Pigments, recorded with Audacity.

6 Likes

Based on your suggestion, I added a circle of 5ths input such that the white keys on a keyboard (C,D,E…) are interpreted as harmonic degree values (I, II, III, …) which has two effects. First, it disables the harmony progress temporarily but leaves the melody and bass lines still playing as they would if the harmony chords were playing. Then the keyboard press causes a chord to be played corresponding to the degree, of the correct chord type (major, minor or diminished) for that degree in the current key and mode. This becomes the harmony line and the melody and bass follow that. Harmony can be re-enabled at any time and will pick up the progression. Also, the playing notes are all correctly displayed on the panel now, as well as the current harmony chord, chord type and chord inversions. Meander makes a lot of use of chord inversions so that the harmony can “meander” in more interesting ways. I still need to fix the progression lights to track the keyboard input. The panel graphics is still evolving.

image

4 Likes

release date?

Really interesting progress you’re making :+1:

one question I have,

could this be made CV controllable?
(I see there is some space next to the LED for Harmony Enable :wink: )

What all needs to be CV controllable? I can see making the enable toggles for harmony, melody, bass and drone CV controllable. But, it might not be reasonable to make every param on the panel CV controllable as there are about 25 additional params that are not currently CV controllable.

Today I got all of the circle position lights working with external harmony control. I also made it where user external harmony chord control is queued until the next measure so playing stays in sync. I also made it where the harmony engine can be controlled externally while the module is not “running”, for dinking around with harmonies. In this mode, the chord is only played once per keyboard press rather than for each subsequent bar as when “running”.

I had to change the external harmony control to require both a CV and a gate input, as otherwise CV 0.0 cannot be triggered easily.

I really have no idea on a release date. I implement about a page of features each day, but there are still a lot of important stuff undone, such as user custom progressions, the harmonic and melodic arpeggiators, chord patterns within a bar, bass patterns within a bar, syncopation, swing, getting all time signatures working correctly…

The good thing is that all of these features are already present and working in my Meander for Windows application, so I have a functional template to work from, but the Rack plugin architecture is significantly different from a Windows app, so, for each functionality feature, I have to mess around with it a good while to get it behaving properly. And, the program logic is so complex that it is difficult to add functionality without breaking something else.

The good news is that I am retired and can work on this 16 hours per day, as I do on most days.

4 Likes

I know that @almosteric will always say “everything!” and I often agree with him, but in this case I’d probably personally suggest your parameters on the right:

  • steps
  • target octave
  • alpha
  • range
  • pattern
  • preset

that would give fantastic control for states that could be very interesting to change fairly dynamically, or to tie to an external knob via midi-cc

1 Like

For just the harmony section, or for the melody and bass sections also? Most of the params you listed exist in all three sections. Lately my panel images have just shown the harmony portion.

ah! I was obviously using your panel image as my guide :slight_smile:

I think it would be awesome for all three, personally, but it’s ultimately up to you as to how much you want to support. as long as there’s panel space, I tend to view adding CV support to be essentially “free”.

Here is a screenshot of my current status with Meander for Rack. I have almost all functionality in place, now including the melodic arpeggiattor. Most parameter controls are functional. I just added musical notation font support. Inside the circle of 5ths the mode and key signature is displayed. I still have some work to transpose this for all modes. Over on the lower right is my first attempt at displaying the playing notes on the treble and bass clef staffs. With the latest module logic I am using, the module consumes 1% of my CPU capacity.

I’m curious whether you all think that there would be enough interest in this complex module to warrant me releasing it when finished. The parameter default settings enable one to get started in a reasonable way.

8 Likes

Here is the SoundCloud link for the patch above. It showcases the melodic arpeggiator.

1 Like

this depends strongly on what is “enough” for you. I’m sure there will be some users that will be using it and ready to learn the howto. And if someone will do a youtube tutorial this will increase the interest imho. at least I’m very interested in this module and I hope you will release it. And I’m ready to do some beta testing for you.

3 Likes

From your SoundCloud sample, it sounds like the module has matured enough to warrant some road testing to get some feedback. It would also allow you to take a minute to document what you have done so far. From your screenshot, you have a lot of parameters that may not be completely obvious. Like @rsmus7, I’m curious about the module, too (if there is a Win build).

I have been following this thread with interest. After hearing Blue Pigments and Meander for Rack over on soundcloud I feel I would chose Surge synthesizer for my first go. It has a split scene set up, effectively two individual voices that may be well suited for Meander.

1 Like

I’m surprised to hear there is a chance you wouldn’t release it! I’m definitely interested in seeing what I could come up with using Meander. Or rather, what Meander would come up with using me to patch it.