Pat's Project
The Assignment: to utilize MIT Media Lab's HRTF files to simulate a sound source's revolution around the observer's head.

HRTFs and Binaural Audio

Part 1a

A single source moving clockwise at constant speed makes a full rotation in 2 seconds. Synthesize 4 seconds of the signal received by each ear using the overlap-add convolution method.

Plot - Part 1a


The most challenging part of beginning this part of the project was figuring out how to access the data from the provided HRTF files. Once the data had been acquired, manipulating the sound source was a trivial operation. The real difficulty of this procedure was indexing each result from convolution in its right place in the output vector.

Part 1b

A second source moves anti-clockwise at constant speed making a full rotation in 1 second. Synthesize 2 seconds of the received binaural signal.

Plot - Part 1b


This part is basically the same as the first part, just with a different frequency of oscillation of the sound source. The output vectors for each hemisphere needed to be flipped reversed to accomplish the change in rotating direction as well.

Part 1c

Synthesize 4 seconds of the received binaural signal when both sources described in (a) and (b) are in operation.

Plot - Part 1c


With a bit of careful truncation of a slightly longer file than the other, this part is merely the sum of parts 1a and 1b.

Bonus (Part 2a)

A source moves at a straight-line at steady speed in front of the observer (as in Project 1). Include Doppler, HRTF and distance fading effects to synthesize the binaurally received sound. Use a multi- tone signal.

Plot - Part 2a


Work from the first project was back from the dead to accomplish this part. Using the multi-toned portion of the previous project allowed for minimal changes. Work was only needed to adjust the code to recognize the proper length of the audio file. The combination of previous code from this lab and #1 then worked perfectly.

Bonus (Part 2b)

Replicate Part 2a using a broadband signal.

Plot - Part 2b


This part is the same as the previous part, just with the code adjusted to accept a broadband signal instead of a multi-toned signal. Lame description, cool results...


Wrap-up and analysis of the methodology used and topics discovered in completing the project.

This project, in general, seemed much more logical and approachable than the previous (Doppler Effect) project. I'm not sure why that is, but in completing this project, each step seemed to be very concretely built on the preceeding step. Understanding how the HRTF files worked was a majority of the complexity involved. Once able to successfully open and read the files, the assignment became much more experimentation-based. Figuring out the Overlap-and-Add method was a bit tricky, until you understand what needs to actually happen. The process of what is going on is trivial, but keeping track of the indices of all the pieces you are working with, as well as the file-sizes was the difficult part. All in all, I have learned a lot about HRTFs and producing Binaural audio, and feel much more comfortable not only discussing, but working with these topics.

Sam Drazin © 2018

Home | About | Contact | Site Map