[LAD] [LAU] Ardour MIDI tracer

Len Ovens len at ovenwerks.net
Sun Aug 17 15:24:38 UTC 2014

On Sun, 17 Aug 2014, Ralf Mardorf wrote:

> On Sat, 2014-08-16 at 09:45 -0700, Len Ovens wrote:
>> A quick thought on fineness of control. It is true that 127 levels
>> tends to "zipper". However, 127 levels is more than enough for static
>> levels.
> I disagree. I never heard zipper noise, when I fade in or out or when
> using MIDI panning. Usually those steps aren't audible when fading or
> panning, but I often missed steps for static levels. Speaking for synth
> from the 80th and 90th, for the panning synth usually didn't use all 128
> values, but 128 steps usually are used for the volume. I don't remember
> audible steps when fading, but I remember that there were not enough
> steps for optimal mixing. YMMV!

I don't know if it matters, but was that a linear fade or log? Right now 
with 1024 steps in the range around 0 where we would be doing most of our 
mixing (0 on the fader, about -4 signal?) it is 4 steps to go from -0.1 to 
-0.0, That is 0.025 of a db. Does that kind of fineness really need to be 
used for mixing? The problem is that the faders are linear, so with 127 
levels, by the time you are down -20 you are 1 click per db instead .1db 
with 1024. So if you are mixing a hot level, for example, I often record 
my guitar raw and then add effects later which really adds to the level, 
so I may be mixing it in quite low, I have bigger steps in my control 

So Allen & Heath uses 127 levels on their top end digital control 
surfaces, How do they do it? Well they have two different scales:
- fader: ((Gain+54)/64)*7f - also used for sends
- Gain: ((Gain-10)/55)*7f - this is preamp gain

I think in both cases only the 7f is hex (their chart is colour coded and 
hex numbers are blue, decimal are black). SO the fader has two clicks per 
db from -45 to +10 and the gain value seems to be 9 steps for 4 DB on the 
bottom (+10 to +22) and slowly increases towards +65 at the top where 
there are 12 steps for 5db.

This means they are starting out with a linear value from the motorized 
fader (pot or encoder - if it was me it would be an encoder) and prescale 
it from a higher resolution, or they start with a log pot or encoder in 
the first place. The fact that they post the formula leads me to believe 
they do the former (though I think if it was me, I might have an encoder 
made with that built in).

So the problem with 127 levels is not that it is too little so much as how 
those levels are applied. SO far as I know, all control surfaces on 
keyboards have linear CC values.

The upside of using 127 levels is a lot less MIDI noise. Even though most 
interfaces not longer go at 30khz, most are 100meg or gig networks, 
bandwidth for a large number of channels still counts. (plus I think they 
run audio on there as well) It gets away from using pitchbend for faders 
with it's built in limit of 16.

The upside of using 1024 (or more) levels: It is easy, no need to compute 
a level. Just like 192 samples/second, it makes for good advertizing. At 
some levels, it does give finer control... of course by the time you get 
to -40 or so, you have less resolution than scaled 127 level control.

Pots vs. encoders: My preference for encoders is two fold. One, they have 
a very direct built in relationship between location and value. A pot will 
be different from one to the next and need to be callibrated once in a 
while (the Mackie controller has instructions for doing this). Two, there 
is no wear in the read area as a pot has with a wiper (assuming an 
optical encoder). They are expensive, but in a $25K control surface, I 
expect that kind of quality. A rotary encoder with 1024 pulses per 
rotation is about $50 in singles, One with 8 bits out and 256 states per 
rev is about $35. The ones used in most control surfaces with the push 
button are 24 clicks per rev and use mechanical contracts... but cost only 
$2.50 each, there are actually 96 clicks per rotation, but 4 clicks are 
required to sense direction (2 bit greycode) so it is possible to go for 
clicks for the first value and then assume the next click is the same 
direction from then on. The ones used in a mouse are even cheaper...

Len Ovens

More information about the Linux-audio-dev mailing list