Degree of Diffusion

We got the em32 Eigenmike in the lab some time ago and I was finally able to get the Rosza hall booked for a first test.

panorama_back panorama_center

To simplify our search for directions we have implemented the “degree of diffusion” algorithm from  F. Martellotta, “On the use of microphone arrays to visualize spatial sound  field information”, Applied Acoustics, Vol. 74, 2013, p987-1000.

This allows us to visualize when the signal is diffuse and only look for directional information when the diffusion is low. Below is the visualization of the degree of diffusion of me walking around the microphone in a circle (ca. 4m radius) hitting a woodblock. Each spike is a hit and symbolizes a dip in the diffusion. If I set the value at 0.65 we can capture all the hits and estimate their directions.

360 degree walk around the microphone with woodblock

360 degree walk around the microphone with woodblock


Here is an animation of the estimated directions along with a rendered stereo version of the sound (rendered down from the 32 microphones of the Eigenmike). I am still learning how to do 3D plots and animations in Matlab, so this isn’t perfect yet.

Here are three more quick examples of me clapping three times each at stage left, centre, and right.


Stage left


Stage centre


Stage right

Each example uses a different degree of diffusion setting to show the kind of data we can get out of it. Here is the degree of diffusion plot:

Degree of diffusion clapping

The first one is set at 0.5 to only get the clap:

Next I set it to 0.85, and now we can see the sound travel a bit more:

And finally at 0.95 we can see the sound bouncing all over the place (I still have to confirm wether or not those are actually reflections or just tracking errors):

I am was very excited to get this finally working and that’s why I am sharing this (preliminary) step.