macsaif

Starting up the dual manual organ

62 posts in this topic

and complete configuration for split mode (HW keyboard 2):

RESET_HW

SRIO num_sr=4

KEYBOARD n=1   rows=8  dout_sr1=1  dout_sr2=2  din_sr1=1  din_sr2=2 \
               din_inverted=0  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=36 \
               delay_fastest=0  delay_fastest_black_keys=0  delay_slowest=100

KEYBOARD n=2   rows=12  dout_sr1=3  dout_sr2=4  din_sr1=3  din_sr2=4 \
               din_inverted=1  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=28 \
               delay_fastest=1  delay_fastest_black_keys=0  delay_slowest=140
MAP1/BYTEI  0:0  1:20 20:60 60:90 90:110 118:127

EVENT_KB id=1 hw_id=2 type=NoteOn chn=3 key=any use_key_number=1 range=0:47  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000

EVENT_KB id=2 hw_id=2 type=NoteOn chn=2 key=any use_key_number=1 range=48:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000

Share this post


Link to post
Share on other sites
19 hours ago, macsaif said:

Hello,

 

here is the complete .NGC file for layer configuration:

RESET_HW

SRIO num_sr=4

KEYBOARD n=1   rows=8  dout_sr1=1  dout_sr2=2  din_sr1=1  din_sr2=2 \
               din_inverted=0  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=36 \
               delay_fastest=0  delay_fastest_black_keys=0  delay_slowest=100

KEYBOARD n=2   rows=12  dout_sr1=3  dout_sr2=4  din_sr1=3  din_sr2=4 \
               din_inverted=1  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=28 \
               delay_fastest=1  delay_fastest_black_keys=0  delay_slowest=140
MAP1/BYTEI  0:0  1:20 20:60 60:90 90:110 118:127

EVENT_KB id=1 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000

EVENT_KB id=2 hw_id=1 type=NoteOn chn=4 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=1000110000000000

hello

Your code look ok so far :confused:... I'm not used to KB so I can't say for sure...

can you try something like this instead?

RESET_HW

SRIO num_sr=4

KEYBOARD n=1   rows=8  dout_sr1=1  dout_sr2=2  din_sr1=1  din_sr2=2 \
               din_inverted=0  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=36 \
               delay_fastest=0  delay_fastest_black_keys=0  delay_slowest=100

KEYBOARD n=2   rows=12  dout_sr1=3  dout_sr2=4  din_sr1=3  din_sr2=4 \
               din_inverted=1  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=28 \
               delay_fastest=1  delay_fastest_black_keys=0  delay_slowest=140

MAP1/BYTEI  0:0 1:20 20:60 60:90 90:110 118:127

EVENT_KB id=1 hw_id=1 fwd_id=sender:1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000

EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=1 key=any range=0:127 ports=1000110000000000
EVENT_SENDER id=11 hw_id=1 type=NoteOn chn=4 key=any range=0:127 ports=1000110000000000

 

Share this post


Link to post
Share on other sites

I have triedit....it is closertothe solution howeverthe situation is:

1. the velocity of the keypress changesthe note,the release(NoteOFF)is alwaysC-2

2. The key I am pressing is defining the velocity value

For ex. C1 -gives velocity value 48, D1 - 50, E- 51...etc

if I press slowly the key is for example C1 and fastly G5 etc

but now there are the samevalues on both channels...

Any idea?

Share this post


Link to post
Share on other sites

Solved:

EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000

use_key_number=1 was missing

I have tried the split function,it works however the upper part lowest velocity value is 60, probably it has somethig with multiple usingofthe same hwkeyboard. The code for splitting is:

EVENT_KB id=1 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=0:48  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:1
EVENT_KB id=2 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=49:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:2

EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=3 key=any use_key_number=1 range=0:127 ports=1000110000000000
EVENT_SENDER id=11 hw_id=2 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000

 

Share this post


Link to post
Share on other sites

Posted (edited)

You set wrong IDs. 

Either you do fwd_id=sender:10 respective 11 and leave the rest as is. Or you change the IDs of the senders to correspond with the fwd_ids. 

Like this:

EVENT_KB id=1 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=0:48  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:1
EVENT_KB id=2 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=49:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:2

EVENT_SENDER id=1 hw_id=1 type=NoteOn chn=3 key=any use_key_number=1 range=0:127 ports=1000110000000000
EVENT_SENDER id=2 hw_id=2 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000

Edited by FantomXR

Share this post


Link to post
Share on other sites

Thank you for help. Now it works. Only one think is remaining. When I am changing the midi channel mapping it should send some all keys off signal because if there is some key pressed it keeps hanging (no key off signal is sent). Is there any solution?

If somebody is interested there is the code .NGC:

RESET_HW

SRIO num_sr=6

