Ideas for any interested developers

So I still think that the previous idea is very cool and hope that someone would make it for everyone. Or maybe I should learn programming and make it myself… Nope.

Today’s idea is something that I think about a lot. It is a type of OR module (or a mixer) with particular behaviour. Let’s start with why I need it (and maybe other people too, one person requested a solution for this problem yesterday).

So let’s imagine we have a patch with a snare that goes pew at every 2 and 4. We want it to go pewpewpew sometimes. We start to dance with mixing the inputs and adding the ratchet and so on. The more we add the more we need. Oh, this is a function generator and it ignores the second ratcheting input, cause it’s too fast. Let’s modulate the decay, let’s make the gate shorter, let’s use the other ADSR, Oh, we can’t mix two inputs as is, cause the longer gate still masks the ratchet. Let’s crossfade or kill the longer signal…

As much as I like solving the problems, sometimes I just want one module that does what I want. And what I want is demasking and prioritizing the signals. Like input A is the main input as long as there’s nothing in the input B, which is prioritized as long as there’s nothing in the input C. And so on.

Here’s a picture!

So it is a type of OR module. But if it receives the signal of higher priority, it jumps from A to B. Von A nach B der Liebe wegen! Sorry for this Einstuerzende Neubauten reference… It could jump from A to C though and for now Blixa has nothing to say about it.

I should add that there are many ways to do that without using the… I need a name for this thing. ORder, haha. A little cringy, but fine. So it is possible, but I feel sometimes that we need some unusual non-commutative logic modules. And that would be a nice start. That’s it for today’s crazy ideas!

1 Like

Isn’t it Ichneumonid that you’ve just described?

image

1 Like

I don’t use it, so i don’t know… Looks very different from what I imagine or want it to look and act. I think what I want could basically be described as OR module (when there is only one signal on the input) that occasionally works as AND module (when there are two or more input signals). So there are only 4 inputs and one output. It’s not a switch what I want… But maybe you can do a similar thing with this Ichneumonid module, I am not sure. But not as simple is I want… I want like one cord for one clock, the other one for ratchet and the output signal that goes pewpewpew, hahahaha

You said “that there are many ways to do that without using the” ORder. Could you please post a .VCVS file with an example?

I’d be curious to see what you mean.(Although your lovely illustration did help me a lot this time!! :heart_eyes: )

Yeah, sure! A bit later though…

Hhahaha, I promised to do the classic style next, so I did, yes!

1 Like

ratcheting.vcv (3.6 KB)

Here it is. There are other ways too. Like with switches, I do it too -----

Warning, unnecessary tangent -----like with Autobreak for example, I use it to create some kind of… uhm… breaks at the end of a 4 bar segment. But it’s a bit different, cause I usually feed ratchet into Autobreak all the time and just switch the input for SEQ.

So as you see, if you are not picky, you can use XOR, the problem is, I am picky… I want the ratchet to start exactly where the clock would’ve start. And another thing is that in that example and in every one of my patch there are only two inputs: clock and burst\ratchet. And sometimes I want to add something extra. Or I want to cut the gate randomly (well, that’s another topic though)… So yeah, that’s what I was thinking when writing my post, haha

So here I go again! I think my ideas are a bit daft, so it’s probably a waste of time, but I am having fun, so here’s something again that you can kinda make with existing modules (not 100% of functionality though), but it would be nice to have a compact solution

Imagine having a sequence that’s going like 11117113 and you want to accent the 7th. You can do it with a gate sequencer or maybe you can set a pulse on lfo that goes exactly at that moment. But let’s imagine the sequence changes and now it’s 11713371 or something like that. And you still want to accent the 7th. Well, you can set a comparator to check if the CV sent to your VCO has a certain value. But the first 7th in our sequence is in 3rd octave and the second is in 4th octave. And also you set a little drift so it would be kinda “organic” (i have a beef with this word). Well, you can still do it, but the number of modules would grow and grow until you have a patch that looks like a maze. Which is cool, but… Would be nice to have a module that does everything. Well, here’s my idea:

