Jump to content

Starting up the dual manual organ


macsaif
 Share

Recommended Posts

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

Link to comment
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

 

Link to comment
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?

Link to comment
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

 

Link to comment
Share on other sites

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
Link to comment
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

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

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

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...