Home       Research      Publications      Teaching
rdmg1 at


The CyberWhistle is a complete instrument consisting of a windcontroller based around the traditional penny whistle, and computer based software synthesis. The main motivation was to create an instrument which could naturally capture the partial covering of tone holes in whistles and other instruments, and make use of this musically. Continuous variation of coverage occurs unavoidably when moving between notes. Players also control coverage while a note is sustained to generate a variety of effects, the most obvious of which is pitch bending, but also including subtle variations of timbre. This controlled coverage is called shading.

Physically modelled synthesis works naturally with shading control to produce an instrument that recreates some of the aesthetics of the original, but with the flexibility to create new instrument variants. As with acoustic instruments, the design philosophy is to offer interesting response from a simple, carefully chosen continuously controlled interface, rather than an overly elaborate one.

To implement shading detection, a novel compensated light sensing circuit was devised. The conversion of analog signals to MIDI output was achieved with a high efficiency firmware design for a compact microcontroller. A paper describing more technical detail was published in conference proceedings.


Sound examples

These are described according to the synthesis technique used. They are all in mp3 format:

Overall Construction

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.

The finger sensors

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 and others. Even without consciously using shading techniques, shading sensors improve on switches by making the audio transitions between notes more organic and interesting. Used with physical modelling, the problem of key combination glitches disappears automatically.

An important part of the 'feel' of whistle instruments is the shape of the tone hole exits. The rim provides a rich tactile interface that helps the player determine the current finger position.

The following picture shows the presets which set up the LDR sensitivity and output range.


The breath sensor

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 implementing 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 drips on the floor. Moisture trapped in the mouthpiece can be washed away easily by sliding off the mouthpiece. The pressure sensor itself is waterproof.

Heres a close up of the bung that seals moisture away from the circuit.

The Microcontroller

This is a custom programmed Microchip PIC16C71. Cheap and it does the job. 11 MIDI controllers are available, using an 8-1 mux but only 7 are used. The DIP switches set the MIDI rates and resolutions. The total current use is 6ma @ 4V. There is a page devoted to the microcontroller program.