macsaif Posted April 10, 2018 Author Report Posted April 10, 2018 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 Quote
Zam Posted April 11, 2018 Report Posted April 11, 2018 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 ... 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 Quote
macsaif Posted April 11, 2018 Author Report Posted April 11, 2018 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? Quote
macsaif Posted April 11, 2018 Author Report Posted April 11, 2018 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 Quote
FantomXR Posted April 11, 2018 Report Posted April 11, 2018 (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 April 11, 2018 by FantomXR Quote
macsaif Posted April 12, 2018 Author Report Posted April 12, 2018 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 Quote
macsaif Posted April 14, 2018 Author Report Posted April 14, 2018 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. Quote
Zam Posted April 14, 2018 Report Posted April 14, 2018 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 Quote
macsaif Posted June 10, 2018 Author Report Posted June 10, 2018 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 Quote
FantomXR Posted June 10, 2018 Report Posted June 10, 2018 (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 June 10, 2018 by FantomXR Quote
macsaif Posted June 10, 2018 Author Report Posted June 10, 2018 (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 June 18, 2018 by macsaif No answer to previous post Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.