Flute Spreadsheets

This spreadsheet is intended to partially automate the design of tonehole layouts for woodwinds, by calculating the effective length corrections for bores with tone holes. As it is, it is set up for a cylindrical PVC flute that plays an F major scale, using 6 or 7 holes. Please note that I have left you a little work to do... the hole sizes given are too small and therefore the "local cutoff frequency" is too low, resulting in a flat second register. As an assignment in our Acoustics course, the students have to fix this defect, while designing a tone hole layout that fits their own fingers. Given a scale of target frequencies and hole sizes, the spreadsheet calculates the best positions (if possible) for the holes in order to play in tune. The designer can change the hole sizes and see where the holes end up. It may also be adapted for other scales or other woodwinds, as you wish. If you have any problems with the file or questions about the acoustics, drop me a line at

Flute.xlsx (MS Excel)

Pete Kosel has made several successful designs out of PVC using this approach, and has plenty of good tips.

At Baldwin Wallace University, students in PHY101 Acoustics have to design and build their own flutes during two 2-hour lab periods.  Here are the instructions for these labs, in Adobe PDF format.
Flute Design             Flute Construction


Air column resonance demonstrations, handout to a paper given by U. Hansen and P. Hoekje at the 136th meeting of the Acoustical Society of America, Norfolk, VA, October 1998, includes instructions for a simple impedance head that can be made from low cost parts and used in conjunction with a computer sound card for explorations into the acoustics of tubes and wind instruments.  I gave a slightly updated version of this talk at Stanford/CCRMA in January 2006.

Sound files containing "chirps": flat from 100 to 5000 Hz; and pre-compensated by -6dB/8va for use with piezoelectric drivers, in the following frequency ranges: 100-3000Hz, 100-4000Hz, 100-5000Hz, 200-3000Hz, 200-4000Hz, 200-5000Hz, 500-1000Hz, 500-2000Hz, 500-5000Hz, and a brief explanation.

Wind Instrument Network Analysis

The following python scripts calculate the input admittance or input impedance of air columns. They are best run using Python 3 and will require NumPy and Matplotlib