MIR workshop 2008

From CCRMA Wiki

(Difference between revisions)
Jump to: navigation, search
Line 148: Line 148:
Abstract: As we anecdotally observed in yesterday's lab, several parameters can affect the quality of our classifications.
Abstract: As we anecdotally observed in yesterday's lab, several parameters can affect the quality of our classifications.
1. Audio files used in the training data sets.
# Audio files used in the training data sets.
2. Features used in training / testing.
# Features used in training / testing.
3. Use of scaling for features.
# Use of scaling for features.
4. The size of the frames extracted from the audio.   
# The size of the frames extracted from the audio.   
We'll gain an intuitive feel for each of the effect of each of these parameters  by trying some simple experiments.   
We'll gain an intuitive feel for each of the effect of each of these parameters  by trying some simple experiments.   

Revision as of 18:03, 6 August 2008


CCRMA Workshop: Music Information Retrieval


Workshop Title: "Intelligent Audio Systems: Foundations and Applications of Music Information Retrieval"


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 will target 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 onset timings and 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.

The workshop will consist of half-day lectures, half-day supervised lab sessions, classroom exercises, 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.

Knowledge of basic digital audio principles and familiarity with basic programming (Matlab, C/C++, and/or ChucK) will be useful. Students are highly encouraged to bring their own audio source material for course labs and demonstrations.

Workshop syllabus

  • Administration
    • Introductions
    • CCRMA Overview
    • Final Projects
  • Introduction to Capabilities and Applications of MIR
    • Why MIR?
    • Overview of potential research and commercial applications
    • Basic System Overview and Architecture
  • Survey of the field, real-world applications, MIR research, and challenges
    • Current commercial applications
    • Searching, Similarity, and Seed Query Systems
    • Recommendation and Playlisting systems
    • How stuff works: Select Commercial MIR projects
    • Academic MIR research projects
    • Music Transcription
    • Real-time machine listening and audio analysis

Timing and Segmentation

  • Frames and Windows
  • Onset Detection
  • Beat & Tempo Extraction

Feature Extraction

  • Low Level Features
    • Zero Crossing
    • Temporal centroid, Log Attack time, Attack slope)
    • Spectral features (Centroid, Flux, RMS, Rolloff, Flatness, Kurtosis, Brightness)
    • Spectral bands
    • Log spectrogram
    • Chroma bins
    • MFCC
    • MPEG-7
  • Higher-level features
    • Key Estimation
    • Chord Estimation
    • Genre (genre, artist ID, similarity)
    • "Fingerprints"

Analysis / Decision Making

  • Classification
    • Heuristic Analysis
    • Distance measures (Euclidean, Manhattan, etc.)
    • k-NN
    • SVM / One-class SVM
  • Clustering and probability density models
    • Density distance measures (centroid distance, EMD, KL-divergence, etc)
    • k-Means
    • Clustering
    • GMM
    • HMM
  • Nested classifier / Anchor-space / template-based systems

Model / Data Preparation Techniques

  • Data Preparation
    • PCA / LDA
    • Scaling data
  • Model organization
    • concept and design
    • Data set construction and organization
    • Walk through example: audio similarity retrieval
    • Walk through example: instrument/speaker/source identification

Evaluation Methodology

  • Feature selection
  • Cross Validation
  • Information Retrieval metrics (precision, recall, F-Measure)

Plus guest lectures/visits from academic experts and real-world folks.

software, libraries, examples

Applications & Environments

Machine Learning Libraries & Toolboxes

Optional Toolboxes


CCRMA MIR 2008 Workshop Wiki - complementary study notes for these lectures.

Lecture 1 - Introduction and motivations for MIR. Onset detection, zero crossing rate, and heuristic classification.

Lecture 2 - k-NN, spectral moments, spectral features, octave bands, profiles, and scaling.

Lecture 3 - Log spectrogram, chromagrams, key and chord estimation, discuss final projects.

Lecture 4 - Sonifying feature data, temporal feature extractors, MFCCs, unsupervised classification, k-means clustering.

Lecture 5 - Support Vector Machines: Binary, RBF parameters, grid search, practical information for designing SVM classifiers.

Lecture 6 - One-class SVM, nu parameter, accuracy, cross-validation, evaluation metrics, assembling training and testing data, probabilistic clustering with GMMs, GMM parameters, distance measures between PDFs, Expectation-Maximization, Artist and Genre classification.

