MIR workshop 2008

From CCRMA Wiki
Revision as of 13:49, 18 July 2008 by Jleboeuf (Talk | contribs) (CCRMA Workshop: Music Information Retrieval)

Jump to: navigation, search

CCRMA Workshop: Music Information Retrieval

This is Jay and Ge's brainstorming page for this summer's MIR workshop.

logistics

NOTE: THIS PAGE IS A DRAFT ONLY -- IT IS BY NO MEANS, COMPLETE OR ACCURATE YET. Thanks!

workshop title

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

== workshop outline == Introduction to Capabilities of MIR

Survey of the field, real-world applications, MIR research, and challenges

  • Current commercial applications
    • Music Recommender Systems
    • Playlisting systems
    • DJ systems
    • Music Transcription
    • DAW technologies
    • Band in a box
  • Academic MIR research projects
    • MARSYAS
    • CLAM
    • IMIRSEL
    • Ongoing work and projects at McGill / UCSD / Columbia / Princeton / Stanford / UK / beyond


Signal Processing Basics (if necessary)

Feature Extraction

  • Low Level Features
    • "Classic" Spectral features (Centroid, Flux, RMS, Rolloff, Flatness, Kurtosis)
    • Zero Crossing
    • Beat Histogram (?)
    • Spectral Bands / Filters
    • MFCC, LPC, (source-filter modeling)
    • MPEG-7
  • Higher-level features
    • Chroma features
    • Key Estimation
    • Chord Estimation
    • Pitch Estimation
    • Genre (genre, artist ID, similarity)
    • "Fingerprints"

Rhythm Analysis

  • Onset Detection
  • Beat Detection
  • Meter detection

Data Reduction Techniques

  • Linear regression
  • Threshold, Adaptive Threshold
  • Peak Picking
  • PCA / LDA
  • Feature Selection

Structure and Segmentation

  • CASA 101
  • Structural Analysis and Segmentation

Classification Algorithms

  • k-NN
  • SVM
  • HMM
  • Neural Nets

Classification

  • concept and design
  • genre-classification
  • similarity retrieval
  • instrument/speaker/source identification

Evaluation Methodology

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

Lab Exercises

  • Feature extraction from audio
  • Classification tasks
  • Segmentation : Onset Detector, Pitch Change, Frame Size, etc.
  • Feature Extract 1 audio example: Sort & Play slices via feature values. Add cowbell on just a certain beat, note, or word. Do a simple transcription (via thresholds) of a loop.
  • Load a folder of Sample-A examples, then Sample-B examples. Feature extract each and build a classifier. Then, load a "test example" and compare it against the A and B via classifier. Look at classification and distance from examples as probability.
  • Building an Instrument Identifier Tool using source audio material
  • Organization of data sets and Evaluating system accuracy
  • Speaker change detection
  • Clustering Techniques Demo: Song Segmentation, Drum Transcription
  • Dan Ellis' Practicals?
  • Investigate the classifier accuracy as the number of Gaussian mixture components and/or the number of feature dimensions is varied. You can even vary the amount of training data used by subselecting rows in ftrs and labs. Can you make a plot of accuracy versus system complexity? How about versus training time?
  • Prototyping real-time MIR algorithms and systems with ChucK/UAna
  • Case study: Which of these can you automatically classify:

http://en.wikipedia.org/wiki/List_of_Music_Genome_Project_attributes http://en.wikipedia.org/wiki/List_of_Music_Genome_Project_attributes_by_type A given song is represented by a vector containing approximately 150 genes. Each gene corresponds to a characteristic of the music, for example, gender of lead vocalist, level of distortion on the electric guitar, type of background vocals, etc. Rock and pop songs have 150 genes, rap songs have 350, and jazz songs have approximately 400. Other genres of music, such as world and classical, have 300-500 genes. The system depends on a sufficient number of genes to render useful results. Each gene is assigned a number between 1 and 5, and fractional values are allowed but are limited to half integers.(US Patent Number 7003515)

Guest lecturer from a local music information retrieval startup? Audible Magic, Gracenote, Midomi Dr. Jon Shlens - PCA

potential software, libraries, examples

  • MATLAB
  • ChucK / UAna
  • Sonic Visualizer [1]
  • Marsyas
  • CLAM
  • Machine Learning Libraries
  • Weka Machine Learning and Data Mining Toolbox (Standalone app / Java)
  • Netlab Pattern Recognition and Clustering Toolbox (Matlab)
  • libsvm SVM toolbox (Matlab)
  • MA Toolbox / MIDI Toolbox
  • MIR Toolboxes (Matlab)
  • [see also below references]

Abstract

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.

References for additional info

Tools:

Toolboxes to explore:

Online Tutorials / Course materials:

Papers:

Evaluation

Books - NOT YET REVIEWED

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

Music Recommendation and Discovery


Student Projects

Audio Source Material

OLPC Sound Sample Archive (8.5 GB) [2]

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

Installing Toolboxes

In your Home folder, create a folder called "Matlab" Download libsvm to your local Matlab folder Within the libsvm folder, open the file Makefile On the 2nd line, change /usr/local/matlab to /opt/matlabR2006b

Open a terminal cd to that folder type make