by jmcdougall » Fri Jul 10, 2009 6:49 pm
For a variable resistance high hat controller, it should work. I've thought more about the problem and here are the challenges. A piezo trigger is a very simple device as you indicate. When deformed (pad hit), it produces a voltage spike. The pad itself acts as a distribution media so that where you hit the pad has minimal impact on the level produced. The intensity of the impact controls the level within a limited range and the velocity curves serve to expand that dynamic range. However, to implement good FSR support, a lot more code and a much faster processor would be required. In essence, the drum brain (Megadrum) now has to act like a very faster midi keyboard controller. If you think about the model for a conventional synthesizer, a waveform has four dynamic components, Attack, Decay, Sustain, Release. A piezo can only provide Attack and Decay because the start is 0V and escalates to max and then Decays at the piezo's decay rate. We rely on the sound definition in our Drum synthesizers for the acoustic decay.
However the dynamics of an FSR are completely different. First unlike the piezo, they are very positional so the strike area is very narrow or like you see in the FSR for the DrumKat, the material zigzags back and forth across the whole pad area. Coupled with that is the waveform. An FSR can produce true ADSR because I can hit and hold the stick to the pad and in fact create true aftertouch by changing this pressure and then, there is also a true release when I lift pressure off the pad. Modern keyboards handle this and have a lot more code in their program to do this. That being said, I have yet to see a keyboard player execute a high speed roll on a keyboard. The processor on the keyboard doesn't have to sample that fast so it can handle the extra code.
In Megadrum, this would be much more of a challenge and would definitely require a very fast processor.
That being said, I would still like to see at least some of that capability for FSR's in Megadrum. CPU's keep getting faster and cheaper so the real issue is the additional code to configure and support them.