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?
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?
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?
> 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:
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
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 7F
This assumes that your MIDI monitor app is numbering notes starting from C-2. If not, try replacing that 58 with 64.
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
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)
Your help will be very appreciated
Last Edit: Dec 2, 2018 18:32:35 GMT by mrfretless5: More info after testing
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 sections
Right, 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 7F
The change I made is in red, the '1' means MIDI channel 2.
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...
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...