2014-09-05

In this course you will learn about audio signal processing methodologies that are specific for music and of use in real applications. You will learn to analyse, synthesize and transform sounds using the Python programming language. Audio signal processing is an engineering field that focuses on the computational methods for intentionally altering sounds, methods that are used in many musical applications.
We have put together a course that can be of
interest and accessible to people coming from diverse backgrounds while going
deep into several signal processing topics. We focus on a number of 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. 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; basic mathematics Week 2: Discrete Fourier transformWeek 3: Fourier transform propertiesWeek 4: Short-time Fourier transformWeek 5: Sinusoidal modelWeek 6: Harmonic modelWeek 7: Sinusoidal plus residual modelingWeek 8: Sound transformationsWeek 9: Sound/music descriptionWeek 10: Concluding topics; beyond audio signal processingRecommended Background
The course assumes some basic background in mathematics and signal processing. Also, since the assignments are done with the programming language Python, some software programming skills in any language are most helpful. Suggested Readings
The main software tools used are in https://github.com/MTG/sms-tools and the sounds to be studied come from https://freesound.org. Most of the external references come from Julius O Smith website, https://ccrma.stanford.edu/~jos, or from https://www.wikipedia.org.Course Format
Each
week is structured around 6 types of activities:
Theory: video
lectures covering the core signal processing concepts.   Demos: video lectures presenting tools and examples that complement the theory.Programming: video lectures introducing the needed programming skills (using Python) to implement the techniques presented in the theory. Quiz: questionnaire to review the concepts covered. Assignment: programming
exercises to implement and use the methodologies presented. Advanced topics: videos and written documents that extend the topics covered.FAQ
How much programming background is needed for the course?All the assignments start from some existing Python code that the student will have to understand and modify. Some programming experience is necessary.Do I need to buy a textbook for the course?No, it is self-contained.What resources will I need for this class?All the materials and tools for the class are available online under open licences.What is the coolest thing I'll learn if I take this class?You will play around with sounds a lot, analysing them, transforming them, and making interesting new sounds.Will I earn a Statement of Accomplishment for completing this course?Yes you will earn an Statement of Accomplishment if you do well in the course.

Show more