Homework 2
10/16/01
Music 220a

Jeff Walters

Speed of Sound Calculation

The time required for the passage of 16 peaks, i.e., 16 rount-trips inside my tube, was 0.041 seconds. I can then calculate the speed of sound as follows:
 Cs = 2 * tubelength * 16 / time_elapsed
 Cs = 2 * 0.428m * 16 / 0.041 s = 334 m/s
Thus, my value for the speed of sound is 334 m/s.

Synthesis

In order to calculate the delay, I need to know what the time span is between two individual peaks. This is 0.0025495 seconds. Also, I need to figure out what the attentuation for each echo cycle should be. To find this parameter, I looked at the (n+1)th peak of my real sound file and divided its amplitude by the amplitude of the nth peak. This empirical value was 0.82. I then entered these values into the IIR implementation of the tube. The source code I used is echo.scm.

The sound of the sythesized tube does bear some resemblance to the real thing. The biggest difference is that the synthesized tube contains a lot of high frequency sound that is not in the real sound. One is able to hear these high-frequencies, and inspection of the spectra makes it quite clear.

Why does our synthesized sound have too much power in the high frequenies? I suspect that it is the fault of the input function. Thinking in the continuos domain, we are exciting the synthesized system with a delta function, whereas in the real world our excitation might look more like a Gaussian. The Fourier Transform of a delta function if a constant, meaning that power is spread equally amongst all frequencies, whereas the Fourier Transform of a Gaussian is another Gaussian. This means that our synthesized system is excited by an input with infinite bandwidth, whereas the real system is excited y a bandlimited signal.

Sound Files

Real Tube
Synthesized Tube

Screen Shots

Screen Shot 1 The waveforms of the real and synthesized sounds.
Screen Shot 2 The waveforms and spectra of the real and synthesized sounds.