Thanks Alexandre. What finally worked was this: proc setfilter fid fgain fbw fcoarse ffine { ###print {"setfilter args: " $fid " " $fgain " " $fbw " " $fcoarse " " $ffine}; ormev {}; oaddev {ctl [geto] filter ($fid - 1)}; oaddev {ctl [geto] bw $fbw}; oaddev {ctl [geto] gain $fgain}; oaddev {xctl [geto] freq ($fcoarse * 128 + $ffine) }; p; s; } # --- midish configuration # Unconfigure 'expr' controller ctlunconf expr; # Configure controllers ctlconfx filter 11 nil; ctlconfx freq 14 nil; ctlconfx bw 15 nil; ctlconfx gain 16 nil; # --- main # Get MIDI device name from 'aseqdump -l'. dnew 0 "44:0" wo; # FBQ uses MIDI channel 16. onew fbq {0 (16 - 1)}; # -- set list of CCs that will tx 14-bit data on device 0 doxctl 0 {14}; let gain = 0; # 0 = -36 dB is the lowest gain, etc. let msb = 61; let bw = 15; # 15 = 1 oct setfilter 10 $gain $bw $msb 80; setfilter 11 $gain $bw $msb 112; Luc On 18-08-15 04:05 AM, Alexandre Ratchov wrote: > On 15 August 2018 06:26:22 CEST, Luc Tanguay<lucus@sympatico.ca> wrote: >> Hi. >> >> I want to configure my Behringer FBQ2496 with midish. To control the >> FBQ we need to send CCs messages. The problem I have is to send the >> right message to configure the frequency of one filter in the FBQ. >> The >> FBQ manual says: >> Frequency (coarse adjustement): CC = 14, value range = 0..75 >> Frequency (fine adjustement): CC = 46, value range = 0..127. >> >> The following midish commands do not work: >> >> # CC 11 is to set 'filter' on FBQ >> ctlunconf expr >> # Configure 'filter' controller >> ctlconfx filter 11 nil >> ctlconfx freq 14 nil >> dnew 0 "44:0" wo >> # FBQ listens on MIDI channel 16 >> onew fbq {0 15} >> # Set filter 20 i.e. 19 >> oaddev {ctl fbq 11 19} >> # Set Bandwith to "3" >> oaddev {ctl fbq 15 2} >> @ Set Gain to -36 dB i.e. 0 >> oaddev {ctl fbq 16 0} >> # To set frequency to 447 Hz, >> # set CC 14 to 33 and CC 46 to 96 (all in decimal) >> oaddev {ctl fbq 14 33} >> oaddev {ctl fbq 46 96} > as controller 14 uses the "fine mode", you don't neet to set controller 46. By setting contoller 14 to a value in the 0..16383 range, midish will set the lower bits in controller 46 as well. In your example you need: > > oaddev {ctl fbq 14 33*128+96} > > this will generate the two controller messages atomically. > > > -- Déjà f*in*i! Luc Tanguay Bo/u/cherville (Québec)Received on Fri, 17 Aug 2018 00:51:00 -0400
This archive was generated by hypermail 2.1.8 : Sat Aug 18 2018 - 01:59:49 CEST