KEYBOARD n=1   rows=8  dout_sr1=1  dout_sr2=2  din_sr1=1  din_sr2=2 \
               din_inverted=0  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=36 \
               delay_fastest=0  delay_fastest_black_keys=0  delay_slowest=100

KEYBOARD n=2   rows=12  dout_sr1=3  dout_sr2=4  din_sr1=3  din_sr2=4 \
               din_inverted=1  break_inverted=0  din_key_offset=32 \
               scan_velocity=1  scan_optimized=1  make_debounced=1  break_is_make=0  note_offset=28 \
               delay_fastest=1  delay_fastest_black_keys=0  delay_slowest=140

MAP1/BYTEI  0:0 1:20 20:60 60:90 90:110 118:127

EVENT_KB id=1 hw_id=1  type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:1

EVENT_KB id=2 hw_id=2  type=NoteOn chn=1 key=any use_key_number=1 range=0:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:2

EVENT_KB id=3 hw_id=2  type=NoteOn chn=1 key=any use_key_number=1 range=49:127  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:2

EVENT_KB id=4 hw_id=2  type=NoteOn chn=1 key=any use_key_number=1 range=0:49  kb_velocity_map=map1  kb_transpose=0 ports=0000000000000000 fwd_id=sender:3


EVENT_SENDER id=10 hw_id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000
EVENT_SENDER id=11 hw_id=1 type=NoteOn chn=4 key=any use_key_number=1 range=0:127 ports=1000110000000000
EVENT_SENDER id=12 hw_id=2 type=NoteOn chn=4 key=any use_key_number=1 range=0:127 ports=1000110000000000
EVENT_SENDER id=13 hw_id=2 type=NoteOn chn=2 key=any use_key_number=1 range=0:127 ports=1000110000000000
EVENT_SENDER id=14 hw_id=2 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 ports=1000110000000000
EVENT_SENDER id=15 hw_id=3 type=NoteOn chn=3 key=any use_key_number=1 range=0:127 ports=1000110000000000

#AIN enable_mask=111111

#AIN pinrange=0:18:3800
#AIN pinrange=1:18:3800
#AIN pinrange=2:18:3800
#AIN pinrange=3:18:3800
#AIN pinrange=5:18:3800
#AIN pinrange=4:1500:2500:spread_center

#EVENT_AIN id=1  type=CC  chn= 4 cc= 1  range=127:0 ports=1000110000000000
#EVENT_AIN id=5 type=PitchBend  chn= 4        range=0:16383  ports=1000110000000000
#EVENT_AIN id=2  type=CC  chn= 1 cc= 11  range=0:127 ports=1000110000000000
#EVENT_AIN id=3  type=CC  chn= 4 cc= 64  ain_mode=Switch range=0:127 ports=1000110000000000
#EVENT_AIN id=4  type=CC  chn= 4 cc= 11 range=0:127 ports=1000110000000000
#EVENT_AIN id=6  type=CC  chn= 1 cc= 64  ain_mode=Switch range=0:127 ports=1000110000000000

DIO  port=J10A  emu_din_sr=5
DIO  port=J10B  emu_din_sr=6

EVENT_BUTTON id=40  hw_id=40  type=Meta meta=KbBreakIsMake:1  
EVENT_BUTTON id=38 hw_id=38  type=Meta meta=KbBreakIsMake:2  

EVENT_BUTTON id=39  hw_id=39  type=Meta meta=RunSection:1   

EVENT_BUTTON id=37 hw_id=37  
EVENT_BUTTON id=35  hw_id=35    
EVENT_BUTTON id=36  hw_id=36    

EVENT_BUTTON id=33  hw_id=33  
EVENT_BUTTON id=42  hw_id=42
EVENT_BUTTON id=34  hw_id=34
  
EVENT_BUTTON id=48  hw_id=48    


EVENT_BUTTON id=46  hw_id=46
EVENT_BUTTON id=41  hw_id=41
EVENT_BUTTON id=43  hw_id=43
 

 

And .NGR:

if ^section == 0
 set_active (id)KB:1 1
 set_active (id)KB:2 1
 set_active (id)KB:3 0
 set_active (id)KB:4 0
 set_active (id)SENDER:10 1
 set_active (id)SENDER:11 0
 set_active (id)SENDER:12 1
set_active (id)SENDER:13 0
set_active (id)SENDER:14 0
set_active (id)SENDER:15 0
endif

if ^section == 1

if BUTTON:37 < 45
set_kb_transpose KB:1 0
else
if BUTTON:35 < 45
if BUTTON:36 < 45
set_kb_transpose KB:1 12
else
set_kb_transpose KB:1 24
endif
else
if BUTTON:36 < 45
set_kb_transpose KB:1 244
else
set_kb_transpose KB:1 232
endif
endif
endif


