FantomXR Posted March 17, 2018 Report Share Posted March 17, 2018 (edited) 23 minutes ago, macsaif said: Is it possible to upload. Ngc files without connected SD card? Of course not. The SD-card saves the NGC-files. You can find all parameters of a NGC-file on this page: http://www.ucapps.de/midibox_ng_manual_ngc.html Edited March 17, 2018 by FantomXR Quote Link to comment Share on other sites More sharing options...
macsaif Posted March 18, 2018 Author Report Share Posted March 18, 2018 It means that no way to check any ngc functions without SD card? What kind of SD card do you recommend? Are there any limitations or recommendations: speed, capacity, manufacturer? Speed Quote Link to comment Share on other sites More sharing options...
FantomXR Posted March 19, 2018 Report Share Posted March 19, 2018 14 hours ago, macsaif said: What kind of SD card do you recommend? Are there any limitations or recommendations: speed, capacity, manufacturer? No, anything should work. NGC-files are very small. So 12MB would be sufficient, but you won't be able to find a SD-card like this. Just take what you have or what you can get. Quote Link to comment Share on other sites More sharing options...
goyousalukis Posted March 19, 2018 Report Share Posted March 19, 2018 I know for the MB-Seq, the SD card is formatted with FAT, and because of this, only cards 4GB and smaller are supported. I don't know if this is the case for NG, but something to consider. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted March 19, 2018 Report Share Posted March 19, 2018 Just now, goyousalukis said: I don't know if this is the case for NG No, it's not. I use SD-cards with 16GB and more without any problems. 1 Quote Link to comment Share on other sites More sharing options...
goyousalukis Posted March 19, 2018 Report Share Posted March 19, 2018 That's good to know. I actually had a hard time finding a smaller SD card! Quote Link to comment Share on other sites More sharing options...
macsaif Posted March 21, 2018 Author Report Share Posted March 21, 2018 I have sterted up th NG. The velocity is not as sensitive as the direct KB... However I can achieve much more better velocity response by using the velocity map function. Now I have to implment the control of MiB, Transpose, keyboard split and Midi channel mapping (controlled by 16 hw inputs of STM32) and I can continue with the second board controlling the patches, banks, cc parameters. Quote Link to comment Share on other sites More sharing options...
macsaif Posted March 23, 2018 Author Report Share Posted March 23, 2018 At the moment I have checked the BreakIsMake function controlled by DIO. It works. I think I can do the transpose (Octave -2, -1, 0, +1, +2) function based on the example however I need some help. Is there any function where I can handle several transpose values based on the combination of 3 DIO bits? 000 – No transpose 001 – Octave +1 010 – Octave +2 101 – Octave -1 110 – Octave -2 Or 000 – No transpose 100 – Octave +1 101 – Octave +2 110 – Octave -1 111 – Octave -2 Where I need to define it...in .NGC or in .NGR file? The second question is regarding the assigning the Midi CHannels to Keyboards and Splitting. I have seen an example for Splitting, I think it is possible to make more Event_Keyboards listening the same HW and activating them based on the DIO bits. I have to make the following combinations 1. KB1 – CH1, Kb2 – CH4 , DIO- 000 2. KB1 – CH1, KB2 – CH2, DIO-100 3. KB1 – CH1, KB2 – CH1 + CH4, DIO-010 4. KB1 – CH1, KB2 – split at C2, lower part – CH3, Upper part – CH2, DIO 101 5. KB1 – CH4, KB2 – split at C2, lower part – CH3, Upper part – CH1, DIO- 111 6. KB1 – CH4, Kb2 – CH1, DIO- 011 Is that possible to realize in Midibox NG? Quote Link to comment Share on other sites More sharing options...
macsaif Posted March 28, 2018 Author Report Share Posted March 28, 2018 (edited) I am trying the transpose function switched by DIO register, it works however negative values are not supported. Here is my ngr file if ^section == 1 set_kb_transpose KB:2 12 endif if ^section == 2 set_kb_transpose KB:2 -12 endif if ^section == 3 set_kb_transpose KB:2 0 endif If I change the - 12 value for example to 24, it works however - values are not supported and it gives an error message. How can I make negative transposing? Thank you in advance Edited March 28, 2018 by macsaif Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 5, 2018 Author Report Share Posted April 5, 2018 The transpose problem is solved, thanks to T.K.: no negative values are allowed I had to use valuse between 128 and 255. Next question: I am trying to apply the Midi channel changing function. My solution is to make 7 different .NGC/.NGR files. Each .NGC file will have different setting of KB1/2 to Midi channel 1-4 mapping. In NGR file I will call the different .NGC files (load xxx). I have tried it however it seems it does not work. My questions: 1. If I call a new NGC file does it substitute the running Default NGHC file or the Default stays running? 2. Can I use the same event id numbers in all NGC files or I have to use different id numbers in each NGC file? 3. Is it a good solution or there is an easier way to do that function? Thank you Frank Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 9, 2018 Author Report Share Posted April 9, 2018 Is there anybody who has experience with using multiple ngc/ngr files and switching between them? Or any solution for changing of midi output channel assigned to the keybed? Quote Link to comment Share on other sites More sharing options...
Zam Posted April 9, 2018 Report Share Posted April 9, 2018 Hello You can change config with LOAD command at .NGR You should be able to select a keyboard event definition with conditional. EVENT_KB hw_id=1 id=11 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 if_equal=button:1:1 EVENT_KB hw_id=1 id=12 type=NoteOn chn=2 key=any use_key_number=1 range=0:127 if_equal=button:1:2 EVENT_KB hw_id=1 id=13 type=NoteOn chn=3 key=any use_key_number=1 range=0:127 if_equal=button:1:3 map1 1 2 3 EVENT_BUTTON hw_id=1 id=1 value=1 range=map1 button_mode=toggle Banking or radiogroup should work too, it depend how you want to select the channel Best Zam Quote Link to comment Share on other sites More sharing options...
FantomXR Posted April 9, 2018 Report Share Posted April 9, 2018 (edited) Or you maybe could do it with a NGR script. I didn't test it, but this might work. Set up a button in your NGC like this: EVENT_BUTTON id=1 type=meta meta=runsection:1 range=0:127 EVENT_KB hw_id=1 id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 EVENT_KB hw_id=1 id=2 type=NoteOn chn=2 key=any use_key_number=1 range=0:127 In NGR you add this: if ^section == 1 if id(Button):1 127 set_active (id)KB:1 0 set_active (id)KB:2 1 endif if id(Button):1 0 set_active (id)KB:1 1 set_active (id)KB:2 0 endif endif And you have to add also this. Without this both KBs would be active on startup: if ^section == 0 set_active (id)KB:1 1 set_active (id)KB:2 0 endif Edited April 9, 2018 by FantomXR Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 9, 2018 Author Report Share Posted April 9, 2018 I want to change the channell based on the combination of 3 inputs. The combinations are: 1. KB1 – CH1, Kb2 – CH4 , DIO- 000 2. KB1 – CH1, KB2 – CH2, DIO-100 3. KB1 – CH1, KB2 – CH1 + CH4, DIO-010 4. KB1 – CH1, KB2 – split at C2, lower part – CH3, Upper part – CH2, DIO 101 5. KB1 – CH4, KB2 – split at C2, lower part – CH3, Upper part – CH1, DIO- 111 6. KB1 – CH4, Kb2 – CH1, DIO- 011 Quote Link to comment Share on other sites More sharing options...
Zam Posted April 9, 2018 Report Share Posted April 9, 2018 Yes set active work too ! But if you need to select 16 ch, the NGR will be consequent (16 'if' with 16 'set_activ' each) 256 line at least Best Zam Quote Link to comment Share on other sites More sharing options...
Zam Posted April 9, 2018 Report Share Posted April 9, 2018 Just now, macsaif said: I want to change the channell based on the combination of 3 inputs. The combinations are: What is DIO-000, DIO-100 etc... ? Button on a matrix ? Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 9, 2018 Author Report Share Posted April 9, 2018 I am using the 16 digital inputs mapped to shift register 5 and 6. The transpose and BiM function is working. DIO 000, 001, 010 ...111 represents 3 bits from the 16 inputs. Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 9, 2018 Author Report Share Posted April 9, 2018 Just now, FantomXR said: Or you maybe could do it with a NGR script. I didn't test it, but this might work. Set up a button in your NGC like this: EVENT_BUTTON id=1 type=meta meta=runsection:1 range=0:127 EVENT_KB hw_id=1 id=1 type=NoteOn chn=1 key=any use_key_number=1 range=0:127 EVENT_KB hw_id=1 id=2 type=NoteOn chn=2 key=any use_key_number=1 range=0:127 In NGR you add this: if ^section == 1 if id(Button):1 127 set_active (id)KB:1 0 set_active (id)KB:2 1 endif if id(Button):1 0 set_active (id)KB:1 1 set_active (id)KB:2 0 endif endif And you have to add also this. Without this both KBs would be active on startup: if ^section == 0 set_active (id)KB:1 1 set_active (id)KB:2 0 endif Can I make 8 software keyboards and switching them based on the combination of 3 input bits? KB:1 - hardware kb1 to ch1 KB:2 - hardware kb1 to ch4 KB:3 - hardware kb2 to ch1 KB:4 - hardware kb2 to ch2 KB:5 - hardware kb2 to ch4 KB:6 - hardware kb2 lower part up to C2 to ch3 KB:7 - hardware kb2 upper part from C2 to ch1 KB:8 - hardware kb2 upper part from C2 to ch2 What happens when I am deactivating a KB and I have some keys pressed? I want to avoid some hanging notes when switching between configuration! Quote Link to comment Share on other sites More sharing options...
Zam Posted April 9, 2018 Report Share Posted April 9, 2018 Just now, macsaif said: I am using the 16 digital inputs mapped to shift register 5 and 6. The transpose and BiM function is working. DIO 000, 001, 010 ...111 represents 3 bits from the 16 inputs. Is that 3 bits definition at .NGC ?? DIO define emulated SR, you have direct access with the hooked button and corresponding hw_id I guess your first DIO button is hw_id=33 and last is hw_id=48 (if SR 5 and 6) But if I get it right you want to use 3 button to define 8 keyboard states ? 000 is all button off 001 is button n°3 on 011 is button 2 and 3 on etc... 111 is all button on can you confirm that is the logic you want to implement ? Best Zam Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 9, 2018 Author Report Share Posted April 9, 2018 Yes, this is the logic and it works, the problem is somewhere else. I have tried the simple layer and split function and there are the following problems: Layer: I am assigning the KB1 and KB2 to HW ID 1 , KB1 to CH1 and KB2 to CH4 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 1. At the first key press the midi event is sent to CH1 and CH4,then to other key presses are sending only to CH4 however each keypress is sending 2 on and 2 off signals to CH4 2. The other problem is that the 2 signals have different velocity value, it seems that the second key press event is sending higher velocity value, Split mode: EVENT_KB id=6 hw_id=2 type=NoteOn chn=3 key=any use_key_number=1 range=0:67 kb_velocity_map=map1 kb_transpose=0 ports=1000110000000000 EVENT_KB id=8 hw_id=2 type=NoteOn chn=2 key=any use_key_number=1 range=68:127 kb_velocity_map=map1 kb_transpose=0 ports=1000110000000000 It is sending only events to CH3 and not only until splitpoint however in whole range. KB id 1 and 2 are assigned to the uppermanual and KB id 3-8 are assigned to the lower manual(73 key) Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 9, 2018 Author Report Share Posted April 9, 2018 The layer: [13608.608] 90 45 14 Chn# 1 Note On A-3 Vel:20 [13608.608] 93 45 3c Chn# 4 Note On A-3 Vel:60 [13608.681] 93 45 00 Chn# 4 Note Off A-3 (optimized) [13608.681] 93 45 00 Chn# 4 Note Off A-3 (optimized) [13613.072] 93 45 14 Chn# 4 Note On A-3 Vel:20 [13613.072] 93 45 3c Chn# 4 Note On A-3 Vel:60 [13613.158] 93 45 00 Chn# 4 Note Off A-3 (optimized) [13613.158] 93 45 00 Chn# 4 Note Off A-3 (optimized) The split: [13895.421] 92 28 5b Chn# 3 Note On E-1 Vel:91 [13895.548] 92 28 00 Chn# 3 Note Off E-1 (optimized) [13896.752] 92 56 6e Chn# 3 Note On D-5 Vel:110 [13896.881] 92 56 00 Chn# 3 Note Off D-5 (optimized) The split point is 47(in earlier e-mail it was 67 however now it is changed to 47) C2youcansee that there is only signal to CHN3 Quote Link to comment Share on other sites More sharing options...
Zam Posted April 10, 2018 Report Share Posted April 10, 2018 Hello Hard to say without more of your .NGC I don't get how you change event status here as you don't have any bank, radio group, or conditional definition ? Best Zam Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 10, 2018 Author Report Share Posted April 10, 2018 I have made a separate. NGC without any event changes. The NGC file contains only these 2 KB events. I have checked the layer and split function separately. As I have said no any switching function applied in this. NGC file. Frank Quote Link to comment Share on other sites More sharing options...
Zam Posted April 10, 2018 Report Share Posted April 10, 2018 Ok, but you should have also a map (you use one map...) and kb srio definition? Is RESET_HW specified ? Please post the full .NGC so we can have a look ... Best Zam Quote Link to comment Share on other sites More sharing options...
macsaif Posted April 10, 2018 Author Report Share Posted April 10, 2018 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 Quote Link to comment Share on other sites More sharing options...
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.