Lab-2: Sounds and their spectra
The spectrum of a sound can be computed by the Discrete Fourier Tansform (DFT):
In general we compute the DFT using a fast algorithm called Fast
Fourier Transform (FFT), which has the restriction that the size of the array to compute, N, has to
be a power of 2. The output is an array of complex values, complex
spectrum, that is converted to polar coordinates, magnitude
and phase spectra. The magnitude spectrum is the most useful function in
which we can visualize many of the perceptual attributes of a sound.
2.1 Record sounds
The goal of the lab is to explore
the use of spectra to understand and describe sounds. For that purpose
the best is to record your own sounds and to be able to identify in the
sound spectra as many characteristics as possible of the sound you
recorded.
Record a few short sounds (a few seconds maximum) from
different vibrating objects. Record sounds of different characteristics,
such as percussive, harmonic, bowed, plucked, inharmonic,.... Use the
highest quality possible and write the exact recording set up used,
including the recording equipment, placement of microphone
and how was the object excited to produce the sound.
Use a sound editor, like snd,
to make sure that the recording is correct and to edit the sound so
that is as short as possible and it has smooth boundaries. 2.2 Analyze and describe sounds
Before using Octave to compute spectra, experiment with different values of the Fourier transform using snd, especially the effect of the window size into the magnitude spectrum.
Select
a few short fragments, less than one second, of the sounds recorded in
the previous section. Convert them to an array
with wavread, x=wavread('filename'). Listen to the sound arrays using sound, sound(x,samplingrate) (only works in Matlab) or from an external application.
- Display the whole sound with plot, expressing the horizontal axis in seconds.
- Display a few periods (5 to 10) of the attack, the steady-state and
the release of a sound event. Explain the difference between the three
displays.
- If the sound is harmonic, what is the fundamental frequency?
- Compute the spectrum of a few periods (5 to 10) of the steady state
of the sound using the function fft. Display the magnitude spectrum of
the positive frequencies (the first half of the spectrum), with the
vertical (magnitude) axis expressed in dB 20*log10() and the
horizontal (frequency) axis expressed in Hz. The mag spectrum is computed with 20*log10(abs(fft(x, 1024)))
- In the case of a harmonic sound, how can you identify the fundamental frequency in the magnitude spectrum?
- Change the number of samples of the analysis, in a few steps, from
a few samples (less than 1 period in a harmonic sound) to several
thousand samples (several tens of periods of a harmonic sound). Explain
the difference in the different spectra.
- Display the magnitude spectrum of the attack, steady state and
release. Explain the difference between the three displays. Make the
correspondence with the answer in 2.
2.3 Contribute to Freesound.org
Select a few of the sounds you recorded, upload them to Freesound.org
and describe them. The description should include information
about the source, the recording process and the perceptual/spectral
characteristics of the sound. For an explanation on how to upload sounds
you can read this article.
Find
sounds that might be similar to the sounds you uploaded and leave a
comment in them making reference to your own recording or just
commenting on their characteristics.