skip to navigation
skip to content

demakein 0.2

Design woodwind instruments and make them with a 3D printer or CNC mill.

Latest Version: 0.16


Paul Harrison -

Demakein is a set of Python tools for designing and making woodwind instruments.

This generally consists of two stages:

  • The “design” stage is a numerical optimization that chooses the bore shape and the finger hole placement, size, and depth necessary for the instrument to produce the correct notes for a given set of fingerings.
  • The “make” stage takes a design and turns it into a 3D object, then then cuts the object into pieces that can be CNC-milled or 3D-printed.

Demakein can either be used via the command “demakein” or as a library in Python. Demakein has been designed to be extensible, and I hope you will find it relatively easy to write code to create your own novel instruments. You can either create subclasses of existing classes in order to tweak a few parameters, or create wholly new classes using existing examples as a template.


  • nesoni

    pip install nesoni

  • cffi

    pip install cffi

  • numpy

    pip install numpy, or apt-get install python-numpy

  • g++

  • CGAL

  • cmake

    apt-get install g++ libcgal-dev cmake

Demakein has been tested under Linux. Other operating systems may require some alterations to make the C++ compilation system work.


Easy way

pip install demakein

From source, download and untar tarball then

python install

You can then run program by typing



python -m demakein


Create a small flute:

demakein design-straight-folk-flute: myflute –transpose 12

demakein make-flute: myflute

Files are created in a directory called myflute.

We’ve just made STL files for 3D printing. How about if we want to CNC-mill the flute?

demakein make-flute: myflute –mill yes –open yes –prefix milling
File Type Py Version Uploaded on Size
demakein-0.2.tar.gz (md5) Source 2012-10-28 260KB