Audio Processing Laboratory

image1 image2 image3 image4

Important Information / Enrollment

  • This lab has only a limited amount of free seats. Therefore registration via StudOn is mandatory. Registration is open till 19.10.2018.


The lab consists of:

  • one introductory meeting (1 hour),
  • five units (4 hours each).

Note: Attendance is mandatory for all meetings and labs.

  • Introductory meeting: 19.10.2018, 16:30-17:30, Room 3R4.04.
  • The courses are Thursdays 10:00 - 14:00 and Fridays 14:00 - 18:00

All following lab courses take place in Room 3R3.06 (P1, LIKE):

  • Lab 1: Short-Time Fourier Transform and Chroma Features

    25.10.2018: 10:00 - 14:00,
    26.10.2018: 14:00 - 18:00

  • Lab 2: Statistical Methods for Audio Experiments

    8.11.2018: 10:00 - 14:00,
    9.11.2018: 14:00 - 18:00

  • Lab 3: Speech Enhancement Using Microphone Arrays

    15.11.2018: 10:00 - 14:00,
    16.11.2018: 14:00 - 18:00

  • Lab 4: Virtual Acoustics

    22.11.2018: 10:00 - 14:00,
    23.11.2018: 14:00 - 18:00

  • Lab 5: Speech Analysis

    29.11.2018: 10:00 - 14:00,
    30.11.2018: 14:00 - 18:00

  • Lab 1: Short-Time Fourier Transform and Chroma Features

    • 25./26.10.2018
  • Lab 2: Statistical Methods for Audio Experiments

    • 8./9.11.2018
  • Lab 3: Speech Enhancement Using Microphone Arrays

    • 15./16.11.2018
  • Lab 4: Virtual Acoustics

    • 22./23.11.2018
  • Lab 5: Speech Analysis

    • 29./30.11.2018



If you want take this lab course, please register before 19.10.2018 via StudOn. For questions, please contact Konstantin Schmidt.

Objectives and Format

The objective of this lab course is to give students a hands on experience in audio processing.

From this year on the courses will be done in PYTHON and R (Statistical Methods for Audio Experiments) not in MATLAB! The most important package is NUMPY which is kind of a substitute for MATLAB A short introduction is here:

The courses are given as jupyter notebooks. Please see this page for an introduction:

You can also try a notebook here:

The lab is organised as follows:

  • Introductory meeting: Assignment of topics and groups. Further instructions.
  • Every group (each consisting of 1-3 participants) has to pass all lab courses.
  • The lab course material will be made available soon. The hand outs cover theoretical as well as practical aspects of the labs. They also include homework excercises which are required to be prepared before the lab starts.

The lab courses will be held weekly for each group and will be supervised by members of the AudioLabs team.

Lab 1: Short-Time Fourier Transform and Chroma Features

The Fourier transform, which is used to convert a time-dependent signal to a frequency-dependent signal, is one of the most important mathematical tools in audio signal processing. Applying the Fourier transform to local sections of an audio signal, one obtains the short-time Fourier transform (STFT). In this lab course, we study a discrete version of the STFT. To work with the discrete STFT in practice, one needs to correctly interpret the discrete time and frequency parameters. Using PYTHON, we compute a discrete STFT and visualize its magnitude in form of a spectrogram representation. Then, we derive from the STFT various audio features that are useful for analyzing music signals. In particular, we develop a log-frequency spectrogram, where the frequency axis is converted into an axis corresponding to musical pitches. From this, we derive a chroma representation, which is a useful tool for capturing harmonic information of music.

Lab 2: Statistical Methods for Audio Experiments

This course intends to teach students the basics of experimental statistics as it is used for evaluating auditory experiments. Listening tests or experiments are a crucial part of assessing the quality of audio systems. There is currently no system available to give researchers and developers the possibility to evaluate the quality of audio systems fully objectively. In fact the best evaluation instrument is the human ear. Since only fair and unbiased comparisons between codecs guarantee that new developments are more preferred than the previous system, it is important to bring fundamental knowledge of statistics into the evaluation process to address the main problems of experimental tests, such as uncontrolled environments, subpar headphones or loudspeaker reproduction systems, listeners who have no experience to listening tests and so on.

Lab 3: Speech Enhancement Using Microphone Arrays

This module is designed to give the students a practical understanding of performing speech enhancement using microphone arrays and demonstrate the difference between different techniques. This module is closely related to the lecture Speech Enhancement given by Prof. Dr. ir. Emanuël Habets. In this exercise, the students will implement a commonly used spatial signal processing technique known as beamforming, and analyse the performance of two different beamformers, a fixed beamformer known as delay-and-sum beamformer and a signal-dependent beamformer known as minimum variance distortionless response (MVDR) beamformer, for a noise and interference reduction task. Their performances will be compared via objective measures to demonstrate the advantages of the signal-dependent beamformers.

Lab 4: Virtual Acoustics

Binaural synthesis (HRTFs) Fast convolution *Filter design (FIR, linear phase)

Lab 5: Speech Analysis

This experiment is designed to give you a brief overview of the physiology of the production of speech. Moreover, it will give a descriptive introduction to the tools of speech coding, their functionality and their strengths but also their shortcomings.

Course pre-requisites and assessment criteria

Requirements are a solid mathematical background, a good understanding of fundamentals in digital signal processing, as well as a general background and personal interest in audio. Furthermore, the students are required to have experience with PYTHON and NUMPY. The Statistics Lab will use the R Programming language (beginners tutorial is provided in the course material)

Additional comments and remarks to the procedure of the lab courses

  • The lab courses are designed to be worked on in groups of 2-3 participants
  • Individual points for each of the groups participants will be assigned by the supervisors (Points: 0=no pass, 1=minimal pass , 2=pass, 3=excellent). To pass the lab course you need to pass all five individual labs by having at least 1 point in all five labs. Altogether at least 7 points.