Bazille: Unexpected behavior when modding CV signal with itself using multiplex

Official support for: u-he.com
RELATED
PRODUCTS

Post

TL;DR: Multiplying signals by themselves using multiplexes should make them more exponential. But once a signal has gone through 3+ rounds of self-multiplication, the result is very different from an exponential version of the original. Why???

------------------------------------------------------

In DSP land, it seems like most CV signals range from either 0 to 1 or -1 to 1. If such a signal increases linearly, this means that multiplying it by itself should convert it from a linear signal to an exponential one. For instance, consider a macro knob that outputs 0-1 in a linear fashion: When this knob is in the middle it will output a signal of 0.5, but if you multiply the signal by itself, the resulting signal will be at only 0.25 (because 0.5 * 0.5 = 0.25).

In Bazille, you can easily do this by sending a CV signal into both the input and mod input of a multiplex. However, I took it to an extreme the other day and the result did not seem to be a straightforward linear-to-exponential conversion. I'd like to know why.

I was trying to create a kick drum with a super fast exponential pitch envelope. So I set ENV2's Att/Sus=0 and Dec/Rel=really short, then sent the envelope into a multiplex's input and mod input (as described above). This made the envelope more exponential and snappy. Then I took this "exponentialized" signal from the multplex's output and sent it into a second multiplex+mod, making it still more exponential and snappy. Then I used a third multiplex+mod for even MORE exponential goodness. So far so good....

But then I sent the thrice-exponentialized ENV2 signal into the fourth and final multiplex+mod input, and the output was totally unexpected. Rather than just becoming even more exponential, the envelope shape completely changed. First and most surprising, there was some very noticeable attack, with the pitch rising before falling to sustain, despite ENV2's attack being set to 0. Second, the decay stage was noticeably slower than with the three exponentialized signals that preceded this final one, which is the opposite of what you'd expect if the envelope had become more exponential. Wanting to experiment more, I increased the attack to see what would happen, and it sounded like an entirely new envelope stage had appeared!: the pitch fell (new stage?), then rose (att), then fell again (dec), and THEN hit sustain (sus).

As far as I understand it, simple multiplication cannot explain any of these changes to the envelope. Intrigued, I recreated the same routing using a triangle LFO instead of an envelope, and found that the result becomes unpredictable at the same point. Unless I've fundamentally understood the maths behind what happens when you multiply a linear signal by itself, additional layers of self-multiplication should just be more of the same:

0.5^1 = 0.5
0.5^2 = 0.25
0.5^3 = 0.125
0.5^4 = 0.0625
0.5^5 = 0.03125
0.5^6 = 0.015625
etc.

But instead, in Bazille it seems that there's some magical threshold of self-multiplication beyond which shit gets wacky. So can someone please explain what is going on?

EDIT: Admittedly, the self-multiplication threshold I'm finding in Bazille isn't really (x^4). Instead, it's more like ((((x*x)^2)^2)^2) (which is significantly more extreme) because I'm modding multiplies with already-modded signals, not the pure, unmodded ENV2 output. Maybe this fact is noteworthy? But still, maths is maths, so why is there a threshold at all?
Last edited by themagicalkamja on Wed Jul 11, 2018 1:29 pm, edited 4 times in total.

Post

[bump]

Urs, care to weigh in? Or any of the handful of other Bazille experts lurking in here?

Post

I tried the same, and even the fourth round of multiplication resulted in more snappiness of the envelope, just as expected.

However, I could get the result you described, but only if I plugged the cables into the right side inputs of the multiplex, because it matters if you use the left inputs or the right inputs.
If using the left inputs, you get ring modulation, but if you are using the right inputs, you get amplitude modulation instead.

From the section about the multiplex in the manual (page 29):
RM can be written as y = a * mod, and AM as y = a * (1 + mod).
In Bazille's multiplex, however, AM is actually y = a * (1 - mod).

Post

Thanks for the reply.
tasmaniandevil wrote:I could get the result you described, but only if I plugged the cables into the right side inputs of the multiplex, because it matters if you use the left inputs or the right inputs.
If using the left inputs, you get ring modulation, but if you are using the right inputs, you get amplitude modulation instead.
So I'm familiar with this fact, but only really understand the implications when combining audio signals (as in traditional RM/AM). But since we're talking about combining control signals, do you think the RM/AM distinction is what begets the strange non-exponential envelope/LFO shaping I described?

If so, can you explain to me why using the right inputs would cause such a strange reshaping of the CV signal? Ideally I'm looking for a more substantial explanation than "because the right inputs are for AM".

FYI, this is how Bazille was set up at the time when things went haywire: https://imgur.com/a/XXn4fZH. So apparently I was using one AM (right-side) input.

