In [1]:
import IPython.display as ipd

What is Music Information Retrieval?

While you listen to these excerpts, name as many of its musical characteristics as you can. Can you name the genre? tempo? instruments? mood? time signature? key signature? chord progression? tuning frequency? song structure?

In [2]:
ipd.display( ipd.YouTubeVideo("grL4JMs0hDc", start=75) )

Another:

In [3]:
ipd.display( ipd.YouTubeVideo("PrVu9WKs498", start=8) )

One more:

In [4]:
ipd.display( ipd.YouTubeVideo("Cxj8vSS2ELU", start=540) )

What is MIR?

Here is a sampling of tasks found in music information retrieval:

  • fingerprinting
  • cover song detection
  • genre recognition
  • transcription
  • recommendation
  • symbolic melodic similarity
  • mood
  • source separation
  • instrument recognition
  • pitch tracking
  • tempo estimation
  • score alignment
  • song structure/form
  • beat tracking
  • key detection
  • query by humming

Why MIR?

  • discover, organize, monetize media collections
  • search ("find me something that sounds like this") songs, loops, speech, environmental sounds, sound effects
  • workflows in consumer products through machine hearing
  • automatic control of software and mobile devices

Commercial Applications

Example: RiffStation

In [5]:
ipd.display( ipd.YouTubeVideo("ECvinPjmBVE", start=6) )

Example: Melodyne

In [6]:
ipd.display( ipd.YouTubeVideo("DiW6XVFeFgo", start=60))

Example: Auto-Tune

In [7]:
ipd.display( ipd.YouTubeVideo("A0cfugW4DbE", start=150))

Example: Key Detection and Auto-harmonization with iZotope Nectar 2

In [8]:
ipd.display( ipd.YouTubeVideo("TG-ivjyyYhM", start=35))

How is MIR done?

Well, that's a big question. Two primary areas in music analysis include tonal analysis (e.g. melody and harmony) and rhythm and tempo (e.g. beat tracking). Here are some great overviews by Meinard Müller (author, FMP) on both topics.

Chroma Features

In [9]:
ipd.display( ipd.YouTubeVideo("PF05xP1NqUM") )

Tempo and Beat Tracking

In [10]:
ipd.display( ipd.YouTubeVideo("FmwpkdcAXl0") )