Thursday, October 4, 2012

Python used to design woodwind instruments, with Demakein and nesoni framework

By Vasudev Ram

Just saw this. Pretty cool:

Announcing Demakein.

Excerpt (emphasis mine):

[ I have finally gotten the latest iteration of my woodwind design software to a state where I can release it. The notable feature of this iteration is that it is able to produce shapes for 3D printing or CNC milling.


Demakein on PyPI

Some instrument designs on Thingiverse

Demakein can currently design flutes in a number of styles. I will be adding other instruments such as shawms and reedpipes in the next few weeks.

Demakein uses the the nesoni tool writing framework to provide a collection of tools that can either be run from the command line or from Python, and that can be easily customized by subclassing in Python. For example you could subclass one of the flute designer tools and adjust some of its parameters. ]

Excerpt about the nesoni framework:

[ Nesoni includes tools that make it easy to write parallel processing pipelines in Python.

Pipelines are expressed as Python functions. The translation of a serial program with for-loops and function calls into a parallel program requires only simple localized modifications to the code.

Pipelines expressed in this way are composable, just like ordinary functions.

Much like make, the resultant program will only re-run tools as necessary if parameters are changed. The dependancy structure is implicit from the parallel program, if a tool needs to be re-run, only things that must execute after that tool also need re-running. ]

UPDATE: I took a look at the nesoni documentation; it uses the multiprocessing module, which is a part of the Python standard library.

- Vasudev Ram - Dancing Bison Enterprises

No comments: