I\'d like to be able to trigger keyswitches using a breath controller rather than keys. That would require something - and this is what I want to open up to the brain trust - that can time the cc value changes. So if you blast air into the controller you get one keyswitch note, and a different one if you blow in slowly.
A variation of this would be to have, say, the blast attack bump to a different channel. That would allow you to put a fast attack sample on a separate channel from a legato sample, bypassing the VSL\'s MIDI legato tool.
I know Logic\'s Environment can\'t do this, or I\'m pretty sure (because Guru Len Sasso told me). MIDI Solutions can\'t do that with any of their boxes. Right now the people at Cycling \'74 should have my question about whether Max can do it.
Anyone have any other ideas? And can anyone think of why this wouldn\'t work? The idea of \"breath velocity\" just like in the Yamaha VL1 has been on my small mind for a while.
This is probably no help at all, so I apologize in advance.
But, you could probably do this with a Ztar. I don\'t have a breath controller on mine, but you can assign velocity to the breath controller (if you have the input). You can also assign different \'windows\' on a single sensor according to the midi input value (it will respond in various ways according to the midi value - soft does one thing hard another, etc.), and you can also fire other \'sensors\' (linking them) with a single input such as velocity. There are different sensors, such as pads, joystick, pedals, etc. You also have the ability to program timed gates to fire according to bpm or absolute time.
So, you can program in notes, CC messages, sequences, chords and other events and link them all to one or more inputs. It is incredibly general and flexible. I can tune each fret individually to fire a keyswitch or assign different articulations to respond to CCs from pads (e.g. I can \'bow\' a Dan Dean arco string from one pad and a stacatto from another - breath control would do just as well). It has up to 32 zones on the fretboard, so the user can \'paint\' an orchestra (or whatever) on to the keys; so you also have the added advantage of being able to play the whole orchestral range under one (or two - if you\'re a \'tapper\') hands. It is fully polyphonic so you can play 24 note chords (if you are a mutant; finger-wise) on each string with different sounds and tones on each fret (if you want). You can also layer zones on top of each other, or overlap them, or use zones to send messages other than notes.
Your problem might then be that you\'re a keyboard player and not a guitarist. I may be misinterpreting your question here, but if you really want it badly enough (and you have a VL1 so are not short of a few bob [img]images/icons/wink.gif[/img] ) you might think about asking Harvey Starr (Ztar creator) to build you something.
The only caveat is that Harvey can take a looooong time to build custom jobs (in your case something that you can plug in to your existing setup). Look at his site though, he might already have something available that he could jury-rig for you.
Right, Scott! I put \"velocity\" in quotes. The point is that using a static control value (breath or anything else) won\'t do it; the thing needs to sense how fast the control values are changing to decide which MIDI message to send. The DrumKAT does something like this with its HatKAT pedal: if you release the pedal quickly, it sends a MIDI note to trigger a high-hat splash sound. They tell me it works like velocity, measuring the time it takes the pedal to travel between two points.
Thanks for the link, Z6, but that seems maybe a little OTT for the purpose! By the way, I bought a VL1m (module) for $1100 when they were being blown out, then later traded it straight across for a keyboard version. No insider deals or anything! The person I made the trade with had done some work for Yamaha at the time and had a few of them, so he wanted to save the space.
Thanks Serge, but maybe I didn\'t explain what I\'m looking for clearly enough.
Okay. When you want to switch between, say, slow and fast attack sample programs, you can use a keyswitch. (I\'m not talking about speeding up the attack portion of the envelope, of course, I\'m talking about playing sample libraries with different recordings for each attack.)
Or you put the two samples on separate MIDI channels and tweak. But to me this is programming rather than playing, and I consider that aspect of the current technology suboptimal.
Now, it\'s very easy, using any number of utilities, to map a specified controller value to a note to do the keyswitching or to send notes on a different channel when the controller is positioned within a certain range.
That\'s not what I want to do.
If you\'re playing a flute, for example, and you want the note to have a fast attack, you let out a quick blast of air. And for a slow attack, you let the air out gradually.
I want to use a breath controller to do that with sample programs: blow in fast and have it switch to the fast attack sample program.
But it won\'t work if you just have, say, values over 80 trigger one keyswitch note and values under 80 trigger the other (because you also need to be able to play loud slow attacks and quiet fast attacks).
What you want is for the fast attack sample to play when you let out a quick blast of air. For that to happen, you need to time how quickly the air is going into the breath controller, so if the cc values rise - whatever, 30 points in 2ms, it knows to keyswitch to the sample with the fast attack.
That means the thing I\'m looking for must time the \"velocity\" of the cc changes.
Nick, check out Building blocks. I\'m not sure if it has any \"timing\" features, but it may be usefull. Also Jeff Hurchall would be the cat to ask about it. I know he could build a Maple Plug in to do it, but I\'d like to see him get paid for it.
My setup includes two different controller-in modules, each set at controller #2 (breath control).
The output of both controllers, one straight, and the other through a delay-module, are routed to a calc-module performing real time subtraction.
The output of the latter module thus corresponds to the time derivative of breath controller. You can now use a test-module to control a switch when the derivative goes above a certain threshold.
If you need, please e-mail me for further explanations.