After somehow adding support for acoustic analysis to the Space Analysis package, Rhys Goldstein has taken it to the next level by adding support for multiple sound sources. When Rhys first did this he was a little surprised by the results he was seeing. There were some really interesting interference patterns at the boundaries between sound sources:
Find this example at %appdata%\Dynamo\Dynamo Core\2.3\packages\SpaceAnalysis\extra\spaceanalysis-acoustics-06-six-points-voronoi-pattern.dyn.
(You may need to change the Dynamo version number.)
Rhys dug into the field a little more deeply and came across this interesting blog post that highlights the possibility for sounds of similar frequencies to interfere constructively – resulting in louder sounds – or destructively – resulting in quieter sounds or even silence. Here’s a video from the blog post showing this type of effect:
Having seen this, Rhys thought it would be fun to see if the Space Analysis package could be used to reproduce the results of this experiment in Dynamo.
Find this example at %appdata%\Dynamo\Dynamo Core\2.3\packages\SpaceAnalysis\extra\spaceanalysis-acoustics-05-two-points-interference-validation.dyn.
(You may need to change the Dynamo version number.)
As you can see – and you can see for yourselves by running this graph and counting the centimetre-spaced dots along the top of the screen – there’s a noticeable pattern about 19cm apart, centered on the mid-point between the two sound sources. The blog posts predicts this should be around 21cm apart, so that’s pretty close, especially considering this tool hasn’t been callibrated physically.
In the real world sound sources will often have different frequencies (especially people talking!), so this technique only really makes sense if you have multiple speakers broadcasting the same sound, which is one of the reasons we’ve called the object a SoundSystem: it’s both a system of sounds in an abstract sense, but also could be used to model a sound system in the more literal (hi-fi) sense. SoundSystems are created with a list of points and their relative intensities. It’s also possible to set a global intensity when you create the SoundField: this is a multiplicative intensity that gets applied to all the individual sources in a system.
Here’s a video showing the global intensity being varied on the spaceanalysis-acoustics-04-three-points-sound-system.dyn example, for instance:
If you need to model multiple distinct sources with different frequencies, you can do so by aggregating the results from multiple SoundFields via AudibilityGrid.ByUnion. At some point we may find a way to allow you to model sound sources transmitting at different (and varying) frequencies in the same simulation (rather than aggregating results of multiple simulations), but that’s a performance optimisation we’ll consider if it makes sense down the road.
You can try out multi-source acoustics analysis today in Space Analysis v0.3.3 or higher via the Dynamo Package Manager.
We’d love to get your feedback on this capability, especially if you have some clear use-case for this kind of acoustic analysis in Dynamo. Our goal with the Space Analysis package is to help support the needs of generative design workflows – when combining Dynamo with Refinery – but we’d definitely be interested in hearing about other usage scenarios, too.