Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Message

Re: [bc2000] Re: 1 encoder = 2 parameters in this manner

2010-12-12 by Alex

Hi Mark,

It worked! You are a genius!

I will continue this thread by email for not boring the rest of people with my thoughts about this particular thing.

Cheers!

2010/12/11 Mark <markwinvdb@hetnet.nl>
--- In bc2000@yahoogroups.com, Alex wrote:
> I got a DSI Mopho synthesizer and the oscillators frequencies are controlled
> by 2 parameters:
>
> 1 *Oscillator Frequency*: 0 - 120 in semitones (10 octave range). CC# 20
> and/or NRPN# 0 (for oscillator 1)
> 2 *Oscillator Fine Tune*: 0- 100. 0 = -50 cents, 50 = 0 (centered), 100 =
> +50 cents. CC# 21 and/or NRPN# 1 (for oscillator 1)
>
> I would like one of the BC's encoders would control the oscillator 1 for
> making smooth transitions without jumping in semitones. So the behavior
> would be like this:
>
> When I move the encoder clockwise the Fine Tune will be increased and when
> the value 100 is reached, Fine Tune will be reset to 0 and Oscillator
> Frequency will be increased by 1 and the whole process will start over while
> I keep moving the encoder.
>
> The opposite behavior if I move the encoder counterclockwise.
>
> Can it be done with BC Manager?

Try this:

Via the encoder dialog's "Custom output" tab, you define 2 MIDI messages:

$B0 $14 val7.13
$B0 $15 val0.6

This sends the 7 most significant bits of the encoder's value as the value for CC#20, and the 7 least significant bits as the value for CC#21.
($B0 here of course means I'm assuming MIDI channel 1.)

You should set Value 1 to 0 and Value 2 to 15460 (i.e. 120 x 128 + 100).

On the General tab:
Show value: ON
Resolutions: a value that suits your needs: 1000, even 10000?
LEDs: (e.g.) 1 dot

However, the above setup is not EXACTLY what you want:
The problem is that the BC can't be set up to exactly split an encoder's value into two "sections" with a modulus of 100 (which is what you'd want), only bitwise, with a modulus of 128 as done above:
It's as if your Fine Tune parameter runs from 0 to 127 each time instead of to 100. Presumably (indeed: hopefully!) your synth won't react when it receives a Fine Tune higher than 100. So you'll get "dead areas" while turning the encoder knob; I'm not sure how well it'll work.

Hope this helps,
Mark.




--
Alex

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.