[LAU] USB MIDI controller - update

Will Godfrey willgodfrey at musically.me.uk
Sun Jan 29 09:16:50 UTC 2017


On Sun, 29 Jan 2017 02:41:50 -0500
termtech <termtech at rogers.com> wrote:

> On Saturday, January 28, 2017 2:37:40 PM EST Len Ovens wrote:
> > On Sat, 28 Jan 2017, Will Godfrey wrote:  
> > > My nice new BFC2000 was delivered yesterday, and I'm very pleased with it.
> > > It has an astonishing range of configuration possibilites, and unlike
> > > many units is reasonably quick and easy to program from the unit itself.  
> > 
> > Good to know.
> >   
> > > The faders can be ordinary CCs, specifically pitch bend or any NRPN. The
> > > NRPNs can be full 14 bit data or 7 bit and can be absolute or
> > > incremental.  
> > I knew the encoders could be incremental, but faders is a new one on me.
> >   
> > > I can't confirm the resolution of either the pitch bend or NRPN modes, but
> > > it is greater than the accuracy of the sliders themselves - when used as
> > > an NRPN and steadily moving the slider up, a fractional movement can
> > > actually send a slightly lower value  - which suggests it's reading
> > > discontinuites in the carbon track.  
> > 
> > That could very well be why Mackie limited their faders to 10 bits (last 4
> > bits zeroed).  
> 
> I am interested to know /how/ it sends out the 14 bits.
> Hi byte first? Or low byte? Or selectable?
> And can it optimize by not sending redundant hi or low bytes,
>  or redundant NRPN numbers?

It seems to play safe and always send Nhigh, Nlow, Dhigh, Dlow although I
haven't investigated all the settings. I'm a bit lazy. Once I've got what I
want I tend to lose interest and stop investigating.

> Possibly the problem Will is seeing is a 'glitch' upon the discontinuity
>  when the hi byte increments to a new value and the low byte 
>  'rolls over' to a new value.

Nope, I was logging the values. I'm talking about extremely small values here.
Dlow 33 then 27 then 33 again comes to mind. Seeing odd number values caught my
attention.

> What are you feeding it into?

    cout << "Control " << int(ctrl) << "  Value " << int(val) << endl;

:¬)

> I question whether such a new professional product would have 
>  touchy carbon like that, where it goes 'backward' slightly in spots.
> (If it uses carbon at all.)

It's posible I was actually seeing mechanical backlash as I was making *very*
slow, tiny movements. Bear in mind that full range is 100mm.

100 / 16383 * (33-27) = 0.037mm

Now if you'll excuse me, my next task is to work out how to MIDI-learn NRPNs
(already got 14 bit pitch bend done) :p

-- 
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.


More information about the Linux-audio-user mailing list