Documente Academic
Documente Profesional
Documente Cultură
There are four lab sessions for ECS731, which will help you gain practical experience of some of the
topics covered in lectures and prepare for the assessed coursework. A brief description of each lab
is given below, and there are data files available on QMplus. Solutions may be written in Matlab or
Octave (which I used in preparing the exercises). Theres no unique solution to any of the exercises;
please explore and discuss possible approaches and see what works best.
Lab 3 - YIN
Implement the YIN function for analysing the pitch of the given file containing monophonic singing.
Start with the normalised difference function, then add quadratic interpolation to obtain a more
accurate pitch estimate. What is a suitable threshold value for distinguishing voiced from unvoiced
frames? If you have time, implement temporal smoothing and automatic segmentation (finding note
boundaries).
If you are interested, you can read about the research involving this and other recordings of Happy
Birthday here:
www.eecs.qmul.ac.uk/~simond/pub/2014/MauchFrielerDixon_IntonationInUnaccompaniedSinging.pdf
Lab 4 - ADRess
In this lab you will implement an offline version of the Azimuth Discrimination and Resynthesis
(ADRes) source separation algorithm. Given a stereo audio file, the resolution of the azimuth
space, a position d in the azimuth space where d , and a radius h < around the position
d, the algorithm outputs a stereo audio file containing the separated sources in the given range of
positions. If you have time, try to visualise the data and work out (manually or automatically) where
sources are present in the azimuth plane.
The main loop consists of the following steps: get the next frame of audio data; apply a window
function; compute the FFT of the frame; compute the magnitude spectrum of the source(s) present
at the chosen azimuth position(s); reconstruct the complex spectrum using the original phase values;
perform an inverse FFT; apply a window function; overlap-add the frame to the output. Some audio
files are provided for testing. (ADRess should be able to separate some of the sources in these files.)