Inspiration
Having severe asthma growing up meant I had an aversion to wind instruments and many spare inhalers lying around.

I chose to use an old asthma spacer and inhaler as the body of the instrument, which prompted me to consider the limitations that breath imposes on musical expression. This reflection reminded me of my own challenges when attempting to learn to play the zampoña, a traditional Bolivian pan flute. From this experience, I was inspired to design a digital version of a zampoña, one that does not require physical breath control to play.
Design Process
My goal was to recreate the experience of playing a Zampoña, an instrument that requires physically repositioning the flute to access its full range of notes. To capture the characteristic movement and fluidity of a real Zampoña, I incorporated an ADXL335 accelerometer and two force-sensing resistors into the design. The initial idea was to use the accelerometer to track and play notes and use the force sensors to activate settings.

After beginning the prototype on a breadboard, I transitioned to a perf board to securely attach the sensors directly onto the asthma spacer and use longer wires, increasing the instrument’s overall mobility.


I learned how to solder and designed the guide above to minimize the risk of a short circuit and to allow multiple sensors to be mounted efficiently on a single perf board.
Final Design





The Accelerometer and two FSR’s used were attached to ground on the Arduino and were powered by 3.3V. I had the accelerometer output to analog pins A0, A1 and A2 and had the FSRs mapped to A4 and A5 respectively.
ZampoñA Set-Up
Zampoña/breathing samples – Link to Max Patch and Arduino Code
The hardware controls are connected to the software through Max. The accelerometer values are mapped onto x-y coordinates in a nodes object, allowing the performer’s movement to select different notes. Using the nodes object also helped me preserve the traditional layout and structure of the zampoña.

The FSR on the bottom of the spacer functions as the “breath out” control. The pressure detected by the sensor determines how much breath the instrument receives. Pressing with more force increases the volume and allows the selected notes to be played.
The second FSR, located at the top of the inhaler, acts as an “asthma control.” This sensor controls the breath-in/reset action by clearing the wheeze back down to its initial setting. Resetting the wheeze gives the performer more time to breathe out and continue playing before the asthma attack state is triggered.


Zampoña Setup Patch: The zampoña notes are generated from a single sample stored in a buffer object. This sample contains the A/La note, which corresponds to node 5 on the instrument. A groove object reads from the buffer and pitch-shifts the sample to create all 13 notes of the traditional zampoña. Each note only receives signal when two conditions are met: the correct node is selected, and the performer is pressing the FSR on the bottom of the spacer to “breathe out.” This means that notes can only be played when the instrument is receiving breath and when it is not currently in the breath-in/wheeze state.
Wheeze Patch: The wheeze state is controlled by a dial that the performer can adjust. The basic wheeze sound is created from a breath sample shaped through a filtergraph. The dial then stretches or shortens the wheeze, changing how long the breath-in phase lasts. The timing between breaths is controlled with a metro object. As the wheezing increases, the metro interval decreases exponentially, causing the breath-in state to happen more frequently and giving the performer less time to play before the asthma attack state is triggered.