Basically it is a comparator with a little twist: it checks octaves too and searches for the more or less exact match. So now you can accent your 7ths all day long! Also you can set the number of octaves with a slider (so it wouldn’t accent something that is too high or too low). And you have a switch that goes with this slider, switch sets the polarity of a slider (plus, minus or bipolar). It’s kinda funny that if everything goes as I think it should go, at the highest slider position and B set to 0, if input A sends 5v or 10v, comparator should activate.

Some other features:

Spread sets the area that signal A should be compared to. So if it’s slightly detuned, you could turn the knob to the right and set the spread that counters the drift. If you want to accent the whole octave (for some reason), you can do it by turning the knob all the way to the left. I must add that there should be quantization circuit somewhere in this module for 1v/oct signals or there might be a problem when you set B slightly lower or higher: the spread wouldn’t be aligned perfectly, which is kinda the point of having the spread in the first place.

By the way, I think the signal B knob should be 0-1v, it would be easier to set and we don’t really need it to be -10 to 10v. We might need an octave selector for the situations where you need to accent the note from a certain octave, and it’s not the 4th octave. But for now let’s just ignore this problem! Nice.

The behaviour part is optional, but very fun, it has four elements:

  • toggle to set the behaviour when to expect the new B (if it is set by CV). It is a nice thing to have, because we could send the random voltage to the “B CV in” and this module would still be more or less tame. The toggle positions are: Hold (ignores the new voltage and operates with 0 or the first CV cignal that is not 0). Hold until (Holds B until something happens). Reset (new B on every reset).

  • This toggle sets the behaviour of Hold until position of a previous toggle. So it constantly checks the value of B and if new B is greater or less than a set number, it changes B. It would be nice to have a switch for that, but two toggles together look cool. Positions of this toggle: 1 semitone, 2 semotone and Set by Spread. Which is a short way to say “change everything you want if it’s not in a spread area”. Ideally it would be nice to have more musical positions here. Like if new B is a major third, change B. Or if it is a fifth. But for now let’s ignore this problem too! NICE.

  • the next toggle!~ It sets the source where to take the new B value from. Positions are: CV (takes it from CV), CV - Set (if the last B was set by CV, new B would be from a set position and vice versa, so it goes CV - set - CV - set - CV and so on), NOPE (No new B. Comparator shuts down and expects the Reset).

  • Reset input. Self-explanatory.

I think it should have two outputs: “B CV Out” and an actual comparator trigger/gate output. We could do without B CV out, of course, but it would be nice to have, just in case.

And that’s all for today. Take care!

2 Likes

So, just to be clear, these are scale intervals?

Whereas probably not where you are going with this. My Meander module can make use of an “octal radix” scale and harmonic circle of 5ths diatonic intervals. In my octal radix scheme, notes are designated as “degree.octave” where degree can be integers from 1 to 7 and octave can be integers from 1 to 7 for a total note range of 1.1 to 7.7. I also use a value < 1.0 or >= 8.0v to represent a skipped step or a not-played note in sequencers. So, I typically use a value of 0.1 for a skipped step to distinguish it from a 0.0v CV input from a sequencer.

