Designing a musical instrument just got a lot simpler thanks to an experiment by Autodesk.
The company produced a paper presented at SIGGRAPH that describes a system developed by the authors that assists in the generation of 3D models for acoustical instruments.
As you might imagine, designing an acoustical instrument is a very complex task, as the slightest variation in shape can have a hugely beneficial – or catastrophic – affect on the output sound waves when played.
This is an inscrutable problem, as given a design, you really have only a rough idea what the sound will be until you actually produce the object and try it out. Design of such an instrument no doubt required many iterations developing physical prototypes until the final design was achieved.
Now that’s much simpler with Autodesk’s PrintOne system. They explain:
Our interface provides interactive sound simulation feedback as the user edits, allowing exploration of original wind instrument designs. Sound simulation of a three dimensional wind musical instrument is known to be computationally expensive. To overcome this problem, we present a novel fast resonance frequency prediction method based on the boundary element method. Specifically, we formulate the resonance problem as an minimum eigenvalue problem of a nonlinear matrix. Furthermore, we can efficiently compute an approximate resonance frequency using a new technique based on a generalized eigenvalue problem. The designs can be fabricated using a 3D printer, thus we call the results “print-wind instruments” in association with woodwind instruments.
For me, this is a new twist on generative 3D models for 3D printing: you are much closer to “knowing” that the object will function correctly even before you attempt 3D printing. The number of iterations in development should drastically drop.
One wonders whether EVERY generative system should have this type of feedback. While many generative systems I’ve witnessed create simple jewelry or “function by eye” items, there are others that purport to generate functional objects. Wouldn’t it be nice if these generators could also provide some assurance of that function?