The WAV Trigger Gets Expressive
The MIDI mod wheel already controls sustain. Now pitch bending has come to the WAV Trigger! I spend the weekend implementing real-time sample-rate conversion and got it hooked up to MIDI Pitch Bend messages. At the moment, this means that a MIDI controller pitch wheel can control the playback pitch/speed of the WAV Trigger by plus or minus a fixed number of semi-tones. A firmware update with this new feature is forthcoming, after I sort out a few details of how to control this new effect.
A little background…
In the days of hardware samplers and limited/expensive memory, sample-rate conversion was used to spread a single sample over a number of MIDI keys, thereby saving memory. This meant that each voice had to have it’s own sample-rate conversion engine. With many gigabytes now available on microSD cards, this is no longer necessary, since you can afford to have an individual sample for every note on the keyboard. (I admit that this is time-consuming to set up, but you only have to do so once.) Pitch bend, on the other hand, usually affects all notes equally.
The new sample-rate conversion in the WAV Trigger occurs in the final output stage rather than on each individual voice. At the moment, all voices are affected equally, allowing you to bend chords like the pitch control on a Mellotron. I’m considering a 2-channel approach, whereby one channel will be fixed and the other processed through the sample-rate conversion engine, and tracks can be designated to play through one or the other channel. (Both channels are then mixed to the stereo output.) This would allow you to, for example, have a stereo backing track at a fixed sample rate while playing instrument samples with pitch bend along with it.
It makes sense for the MIDI pitch wheel to allow pitching up or down by a value corresponding to a whole musical interval, usually some number of semi-tones. I plan to also add control through the serial protocol, but allow setting the rate to any arbitrary value between say 0.5x and 2.0x. I’ve been thinking it would be fun to try to build a digital Theremin using an Arduino to sense hand positions and send serial volume and pitch control messages to the WAV Trigger playing a sine wave sample. That should work, right?
Would love to hear thoughts on this.