Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal...

49
Meinard Müller, Christof Weiss, Stefan Balke Harmony Analysis International Audio Laboratories Erlangen {meinard.mueller, christof.weiss, stefan.balke}@audiolabs-erlangen.de Tutorial Automatisierte Methoden der Musikverarbeitung 47. Jahrestagung der Gesellschaft für Informatik

Transcript of Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal...

Page 1: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Meinard Müller, Christof Weiss, Stefan Balke

Harmony Analysis

International Audio Laboratories Erlangen{meinard.mueller, christof.weiss, stefan.balke}@audiolabs-erlangen.de

TutorialAutomatisierte Methoden der Musikverarbeitung47. Jahrestagung der Gesellschaft für Informatik

Page 2: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Book: Fundamentals of Music Processing

Meinard MüllerFundamentals of Music ProcessingAudio, Analysis, Algorithms, Applications483 p., 249 illus., hardcoverISBN: 978-3-319-21944-8Springer, 2015

Accompanying website: www.music-processing.de

Page 3: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Book: Fundamentals of Music Processing

Meinard MüllerFundamentals of Music ProcessingAudio, Analysis, Algorithms, Applications483 p., 249 illus., hardcoverISBN: 978-3-319-21944-8Springer, 2015

Accompanying website: www.music-processing.de

Page 4: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Dissertation: Tonality-Based Style Analysis

Christof WeißComputational Methods for Tonality-Based Style Analysis of Classical Music Audio RecordingsPhD thesis, Technical University of Ilmenau, 2017

Chapter 5: Analysis Methods for Key and Scale StructuresChapter 6: Design of Tonal Features

Page 5: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Recall: Chroma Representations

Salie

nce

/ Lik

elih

ood

L. van Beethoven,Fidelio, Overture,Slovak Philharmonic

Page 6: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Recall: Chroma Representations

Orchestra

Piano

L. van Beethoven,Fidelio, Overture,Slovak Philharmonic

Fidelio, Overture,arr. Alexander ZemlinskyM. Namekawa, D.R. Davies, piano four hands

Page 7: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Recall: Chroma Representations

Orchestra

L. van Beethoven,Fidelio, Overture,Slovak Philharmonic

Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006

Müller / Ewert, Towards Timbre-Invariant Audio Features for Harmony-Based Music, IEEE TASLP, 2010

Mauch / Dixon, Approximate Note Transcription for the Improved Identification of Difficult Chords, ISMIR 2010

Page 8: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Tonal Structures

ChordsCM GM7 Am

Global key

Local keyC major G major C major

Global key detection

Chord recognition

Music transcriptionNote level

Segment level

Chord level

Movement level C major

MelodyMiddle voices

Bass line

Local key detection

Page 9: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition

Chord recognition

Typically: Feature extraction, pattern matching, filtering

“Out-of-the-box” solutions

Sonic Visualizer, Chordino Vamp Plugin(Queen Mary University of London)

Page 10: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition

C G

Audiorepresentation

Prefiltering▪ Compression▪ Overtones▪ Smoothing

▪ Smoothing▪ Transition▪ HMM

Chromarepresentation

Patternmatching

Recognitionresult

Postfiltering

Majortriads

Minortriads

Page 11: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Time (seconds)

C G Am F C G F C

Chord Recognition

Page 12: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Basics

B

A

G

FE

D

C

G♯/A♭

D♯/E♭

C♯/D♭

A♯/B♭

F♯/G♭

C D♭ D E♭ E F G♭ G A♭ A B♭ B

Page 13: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Basics

B

A

G

FE

D

C

G♯/A♭

D♯/E♭

C♯/D♭

A♯/B♭

F♯/G♭

Cm C♯m Dm E♭m Em Fm F♯m Gm G♯m Am B♭m Bm

Page 14: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chroma vectorfor each audio frame

24 chord templates(12 major, 12 minor)

Compute for each frame thesimilarity of the chroma vector

to the 24 templates

B

A

G

F

E

D

C

G♯

D♯

C♯

A♯

F♯

C C♯ D … Cm C♯m Dm

0 0 0 … 0 0 0 …

0 0 0 … 0 0 0 …

0 0 1 … 0 0 1 …

0 1 0 … 0 1 0 …

1 0 0 … 1 0 0 …

0 0 1 … 0 0 0 …

0 1 0 … 0 0 1 …

1 0 0 … 0 1 0 …

0 0 0 … 1 0 0 …

0 0 1 … 0 0 1 …

0 1 0 … 0 1 0 …

1 0 0 … 1 0 0 …

Chord Recognition: Template Matching

Page 15: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Cho

rdP

itch

clas

s

Chord Recognition: Template Matching

Time (seconds)

Page 16: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Label Assignment

Assign to each frame the chord labelof the template that maximizes the

similarity to the chroma vector

Chroma vectorfor each audio frame

24 chord templates(12 major, 12 minor)

Compute for each frame thesimilarity of the chroma vector

to the 24 templates

B

A

G

F

E

D

C

G♯

D♯

C♯

A♯

F♯

C C♯ D … Cm C♯m Dm

0 0 0 … 0 0 0 …

0 0 0 … 0 0 0 …

0 0 1 … 0 0 1 …

0 1 0 … 0 1 0 …

1 0 0 … 1 0 0 …

0 0 1 … 0 0 0 …

0 1 0 … 0 0 1 …

1 0 0 … 0 1 0 …

0 0 0 … 1 0 0 …

0 0 1 … 0 0 1 …

0 1 0 … 0 1 0 …

1 0 0 … 1 0 0 …

Page 17: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Label Assignment

Cho

rdC

hord

Time (seconds)

Page 18: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Evaluation

Time (seconds)

C G Am F C G F C

