|
Post by mrfretless5 on Sept 25, 2018 0:15:05 GMT
Hi, I'm a midi newbie and started to have fun with iOS apps like SampleTank and a KMI 12 Step (controller), now I want to trigger sequences using the Quantum Sequencer app from Tony Saunders.
The Quantum app works great, the Learn function helps to map steps/keys to Quantum options, but found out 12 Step only sends CC 003 for all 13 steps/keys, and can send the Key Number as the value (C=1, C#=2, D=3, etc.).
I want to use 12 step with SampleTank to play synth lines, and also trigger a sequence on some parts of the song, by playing a specific note/key/step on 12 step. That Step should Start the sequence, so I continue using other steps, and then stop the sequence with the same or another key/step.
Tony has been finding ways to help me and he mentioned StreamByter
How could I use StreamByter to handle this 12Step limitation?
What kind of rule could change the CC 003 for all the channels, when the KeyNote value has a 1 (C), or 2 (C#), to lets say a CC 009?
Thanks in advance for your help
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Sept 25, 2018 13:19:25 GMT
Hi mrfretless5 , You can indeed map that CC with various values to discrete CC's (or other events) as follows: (assuming it is on channel 1) # map 13 12step CC # values to discrete # CCs (64 to 77) B0 03 01 = XX 40 7F B0 03 02 = XX 41 7F B0 03 03 = XX 42 7F B0 03 04 = XX 43 7F B0 03 05 = XX 44 7F B0 03 06 = XX 45 7F B0 03 07 = XX 46 7F B0 03 08 = XX 47 7F B0 03 09 = XX 48 7F B0 03 0A = XX 49 7F B0 03 0B = XX 4A 7F B0 03 0C = XX 4B 7F B0 03 0D = XX 4C 7FThird byte is the incoming CC value to match and the 2nd to last byte is the CC to map to (with value ON). Not sure if the bottom note is CC value 1 or 0 - I have assumed 1. Regards, Nic.
|
|
|
Post by mrfretless5 on Sept 25, 2018 23:46:52 GMT
Hi, Thanks for the answer Nic So let me know if I got this right: > "B0" is Channel 1 > "03" is for CC 003 (that all the steps from 12 Step are returning) > The third values "01" to "0D" are for the Key Notes 1 (Low C) to 13 (High C) Questions for the right side: > "XX" is for All Channels? > What is the Second byte? "40" to "4C" (64 to 77) What does this represent? > What about the third one?
What should be the second byte to represent CC = 009 or some other undefined MIDI CC message?
Thanks again
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Sept 26, 2018 7:48:02 GMT
Hi mrfretless5 , > "B0" is Channel 1 B means a CC message, 0 means channel 1 > "03" is for CC 003 (that all the steps from 12 Step are returning) Yes. > The third values "01" to "0D" are for the Key Notes 1 (Low C) to 13 (High C) Yes. Questions for the right side: > "XX" is for All Channels? XX means preserve whatever the incoming byte is (in this case B0) > What is the Second byte? "40" to "4C" (64 to 77) What does this represent? That's the number of the CC we will map each of the keys to. I just made those up; you can map to any CC number that suits > What about the third one? Setting the third byte of a CC to 7F is a convention for specifying the CC is ON (or on max value). Again, you can set the value of the CC to whatever you like. I find somascape midi spec to be really helpful in understanding MIDI messages. Regards, Nic.
|
|
|
Post by mrfretless5 on Sept 26, 2018 23:31:25 GMT
Thanks again Nic
I was thinking in a rule like this: BX 03 04 = XX 09 In order to map the Step D# (4) from CC 003 to CC 009, does this could work?
By the way, the iOS apps I have are SampleTank and Quantum Sequencer, to use with the KMI 12 Step Do I just need the StreamByter app to make this work or there is another app missing in the formula?
Another information from the 12 Step behavior, there is a "Select" step/key that does not sends CC 003 Using MIDI Wrench I see something like: [Note off] ch=0 note=52 velocity=0 [Note off] ch=1 note=52 velocity=0 [Note off] ch=0 note=52 velocity=0 [Note off] ch=1 note=52 velocity=0
Do you think this key/step could also be used to stop a sequence in Quantum instead of one of the 13 Note Steps?
Thanks
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Sept 27, 2018 8:44:02 GMT
Hi mrfretless5 , > I was thinking in a rule like this: BX 03 04 = XX 09 > In order to map the Step D# (4) from CC 003 to CC 009, does this could work? It could well work, but I would recommend adding 7F to the end of the rule in case whatever you are sending CC9 to interprets the value (4) as an OFF and does nothing. > By the way, the iOS apps I have are SampleTank and Quantum Sequencer, to use with the KMI 12 Step > Do I just need the StreamByter app to make this work or there is another app missing in the formula? You may need MidiFire for this in order to process events from the KMI. The StreamByter app (standalone) only operates on its own virtual ports only. Although the StreamByterAU could be loaded inside a suitable host (AUM should work) that will interconnect CoreMIDI hardware (the KMI) to the AU and then back to Quantum or SampleTank via CoreMIDI virtual. > Another information from the 12 Step behavior, there is a "Select" step/key that does not sends CC 003 > Using MIDI Wrench I see something like: > [Note off] ch=0 note=52 velocity=0 > [Note off] ch=1 note=52 velocity=0 > [Note off] ch=0 note=52 velocity=0 > [Note off] ch=1 note=52 velocity=0 > Do you think this key/step could also be used to stop a sequence in Quantum instead of one of the 13 Note Steps? It's sending a note off event which may not be recognised as a trigger for Quantum. You probably want to translate that event to a CC (here I am remapping CC to 64 (hex 40)) also with a rule like this: 90 34 00 = B0 40 7FRegards, Nic.
|
|
|
Post by mrfretless5 on Nov 29, 2018 1:43:00 GMT
Hey Nic, I'm back! Started playing around with MIDIFire, looks great so far Now I need help with the Stop rule, I would like to use the "Select" button on the 12Step Tried your "90 34 00 = B0 40 7F" but didn't work as expected The Event Monitor shows: CH 01 Note Off E2 Rel:000 CH 02 Note Off E2 Rel:000
These are my 2 lines: BX 03 04 = XX 09 #This one is working fine 90 34 00 = B0 14 7F # Changed the 40 for 14, another undefined CC
Also I'm thinking on changing "90" for "BX", because it could be any Channel
Your help will be very much appreciated Thanks in advance
EB
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 29, 2018 9:17:43 GMT
Hi mrfretless5 , OK, so that button seems to be sending a note off event and not a CC, so we can translate that (I think) with: 9X XX 00 = 8X 8X 58 = B0 14 7FThis assumes that your MIDI monitor app is numbering notes starting from C-2. If not, try replacing that 58 with 64. Regards, Nic.
|
|
|
Post by mrfretless5 on Nov 30, 2018 20:21:58 GMT
Hi mrfretless5 , OK, so that button seems to be sending a note off event and not a CC, so we can translate that (I think) with: 9X XX 00 = 8X 8X 58 = B0 14 7FThis assumes that your MIDI monitor app is numbering notes starting from C-2. If not, try replacing that 58 with 64. Regards, Nic. Did not work...maybe the button won't allow it Anyway, what I need to do now is split most of the keys / steps to use Channel 1, and leave 1 or 2 keys for Channel 2 Here is an example, from the step 1 to 11 should use channel 1, and steps 12 & 13 should be Channel 2 What I need is to use different sounds for those two sections Hope you can guide me with the rules Still having trouble understanding the syntax Thanks BTW, the 12Step always return the key/step number (from 1 to 13) on CC 003
|
|
|
Post by mrfretless5 on Nov 30, 2018 20:31:35 GMT
I thought I found a way to use the last key (Step 13) of the 12Step with a different sound from SampleTank, but did not work,
Looks like the notes from 12Step are going directly to SampleTank, so whatever I re-map using MIDIFire (and StreamByter) are showing right in the Event Monitor, but the sound is not the one I wanted to be (on channel 3)
Any Ideas?
Your help will be very appreciated
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 3, 2018 14:40:08 GMT
Hi mrfretless5 , Right, SampleTank is quite possibly reacting to the note events from the KMI directly. I thought with recent versions of SampleTank you could select which ports it will react to in each part. If not, then you can definitely select the MIDI channel each part reacts to, so if the KMI is interfering with those note events on channel 1 and 2 you are going to need to reconfigure your setup so that the SampleTank parts are on channels 3 and greater. Now, back to the 'select' button. We can definitely remap that note event to a CC - I think we don't have the source event quite right in our matching rule. Maybe this will work: 9X XX 00 = 8X 80 28 = B0 14 7F 80 34 = B0 14 7F
I'm not sure if the MIDI Monitor app you are using start notes at C-2 or C-1 - that could be the issue, so I've included both possibilities above. > Anyway, what I need to do now is split most of the keys / steps to use Channel 1, and leave 1 or 2 keys for Channel 2 > Here is an example, from the step 1 to 11 should use channel 1, and steps 12 & 13 should be Channel 2 > What I need is to use different sounds for those two sectionsRight, so to also remap the channel when you convert the CC explicitly set the output channel in the XX after the '=' sign, so for example to force the last tw buttons to channel 2, you would do: B0 03 0C = X1 4B 7F B0 03 0D = X1 4C 7FThe change I made is in red, the '1' means MIDI channel 2. Regards, Nic.
|
|
|
Post by mrfretless5 on Dec 4, 2018 4:07:20 GMT
Didn't work the "select" button rule... But anyway, now I think it will be better to keep that button working as is, because of the 12Step functionality
About the SampleTank trick, I setup the sounds on Channel 2, and the 12Step is sending on Channel 1 So I'm mapping in MidiFire, using this rule first: X0 = X1
And then just for the last key on 12Step, that normally return a value of 13 (decimal) on CC 003 I have setup a chord in 12Step, so it is not just one note
For this reason I think the best will be to just change the channel for that key, so the rule I tried is: B0 03 0D = B2 03 0D Looking for "Channel 1 CC 003 value 13 (last key on 12Step) = Channel 3 CC 003 value 13" But does not change the sound...
Do you see what I'm doing wrong?
Thanks
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 4, 2018 14:04:18 GMT
Hi mrfretless5 , > And then just for the last key on 12Step, that normally return a value of 13 (decimal) on CC 003 > I have setup a chord in 12Step, so it is not just one noteThat seems to me then that you have changed the KMI to send something different, so trapping that CC3 value 13 would have no effect, since it is no longer being sent? If it is sending a chord, I assume that means it is sending note events. If so, you could try remapping all notes on channel 1 to channel 3 as follows: N0 = X2Bear in mind that the 'select' button that sends those note offs will also be remapped I suspect. Regards, Nic.
|
|
|
Post by mrfretless5 on Dec 6, 2018 3:37:13 GMT
Yes, the 12Step allows to setup chords up to 5 notes per key/step, and for the last key I have a 3 notes chord, but also it is configured to return the key number as value I have an Event Monitor before the StreamByter that shows: CH:01 Note On E3 Vel:067 CH:01 Note On B3 Vel:067 CH:01 Ctl Num:3 Val:13
A SteamByter with this rule: X0 = X1 B0 03 0D = B1 03 0D
Then another Event Monitor showing: CH:02 Note On E3 Vel:067 CH:02 Note On B3 Vel:067 CH:02 Ctl Num:3 Val:13
Then I have the SampleTank App
But the sound is still what I have in Channel 1 (Synth) instead of the Piano for Channel 2 Don't understand why...
I just want to "rout" the last step to the piano sound/chord, is there a way to do this with MidiFire & StreamByter or is this crazy? Maybe with the "IF/END", not sure how to evaluate for the Key Number 13...
Thanks again
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 6, 2018 8:32:38 GMT
Hi mrfretless5 , OK, so the events are being correctly remapped to channel 2, so it is an issue with routing. SampleTank is probably picking up the events directly from the KMI on channel 1. It may not be seeing the channel 2 events if they are not being forwarded. To test this out try the following: - In SampleTank part A, change the MIDI channel from 1 to 16 - that should stop the synth sound from triggering. - If this does not make part B (piano on channel 2) spring to life, make sure the Stream Byter is connected to the SampleTank output/destination port. Regards, Nic.
|
|