if BUTTON:33 < 45
set_kb_transpose KB:2 0
else
if BUTTON:42 < 45
if BUTTON:34 < 45
set_kb_transpose KB:2 12
else
set_kb_transpose KB:2 24
endif
else
if BUTTON:34 < 45
set_kb_transpose KB:2 244
else
set_kb_transpose KB:2 232
endif
endif
endif

if BUTTON:48 < 45
set_kb_velocity_map KB:2 1
else
set_kb_velocity_map KB:2 2
endif

if BUTTON:46 < 45
 set_active (id)KB:1 1
 set_active (id)KB:2 1
 set_active (id)KB:3 0
 set_active (id)KB:4 0
 set_active (id)SENDER:10 1
 set_active (id)SENDER:11 0
 set_active (id)SENDER:12 1
set_active (id)SENDER:13 0
set_active (id)SENDER:14 0
set_active (id)SENDER:15 0
else
if BUTTON:41 < 45
if BUTTON:43 < 45
 set_active (id)KB:1 1
 set_active (id)KB:2 1
 set_active (id)KB:3 0
 set_active (id)KB:4 0
 set_active (id)SENDER:10 1
 set_active (id)SENDER:11 0
 set_active (id)SENDER:12 0
set_active (id)SENDER:13 1
set_active (id)SENDER:14 0
set_active (id)SENDER:15 0
else
 set_active (id)KB:1 1
 set_active (id)KB:2 1
 set_active (id)KB:3 0
 set_active (id)KB:4 0
 set_active (id)SENDER:10 1
 set_active (id)SENDER:11 0
 set_active (id)SENDER:12 1
set_active (id)SENDER:13 0
set_active (id)SENDER:14 1
set_active (id)SENDER:15 0
endif
else
if BUTTON:43 < 45
 set_active (id)KB:1 1
 set_active (id)KB:2 1
 set_active (id)KB:3 0
 set_active (id)KB:4 0
 set_active (id)SENDER:10 0
 set_active (id)SENDER:11 1
 set_active (id)SENDER:12 0
set_active (id)SENDER:13 0
set_active (id)SENDER:14 1
set_active (id)SENDER:15 0
else
 set_active (id)KB:1 1
 set_active (id)KB:2 0
 set_active (id)KB:3 1
 set_active (id)KB:4 1
 set_active (id)SENDER:10 1
 set_active (id)SENDER:11 0
 set_active (id)SENDER:12 0
set_active (id)SENDER:13 1
set_active (id)SENDER:14 0
set_active (id)SENDER:15 1
endif
endif
endif

endif
exit

Share this post


Link to post
Share on other sites

I have tried to send CC 123-All notes off event but the Gemini doesnot respond to that. Is there any simple way to send Note off evoent to defined Midi Channel from key 0 to 127? In worst case I will write 4x128 rows sending Note off from CH1-4 for allnotes.

Share this post


Link to post
Share on other sites

Hi

Not sure "all" command work at NGR but did you try this:

send NoteOn USB1 1 all 0

e.g. for usb1 chn 1, if it work you just have to write few for the 3 port and two channels you use

Best

Zam

Share this post


Link to post
Share on other sites

Finally all the functions are working. Only one small issue:

It seems that the scanning frequency of Midibox KB under NG is not enough to get a certain amount of different velocity values. I have tried many fast/slow adjustmants however it seems that I can get only 8-10 different velocity walues from 0-127. I am able to tune it with velocity map function however the velocity resolution is notenough for fine playing of Piano and Rhodes sounds. It would need more velocity values scanned, I think 40-60 linear distributed vlues (0-127) should be enough. The most higher resolution is neede  in range of values 30-90. From 0-30 and over 90-127 is enough a lower resolution.

Do you have any experience that what is the maximum achievable resolution with Fatar TP8 keybeds(when I am using Midibox KB under Midibox NG)?

The possible solution is that I will use only a simple Midibox KB which is 10x faster (and probably have 10x more higher resolution) however in this case I am loosing a control of functions like Make is Break, Octave switch, Midi mapping.

Any suggestion?

 

Thank you in advane!

 

Frank

Share this post


Link to post
Share on other sites

Posted (edited)

Hi frank,

you won’t change the resolution by changing the keybed. You will get the same results. The problem is the NG firmware. So if you need a higher resolution, than go with KB. I use it and it works great. 

BTW: you can still use the break is make function by sending a SysEx command to the KB core. 

Edited by FantomXR

Share this post


Link to post
Share on other sites

Posted (edited)

Is there anybody who can answer these questions:

1. What sysex message I have to send to Kb to activate and deactivate the Break is make function for kb1 and kb2?

2. Is there any list of available functions controllable by sysex?

3. Can I send this message to standard Midi in?

4. Are there any special adjustments in KB which should be done for controlling by sysex?

Frank

Edited by macsaif
No answer to previous post

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now