Page 19: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Evaluation Frame-wise approach: Too many / too rapid changes of output label

Improvement strategies:

Pre-filtering: Average chroma features over several frames (smoothing)

Evaluation on all Beatles songs

0.8

0.75

0.7

0.65

0.6

0.55

0.5

0.45

0.4

0.35

Smoothing length

F-m

easu

re

Binary templates

1 5 9 13 17 21 25

Page 20: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Markov Chains Probabilistic model for sequential data

Markov property: Next state depends only on current state (no “memory”)

Consist of:

Set of states

State transition probabilities

Initial state probabilities C

FG

0.8

0.60.7

0.2

0.1

0.3

0.10.1

0.1

Page 21: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Hidden Markov Models States as hidden variables

Consist of:

Set of states (hidden)

State transition probabilities

Initial state probabilities C

FG

0.8

0.60.7

0.2

0.1

0.3

0.10.1

0.1

Page 22: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Hidden Markov Models States as hidden variables

Consist of:

Set of states (hidden)

State transition probabilities

Initial state probabilities

Observations (visible)

C

FG

0.8

0.60.7

0.2

0.1

0.3

0.10.1

0.1

Page 23: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Hidden Markov Models States as hidden variables

Consist of:

Set of states (hidden)

State transition probabilities

Initial state probabilities

Observations (visible)

Emission probabilities

0.7

0.1

0.9 0.2

0.3

0.8

C

FG

0.8

0.60.7

0.2

0.1

0.3

0.10.1

0.1

0

00

Page 24: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Hidden Markov Models Different algorithmic problems

Estimation problem: Given an observation sequence, determine the model parameters

„Training“ the HMM on given data

Baum-Welch algorithm (Expectation-Maximization)

Uncovering problem: Given the model, find the optimal hidden state sequence

Use Viterbi algorithm based on dynamic programming

Corresponds to chord estimation task!

Page 25: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Hidden Markov Models Parameters: Transition probabilities Estimated from data

State αj

Sta

te α

i

Log

prob

abilit

y

Page 26: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Hidden Markov Models Parameters: Transition probabilities Estimated from data

Log

prob

abilit

y

Major chords Minor chords

Maj

or c

hord

sM

inor

cho

rds

Page 27: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Major chords Minor chords

Maj

or c

hord

sM

inor

cho

rds

Chord Recognition: Hidden Markov Models Parameters: Transition probabilities Transposition-invariant

Log

prob

abilit

y

Page 28: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Hidden Markov Models Parameters: Transition probabilities Uniform transition matrix (only smoothing)

State αj

Sta

te α

i

Log

prob

abilit

y

Page 29: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

(a) Template Matching (frame-wise)

Chord Recognition: Evaluation Effect of HMM-based chord estimation and smoothing:

C Dm G C

Time (seconds)Time (seconds)

(b) HMM

Page 30: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Chord Recognition: Evaluation Evaluation on all Beatles songs

0.8

0.75

0.7

0.65

0.6

0.55

0.5

0.45

0.4

0.35

Smoothing length

F-m

easu

re

binary

HMM

1 5 9 13 17 21 25

Page 31: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Tonal Structures

ChordsCM GM7 Am

Global key

Local keyC major G major C major

Global key detection

Chord recognition

Music transcriptionNote level

Segment level

Chord level

Movement level C major

MelodyMiddle voices

Bass line

Local key detection

Page 32: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection

Key as an important musical concept (“Symphony in C major”)

Modulations → Local approach

Diatonic Scales

Simplification of keys

Perfect-fifth relation

0 diatonic1# diatonic2b diatonic

Circle of fifths →

Page 33: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection Example: J.S. Bach, Choral "Durch Dein Gefängnis" (Johannespassion) Score – Piano reduction

Page 34: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Chroma Features Example: J.S. Bach, Choral "Durch Dein Gefängnis" (Johannespassion) Audio – Chroma features (Scholars Baroque Ensemble, Naxos 1994)

Page 35: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Chroma Smoothing Summarize pitch classes over a certain time

Chroma smoothing Parameters: blocksize b and hopsize h

bb

bh

h

Page 36: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Chroma Smoothing Choral (Bach)

Page 37: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Chroma Smoothing Choral (Bach) — smoothed with b = 42 seconds and h = 15 seconds

Page 38: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Re-ordering to perfect fifth series

Page 39: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Re-ordering to perfect fifth series

Page 40: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Diatonic Scale Estimation (7 fifths)

4#

Page 41: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Diatonic Scale Estimation (7 fifths)

5#

Page 42: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Diatonic Scale Estimation: Multiply chroma values*

Page 43: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Diatonic Scale Estimation: Multiply chroma values

Page 44: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Diatonic Scale Estimation

Page 45: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Diatonic Scale Estimation

4 #(E major)

Page 46: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — Diatonic Scale Estimation: Shift to global key

4 #(E major)

Page 47: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Diatonic Scales Choral (Bach) — 0 ≙ 4#

Weiss / Habryka, Chroma-Based Scale Matchingfor Audio Tonality Analysis, CIM 2014

Page 48: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Examples L. v. Beethoven – Sonata No. 10 op. 14 Nr. 2, 1. Allegro — 0 ≙ 1

(Barenboim, EMI 1998)

Page 49: Tutorial Automatisierte Methoden der Musikverarbeitung 47. … · 2017-09-28 · Gómez, Tonal Description of Polyphonic Audio, PhD thesis, Barcelona 2006 Müller / Ewert, Towards

Local Key Detection: Examples R. Wagner, Die Meistersinger von Nürnberg, Vorspiel — 0 ≙ 0

(Polish National Radio Symphony Orchestra, J. Wildner, Naxos 1993)