Cool Idea: Acoustic Voxels

Another cool paper from SIGGRAPH, “Acoustic Voxels”.

Dingzeyu Li and colleagues at Disney and elsewhere have developed techniques for creating shapes that have specified resonant cavities to make specific sounds. These “voxels” (which really should be called something like “tootels” or something) also “snap together”, so you can construct a complex sound generators out of primitive pieces.


As they write, this principle underlies many musical instruments such as flutes or pipe organs, as well as headphones and engine mufflers. But the “the influence of the shape on the filtered frequency bands is complicated and unintuitive”, so simple cases have been used by design.

This work uses several techniques that are now cheap and ubiquitous.

a computational method that assembles basic shape primitives into a complex geometry, one that produces the desired acoustic filtering. In particular, we consider a simple type of shape primitive, a hollow cube with circular holes on some of its six faces

First, the “voxels” are standard cubes with holes, which can be parameterized easily. They precompute the acoustic properties of many possible cubes of different sizes and with different holes open and closed. These cubes can be connected, and the properties of the resulting in and out flows are easily computed.

This library of shapes gives them a space of filters that can be combined in many ways.

To design a specific filter, they use a Monte Carlo process of searching through candidate arrays, seeking optimal combinations. Each potential combination can be simulated rapidly (using the precomputed properties and connections), and rapid computation will yield one or more array to match the goal.

Finally, ubiquitous 3D printing makes it possible to fabricate the “voxels” to create any desired array. (If you had to hand carve each one, this would be rather unwieldy!)

This latter feature is critical, because it makes it possible to realize these custom filters in physical form.

Of course, the resulting “instruments” are rather simple and crude. The demo shows some custom “trumpets”, which play a handful of notes. Not even as complicated as a simple flute.

Inspired by this idea, I wonder how well this method can be extended.

For one thing, I’d like to add finger holes, like an ocarina or flute. That should be doable, though probably not without substantial changes to their computations. (I’m pretty sure that putting in an air hole will affect the whole array, not just the local voxel.)

I imagine that this approach could be combined with other simple models of resonating strings and membranes, to add other kinds of modules to the array. Again, this will require different computations. (E.g., the ‘outflow’ from a drumhead module can be a pretty complicated ‘inflow’ to the resonator array.)

OK, I admit that I really have no idea what I’m talking about here! But this project inspires me to dream about rapidly prototyping wacky new instruments.

The main thing I like about this is the tangible results. We have extremely sophisticated abilities to digitally synthesize pretty much any sound we want. Given enough computation time, we can simulate sound generation, and just plain make up sounds, combine them, and deliver them at resolutions greater than any system can detect, including the human ear.

But these “arrays” come out as hand held “instruments” or mufflers or whatever, and you blow into them or hook them to a motor or something physical. That’s the cool part.

Very neat work.

  1. Dingzeyu Li, David I. W. Levin, Wojciech Matusik, and Changxi Zheng, Acoustic voxels: computational optimization of modular acoustic filters. ACM Trans. Graph., 35 (4):1-12, 2016.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s