Difference between revisions of "MIR workshop 2009"

From CCRMA Wiki
Jump to: navigation, search
(Lectures & Labs 2009 - WORK IN PROGRESS - DRAFT ONLY)
(PLEASE SEE THE LATEST VERSION OF THE CCRMA MIR Workshop: http://cm-wiki.stanford.edu/wiki/MIR_workshop_2010)
 
(85 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Intelligent Audio Systems: Foundations and Applications of Music Information Retrieval =
 
= Intelligent Audio Systems: Foundations and Applications of Music Information Retrieval =
  
== logistics ==
+
== Logistics ==
 
Workshop Title: '''"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.  June 29-July 3 2009
 
* 9-5 PM.  June 29-July 3 2009
 
* Instructors: [http://www.imagine-research.com/ Jay LeBoeuf] and [http://ccrma.stanford.edu/~kglee Kyogu Lee]
 
* Instructors: [http://www.imagine-research.com/ Jay LeBoeuf] and [http://ccrma.stanford.edu/~kglee Kyogu Lee]
 +
* Participants: [https://cm-wiki.stanford.edu/wiki/MIR_workshop_2009/Participants Networking Information]
 +
 +
== PLEASE SEE THE LATEST (2010) VERSION OF THE CCRMA MIR Workshop: http://cm-wiki.stanford.edu/wiki/MIR_workshop_2010 ==
  
 
== Abstract ==  
 
== Abstract ==  
Line 78: Line 81:
 
Applications & Environments
 
Applications & Environments
 
* [http://www.mathworks.com/products/matlab/ MATLAB]
 
* [http://www.mathworks.com/products/matlab/ MATLAB]
* [http://chuck.cs.princeton.edu/ ChucK] / [http://chuck.cs.princeton.edu/uana/ UAna]
 
 
* [http://www.cs.waikato.ac.nz/ml/weka/ Weka Machine Learning and Data Mining Toolbox (Standalone app / Java)]  
 
* [http://www.cs.waikato.ac.nz/ml/weka/ Weka Machine Learning and Data Mining Toolbox (Standalone app / Java)]  
* [http://www.sonicvisualiser.org/ Sonic Visualizer]
 
  
 
Machine Learning Libraries & Toolboxes
 
Machine Learning Libraries & Toolboxes
Line 86: Line 87:
 
* [http://www.csie.ntu.edu.tw/~cjlin/libsvm/#matlab libsvm SVM toolbox (Matlab)]  
 
* [http://www.csie.ntu.edu.tw/~cjlin/libsvm/#matlab libsvm SVM toolbox (Matlab)]  
 
* [http://www.jyu.fi/hum/laitokset/musiikki/en/research/coe/materials/mirtoolbox/Download/fg_base_view MIR Toolboxes (Matlab)]
 
* [http://www.jyu.fi/hum/laitokset/musiikki/en/research/coe/materials/mirtoolbox/Download/fg_base_view MIR Toolboxes (Matlab)]
 +
* [http://cosmal.ucsd.edu/cal/projects/CATbox/catbox.htm UCSD CatBox]
 
Optional Toolboxes
 
Optional Toolboxes
 
* [http://www.ofai.at/~elias.pampalk/ma/ MA Toolbox]
 
* [http://www.ofai.at/~elias.pampalk/ma/ MA Toolbox]
Line 91: Line 93:
 
* [see also below references]
 
* [see also below references]
 
* [http://marsyas.sness.net/ Marsyas]
 
* [http://marsyas.sness.net/ Marsyas]
* [http://cosmal.ucsd.edu/cal/projects/CATbox/catbox.htm UCSD CatBox]
 
 
* CLAM
 
* CLAM
 
* Genetic Algorithm: http://www.ise.ncsu.edu/mirage/GAToolBox/gaot/
 
* Genetic Algorithm: http://www.ise.ncsu.edu/mirage/GAToolBox/gaot/
Line 97: Line 98:
 
* HTK http://htk.eng.cam.ac.uk/
 
* HTK http://htk.eng.cam.ac.uk/
  
== Lectures & Labs 2009 - WORK IN PROGRESS - DRAFT ONLY ==  
+
== Lectures & Labs 2009 ==
Notes:
+
Break the first day lab into two group - a) folks that need DSP and/or Matlab tutoring b) folks than want to dive right in.
+
Motivation:
+
Each day, we expand on the basic system of "segmenting audio -> feature extraction -> classification", giving students additional tools and techniques to tackle increasingly more difficult challenges.   
+
 
+
 
<br><u>Day 1</u>
 
<br><u>Day 1</u>
* CCRMA Introduction (Carr/Sasha)
+
* CCRMA Introduction (Carr/Sasha) -J/K
* Introduction to MIR (What is MIR? Why are people interested?)
+
* Introduction to MIR (What is MIR? Why are people interested?) -J
* Overview of a basic MIR system architecture
+
* Overview of a basic MIR system architecture   -J
* Timing and Segmentation: Frames, Onsets
+
* Timing and Segmentation: Frames, Onsets       -K
** Overview of frequency-based onset detection
+
** Overview of frequency-based onset detection   -K
* Features: ZCR, Spectral moments  
+
* Features: ZCR, Spectral moments               -K
* Classification: Using simple heuristics and thresholds
+
* Classification: Using simple heuristics and thresholds -J
 +
* [http://ccrma.stanford.edu/workshops/mir2009/CCRMA_MIR_2009_Lecture_1.pdf Jay's Lecture 1 Slides]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/juans_lecture/2_fft.pdf Fundamentals of Digital Audio Signal Processing (lecture slides from Juan Bello)]
  
 
<br><u>Lab 1</u>
 
<br><u>Lab 1</u>
* [http://ccrma.stanford.edu/workshops/mir2008/Lab%201%20-%20Playing%20with%20audio%20slices.pdf Lab 1 -"Playing with audio slices"] - Jay to trim this lab down considerably.
+
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.
 +
* Sound samples
 +
** [http://ccrma.stanford.edu/workshops/mir2009/wavfiles.tar download sound samples: wavfiles.tar]
 +
* Background for students needing a refresher:
 +
** [http://ccrma.stanford.edu/workshops/mir2009/Lab0/lab0.html Fundamentals of Matlab]
 +
** [http://ccrma.stanford.edu/workshops/mir2009/Lab1/lab1.html Fundamentals of Digital Audio Signal Processing (FFT, STFT, Windowing, Zero-padding, 2-D Time-frequency representation)]
 +
 
 
* Onset detection
 
* Onset detection
** [http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/lab/lab2/lab2_3.m Onset Time-domain method (lab2_3.m)]
+
** [http://ccrma.stanford.edu/workshops/mir2009/Lab1/CATbox_v0.zip download CATbox (Computer Audition Toolbox): CATbox_v0.zip]
** [http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/lab/lab2/lab2_4.m Frequency-domain method: lab2_4.m]
+
** [http://ccrma.stanford.edu/workshops/mir2009/Lab1/lab1_5.m Onset Time-domain method (lab1_5.m)]
** [http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/lab/lab2/lab2_5.m Phase-based method: lab2_5.m]
+
** [http://ccrma.stanford.edu/workshops/mir2009/Lab1/lab1_6.m Frequency-domain method: lab1_6.m]
 +
** [http://ccrma.stanford.edu/workshops/mir2009/Lab1/lab1_7.m Phase-based method: lab1_7.m]
  
 
+
Audio slice manipulation with a simple feature. 
* Background for students needing a refresher:
+
* [http://ccrma.stanford.edu/workshops/mir2009/Lab%201%20-%20Playing%20with%20audio%20slices.pdf Lab 1 -"Playing with audio slices"]
** [http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/lab/lab1/lab1.html Fundamentals of Digital Audio Signal Processing (FFT, STFT, Windowing, Zero-padding, 2-D Time-frequency representation)]
+
** [http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/lab/lab0/lab0.html Fundamentals of Matlab ]
+
* STFT and time-frequency representation of audio [http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/lab/lab1/lab1_4.m Lab1_4.m]
+
  
 
<br><u>Day 2</u>
 
<br><u>Day 2</u>
* Temporal Analysis: Tempo estimation, beat tracking
+
* Temporal Analysis: - K
* Features: Additional spectral features (Spread, Flatness), Octave-bands, Chroma
+
** Sub-Band Analysis
* Classification: k-NN
+
** Post-Processing, Peak-Picking
 +
** Tempo estimation, beat tracking
 +
* [http://ccrma.stanford.edu/workshops/mir2009/CCRMA_MIR_2009_Lecture_2.pdf Jay's Lecture 2 Slides]
 +
** [http://ccrma.stanford.edu/workshops/mir2009/juans_lecture/4_rhythm.pdf Temporal Analysis (lecture slides from Juan Bello)]
 +
 
 +
* Features: Additional spectral features (Spread, Flatness) -J
 +
** [http://ccrma.stanford.edu/workshops/mir2009/juans_lecture/3_feature.pdf Spectral Features (lecture slides from Juan Bello)]
 +
* Scaling of feature data    -J
 +
* Classification: Instance-based classifiers (such as k-NN and distance metrics)  -J
  
 
<br><u>Lab 2</u>
 
<br><u>Lab 2</u>
Tempo estimation, beat tracking [http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/lab/lab2/lab2.html Extract Features]  
+
* [http://ccrma.stanford.edu/workshops/mir2009/Lab2/labrosa-coversongid.tgz download Dan Ellis' coversong id toolbox: coversongs]
[http://ccrma.stanford.edu/workshops/mir2008/Lab%202%20-%20My%20first%20audio%20classifier.pdf Build simple classifiers using those features] - Jay to trim down this lab considerably
+
* [http://ccrma.stanford.edu/workshops/mir2009/wav/04_rock_and_roll_music.wav download an audio file]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab2/post_proc.m post processing]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab2/adpthresholding.m adaptive thresholding]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab2/lab2_1.m Tempo estimation, beat tracking]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab2/lab2_2.m Extract new features]  
 +
* [[http://ccrma.stanford.edu/workshops/mir2009/Lab%202%20-%20My%20first%20audio%20classifier.pdf Lab 2- Build simple classifiers using those features]
 +
 
 +
<br><u>Day 3 - Harmony: Key, Chord Estimation</u>
 +
* Features: Temporal features; Octave-bands  -J
 +
* Features: Spectral Envelopes, MFCCs  -J
 +
* Classification: Unsupervised classification (k-means)  -J
 +
* Chroma Representation                      -K
 +
* Key-Profile and Key Estimation            -K
 +
* Chord Recognition                          -K
  
<br><u>Day 3</u>
+
* [http://ccrma.stanford.edu/workshops/mir2009/CCRMA_MIR_2009_Lecture_3.pdf Jay's Lecture 3 Slides]
* Features: Spectral Envelopes (LPCs, Cepstrum Analysis, MFCCs)
+
* [http://ccrma.stanford.edu/workshops/mir2009/juans_lecture/6_harmony.pdf Harmony Analysis (lecture slides from Juan Bello)]
* Classification: Unsupervised classification (k-means)
+
* [http://ccrma.stanford.edu/workshops/mir2009/references/klee-ieee-taslp08-print.pdf Chord recognition using HMMs (Kyogu Lee)]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/references/klee-lncs08.pdf Genre-specific chord recognition using HMMs (Kyogu Lee)]
  
 
<br><u>Lab 3</u>
 
<br><u>Lab 3</u>
Analysis/Reconstruction using MFCCs
+
* [http://ccrma.stanford.edu/workshops/mir2009/Lab3/lab3.tgz download lab3.tgz]
[http://ccrma.stanford.edu/workshops/mir2008/Lab%204%20-%20Cluster%20Lab.pdf Cluster lab]
+
* [http://ccrma.stanford.edu/workshops/mir2009/Lab3/lab3.html Key estimation, chord recognition]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab%203%20-%20Cluster%20Lab.pdf Clustering lab with MFCCs]
  
 
<br><u>Day 4</u>
 
<br><u>Day 4</u>
Harmony: Key, Chord Estimation.  
+
*Structural Analysis -K
* Chroma Representation
+
** Similarity Matrix
* Key-Profile and Key Estimation
+
** Novelty Score
* Chord Recognition
+
** Music Segmentation
Structural Analysis 1
+
* [http://ccrma.stanford.edu/workshops/mir2009/CCRMA_MIR_2009_Lecture_4.pdf Jay's Lecture 4 Slides]
* Similarity Matrix
+
* [http://ccrma.stanford.edu/workshops/mir2009/juans_lecture/7_segmentation.pdf Structural Analysis (lecture slides from Juan Bello)]
* Novelty Score
+
* [http://ccrma.stanford.edu/workshops/mir2009/references/Foote_00.pdf Automatic Audio Segmentation (Jonathan Foote)]
  
Classification: GMM
+
* New Classifier: GMM   -J
 +
* Classification examples:  -J
 +
** Speech/Music Discrimination
 +
** Genre Classification
  
 
<br><u>Lab 4</u>
 
<br><u>Lab 4</u>
Key estimation, chord recognition
+
* [http://ccrma.stanford.edu/workshops/mir2009/Lab4/lab4.html Structural analysis]
[http://ccrma.stanford.edu/workshops/mir2008/Lab%206%20-%20Gaussian%20Mixture%20Models.pdf GMM Lab ]
+
* [http://ccrma.stanford.edu/workshops/mir2009/Lab%204%20-%20Gaussian%20Mixture%20Models.pdf GMM Lab]
  
 
<br><u>Day 5</u>
 
<br><u>Day 5</u>
* IR Evaluation Metrics (precision, recall, f-measure, AROC, ...)
+
* Building and evaluating systems - assembling testing and training sets - J
* IR Methodologies (Cross-validation, training and test sets)
+
* IR Methodologies (Cross-validation, training and test sets)           - K/J
* Practical tips & tricks
+
 
+
 
* Classification: SVM
 
* Classification: SVM
 +
* [http://ccrma.stanford.edu/workshops/mir2009/CCRMA_MIR_2009_Lecture_5.pdf Jay's Lecture 5 Slides]
 +
** [http://ccrma.stanford.edu/workshops/mir2009/juans_lecture/8_classification.pdf More classification (lecture slides from Juan Bello)]                                              -J
 +
* IR Evaluation Metrics (precision, recall, f-measure, AROC,...)  -K
 +
** [http://ccrma.stanford.edu/workshops/mir2009/references/recall_precision.pdf Recall-Precision]
 +
** [http://ccrma.stanford.edu/workshops/mir2009/references/ROCintro.pdf ROC Analysis]
 +
* Practical tips & tricks                -K/J
 +
* Guest Lecture: [http://ccrma.stanford.edu/~gautham/Site/Gautham%20J.%20Mysore.html Gautham Mysore]
  
 
<br><u>Lab 5</u>
 
<br><u>Lab 5</u>
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab5/lab5.tgz Data preprocessing using LDA]
 +
** [http://ccrma.stanford.edu/workshops/mir2009/Lab5/stprtool.zip Download Statistical Pattern Recognition Toolbox]
 +
** [http://ccrma.stanford.edu/workshops/mir2009/Lab5/stprtool.pdf Stprtool User's Guide]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab%205%20-%20SVMs.pdf Building classifiers with SVMs]
 +
* [http://ccrma.stanford.edu/workshops/mir2009/Lab%205b%20Cross%20Validation%20Code.pdf Cross Validation and Accuracy measures]
 +
* Your questions?
  
== Jay's Lectures 2008==
+
== Supplemental papers and information for the lectures...==
[http://cm-wiki.stanford.edu/wiki/MIR_workshop_2008_notes CCRMA MIR 2008 Workshop Wiki - complementary study notes for these lectures.]
+
[http://cm-wiki.stanford.edu/wiki/MIR_workshop_2008_notes Explanations, tutorials, code demos, recommended papers here - for each topic....]
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day1_CCRMA_MIR_workshop_2008.pdf Lecture 1 - Introduction and motivations for MIR.  Onset detection, zero crossing rate, and heuristic classification.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day2_CCRMA_MIR_workshop_2008.pdf Lecture 2 - k-NN, spectral moments, spectral features, octave bands, profiles, and scaling.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day3_CCRMA_MIR_workshop_2008.pdf Lecture 3 - Log spectrogram, chromagrams, key and chord estimation, discuss final projects.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day4_CCRMA_MIR_workshop_2008.pdf Lecture 4 - Sonifying feature data, temporal feature extractors, MFCCs, unsupervised classification, k-means clustering.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day5_CCRMA_MIR_workshop_2008.pdf Lecture 5 - Support Vector Machines: Binary, RBF parameters, grid search, practical information for designing SVM classifiers.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day6_CCRMA_MIR_workshop_2008.pdf 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.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day8_CCRMA_MIR_workshop_2008.pdf Lecture 8 - Practical considerations for building classifiers, Hidden Markov Models.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day9_CCRMA_MIR_workshop_2008.pdf Lecture 9 - Code sharing resources, MPEG-7 feature extractors.]
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Day10_CCRMA_MIR_workshop_2008.pdf Lecture 10 - Course summary, acknowledgments, resources for research.]
+
 
+
== Labs ==  
+
[http://ccrma.stanford.edu/workshops/mir2008/Lab%201%20-%20Playing%20with%20audio%20slices.pdf 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.
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Lab%202%20-%20My%20first%20audio%20classifier.pdf 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. 
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Lab%203%20-%20Experimenting,%20Tonality,%20and%20Tempo.pdf Lab 3 - Experimenting, Tonality, and Tempo]
+
 
+
Abstract: As we anecdotally observed in yesterday's lab, several parameters can affect the quality of our classifications.
+
# Audio files used in the training data sets.
+
# Features used in training / testing.
+
# Use of scaling for features.
+
# 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
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Lab%204%20-%20Cluster%20Lab.pdf 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. 
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Lab%205%20-%20SVMs.pdf 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. 
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Lab%206%20-%20Gaussian%20Mixture%20Models.pdf 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.
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/Lab%207%20-%20HMM%20%20Cross%20validation%20-%20Final%20Projects.pdf 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. 
+
 
+
[http://ccrma.stanford.edu/workshops/mir2008/audio.zip Audio source material]
+
 
+
[http://ccrma.stanford.edu/~mw/ Some helpful matlab scripts and utilities (Courtesy of the MIR Workshop 2008 summer students)]
+
 
+
  
 +
== MIR Workshop and lectures from 2008==
 +
[http://cm-wiki.stanford.edu/wiki/MIR_workshop_2008 CCRMA MIR Summer Workshop 2008]
  
 
== References for additional info ==  
 
== References for additional info ==  
Line 269: Line 251:
 
http://staff.aist.go.jp/m.goto/RWC-MDB/rwc-mdb-i.html
 
http://staff.aist.go.jp/m.goto/RWC-MDB/rwc-mdb-i.html
  
== THE WIKI VALUE-ADD - Supplemental information for the lectures...==
+
[http://theremin.music.uiowa.edu/MIS.html Univ or Iowa Music Instrument Samples ]
[http://cm-wiki.stanford.edu/wiki/MIR_workshop_2008_notes Explanations, tutorials, code demos, recommended papers here - for each topic....]
+
 
+
[http://cm-wiki.stanford.edu/wiki/MIRToolbox_wishes MIRToolbox comments, wishes, wants]
+
  
 
== MATLAB Utility Scripts ==
 
== MATLAB Utility Scripts ==
Line 279: Line 258:
 
* [[Reading MP3 Files]]
 
* [[Reading MP3 Files]]
 
* [[Low-Pass Filter]]
 
* [[Low-Pass Filter]]
 +
* Steve Tjoa: [http://ccrma.stanford.edu/~kiemyang/software Matlab code] (updated July 9, 2009)
  
 
[[Category: Workshops]]
 
[[Category: Workshops]]
 
 
  
 
http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/
 
http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/

Latest revision as of 08:36, 30 July 2010

Intelligent Audio Systems: Foundations and Applications of Music Information Retrieval

Logistics

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

PLEASE SEE THE LATEST (2010) VERSION OF THE CCRMA MIR Workshop: http://cm-wiki.stanford.edu/wiki/MIR_workshop_2010

Abstract

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.

Workshop syllabus

  • Administration
    • Introductions
    • CCRMA Overview
  • Introduction to Capabilities and Applications of MIR
    • Why MIR?
    • Overview of potential research and commercial applications
    • Basic System Overview and Architecture

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
  • Higher-level features
    • Tempo/BPM
    • Key Estimation
    • Chord Estimation
    • Genre (genre, artist ID, similarity)

Analysis / Decision Making

  • Classification
    • Heuristic Analysis
    • k-NN
    • SVM
  • Clustering and probability density models
    • k-Means
    • Clustering
    • GMM

Model / Data Preparation Techniques

  • Data Preparation
    • Scaling data
  • Model organization
    • concept and design
    • Data set construction and organization

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

Lectures & Labs 2009


Day 1


Lab 1 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.

Audio slice manipulation with a simple feature.


Day 2


Lab 2


Day 3 - Harmony: Key, Chord Estimation

  • Features: Temporal features; Octave-bands -J
  • Features: Spectral Envelopes, MFCCs -J
  • Classification: Unsupervised classification (k-means) -J
  • Chroma Representation -K
  • Key-Profile and Key Estimation -K
  • Chord Recognition -K


Lab 3


Day 4

  • New Classifier: GMM -J
  • Classification examples: -J
    • Speech/Music Discrimination
    • Genre Classification


Lab 4


Day 5


Lab 5

Supplemental papers and information for the lectures...

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

MIR Workshop and lectures from 2008

CCRMA MIR Summer Workshop 2008

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)
  • Speech and Audio Signal Processing:Processing and perception of speech and music Ben Gold & Nelson Morgan, Wiley 2000

Prerequisite / background material:

Papers:

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

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

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

http://staff.aist.go.jp/m.goto/RWC-MDB/rwc-mdb-i.html

Univ or Iowa Music Instrument Samples

MATLAB Utility Scripts

http://ccrma.stanford.edu/~kglee/kaist_summer2008_special_lecture/