Skip to main content

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

Project description


Paul Harrison -

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

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

- 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.


Python 2
- Linux:
Use your package manager to install Python 2 and pip.
- Windows:
Follow these instructions:
- install python 2 using the MSI package
- install distribute using the linked script
- install pip using easy_install
I'm sorry this is so involved.

The "design" tools require nesoni. They should work on all platforms that
Python runs on.

- nesoni

pip install nesoni

The "make" tools additionally require CGAL and associated paraphenalia.
I have only tested this on Linux.

- g++
- cmake

apt-get install g++ libcgal-dev cmake

- cffi

pip install cffi


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

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

demakein-0.5.tar.gz (293.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page