Ambisonics provides an elegant way to represent a 3D sound field. To listen to ambisonic recordings over headphones, HRTFs must be used. A common approach is decoding the ambisonic signal to (N+1)^2 virtual loudspeakers, where N is the ambisonic order. Although this mehtod is creates a pleasant listening experience, it is computationally expensive. By considering the HRTF to be a soundfield in itself, we can attempt to encode an HRTF to ambisonics, which will provide a much less computationally expensive option for listening to ambisonic recordings.
A major limitation in this is the issue of spatial aliasing. At low ambisonic orders, (N=3), the spatial aliasing frequency can be as low as 1.6kHz. This means that direct computation of spherical harmonics will result in innacuracy and artifacts above the spatial aliasing frequency. Many methods have been proposed over time, and with this project I have complied the most recent advances with these algorithms into one matlab script.
This project is supported in part through the EXCEL Enterprise Fund.
16 microphones, capable of rendering up to third order ambisonics
The microphone placements were scaled from des.3.16.5 of the spherical t designs found here.
Radius of 6cm, creating a spatial aliasing frequency of about 2 kHz
I will be using a simple p48 circuit to be able to use these with a 16 in DAC
Soft-limiting radial filtering approach, taken by inverting the theoretical result of scattering on a sphere and limiting the maximum amplification to about 15 dB is used. Radial filter behavior is shown in the plot below.
1st order above 60 Hz
2nd order above 500 Hz
3rd order above 1.2 kHz
Legend indicates ambisonic order, this plot was generated using functions from Archontis Politis
Materials and Needs List:
16 33kOhm resistors
16 4.7 microfarad capacitors
75 feet of cabling
Ability to solder
Ability to 3d print, or order 3d prints
Heat set insert press*
Helpful but not required
16 microphone preamps and dac
Preparing the electronics
Start by cutting the microphone cable into 16 individual cables each at 4.5 feet. Then strip each end of the cable as shown below:
The image on the left is the cable end, and the image on the right is the capsule end (note that on the capsule end, the extra shield is trimmed). Make sure to tin all of the exposed wire.
Next prepare all of the capacitors and resistors like so (you should have 16 of these assemblies):
Next assemble the cable side. Make sure all connection points are tinned, and slide on the bottom portion of the XLR connector before you begin to solder.
Solder the resistor to pin 1, and the positive lead of the capacitor to pin 2. For the cable, solder the red wire to pin 3, and the shield to pin 1. Finally, solder the white wire to the resistor/capacitor junction and place electrical tape on the exposed connection. As you assemble the XLR connector, make sure to carefully stuff this assembly inside, and ensure no exposed wire is touching any of the metal components.
Before soldering the capsule side, it is important to print the array shell and handle. Attach the handle to the bottom shell by press fitting it, and then feed the stripped end of the cable through.
You can then solder the white wire to the source and ground terminals. Solder the red wire to the drain terminal. Once this is done, you can press the capsules into the sockets (note that the sockets may need to be slightly filed down to make for an easier press fit. Once you press a capsule into a socket, make sure to label that capsule with the corresponding number of the socket for easier troubleshooting later. You can now attach the top half of the shell with a screw, and you now have all of the hardware assembled for your spherical microphone array!
The STL files and and encoding scripts can be found here https://github.com/elifaber/spherical_mic_array
The aim of this project was to see how changing the pickup positions on a plate reverb unit would affect its character. I led a team of three engineers, and we presented the finished project at the University of Michigan's Performing Arts Technology Showcase in 2024. This project was made possible by the generosity of the University's Excel department, and ArtsEngine.
Before building the unit, we modeled it in Matlab. Acoustics and Psychoacoustics by Howard was used as the main reference for the analytical solution to the plate's resonant frequencies. Finite Element analysis was used to roughly understand the physical nature of these resonances. We used this modeling to inform our design choices.
The frame was constructed from 2 by 4 pieces of wood, and the plate was suspended within the frame using turnbuckles. The mechanism to move the pickups around the plates was similar to that of a 3D printer (go to here for more information.) A damping plate constructed from fiberglass was attached and controlled using linear actuators. Both the pickup position and the damping plate were controlled using an arduino uno.
Audio samples are linked here.
Click here for music credits
Theatrical Credits
Sound Design for University of Michigan's MUSKET
Little Shop of Horrors - November 2022
Catch Me if You Can - March 2024
Jesus Christ Superstar - November 2024
Sound Design and Mixing for Arts at Michigan
Bubbly Black Girl Sheds her Chamelion Skin - February 2023
Arrangement Work for Gimble A Cappella