PS-PurrSoftware Plugin Modules

The module is not yet in the plugin library but it’s already one of my favorites. Some little concerns: I see the signals of volume outputs very still, did I miss something? Still don’t understand the “fractal brownian” thing… what use is it intended for?

1 Like

The volume output is not very useful unless you want to jump through a lot of hoops. By default the Volume knobs’ values get sent out the volume outputs where they can control a VCA, or an ADSR sustain setting, or a mixer channel level. This version release also has volume over gate that can be used in a similar way. In addition to the volume control levels, some things like bass accent dynamically modify the volume over gate, but you have to similarly control a VCA, ADSR sustain or mixer channel level with that gate signal. It may not be useful to you, but it’s there.

The fractal Brownian motion is a type of random number generator that has time correlated values and multiple octave harmonics. The fBm octaves parameters set how many octaves are used for that noise component (harmony, melody and arp). Since this is 1/f noise, each higher octave contributes half as much to the final value. The fBm “Period Seconds” determines over what time scale noise is time correlated. The outputs just show you what Meander is using internally based on the fBm knobs settings and you could use these noises as CV control for filters etc. or anything you can think of. I primarily use them for viewing the fBm noise in SCOPE. Here is a screen grab of my scope display. The right hand scope is the arp with the highest number of octaves and shortest period. As you can see, there are octave components on top of octave components over a short time period. You can safely ignore fBm and just use the defaults until you get adventurous.

I should summarize. fBm determines how the harmony, melody and arp “meander” over time. This is where the name Meander came from 30 years ago.

1 Like

Thank you. I’ll have to study.

On a related “note”, there is also a Meander parameter called “Variability” for melody and harmony. This is just an exponential smoothing parameter where each new value of fBm gets blended with the previous smoothed value. This parameter can vary from 0 to 1.0; 0 means that there is no variability and the fBm is smoothed to flat-line. 1.0 means there is no smoothing and the raw fBm “noise” is used. So, the variability factor works against the fBm octave contributions. This has its history in the history of Meander in which I just used Perlin noise with smoothing instead of fBm noise. I’ve only been using fBm in the last dozen or so years. I spent 10 years in the game engine development world, so a lot of recent stuff is an offshoot of such things as procedural textures based on fBm and “alpha blending” which is what the “Variability” smoothing is called.

1 Like

“Purr Software” actually started as my game engine company.

It’s crazy that the same concepts can be applied to pixels or frequencies

If you have built your own Meander plugin from my GitHub repository, please be aware of an issue that came up during VCV review by the library team. This issue is now corrected in the GitHub commits of this morning. I recommend that you rebuild Meander or wait until the library release.

The symptom was that under some compilers or OS’s the logic that I used to suppress DEBUG() logging was ignored and all DEBUG() calls were enabled, resulting in very large log.txt files in your Rack folder. At the very least you might want to launch Meander and then examine the log file. There should be no occurrences of the “debug” logging flag/level.

As an aside you could use a button / switch to debug. For example:

bool debug = params[...].getValue();    //momentary = false button

and in process

if (debug) {
    DEBUG("");
     params[...].setValue(!debug); //DEBUG prints once
}
1 Like

Good suggestion. For now I just preceded each call in the following manner:

if (doDebug) DEBUG("");

doDebug is a global bool. It would be easy for me to do what you suggested to enable/disable debugging on the fly at run time.

Thanks.

For the curious, I had been redefining DEBUG() to look like a comment line to the compiler. On Windows, I get a compile warning on that, but it works. Apparently other compilers or settings may be more stringent and suppress the redefinition. At least that is my theory.

Meander is in the VCV Library under PS-PurrSoftware! Have fun.

Thanks to everyone who helped me take this rather ambitious first module to fruition.

9 Likes

Any documentation to go with it?

1 Like

I’m working on it. That will be my first priority now that the release is done.

1 Like

Congrats on finishing it! I observed the thread a few times and gave it a little try, it seems absolutely fantastic, with so many ways to use it. And it’s humbling to use software with such a long legacy.

It’s incredible you considered not distributing it - once people start to understand it and make videos for it, it’s certain to become one “must have” devices people associate VCV with. I can’t wait to put it to serious use.

2 Likes

I did not fully read this discussion, but it sound very fascinating to me…I was quite good at math (a couple of decades ago :rofl: )…so…as soon as a “kind of” manual is released, I will read it and give it a try, for sure :+1:

1 Like

In celebration of the Meander release, here is a short version recorded totally in VCV Rack with my Meander module sequencing several other modules including a couple of Host VST plugins. You should recognize Pachelbel’s Canon in Dmaj. This progression is #25 of the Meander harmony progression presets.

8 Likes

Congratulations on completing your first release!

4 Likes

Ah, I see I missed a step. I did not populate all of the fields in my plugin.json file, so my manual and source code links are not showing in the library or from within Rack. I am working on the manual and I will submit a V1.0.2 build update request to the library within the next couple of days.

3 Likes

Congrats and thanks to share such a loong work !

1 Like

I must say that it is quite intuitive for the most part. Very cool to see this in Rack, had some damn convincing Sunday morning church organ playing earlier (FM-OP is awesome) using some Back progression :wink: Took maybe 10 minutes to get head around the majority of what Meander can do, so thumbs up for how you laid it out and what controls you added per section. Thanks! The jacks on left side however could move a touch to the right as they are right on the edge of the module which looks a bit weird…

1 Like

Glad you like it. I had a chuckle myself on Friday when I realized I had a “Back” progression. Version 1.0.2 was submitted yesterday for library review. It includes links to the manual and source code and fixes the “Back” typo. By the way, the manual is fairly lengthy. Anyone who wants to take a look at it before V1.0.2 shows up in the library can find it at: https://github.com/knchaffin/Meander

I’ll add to my list to move the left input jacks in just a bit. Thanks for the feedback.

3 Likes