MIR workshop 2011
From CCRMA Wiki
Intelligent Audio Systems: Foundations and Applications of Music Information Retrieval
Workshop Title: "Intelligent Audio Systems: Foundations and Applications of Music Information Retrieval"
- 9-5 PM. Mon, 06/27/2011 - Fri, 07/01/2011
- Jay LeBoeuf, Imagine Research - Rebecca Fiebrink, Princeton University - Doug Eck, Google Google - Stephen Pope, Imagine Research - Steve Tjoa, University of Maryland / Imagine Research - Leigh Smith, Imagine Research - George Tzanetakis, University of Victoria
How would you "Google for audio", provide music recommendations based your MP3 files, or have a computer "listen" and understand what you are playing? This workshop will teach the underlying ideas, approaches, technologies, and practical design of intelligent audio systems using Music Information Retrieval (MIR) algorithms.
MIR is a highly-interdisciplinary field bridging the domains of digital audio signal processing, pattern recognition, software system design, and machine learning. Simply put, MIR algorithms allow a computer to "listen" and "understand or make sense of" audio data, such as MP3s in a personal music collection, live streaming audio, or gigabytes of sound effects, in an effort to reduce the semantic gap between high-level musical information and low-level audio data. In the same way that listeners can recognize the characteristics of sound and music - tempo, key, chord progressions, genre, or song structure - MIR algorithms are capable of recognizing and extracting this information, enabling systems to perform extensive sorting, searching, music recommendation, metadata generation, transcription, and even aiding/generating real-time performance.
This workshop is intended for: students, researchers, and industry audio engineers who are unfamiliar with the field of Music Information Retrieval (MIR). We will demonstrate the myriad of exciting technologies enabled by the fusion of basic signal processing techniques with machine learning and pattern recognition. Lectures will cover topics such as low-level feature extraction, generation of higher-level features such as chord estimations, audio similarity clustering, search, and retrieval techniques, and design and evaluation of machine classification systems. The presentations will be applied, multimedia-rich, overview of the building blocks of modern MIR systems. Our goal is to make the understanding and application of highly-interdisciplinary technologies and complex algorithms approachable.
Knowledge of basic digital audio principles is required. Familiarity with Matlab is desired. Students are highly encouraged to bring their own audio source material for course labs and demonstrations.
Workshop structure: The workshop will consist of half-day lectures, half-day supervised lab sessions, demonstrations, and discussions. Labs will allow students to design basic ground-up "intelligent audio systems", leveraging existing MIR toolboxes, programming environments, and applications. Labs will include creation and evaluation of basic instrument recognition, transcription, and real-time audio analysis systems.
Lectures & Labs
Day 1: Lecture 1 Slides
- Presenters: Jay LeBoeuf & Rebecca Fiebrink
- CCRMA Introduction - (Carr/Sasha). CCRMA Tour.
- Introduction to MIR (What is MIR? Why are people interested? Commercial Applications of MIR)
- A brief history of MIR
- Overview of a basic MIR system architecture
- Timing and Segmentation: Frames, Onsets
- Features: ZCR, Spectral moments; Scaling of feature data
- Classification: Instance-based classifiers (k-NN)
- Information Retrieval Basics
- Application: Instrument recognition and drum transcription / Using simple heuristics and thresholds (i.e. "Why do we need machine learning?")
Lab 1: Lab 1 - Basic Feature Extraction and Classification
Students who need a personal tutorial of Matlab or audio signal processing will split off and received small group assistance to bring them up to speed.
- Background for students needing a refresher:
- Getting started with Weka
- Wekinator Lab
- Overview of Weka & the Wekinator
- REMINDER: Save all your work, because you may want to build on it in subsequent labs.
- Presenters: Leigh Smith & Stephen Pope
- Overview: Signal Analysis and Feature Extraction for MIR Applications
- MIR Application Design
- Audio input, analysis
- Statistical/perceptual processing
- Data storage
- Windowed Feature Extraction
- I/O and analysis loops
- Feature-vector design (http://www.create.ucsb.edu/~stp/PostScript/PopeHolmKouznetsov_icmc2.pdf)
- Kinds/Domains of Features
- Application Requirements (labeling, segmentation, etc.)
- Time-domain features (MPEG-7 Audio book ref)
- RMS, Peak, LP/HP RMS, Dynamic range, ZCR
- Frequency-domain features
- Spectrum, Spectral bins
- Spectral measures (statistical moments)
- Pitch-estimation and tracking
- Spatial-domain features
- M/S Encoding, Surround-sound Processing Frequency-dependent spatial separation, LCR sources
- Other Feature domains
- Wavelets, LPC
- Onset-detection: Many Technique
- Time-domain differences
- Spectral-domain differences
- Perceptual data-warping
- Adaptive onset detection
- Beat-finding and Tempo Derivation
- IOIs and Beat Regularity, Rubato
- Tatum, Tactus and Meter levels
- Tempo estimation
- Onset-detection vs Beat-detection
- The Onset Detection Function
- Beat Histograms
- Fluctuation Patterns
- Meter estimation
- Approaches to beat tracking
- Comb filters
- Beat Spectrum measures
- Multiresolution (Wavelet)
- Octave errors in beat tracking
- IOIs and Beat Regularity, Rubato
- Song clustering based on a variety of feature vectors
- PCA of feature spaces using Weka
- Feature extraction and flexible feature vectors in MATLAB, Marsyas, Aubio, libExtract
- MATLAB/Weka code for sound clustering with a flexible feature vector
- C++ API examples Marsyas, Aubio, libExtract - pre-built examples to read and customize
- Extract CAL 500 per-song features to .mat or .csv using features from today. This will be used on lab for Friday
- Presenters: Stephen Pope & Steve Tjoa
- Overview: 2nd-Stage Processing and Post-processing in MIR Applications
- 2nd-Stage Processin
- Thresholds and Data Pruning
- Perceptual Mapping
- Data Reduction: Averaging, GMMs, Running Averages
- Feature-data-smoothing: de-spiking, sticky values, filter, etc.
- Segmentation of music and non-musical audio
- Segmentation based on islands of similar features
- Segmentation based on regular difference peaks
- Segmentation based on labeling
- Post-processing: What are we doing?
- Storing Feature Data: SQL, JSON, XML, etc.
- Classification: KNN vs SVM training and testing
- SVM tools and APIs
- Clustering vs Classification: Tree-based systems
- Audio Transcription: Onsets and per-onset features
- Other applications: source separation, similarity match, search, etc.
- Classification/estimation in the presence of polyphony
- Try basic approach on a musical mixture.
- How well does it perform?
- What do we do to improve its performance? ICA, NMF, K-SVD.
- Matrix representations of data: spectrogram, chromagram, timbregram, etc.
- Methods to improve NMF/K-SVD under heavy harmonic overlap
- Feature vector pruning
- Segmentation examples
- SVMs for classification
- Multipitch estimation, source separation, denoising
- 2nd-Stage Processing
- SVM tools
- Classification examples
- If you finish early, see the "bonus labs" section below.
- Presenters: George Tzanetakis
- Features: Pitch, Chroma
- Classification: Alignment
- Application: Cover Song ID / Music Collections
Day 5: 
- Presenters: Doug Eck
- Application: Recommender
- Autotagging using CAL500.
Bonus Lab material
- Insert your bonus lab materials here...
- Harmony Analysis Slides / Labs
software, libraries, examples
Applications & Environments
Machine Learning Libraries & Toolboxes
- Netlab Pattern Recognition and Clustering Toolbox (Matlab)
- libsvm SVM toolbox (Matlab)
- MIR Toolboxes (Matlab)
- UCSD CatBox
- MA Toolbox
- MIDI Toolbox
- [see also below references]
- Genetic Algorithm: http://www.ise.ncsu.edu/mirage/GAToolBox/gaot/
- Spider http://www.kyb.tuebingen.mpg.de/bs/people/spider/
- HTK http://htk.eng.cam.ac.uk/
Supplemental papers and information for the lectures...
Past CCRMA MIR Workshops and lectures
References for additional info
- Data Mining: Practical Machine Learning Tools and Techniques, Second Edition by Ian H. Witten , Eibe Frank (includes software)
- Netlab by Ian T. Nabney (includes software)
- Signal Processing Methods for Music Transcription, Klapuri, A. and Davy, M. (Editors)
- Computational Auditory Scene Analysis: Principles, Algorithms, and Applications, DeLiang Wang (Editor), Guy J. Brown (Editor)
- Speech and Audio Signal Processing:Processing and perception of speech and music Ben Gold & Nelson Morgan, Wiley 2000
Prerequisite / background material:
- The Mathworks' Matlab Tutorial
- ISMIR2007 MIR Toolbox Tutorial
- Check out the references listed at the end of the Klapuri & Davy book
- Check out Papers listed on Pg 136-7 of MIR Toolbox: http://www.jyu.fi/hum/laitokset/musiikki/en/research/coe/materials/mirtoolbox/userguide1.1
- Pattern Recognition and Machine Learning (Information Science and Statistics) by Christopher M. Bishop
- Neural Networks for Pattern Recognition, Christopher M. Bishop, Oxford University Press, 1995.
- Pattern Classification, 2nd edition, R Duda, P Hart and D Stork, Wiley Interscience, 2001.
- "Artificial Intelligence: A Modern Approach" Second Edition, Russell R & Norvig P, Prentice Hall, 2003.
- Machine Learning, Tom Mitchell, McGraw Hill, 1997.
Audio Source Material
OLPC Sound Sample Archive (8.5 GB) 
RWC Music Database (n DVDs) [available in Stanford Music library]