openwind, a more up to date Python library for wind instrument design from Université de Bordeaux.
chalumier, a Kotlin project using demakein as a starting point by MarkChuCarroll.
Demakein is software to design and make woodwind instruments using a 3D printer or CNC mill. The "design" phase determines the size and placements of holes, and shape of the bore. The "make" phase then translates this design into a 3D object, and segments it for printing or milling.
Built-in instruments include flutes, whistles, and shawms. These instruments are parametric, they can be transposed to the size you want and offer a variety of customization options.
If you're familiar with Python, it's also possible to design woodwind instruments to your own specifications by writing a short script. Several example scripts are included with the source code. For example you could design an instrument to play exactly the scale you want, or which had a novel fingering scheme.
# Getting Demakein
# Thingiverse
# Fingering charts
# Drinking-straw reeds for shawms
# How might I acquire one of these instruments?
# 3D printer advice
# Class notes
# Example milling pattern
Getting Demakein
Demakein is a Python 2 command-line program and library.
or install with
pip install demakein
(see dependencies listed in the readme)
Source repository:
Note: As at December 2013, there is an issue with using CGAL on Ubuntu 13.10 x86-64. If the "make" components of demakein fail to find libboost correctly, see here for a workaround.
Thingiverse
If you're not into Python hacking and just want to print an instrument or two, check out the designs I've uploaded to the thingiverse.
Fingering charts
- folk-flute-and-whistle-fingering.pdf
Folk flute and whistle fingering system (i.e. penny-whistle fingering).
- pflute-fingering.pdf
Pflute fingering system, similar to a recorder.
- shawm-fingering.pdf
Fingering system for shawm, similar to recorder.
- folk-shawm-fingering.pdf
Fingering system for "folk shawm", similar to penny-whistle.
Drinking-straw reeds for shawms
How might I acquire one of these instruments?
- If you have a 3D printer, download pre-built designs from Thingiverse and print them out.
- Find your local hackerspace, and find someone willing to print the instrument or get you started with your own 3D printer.
- Shapeways, etc: Use one of the designs I've already uploaded to Shapeways, or upload a design from the designs I've uploaded to Thingiverse. I tested the "strong & flexible" material, and it produces an excellent flute. A number of similar services can be found online.
- If you have a milling machine, install the software, "design" the instrument you want then "make" it with milling parameters appropriate to the materials and mill bits that you have. Demakein will cut the instrument into pieces that can be glued together to make the instrument, and pack them into blocks to be carved.
- If you hail from the Kingdom of Lochac, ask me about printing or milling an instrument for you for a trade or a lowish price.
3D printer advice
I currently print in ABS plastic with 4 layers of wall and 50% infill, using a Replicator 2X. The thick wall ensures there are no pinprick leaks in the instrument -- even a tiny hole will prevent the instrument from playing. High wall thickness and infill produces a better tone, presumably less energy is lost to the walls the more solid they are.
Welding pieces: Most instruments are too large to print as a single piece. My preferred method of joining pieces printed in ABS plastic is to weld them together with acetone. This is easily achieved by dipping the ends of pieces you wish to join in acetone for 15-20 seconds, then holding them firmly together. The pieces Demakein generates include guide prongs that will ensure the correct orientation of the pieces. Use appropriate safety equipment when using acetone (gloves, goggles, good ventilation, etc)!
I am not sure if a similar solvent is available for PLA plastic. If not I would suggest trying cyanoacrylate glue in gel form, or epoxy. The join must have absolutely no leaks.
Socketed joints: Sockets are not my current preferred way to construct instruments from multiple pieces, however if you insist they can be produced with the "--join straight" option. Often the head part of the instrument (whistle / flute / shawm) will produce sound, but when further pieces are attached it stops working. This is very probably a problem with the joints, even if there is no obvious leak.
Class notes
These are some notes on medieval and renaissance instrument making, with some practical discussion of trade-offs imposed by instrument physics (effects of tube shapes, hole sizes, bore deviations):
Example milling pattern
Milling two sides of a piece of wood to make a soprano flute. The holes in the corners are for anchoring pegs to ensure the two sides are aligned.