So, Meander can understand harmonic circle of 5ths degrees and melodic scale degrees input CVs and can output harmonic circle of 5ths degrees (in either 1.0-7.0v or 0.0-6.0v.

Well, you get the idea. The octal radix format allows the full range of note values but also easily designates the octave and the degree for lower level musical values.

There are a few other modules that can understand this type of octal radix notation, specifically the Aaron Static DiatonicCV module and the Sckitam MarkovSeq module.

With the octal radix note format, it becomes trivial to say, accent every 7th scale interval note.

2 Likes

Yeah! It’s the notes in the scale. So 11117113 in D minor would be DDDDCDDF (it’s just easier to code it with numbers, haha)

Oh, that’s interesting! I didn’t even know about octal radix format… That’s very clever. I am not sure if I understand it, but if I do, it implies that the module that receives the coded note, already knows the scale, is it right? Or not… I am confused. Well, I think I have something to read before bed now, haha.

Yes, pretty much. The Aaron Static DiatonicCV module has a “Scale In” input but does not understand the Meander Mode and Root output, so I have to use the Aaron Static ScaleCV module and manually set the Meander mode and root and send the output to the DiatonicCV module. There is no standard on how to represent modes and roots between modules. And not all modules are limited to modal scales.

The octal radix format is my own “invention” as far as I know.

1 Like

Fundamentally, my octal radix notation buffers degrees or intervals and octaves so they do not have to be recomputed on the fly and also, the exact same octal radix sequence can be played in any diatonic modal scale(key).

My original Meander from 1988 handled the modal scales but also a lot of other non-diatonic scales, but forming chords gets extremely complex and ill-defined in other than the diatonic scales and Meander slaves everything to the chords of the harmonic progression.

3 Likes

I was thinking today about the word “organic” again and why it makes me cringe when people describe something as “organic” - I mean, something that is not organic by nature, of course. So first of all, what is “organic” in quotation marks, the cringy(*) organic - my opinion, of course, it’s all subjective. That is a random movement, it just moves unpredictably here and there. Well, let’s imagine your car start to move unpredictably, you would not call it organic, right? Anyway, I promised myself not to rant… Alright, here’s my problem with this. Let’s imagine something unpredictable in nature. Like a spider. He moves here and there. Pew pew pew pew - here, there, here again. Why? Well, he reacts to something. Maybe he hunts or he’s afraid and he wants to find a safe spot. Or maybe he wants to find a female spider to sacrifice his life. Point is - there’s a reason behind it, it’s not actually random for the spider. And it’s connected to the environment, he moves in some kind of space that he also reacts to.

image

(spider reacts to something in the environment, image from this article)

Now imagine a lion that hunts zebras or something. He moves in their direction, it’s not random. And zebras also have legs (and needs). They would try to escape. And that would affect lion and that would affect zebras. And so on. And then lion would either catch a zebra or get tired. And that would affect zebras too. So it is random, but not really random. It is predictable, but not really predictable.

It’s certainly interesting and I would love to play with this plugin, but it’s still not organic. Hahahaha. Well, in my opinion, of course. To me organic is more to do with the sound, the timbre. I can’t really describe it. Anyway, crazy idea for today - zebra hunting simulator for VCV, hahahahaha

2 Likes

I agree; organic is not a good term. But, there is something there that needs a name, perhaps. My Meander module is all about stochastic and chaotic evolution of musical patterns. From “chaos theory”, what appears to be chaotic is in some cased driven by hidden variables and “strange attractors”. In Meander’s case, the mathematics is based on “fractal Brownian motion” (fBm) and “1/f” time correlated multiharmonic pseudo-random numbers, constrained by western music theory and common practice.

In the end, this is sort of like the Turing Test. If a person interacting with the system cannot tell if they are interacting with a machine or a human, the system passes the Turing test as having captured the essence of an “organic human”.

Your images remind me a lot of Conway’s “Game of Life” based on cellular automata. I have done a lot with cellular automata as well as human hippocampus simulations including the creation of real-time massively parallel procedural textures in game engines. I’ve been applying very similar correlated noise in a wide range of simulations for 35 years now.

Perhaps we should replace the word “organic” with “interesting”.

2 Likes

Haha, I was thinking about it too. Conway’s idea is much more serious and complicated than what i described though… My idea is like Game of life for poor people, haha.

Yeah. This or something like “procedurally unpredictable”, hahha

1 Like

My first introduction to Conway’s game of life was in October of 1970 when I was a freshman in college, via Scientific American: https://www.ibiblio.org/lifepatterns/october1970.html

I was poor, but I did have access to the university mainframe shortly thereafter where I implements the game of life as Fortran and printed many generations of “cellular life” on big fan-fold line printers.

The rules of cellular automata are so simple that even “poor” people can participate.

I have some versions that I did within the free Unity game engine within the past 10 years.

2 Likes

Maybe “procedurally psuedo-unpredictable”…

2 Likes

My favorite post in this topic sofar…

1 Like

I like it! It makes a good abbreviation: PPU. Sounds cool

Maybe because it’s not really a module idea and more like a bigger concept. It helps (at least to me) to conceptualize and connect the modulation\automation tracks for a patch or DAW project.

No diagram needed, I want something that sounds like a Halldorophone

5 Likes