For more details see my paper on the CyberWhistle.
Before the gritty details here are some soundbytes in mp3 format:
The assembly consists of a single piece wooden chassis which slides into a Bb whistle bore. The surface mount PCB is fixed to the flat of the chassis. A rubber bung seals the pressure sensor and secures the chassis. Another rubber item is used to block the mouthpiece vent.
LDRs are used to detect how much the fingers `shade' each hole. The uppermost LDR is left open and is used to compensate the others against changes in the ambient light level, directly in-circuit.
This form of sensing is very different to using pressure sensors, and can be used to recreate the playing feel of whistle instruments. Even without using fancy shading techniques, the benefits of using shading sensors over switches are that the audio feedback is smoother and more natural and the sound of legato note transitions depends on finger velocity. Used with physical modelling, key combination glitching is no longer a problem.
The following picture shows the presets which set up the LDR sensitivity and output range.
The pressure sensor is one of the compact 24PC series by Honeywell (24PCAFA1G). Its just the right size for the Bb whistle! The circuit shown below also filters low frequency audio from the pressure signal and makes it available on the output lead, for growling type effects for example.
The rubber stop can be repositioned to easily vary the blowing resistance. All the moisture goes directly out into the air, so no dripping on the floor.. Moisture trapped in the mouthpiece can be washed away easily by sliding off the mouthpiece. The pressure sensor itself is waterproof.
And heres a close up of the bung that seals moisture away from the circuit...
THE MICROCONTROLLER
This is a Microchip 16C71. Dead cheap and it does the job. Ten MIDI controllers are available, using an 8-1 mux but only 7 are used.. so far. The DIP switches set the MIDI rates and resolutions. When I sent MIDI to the Indy at maximum rate it froze solid. Even much lower rates can incur high OS costs. The total current use @ 4V is 6ma. There is a page devoted to the microcontroller and its program.
SOFTWARE SYNTHESIS
This was all done using an aging SGI Indy, and its a mixture of abstract and physical synthesis.
FUTURE DEVELOPMENTS