New Unit suggestion: Display Internal value

Hi Brian,

During the process of working through Joe’s CV address switching patch it occurred to me that it would be really useful to be able to add a unit anywhere in a chain and have it report the internal value of the signal passing through it.
I think this is would really help when using units like the rational VCA or Offset because it can become quite confusing what the internal values are that we might want to use in calculations.

For example in Joe’s global chain that sends a quantised/stepped signal Joe referred to these as 0, 1, 2 & 3V but as far as I could understand the outputs are really 0, 0.2, 0.4 & 0.6 from the Quantiser unit. Having the ability to interrogate the internal values of the signal would hopefully help in building advanced patches and not having to guesstimate what the values being used are plus I think being more accustomed to the conversion from external CV to internal values is a good thing too.

It is clear or have I overlooked an existing unit or tool that already does that?

Thanks Phil


I wonder if that’s something that could be impletemented with the output scope vs using an actual unit? If it not only showed the waveform, but added a detected voltage value at a certain interval.

1 Like

Yeah, I was thinking that too to have it in the scope mode. I guess it gets a bit tricky for waveforms oscillating into audio range, maybe having a min/max value display might be better… but something that allows one to access the internal values is the key thing for me.

1 Like

In a more general way, I feel still very confused with displayed values and “voltages”

Please have a look at the explanations and graphs on the wiki and let me know if it clears up your confusion or not.

1 Like

Actually it doesn’t.
My question is more regarding voltage control of parameters. I would assume that the relation between the incoming CV and the parameter it’s controlling would be : (sorry there must be a simple equation to summarize but i can’t figure it out)
Assuming that gain is 1

if CV in = Max CV of the currently used input : max value of the parameter.

Let’s take a sample player and assign both the V/Oct (set to -3600), the Slice parameter and the Shift parameter (set to -5000) to the same input and control it with a static offset generator.
My statement seems right for the Slice parameter but not for the others.

The maximum value of external CV is 1 because the range of all bipolar inputs is mapped to the interval -1 to 1. There is no reason for this to correspond to the max value of a parameter (which does not always even exist). For example, the shift parameter is in seconds and the V/oct parameter is in cents. By the way, the units of a parameter is always indicated unless it is a unitless parameter like the speed parameter or slice parameter.

In the above, I tried to answer your question but I feel like I might not have understood the goal of your question. So please let me know if I missed your point.

So, if I have understood correctly, for example ABCDx Inputs being sent a 1V signal from a 0-5V signal range will map to 0.2 with the gain set at 1.

That is if you want the full 0-5V range you would set the input gain to 1.

This is what i would assume but it’s not true.
Having a hard time trying to understand, sorry !

Apologies not necessary… it is a little confusing,I think it would be great to have a full explanation of what happens to the voltages at each stage and each parameter where it is different, so for example how exactly does the voltage get mapped to the shift parameter.

The ABCDx inputs accept voltages in the range of -10.24V to 10.24V. Any voltages outside of this range are clipped. The voltages are digitized and scaled internally to the range -1 to 1. At this point they are no longer considered “voltages” just unitless signals. That is what the following diagram attempts to portray:

(Pay attention only to the blue line for now. See post below.)

Notice that 5V maps to approximately 0.5. -5V would be about -0.5. 1V would be about 0.1. And so on.

Next when you assign a signal to modulate a parameter you are expected to use the gain and bias parameters to properly map the (unknown) range of your modulation source to the desired range of parameter values. For example, in the screenshot below a Z3000 VCO is plugged into A1. All scope displays are displaying the vertical range of -1 to 1 and a horizontal range of about 200ms. So (after some thought) you can tell that the scope is showing a 10Hz sine wave that is swinging from -0.5 to 0.5 (or -5V to 5V in the external world).

However, the shift parameter has units of seconds. So if we want the shift parameter to swing from -1.5s to 1.5s then we would have to have to set the gain to 3 and so on.


This is really clear - thank you @odevices

I think part of the confusion may be that the diagram shows different ranges of incoming signals, am I having another brain fail or was there some talk about being able to configure the input ranges?

The 3 ranges on the graph represent the 3 programmable gains that are available from the analog front end on the ABCDx inputs. The INx inputs also have 3 programmable gains that are different from the ABCDx inputs:

These 3 programmable gains have not been exposed in the UI yet.

Cool - yep - makes total sense now… :slight_smile:

I hope I’m right: The shift parameter has a range of up to 10 seconds?

Thanks so much for explaining this, it’s something that has been making me scratch my head at times, your posts make it much more clear.

Not exactly accurate. The bias of the shift parameter has a range of -5.0s to +5.0s. The shift value itself has no maximum or minimum.

Okay, thanks. I will ponder this with my ER-301 at hand. :slight_smile:

I hadn’t appreciated that with respect to the parameters with units. So in your above example of a Sine with +/- 0.5 amplitude (let’s say with gain = 1) the 0.5 equates to 0.5sec. Therefore let’s say I wanted to modulate the time by 50ms I’d have to set a gain of the incoming +/- 0.5 sine to 0.1.

I’m guessing that the above rule is common for the same unit of measurement regardless of the processing unit?

Is it worth making a quick reference page on the wiki to clarify (give examples) of the relationship between internal values and the various units of measurement?

1 Like

This is exactly right.

And is true for all of the parameters with gain/bias controls. Take for example the f0 parameter of the Sine Osc which has units of Hz. If you wanted to modulate from -200Hz to +200Hz using a modulation signal coming in at -0.5 to 0.5 then your gain has to be 400. Hence the large range of gains available for this parameter.

You guys are helping me debug that explanation right now! :sunglasses: However, its not the type of thing that needs memorizing I think. Once you know that the scope view is showing values between -1 and 1, I believe everything else just follows, right?

All clear to me!

To be honest I’ve been getting along just fine without fully understanding this, everything is achievable ‘by ear’, that’s not to say understanding it isn’t helpful, but I’m not sure how often I would stop to do the maths.

1 Like