Due Monday, March 30 in class.
Show your work. Have fun.
1) More on filters, the "DC Blocker" (10 points)
The code removedc.c implements a filter with the following
y(n) = x(n) - x(n-1) + 0.99y(n-1)
this is implemented in code as:
lastOut = (0.99*lastOut) + ((float) data - lastIn);
a) (4 pts) Discuss and show in both the time and frequency domains
(using frequency analysis tools such as the Z transform, and
time-based signal analysis) how this filter removes the mean
of a signal, but allows most everything else to pass through.
b) (4 pts) Funny things show up in digital systems at 1/2 the
sampling rate. These can include errors introduced by single
sample delays, "limit cycles" due to computational rounding/
truncation, and other pathologies. If we wanted to modify
the DC blocking filter to remove only frequencies around
1/2 SRATE, rather than removing the zero-frequency mean,
how might we do that easily? Show this in the frequency
domain using the magnitude of the Z transform.
c) (2 pts) What if we wanted to remove frequencies at 1/4 the SRATE?
(note: this is very different from, and harder than a) and b).
2) Spectral Modeling, Vocoders/EQs Divide and Conquer (12 points, 2 pts each.)
Some Channel Vocoders divide the audible spectrum into 10 equal
octave (an octave is a doubling of frequency) bands.
a) If we assume that we can hear from 20 Hz. to 20 KHz. derive a
logarithmic division of this range into 10 octave bands, and
write out the "cross-over" frequencies bounding each band.
b) Our auditory system has a critical bandwidth of roughly 1/3 octave
bands. Divide up the audible range into 30 bands and write out the
frequencies of those bands.
c) Some companies that make graphic equalizers "split the difference"
between 10 and 30 bands, and make 15 band equalizers. Start at a
lower frequency of 25 Hz, and write out the frequencies for a 15
logarithmic band EQ.
d) For various engineering reasons, high-power sound systems split up
the frequency spectrum and send them through separate amplifiers
to individual drivers optimized for these frequency ranges. Bi-
amplification, triamping, and even quadramped systems are common
in rock music sound systems, and high end "audiophile" home
systems. Assume an even division of the audible range between
20 and 20,000 Hz. into four bands, and derive and write out the
frequency ranges of those bands.
e) Find a graphic EQ of some type (yours, or a friend's stereo,
car amps sometimes have 7 or so band EQ systems), or find one
on the web where you can identify the frequency regions. Report
them here and compare them to your results from above.
f) Find out the frequency range for the subwoofer channel of the
5.1 home theater system standard. Does this make sense given
your answer from d) above?
3) Some on musical tuning, scales, etc. (12 points)
The musical interval of the octave is a doubling of frequency,
so going from middle C on the piano (also called C4), with a
frequency of about 256 Hz., to the octave (C5) above, takes us
to 512 Hz. One common standard tone is A440, which is A4 above
middle C, with a frequency of 440 Hz.
a) (3 points) What's the frequency of A5? A3? C1? C8?
Find the biggest piano you can, and report here the brand name,
location of the piano, and how many octaves it ranges over.
Find a smaller electronic keyboard in your or your friend's
room, and report the brand and how many octaves it ranges over.
"Equal temperament" splits the octave into 12 even logarithmic
divisions, so that each musical semitone (space between any two
adjacent keys on the piano) is a distance (multiple in frequency)
of 21/12. 12 of those steps yields a multiplication
by 212/12 = 2.0, or an octave. Pythagoras and many
others experimented with tuning and musical intervals long before
we had logs and MATLAB to help us. Pythagoras thought that all of
the important musical intervals could be expressed as simple integer
relationships between the frequencies. He derived these from simple
geometric relationships, such as cutting a string in half making
it sound one octave higher. Cutting a string to 2/3 length made
it sound one musical fifth higher (7 semitones, frequency ratio
of 3/2, distance between C and G, or F and C, A and E, etc.). A
school of musical "consonance" and "dissonance" grew, holding that
the simpler the integers in the ratio, the more "pleasant" the sound
of that interval (in order: 2/1, 1/2, 2/3, 3/2, 3/4, 4/3, etc.)
But there's a rub here when we compare with equal temperament:
b) (2 pts) How does the equally tempered interval of a fifth
(7 semitones, 27/12 differ from 3/2?
c) (2 pts) What ratio of small integers comes closest to the
equally tempered interval of a fourth (5 semitones)? How do
d) (2 pts) What ratio of small integers comes closest to the
equally tempered interval of a major third (4 semitones)?
How do they differ?
Small (sub semi-tone) musical distances are sometimes expressed
as quarter tones (log half of a semitone), eighth tones, or for
most precision, "cents." A musical cent is 1/100th of a semitone,
or a frequency ratio of 21/1200, so that 1200 cents
makes up an octave.
e) (3 pts) Go back and express the disparities of frequency in
cents, for the Fifth, Fourth, and Major Third from b) c) and d).
4) Do a 24.0 second musical statement using vocod.c, pv.c, warpfft.c,
Matlab Vocoder, or ChucK fft warpers/vocoders. For vocoding, use
two original soundfiles, one speech, one spectrally rich but non-speech.
For the phase-vocoders, use only one original soundfile. The cross-
synthesis vocoding/shifting/morphing aspect should be evident, but
you may also dress up the result artistically by placing it in a more
musical setting by adding accompaniment, a base of convolved sound, a
drum beat, whatever. Drop it in the usual place before class time on 3/30.