DanT :: NuMetal - Beta [v2.0.9] Kalkatron & PolySplice

I did use Minus originally, but I didn’t like how it sat in the design. I guess Minus has a negative feel to it that Subtract does not, but also - Minus could potentially (admittedly unlikely) be misunderstood as making the number negative rather than, as we describe it in school, taking away, so there is another reason why I chose Subtract…

True, but they are also all nouns in the same way as Plus is, they name the symbol that appears next to them on the module panel, in my eyes all four words are grammatically consistent.

No, the nouns are Addition, Subtraction, Multiplication, and Division.

Subtract and Multiply are exclusively verbs, and within a mathematical context, so are Add and Divide.

There is no verb definition for Plus

The labeling may seem grammatically consistent to you, but I believe if you look up the words in your favorite dictionary, you will find that they are not consistent.

Again, I am OK if you would rather maintain the inconsistency. This is all rather pedantic, and not important in the grand scheme of things.

They are some nouns, they are not the nouns.

Now I don’t want to enter into a grammar argument, so I will simply state this:

A noun is commonly described as a word that refers to a thing.

Here are some things: +, -, ×, ÷

Here are some nouns that I use to refer to those things: Plus, Subtract, Multiply and Divide

We are both entitled to use whatever nouns we feel are appropriate to those things, and as long as others understand which things we are referring to, that’s all that really matters…

I believe you think of them as nouns. I just don’t think you will find a noun definition for Subtract or Multiply in any English dictionary.

I absolutely agree with the sentiment - though I would substitute “words” for “nouns” in your sentence :wink:. (Sorry, I couldn’t help myself. I will shut up now)


Wow, I did not mean to start such an argument! FWIW I call the operators differently from the operations themselves (ie. plus, minus, times, divided by vs. add, subtract, multiply, divide), but to each their own. The language used doesn’t stop this from being a great and extremely useful plugin!

Well, I thought I’d have a quick bash at implementing poly, and seems like there may be some challenges to overcome :face_with_spiral_eyes:

Although the current code hasn’t yet had any optimisations added, I don’t know how successful I can be at reducing this CPU load, realistically speaking.

So, does any user have an opinion on whether polyphony would be useful, or should I prioritise new features (or new modules even)?

Maybe this is just because I am stubbornly English, or because I studied maths in higher education (20+ years ago), or maybe there is no real reason other than personal preference, but this + is a plus symbol to me, not an add symbol. Plus is just more mathematics than add. Add feels like the amateur version of plus.

I can’t help but to comment (just this once!) as, in turn, I studied language. Even in the module documentation, you write: “This is where the maths operations can be performed. You can add, subtract, multiply or divide the input signal by a specific value.” In a nutshell, this is the consistency people mean when bringing this up.

The labeling follows the above description and intent logically and literally, apart from plus - the subjective reasoning for plus instead of add is fine, as you are the author, not to mention the module itself is great :pray: (thank you!), it just leads to a nagging feeling when observed from the point of view of… how language works, and reading the reasoning behind that plus, heh. The reasons outlined are problematic and in more than one detail not quite correct.

(One particular style idea I’d like to mention, it might be more fruitful to view words in a specific GUI context like this as implied imperative verbs, even. Instead of “seeing” them all as nouns, I mean. Add, subtract, multiply or divide, that just feels natural.)

Anyway, this isn’t in any way related to the actual functionality and superb usefulness of this module. Feeling the terrible and growing urge to comment is more of the “someone is wrong on the internet” kind (insert xkcd comic strip here), haha. But like Dave, I’ll just shut up now; feeling compelled to comment probably tells more about me than it does about anything else, lol.


Lets rewind…

Yes, I considered it, but I like Plus more, thank you for your feedback (end of conversation).

But seriously, as I stated above, if there are any accessibility or usability issues, I will attempt to address them, but this is an aesthetic choice. You might as well ask if I have considered making the module red instead of blue. The answer is yes, I considered many colours, but I like blue.

You probably have a different favourite colour, but I’d like to not have that type of conversation here, interesting as it may be, on the announce thread for my plugin.

I’ll be happy to join in any such discussions on other threads should someone make them, and we can all give our opinions on grammar and colours and specific design choices and what lead to them. We can even ask Pyer and Marc what other labels they considered for Planck, Wormhole, Supernova & Quantum Leap.

Thank you, I am glad you like it

OK, we can move on now…

I am trying to figure out if polyphony is useful on Kalkatron

Having cleaned up a fair amount of code after the refactor, the CPU is not quite as bad, this might be acceptable?


This seems usable for a complex patch. It’s certainly less than having duplicate modules around.

In general I find it much more useful to have polyphonic modules; otherwise patches get much too large (or I end up using a different module that is polyphonic).

1 Like

It’s Friday lunchtime again…! (Well, it was, but day job n stuff, it took me awhile to create this post :slight_smile: )

This is a complete rewrite of the Kalkatron module to make it polyphonic.

As pictured in the above posts, the CPU usage for the module when under some load and processing all 16 channels is typically under 3%, which seems reasonable for now. There are potentially some more optimisations that could be made but I am pretty sure that anything significant would need to use simd, and I am not ready for that…

For a single channel, the CPU usage is typically ~0.5%, this is more than when the module was not polyphonic, but sacrifices must be made, sorry.

Also, because this is a complete rewrite, I cannot guarantee that patches using previous versions will be compatible, you should probably initialise the module to ensure there is no intermediate state weirdness.

Polyphonic mode is enabled by connecting a polyphonic cable to one of the maths operations trigger inputs.

When polyphony is enabled the knob at the top right will become active and display the currently visualised channel and the total number of channels. Polyphonic inputs will gain a yellow background, and polyphonic outputs will gain a red circle.

The knob controls the visualised channel, all the number readouts and trigger lights will be following the selected channel. This knob will get reset when you change the number of channels.

The number of channels is the max of the four maths operations trigger inputs. So for example if you have 5 channels triggering Subtract and 7 channels triggering Multiply, there will be 7 channels output, all values and inputs are normalised to 0.0 if not set.

All the manual triggers, the slew, the mode and the output attenuvertor are global, that is they act upon all channels.


Amazing! This is going to be fun to play with :slight_smile:

1 Like

Thank you for the grammar police mode. This appeases me. I will make it my default. :wink:



Bravo !


Got sick between xmas and new year, so I have been working on a new experimental module:

It is a (polyphonic) distortion with simulated feedback, but where you can control the pitch of the feedback.(In the video I am creating the zooming noise using a negative envelop on the feedback pitch).

I was aiming for something similar to guitar feedback with high-gain amps, not sure I achieved that, but the result so far seems quite fun.

The feedback is applied after a delay, which means if the gain is high it can become sustaining. So I added a panic button and trigger that introduces a ramp down multiplier at the point where the feedback is added to the output.

I don’t have a build of this ready yet because I still need to a DC blocker to the wet signal and a CV input for the dry/wet control.

What do you think, should I continue with it?


Sounds great. It would be nice to hear the dry input alone as well so we can really tell what the module is doing.

Like the sound of it, so yes please continue with the module. So how long will the feedback sustain for? Happy New Year