Audio and controlling software:
At the moment I use MAX/MSP as my development environment. I use three different instances of this program at the same time though. The advantage of this is that I can optimize settings for specific tasks and I can change things in the audio instance without losing the Bluetooth connection in the controlling instance. The communication between the different instances goes through OSC messages and Soundflower.
Instance 1: Controlling
In this Instance Max/MSP takes care of the communication between the computer and the Arduino. It receives information from the Arduino through the Serial object and does some routing. Apart from this the idea is to do some gesture analyses and some data reduction in this patch as well (depending on where the data will be sent). Read more here
Features: High scheduler rate MAX, no sound processing
Instance 2: Sound processing
In this Instance of Max/MSP the trumpetsound is processed with FFT and delay techniques, buffers etcetera. Creating a sound source to pick from. Read more here.
Features: Low scheduler rate MAX, sound processing with large vector lengths.
Instance 3: Envelope, attack, panning
This instance makes optimal use of the unique qualities of the Electrumpet. With the Electrumpet timed playing becomes feasible but only if the latency is kept to a minimum. Using short audio vector lengths on which the controller values can operate with a high resolution results in a direct connection to actions on the Electrumpet and the sounding audio. Read more here
Features: High scheduler rate MAX, sound processing with short vector lengths.