FYI 2, here is a clip of the sounds I'm talking about, for other readers: https://clyp.it/5fycvyrh. In this clip, there are 5 sounds. The first is just ENV2 modulating Osc2's pitch as described in my OP. The second, third, and fourth sounds are just increasing layers of self-multiplication. The "exponentialization" gets weird from the fourth sound. The fifth/final sound is the same routing as the fourth, but with the attack and decay increased to emphasize the mysterious "new envelope stage".

The only difference between the routing in the screenshot and the routing in the recordings was ENV2's decay time: In the screenshot, it's 100%, whereas in the recordings, it was at 50% (except the final recording).
Last edited by themagicalkamja on Wed Jul 11, 2018 3:57 pm, edited 5 times in total.

Post

[deleted - accidentally duplicated my reply]

Post

Funny fact: g on the left side is inverted, so actually (1-g). So this is what's actually happening
y = x * ( (1-g) + mod * (g)))

with g at 1 you get
y = x * mod which is your desired exponential when you plug in x in mod.

On the right side, we have this one:

y = x * (1 + mod * (g-1))

with mod = x and we get
y = x (1 - x) = x - x^2 with g = 0 and
y = x with g = 1 (boring!)

A few things to consider here: Don't worry about the label, whether or not it's "ring mod" or "amplitude mod". We want to know what's happening and for that, the equation is the easiest way to understand the behaviour. So using the left ins and max gain, you get a y = x^2 equation. Using the right inlets and gain = 0, you get y = x - x^2. Those are quite different functions.

And to get a really pluggy env, just route the output of one multiple to the left in and mod to the next. That would result in y = x^16 = x^(2*2*2*2)

Post

Thanks for the detailed reply! I'm sure the answer to my question is contained within these equations, but before I sit down to try and wrap my brain around them, a question about the variables you're using...

You've invoked four so far - x, y, g, and mod - all present in this formula:
u-he-william wrote:y = x * (1 + mod * (g-1))
My assumptions:
  • 1. x = input to multi
    2. mod = mod input to multi
    3. y = final output of multi
Let me know if any of these are not correct.

But what is g?

Also, is it correct to assume that all signals in Bazille are between -1 and 1? Or can any signals ever exceed 1?

Post

g is gain. :)

And signals can exceed 1 but most generators put out signals between 0 and 1 or -1 and 1.

Post

And a few more information; when the fourth self mod uses the right, zog use the y=x-x^2 relation. When you have self modded the first three with the left in, you end up with a equation

y= x^8 - x^16.
Plot that using google (just toe x^8 - x^16) and you’ll notice that the curve rises but falls to 0 at 1.
Thus, when the decay falls from 1 to 0, the multiplex output starts at 0, rises momentarily and then falls to 1 again.

That is where the hidden env stage comes from, you add a funny wave shape on the envelope that results the attack ending and decay starting at 0 rather then 1.

Post

Thanks!! I think that's exactly the information I was looking for.

The only time I pay attention to right vs. left input in the multiplexes is when RMing or AMing audio signals. But looks like I should be paying attention whenever routing anything into the multiplexes!

But the other cool conclusion from all this is that with for the mathematically minded synth geeks out there, Bazille's multiplexes allow not just for CV signals to be summed or scaled, but actually morphed or "waveshaped" in interesting ways as well!

Perhaps the "tips and tricks" section of the manual (my favorite section :love:) could be updated to reflect some of these possibilities?

Post

Yeah, that's basically where all the fun is in signal processing theory. It all breaks down to the same few rules that make up complex things. I'll tell Howard that this could be worth a few lines in the manual. :)

Post

u-he-william wrote:I'll tell Howard that this could be worth a few lines in the manual. :)
No idea who Howard is, but please do! IMHO this is not the type of thing that one would easily stumble upon, but it has significant potential so should be broadcast far and wide haha

Post

Howard is the Wizard of U-he ;-)
2012 Mac Pro,3.46 Ghz,12 core 96g ,Mojave,RME, DP11.01, Logic 10.51,RME UCX, Great River ME-1NV, a few microphones,Spectrasonics, U-he Komplete12U & way too many VI's,Synths & FX galore!, UAD,Mimic Pro/SD3,Focal Twin 6 monitors, Shunyata ....

Post

Helpful clarification of the equations here. Commenting so I can refer to this in the future if it never makes it into the manual.

Post

btw wrote:Helpful clarification of the equations here. Commenting so I can refer to this in the future if it never makes it into the manual.
Yeah, and to that point, u-he folks, including the math behind things like this in the manual is always really helpful for the hardcore people who want to know exactly what is happening to their signals. Understanding the equations also helps to make maximally informed routing decisions.

Edit: I do see the equations in the Multiplex section of the Bazille manual.

Post Reply

Return to “u-he”