Skip to main content

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

Project description

Demakein

Paul Harrison - pfh@logarithmic.net

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.

Requirements:

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

Installation

Easy way

pip install demakein

From source, download and untar tarball then

python setup.py install

You can then run program by typing

demakein

or

python -m demakein

Example

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


Release history Release notifications

History Node

0.16

History Node

0.15

History Node

0.14

History Node

0.13

History Node

0.12

History Node

0.11

History Node

0.10

History Node

0.9

History Node

0.7

History Node

0.6

History Node

0.5

History Node

0.4

History Node

0.3

This version
History Node

0.2

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
demakein-0.2.tar.gz (267.3 kB) Copy SHA256 hash SHA256 Source None Oct 28, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page