Hi,
I would like to gate a set of oscillator banks from the same key on
the keyboard. When the key is pressed the first time I would like
the first Osc. Bank to play, and relate to velocity and sustained note
length etc. The second time I press the key I would like the second Osc.
Bank to play and so on and so forth - for five times - and then when I
press down the same key the sixth time, the first Osc. Bank should play
again.
Have tried to get my head around this with no luck - does anyone have any
ideas on how to do this?
Best
Magnus
--
MagnusLindberg - 18 Aug 2004
In the TimeIndex's Trigger field of the 4th OscillatorBank, you could try something like the following expression:
!KeyDown gateWhen: ((!KeyDown countTriggersMod: 5) eq: 3)
This expression would trigger the OscillatorBank the fourth time you pressed a MIDI key (and requires having all the OscillatorBanks in a Mixer so you can gate them at any time). The
countTriggersMod: 5
expression would take on the following values as you press keys:
Key Press Nbr | Value |
0 | -1 |
1 | 0 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 0 |
6 | 1 |
--
CarlaScaletti - 18 Aug 2004
Brilliant! Thanks!
Automatically the next question arises... How do I assign something to reset the counter? A CC or a specific key (that would have to be "removed" from playing the Osc.Banks.) As the code goes it just counts.
Thanks!
My first thought would be to capture the current value of of the count at the moment you hit a Reset trigger; then you could subtract that amount from the count (modulo the length of course). So something like this:
(!KeyDown countTriggers - (!KeyDown countTriggers sampleAndHold: !Reset)) mod: 5
--
CarlaScaletti - 06 Sep 2004
Thank you. But I am lost. Where do I insert this line of code? I can see that it resets the count, but triggered from what? My guess I have to assign a specific key on the keyboard for this? How do I do assign this?
Thanks for your effort!!
--
MagnusLindberg - 15 Sep 2004
It would be
!KeyDown gateWhen: (((!KeyDown countTriggers - (!KeyDown countTriggers sampleAndHold: !Reset)) mod: 5) eq: 3)
--
CarlaScaletti - 15 Sep 2004
Perhaps an easier solution: Put a MIDIVoice on each of the OscillatorBanks, and set all MIDIVoices to the same channel. Put the MIDIVoices into a Mixer. They will be triggered in a round-robin fashion from MIDI KeyDown.
--
CarlaScaletti - 15 Sep 2004
The round robbins is similar to the first solution - but I assume that there is no reset of the count. This gives me a thought. What if I were to use !KeyDownLegato to step the counter - and a normal !Keydown to reset? This would simplify the resetting, wouldn´t it?
Not that I know how to implement it... Just my fifty cents... ;-)
WebForm |
Question: | How do I gate sequential Sounds from the same key on the Keyboard? |
Keywords: | Gate, Key, Keyboard, Sequence |