Sapienza acquired a Campus-Wide License for MATLAB and related products, enabling students in Scarpiniti’s class to work on course projects at home or anywhere on campus.
Each weekly class session in the multimedia signal processing course is five hours long. Sessions typically begin with a lecture in which Scarpiniti introduces a new signal processing topic or technique and then demonstrates its implementation in MATLAB. Students then experiment with the MATLAB algorithm that Scarpiniti presented.
The coursework is divided into three phases. In the first phase, the students develop and test algorithms that operate offline in batch mode. For example, they create a MATLAB algorithm that reads recorded audio from a file, adds a reverberation effect with a comb filter, and saves the results to a new file. They visualize results in MATLAB by generating time-domain and frequency-domain plots.
In the second phase, the students create online versions of many of the same algorithms developed earlier. They use a ring buffer implemented in MATLAB to read and process the input data sample by sample rather than all at once.
The final phase focuses on real-time algorithms. Students use the audioDeviceReader and audioDeviceWriter System objects™ from Audio System Toolbox to connect to the sound cards in their laptops. They then update their online algorithms to read from and write to the sound cards.
Students later use Audio System Toolbox to generate Virtual Studio Technology (VST) plugins from their MATLAB code, enabling them to deploy and test their algorithms on a digital audio workstation.
Students end the course by completing a project on a topic of their choice. Recent projects have included a VST plugin developed in MATLAB that incorporated limiting, expansion, compression, and other dynamic effects.
Next year, Scarpiniti will again be teaching the multimedia signal processing course, which is expected to attract the largest enrollment of any practical graduate-level course offered at the university.