Lecture 8 - Practical considerations for building classifiers, Hidden Markov Models.

Lecture 9 - Code sharing resources, MPEG-7 feature extractors.

Lecture 10 - Course summary, acknowledgments, resources for research.


Lab 1 - Playing with audio slices

Abstract: This lab will introduce you to the practice of analyzing, segmenting, feature extracting, and applying basic classifications to audio files. Our future labs will build upon this essential work -but will use more sophisticated training sets, features, and classifiers.

Lab 2 - My first audio classifier

Abstract: My first audio classifier: introducing K-NN! We can now appreciate why we need additional intelligence in our systems - heuristics can't very far in the world of complex audio signals. We'll be using Netlab's implementation of the k-NN for our work here. It proves be a straight-forward and easy to use implementation. The steps and skills of working with one classifier will scale nicely to working with other, more complex classifiers. We're also going to be using the new features in our arsenal: cherishing those "spectral moments" (centroid, bandwidth, skewness, kurtosis) and also examining other spectral statistics.

Lab 3 - Experimenting, Tonality, and Tempo

Abstract: As we anecdotally observed in yesterday's lab, several parameters can affect the quality of our classifications.

  1. Audio files used in the training data sets.
  2. Features used in training / testing.
  3. Use of scaling for features.
  4. The size of the frames extracted from the audio.

We'll gain an intuitive feel for each of the effect of each of these parameters by trying some simple experiments. Afterwards, we'll dive into a lab on extracting tonal information from you audio streams

Lab 4 - Cluster Lab

Abstract: Sometimes, an unsupervised learning technique is preferred. Perhaps you do not have access to adequate training data, the classifications for the training data's labels events are not completely clear, or you just want to quickly sort real-world, unseen, data into groups based on it's feature similarity. Regardless of your situation, clustering is a great option! Lab also introduces MFCCs as a main measure of timbral similarity.

Lab 5 SVMs

Abstract: In this lab, you'll learn how to scale, format data, and find the optimum parameters for binary classification Support Vector Machines. We'll train/build models and test them on real-world data.

Lab 6 - Gaussian Mixture Models

Abstract: By the end of this lab, you will understand the how to use GMM models - a probabilistic clustering and "soft classification" technique.

Lab 7 - Cross Validation, HMMs, Final Projects

Abstract: By the end of this lab, you should have a skeletal outline of where your project is going to go, what data you will use, what features, classifiers / techniques you will use, and what your metric of success / goal is. Additionally, the lab includes a walk through of cross-validation techniques for measuring your accuracy and a list of helpful HMM functions.

Audio source material

Some helpful matlab scripts and utilities (Courtesy of the MIR Workshop 2008 summer students)

Final Projects from MIR 2008 Workshop

  • Beat and segment detection comparisons using Harmonic Change Detection Function, MFCC, key strength, spectrum, and novelty. Cynthia slides
  • Vocal onset detection, segmentation, analysis, and classification. (Chuck Cooper)
  • Using audio similarity metrics to remix songs from similar sounding audio snippets. (Mike Williams) Mike to post his temporal centroid code.
  • Measuring audio similarity between recordings of Beethoven and Haydn quartets, using shifted chromagram and delta chromagram similarity matrices. (Jason Sundram)
  • Real-time decomposition and reassembly of audio via similarity features and k-nearest neighbor. (Joseph Rosenzweig)
  • Classification of orchestral instrument classes using timbral features and an array of SVMs. (Alberto Pinto)
  • Resynthesis of electronic music using sound effects and real-world sound snippets. {Cobi van Tonder)

References for additional info

Recommended books:

  • 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)

Prerequisite / background material:


Other books (not necessary reviewed by the instructors yet):

  • 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.

Interesting Links:

Audio Source Material

OLPC Sound Sample Archive (8.5 GB) [1]

RWC Music Database (n DVDs) [available in Stanford Music library]

RWC - Sound Instruments Table of Contents



THE WIKI VALUE-ADD - Supplemental information for the lectures...

Explanations, tutorials, code demos, recommended papers here - for each topic....

MIRToolbox comments, wishes, wants

MATLAB Utility Scripts


ChucK is a strongly-timed audio programming language that we will be using for real-time audio analysis.

Personal tools