|
Post by iscalius123 on Dec 8, 2019 3:05:58 GMT
Hi, Im new with streambyter. I searched for a thread with regarding the arp of nanokey studio, but none was found. My question is, would it be possible to remap the midi channel of the arp of the nano key studio? In the kontrol editor software, the arp is only mapped to Global channel. No way to change this so I am thinking if its possible to remap the midi channel of the arp to the current channel of the notes played. Sorry if Its confusing. I also dont know how to explain it clearly Thanks!
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 8, 2019 11:46:59 GMT
Hi iscalius123, I'm not familiar with NS2, but if its ARP can be piped through StreamByter before hitting the destination, channel remapping is easy. One line rule (need hex numbers though) example XX = X2remaps to channel 3 (channels numbered 0 to 15) Or more verbose but using decimals if ML == 3 assign M0 = MT + $12 endremaps to channel 13 Regards, Nic.
|
|
|
Post by iscalius123 on Dec 8, 2019 14:22:59 GMT
Hello Nic,
Thanks for the reply. I tried what you said but still, the arp plays on global channel 1. Perhaps what I need to do is when I change the scene in Nanokey Studio for example scene 2, I will also need to change the global channel to midi channel 2 of the NKS. Is that possible?
Best regards, Aramis
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 8, 2019 14:52:01 GMT
Hi iscalius123 , Sorry - just realised nothing to do with nanostudio. Surely the ARP in the Korg is just sending midi so it should be able to remap. Could you describe your setup (apps being used) - that might help. Regards, Nic.
|
|
|
Post by iscalius123 on Dec 8, 2019 15:11:02 GMT
Hello Nic, I'm using NanoKey Studio as Midi input, Streambyter as filter and midi receiver is Poison-202 in AudioBus3. Also another instance Streambyter and Poison-202 but is controlled via Scene 2/Midi Channel 2 of NKS. I tried looking into the midi events in Midi wrench when changing the scenes in NKS, and the SysEx messag are as follows, F0 42 40 00 01 36 02 00 00 4F 00 - Scene 1 F0 42 40 00 01 36 02 00 00 4F 01 - Scene 2 F0 42 40 00 01 36 02 00 00 4F 02 - Scene 3 F0 42 40 00 01 36 02 00 00 4F 03 - Scene 4 F0 42 40 00 01 36 02 00 00 4F 04 - Scene 5 F0 42 40 00 01 36 02 00 00 4F 05 - Scene 6 F0 42 40 00 01 36 02 00 00 4F 06 - Scene 7 F0 42 40 00 01 36 02 00 00 4F 07 - Scene 8 So maybe I can use this to set the global Midi channel of the NKS per scene ex. Scene 2 = Global midi channel 2 and so on... I got this idea from this link when I was searching for a workaround for the arp issue and wondering if this can be done in streambyter. Regards, Aramis
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 9, 2019 9:06:52 GMT
Hi iscalius123 , Right, so you change scenes on the NKS which changes the MIDI channel of the played notes to address different apps but the ARP channel remains the same. Got it. We need code to detect when you change a scene on the NKS which then sets the global MIDI channel accordingly using that big chunk of sysex. Note that big sysex message sets a lot of things, presumably in the global configuration. Hopefully what it sets doesn't override something else you rely on. This code should do that according to that post you linked to (I don't have an NKS to test this on though): # KORG nanokey studio - set global MIDI channel # to selected scene number if M0 == F0 42 if M4 == 01 36 02 00 if M8 == 00 4F # detected scene change message # send crazy NK sysex to set global channel # NB scene number is in MA send F0 42 M2 00 01 36 14 01 00 51 7C MA 00 7F 7F 7F +F send 7F 7F 01 7F 6E 61 6E 6F 4B 45 00 59 20 53 74 75 +F send 64 69 00 6F 00 00 00 00 00 00 40 00 00 00 00 00 +F send 00 7F 1F 7F 7F 7F 7F 7F 40 40 3F 7F 7F 7F 7F 7F +F send 7F 02 40 7F 02 7F 00 7F 02 7F 7A 00 30 04 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F 00 00 02 +F send 01 00 07 7F 7F 7F 03 01 01 00 6E 00 7F 7F 7F 00 +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F F7 +F end end end blockRemember that the StreamByter output must be fed to the NKS. The code above prevents an infinite loop by blocking all events, so this should be placed *only* between NKS out and NKS in. Feel free to share the above code in that other forum post if it might be of use to people there. Regards, Nic.
|
|
|
Post by iscalius123 on Dec 9, 2019 15:22:03 GMT
Hi Nic, Thanks! but when I tried copying the code and try to install it, it returns an error Do I need to set anything at the top first? #ERR if M0 == F0 42 #ERR if M4 == 01 36 02 00 #ERR if M8 == 00 4F #ERR # detected scene change message #ERR # send crazy NK sysex to set global channel #ERR # NB scene number is in MA #ERR send F0 42 M2 00 01 36 14 01 00 51 7C MA 00 7F 7F 7F +F #ERR send 7F 7F 01 7F 6E 61 6E 6F 4B 45 00 59 20 53 74 75 +F #ERR send 64 69 00 6F 00 00 00 00 00 00 40 00 00 00 00 00 +F #ERR send 00 7F 1F 7F 7F 7F 7F 7F 40 40 3F 7F 7F 7F 7F 7F +F #ERR send 7F 02 40 7F 02 7F 00 7F 02 7F 7A 00 30 04 7F 7F +F #ERR send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F 00 00 02 +F #ERR send 01 00 07 7F 7F 7F 03 01 01 00 6E 00 7F 7F 7F 00 +F #ERR send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F #ERR send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F #ERR send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F F7 +F #ERR end #ERR end end block Regards, Aramis
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 9, 2019 15:41:31 GMT
Hi iscalius123 , I've seen this happen sometimes. Seems copy/paste in some situations inserts invalid characters. It's usually solved by removing all whitespace. Try this: # KORG nanokey studio - set global MIDI channel # to selected scene number if M0 == F0 42 if M4 == 01 36 02 00 if M8 == 00 4F # detected scene change message # send crazy NK sysex to set global channel # NB scene number is in MA send F0 42 M2 00 01 36 14 01 00 51 7C MA 00 7F 7F 7F +F send 7F 7F 01 7F 6E 61 6E 6F 4B 45 00 59 20 53 74 75 +F send 64 69 00 6F 00 00 00 00 00 00 40 00 00 00 00 00 +F send 00 7F 1F 7F 7F 7F 7F 7F 40 40 3F 7F 7F 7F 7F 7F +F send 7F 02 40 7F 02 7F 00 7F 02 7F 7A 00 30 04 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F 00 00 02 +F send 01 00 07 7F 7F 7F 03 01 01 00 6E 00 7F 7F 7F 00 +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F F7 +F set LB0 MA +D end end end block
I have deliberately removed all leading spaces; once you paste it in, it will indent for you. Regards, Nic.
|
|
|
Post by iscalius123 on Dec 9, 2019 23:10:16 GMT
Hi Nic,
Thank you very much. The error was fixed but Im not sure if it’ working or I just didn’t set it up right. When I go to scene 2 which is in midi channel 2, the arp still plays the synth set to midi channel 1. This is also ehat I see in the midi event log.
I have it setup in audiobus as:
NKS > Streambyter (installed rules) > NKS (correct?)
Then I inserted again the NKS as a new input:
NKS > SynthApp
Regards, Aramis
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 10, 2019 8:26:40 GMT
Hi iscalius123 , Your setup seems logical. I cannot vouch for whether that large sysex message that gets sent is correct or not, but you should test that the sysex message changes using StreamByter's MIDI monitor panel. When you do your scene change, you should see it log a (roughly) 12 byte sysex message on the input. On the output side, there should be a sysex message too, but it's reported size will be much bigger, about 158 bytes. If you see this, then you know your scene change sysex has been detected and the bulk config message generated. In which case, maybe the bulk sysex message is wrong. Another other thing to explore: I seem to recall that the NKS' smaller cousins have more than one pair of MIDI ports. Maybe the bulk sysex is being sent to the wrong one. Regards, Nic.
|
|
|
Post by iscalius123 on Dec 11, 2019 10:38:21 GMT
Hello Nic, Thanks for helping me out. I guess there's no other way. There is no output message shown in the event log of the streambyter between the input NKS and NKS receiver. But I tried removing the block code and the input and output have the same event logged in the output section. I guess the bulk sysex message is wrong. Just some followup question, are sysex messages standard to all devices? I'm not sure how the guy from the forum link I posted before knew how to change the global midi channel in the NKS. I tried hooking up the NKS to my laptop and opened MIDIOX, no event was logged when pressing the arp button in the NKS. Tried changing scenes with different midi channel and the logged notes played still are shown as Channel 1. I don't know how to proceed in this so maybe I'll just accept this functionality Thanks and regards, Aramis
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 11, 2019 11:01:25 GMT
Hi iscalius123 , OK, if there is no output message, then we are not matching on the scene change message correctly. I've rechecked my code that does the matching against your midiwrench output and also the message shown on the link you posted and it looks correct to me. EDIT - I checked the code in MidiFire itself by injecting one of those scene change messages and the code worked as expected and generated the full bulk message, so I am pretty sure the message matching is correct. I have made a tiny change to the code above to log the scene number to the left block label to try and get a bit further on this. Please try this out - when the NKS sends a scene change sysex message you should see the scene number show up in that label. sysex messages are device specific. The person who posted the code on the other forum would have either gotten the information from a spec. or intercepted and disassembled the message and worked out which byte the global channel was. Regards, Nic.
|
|
|
Post by iscalius123 on Dec 11, 2019 11:56:34 GMT
Hi Nic, Another update, I tried receiving the data from the NKS to the Korg Kontrol editor and this Midi output was logged in MIDI-OX: I changed the global midi channel to 16 then writing the global data in the NKS. After that, I received back the global data from NKS to the kontrol Editor. I noticed those two figures that change when I select a different global channel in the Korg Kontrol editor. Global channel 1 is 40 channel 2 is 41 and so on.. The second highlighted number is I think the global midi channel since I changed the channel to 16 the number is 0F in hex and it is 15 in decimal. I tried applying this in the streambyter code based on the code you sent and still, no luck send F0 42 4F 00 01 36 14 01 00 51 7C 0F(<--Changed it to MC to set current midi channel?) 00 7F 7F 7F +F send 7F 7F 01 7F 6E 61 6E 6F 4B 45 00 59 20 53 74 75 +F send 64 69 00 6F 00 00 00 00 00 00 40 00 00 00 00 00 00 +F send 7F 1F 7F 7F 7F 7F 7F 40 40 3F 7F 7F 7F 7F 7F +F send 7F 02 40 7F 02 7F 00 7F 02 7F 7A 00 30 04 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F 00 00 02 +F send 01 00 07 7F 7F 7F 03 01 01 00 6E 007F 7F 7F 00 +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F F7 +F Here's the original log SYSX: F0 42 4F 00 01 36 14 01 00 51 7C 0F 00 7F 7F 7F 7F 7F SYSX: 01 7F 6E 61 6E 6F 4B 45 00 59 20 53 74 75 64 69 00 6F SYSX: 00 00 00 00 00 00 40 00 00 00 00 00 00 7F 1F 7F 7F 7F SYSX: 7F 7F 40 40 3F 7F 7F 7F 7F 7F 7F 02 40 7F 02 7F 00 7F SYSX: 02 7F 7A 00 30 04 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F SYSX: 03 7F 7F 00 00 02 01 00 07 7F 7F 7F 03 01 01 00 6E 00 SYSX: 7F 7F 7F 00 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F SYSX: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F SYSX: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F F7 Regards, Aramis
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 11, 2019 12:56:26 GMT
Hi iscalius123 , Have we determined that the code matching is working? We need to establish that StreamByter correctly identifies a scene change message. When you use the code above and issue a scene change message, do you see a number appear in the left block label in StreamByter? Regards, Nic.
|
|
|
Post by iscalius123 on Dec 11, 2019 13:29:15 GMT
Hi iscalius123 , I've seen this happen sometimes. Seems copy/paste in some situations inserts invalid characters. It's usually solved by removing all whitespace. Try this: # KORG nanokey studio - set global MIDI channel # to selected scene number if M0 == F0 42 if M4 == 01 36 02 00 if M8 == 00 4F # detected scene change message # send crazy NK sysex to set global channel # NB scene number is in MA send F0 42 M2 00 01 36 14 01 00 51 7C MA 00 7F 7F 7F +F send 7F 7F 01 7F 6E 61 6E 6F 4B 45 00 59 20 53 74 75 +F send 64 69 00 6F 00 00 00 00 00 00 40 00 00 00 00 00 +F send 00 7F 1F 7F 7F 7F 7F 7F 40 40 3F 7F 7F 7F 7F 7F +F send 7F 02 40 7F 02 7F 00 7F 02 7F 7A 00 30 04 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F 00 00 02 +F send 01 00 07 7F 7F 7F 03 01 01 00 6E 00 7F 7F 7F 00 +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F +F send 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 03 7F 7F F7 +F set LB0 MA +D end end end block
I have deliberately removed all leading spaces; once you paste it in, it will indent for you. Regards, Nic. Hello Nic, This is what I see when changing a scene with the updated code installed in streambyter. Any scene selected always shows Sysex End - F7. Please check the link below for the screenshots. . Screenshots
Thanks~
|
|