Audio Signal Processing for Music Applications (Coursera)

Audio Signal Processing for Music Applications (Coursera)

In this course you will learn about audio signal processing methodologies that are specific for music and of use in real applications. We focus on the spectral processing techniques of relevance for the description and transformation of sounds, developing the basic theoretical and practical knowledge with which to analyze, synthesize, transform and describe audio signals in the context of music applications.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

The course is based on open software and content. The demonstrations and programming exercises are done using Python under Ubuntu, and the references and materials for the course come from open online repositories. We are also distributing with open licenses the software and materials developed for the course.

Syllabus

WEEK 1
Introduction
Introduction to the course, to the field of Audio Signal Processing, and to the basic mathematics needed to start the course. Introductory demonstrations to some of the software applications and tools to be used. Introduction to Python and to the sms-tools package, the main programming tool for the course.

WEEK 2
Discrete Fourier transform
The Discrete Fourier Transform equation; complex exponentials; scalar product in the DFT; DFT of complex sinusoids; DFT of real sinusoids; and inverse-DFT. Demonstrations on how to analyze a sound using the DFT; introduction to Freesound.org. Generating sinusoids and implementing the DFT in Python.

WEEK 3
Fourier theorems
Linearity, shift, symmetry, convolution; energy conservation and decibels; phase unwrapping; zero padding; Fast Fourier Transform and zero-phase windowing; and analysis/synthesis. Demonstration of the analysis of simple periodic signals and of complex sounds; demonstration of spectrum analysis tools. Implementing the computation of the spectrum of a sound fragment using Python and presentation of the dftModel functions implemented in the sms-tools package.

WEEK 4
Short-time Fourier transform
STFT equation; analysis window; FFT size and hop size; time-frequency compromise; inverse STFT. Demonstration of tools to compute the spectrogram of a sound and on how to analyze a sound using them. Implementation of the windowing of sounds using Python and presentation of the STFT functions from the sms-tools package, explaining how to use them.

WEEK 5
Sinusoidal model
Sinusoidal model equation; sinewaves in a spectrum; sinewaves as spectral peaks; time-varying sinewaves in spectrogram; sinusoidal synthesis. Demonstration of the sinusoidal model interface of the sms-tools package and its use in the analysis and synthesis of sounds. Implementation of the detection of spectral peaks and of the sinusoidal synthesis using Python and presentation of the sineModel functions from the sms-tools package, explaining how to use them.

WEEK 6
Harmonic model
Harmonic model equation; sinusoids-partials-harmonics; polyphonic-monophonic signals; harmonic detection; f0-detection in time and frequency domains. Demonstrations of pitch detection algorithm, of the harmonic model interface of the sms-tools package and of its use in the analysis and synthesis of sounds. Implementation of the detection of the fundamental frequency in the frequency domain using the TWM algorithm in Python and presentation of the harmonicModel functions from the sms-tools package, explaining how to use them.

WEEK 7
Sinusoidal plus residual model
Stochastic signals; stochastic model; stochastic approximation of sounds; sinusoidal/harmonic plus residual model; residual subtraction; sinusoidal/harmonic plus stochastic model; stochastic model of residual. Demonstrations of the stochastic model, harmonic plus residual, and harmonic plus stochastic interfaces of the sms-tools package and of its use in the analysis and synthesis of sounds. Presentation of the stochasticModel, hprModel and hpsModel functions implemented in the sms-tools package, explaining how to use them.

WEEK 8
Sound transformations
Filtering and morphing using the short-time Fourier transform; frequency and time scaling using the sinusoidal model; frequency transformations using the harmonic plus residual model; time scaling and morphing using the harmonic plus stochastic model. Demonstrations of the various transformation interfaces of the sms-tools package and of Audacity. Presentation of the stftTransformations, sineTransformations and hpsTransformations functions implemented in the sms-tools package, explaining how to use them.

WEEK 9
Sound and music description
Extraction of audio features using spectral analysis methods; describing sounds, sound collections, music recordings and music collections. Clustering and classification of sounds. Demonstration of various plugins from SonicVisualiser to describe sound and music signals and demonstration of some advance features of freesound.org. Presentation of Essentia, a C++ library for sound and music description, explaining how to use it from Python. Programming with the Freesound API in Python to download sound collections and to study them.

WEEK 10
Concluding topics
Audio signal processing beyond this course. Beyond audio signal processing. Review of the course topics. Where to learn more about the topics of this course. Presentation of MTG-UPF. Demonstration of Dunya, a web browser to explore several audio music collections, and of AcousticBrainz, a collaborative initiative to collect and share music data.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Sep 7th 2026
4 Weeks
Python and Statistics for Financial Analysis (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Python and Statistics for Financial Analysis (Coursera)

Python is now becoming the number 1 programming language for data science. Due to python’s simplicity and high readability, it is gaining its importance in the financial industry. The course combines both python coding and statistical concepts and applies into analyzing financial data, such as stock data.

Sep 7th 2026
4 Weeks
Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera) Coursera
University of Rochester

Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera)

In this course students learn the basic concepts of acoustics and electronics and how they can applied to understand musical sound and make music with electronic instruments. Topics include: sound waves, musical sound, basic electronics, and applications of these basic principles in amplifiers and speaker design.

Aug 31st 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Sep 7th 2026
4 Weeks
Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python (Coursera) Coursera
Ludwig-Maximilians-Universität München

Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python (Coursera)

Interested in learning how to solve partial differential equations with numerical methods and how to turn them into python codes? This course provides you with a basic introduction how to apply methods like the finite-difference method, the pseudospectral method, the linear and spectral element method to the 1D (or 2D) scalar wave equation.

Sep 7th 2026
5-12 Weeks
Solving Algorithms for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Solving Algorithms for Discrete Optimization (Coursera)

Discrete Optimization aims to make good decisions when we have many possibilities to choose from. Its applications are ubiquitous throughout our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports.

Sep 7th 2026
4 Weeks
Introdução ao Teste de Software (Coursera) Coursera
Universidade de São Paulo, Brasil

Introdução ao Teste de Software (Coursera)

A necessidade das empresas em produzir software com qualidade tem aumentado a demanda por profissionais com conhecimentos e habilidades em Teste de Software. Entretanto, existe uma escassez de mão-de-obra especializada nesta área. Considerando essa lacuna, o curso de Introdução ao Teste de Software foi planejado para servir como um guia para pessoas que necessitam de uma fonte de consulta e/ou aprendizado na área.

Sep 7th 2026
5-12 Weeks
Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera)

Decía Steve Jobs que “todo el mundo debería aprender a programar un ordenador porque esto te ayuda a pensar”. Hoy en día la programación es una herramienta fundamental para el desarrollo de la tecnología moderna. Este curso te introduce en el mundo de la programación en el lenguaje Python.

Sep 7th 2026
5-12 Weeks