Can't achieve max values with knobs?


I’m not certain if this is as intended, but as long as I’ve had the Organelle, I’ve had an existing potential problem where parameters that are measured on a gradient (ex: tuning in cents) on most of my patches don’t seem to achieve the maximum value when the knob is turned clockwise.

Patches where a knob aims to achieve a range measured in -% to +% will only go from -100% to +99%.

Patches with tuning bound a knob go from 0 to 2395 (I imagine 2400 is the logical max tuning value).

The Rhodey patch will transpose from -12 to +11, etc. etc.

Is this as intended? Is it a hardware issue?


I’ve seen the same (and also negative values)

It’s not really a hardware issue, more a scaling issue for parameters, in the patch.

I think the cause (certainly in my patches so far, which I’ll be improving :wink: ) is a too trivial scaling.
a pot ideally goes from 0…1 , but in reality due to various things, its probably going -0.0001 to 0.999938.
so lets say you want to have a range 0 to 100, a trivial implantation is
[knob] ->[*100.0] -> [int], but as int rounds down this will give you 0…99.
a ‘minor improvement’ is to add a bit e.g.
[knob] -> [+0.05]-> [*100.0] -> [int], so now this pushes it to (e.g. 100.04), which rounds down to 100

the trick is the ‘bit to add’ is dependent on the range, you need enough, to push over 100 (in this case), but not too much that you push 0% to 1%.

also, I’m not sure about all patches, but for mine, is largely a display issue only…
I like to display as integers percentages to keep the display tidy, but actually I use the value at full resolution… i.e. it might read 99%, but it if you have it fully turned clockwise, its probably more like 99.9998 (similarly, you can actually dial in between other values e.g. between 50…51%, is only the display that is stepped)

perhaps mother.pd could be improved slightly, especially stopping negative values, it cant really solve this, as you need to do the offsetting depending upon the target range - and usually better if the patch has the flexibility of dealing with this issue.


Thanks for the informative reply. We’ve got a lot of knowledgable people here in these forums.

Is there anything that might be done as a layperson? The 2395 cents is actually at 2395 cents which throws the tuning off a little for me. It’s not much but I do notice it.


In the Pure Data patch you can add [+ 5] to that value. If you need the bottom tuning to be accurate as well it may be a good idea to do some maths to scale your actual knob values to the values that you want inside of the patch.

I don’t think there is a much easier way currently. There would need to be some changes in the OS to auto-calibrate the true range of the knob to a 0-1 scale before outputting to PD.


It looks like your Organelle is working normally. You could change the scaling by overriding mother.pd (placing your own version in the Patches folder), or change on a patch by patch basis.

To change in mother:
In the mother.pd file navigate to the [analog] sub patch in the [messageIO] sub patch. At the bottom the raw integer knob values are converted to 0-.999 by dividing by 1024. Change the 1024 to 1023 to make it from 0-1.


i have a file that helps this issue it’s a version of scale~ from MSP.
d-scale.pd (1.1 KB)


you call it like this

[d-scale inValLow invalhigh Val(low) Val(high) 100]