music synchronization
play

Music Synchronization Meinard Mller International Audio - PowerPoint PPT Presentation

Lecture Music Processing Music Synchronization Meinard Mller International Audio Laboratories Erlangen meinard.mueller@audiolabs-erlangen.de Book: Fundamentals of Music Processing Meinard Mller Fundamentals of Music Processing Audio,


  1. Music Synchronization: Lyrics-Audio Ich träumte von bunten Blumen, so wie sie wohl blühen im Mai Extremely difficult!

  2. Music Synchronization: Lyrics-Audio Lyrics-Audio  Lyrics-MIDI + MIDI-Audio Ich träumte von bunten Blumen, so wie sie wohl blühen im Mai

  3. Music Synchronization: Lyrics-Audio Lyrics-Audio  Lyrics-MIDI + MIDI-Audio Ich träumte von bunten Blumen, so wie sie wohl blühen im Mai

  4. Score-Informed Source Separation

  5. Score-Informed Source Separation

  6. Score-Informed Source Separation

  7. Score-Informed Source Separation Experimental results for separating left and right hands for piano recordings: Composer Piece Database Results L R Eq Org Bach BWV 875, Prelude SMD Chopin Op. 28, No. 15 SMD Chopin Op. 64, No. 1 European Archive

  8. Score-Informed Source Separation Audio editing 1600 1600 1200 1200 800 800 400 400 6 7 8 9 6 7 8 9 Frequency (Hertz) Frequency (Hertz) 580 580 554 523 500 500 0 0.5 1 0 0.5 1 Time (seconds) Time (seconds)

  9. Dynamic Time Warping

  10. Dynamic Time Warping  Well-known technique to find an optimal alignment between two given (time-dependent) sequences under certain restrictions.  Intuitively, sequences are warped in a non-linear fashion to match each other.  Originally used to compare different speech patterns in automatic speech recognition

  11. Dynamic Time Warping x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Sequence X y 1 y 2 y 3 y 4 y 5 y 6 y 7 Sequence Y

  12. Dynamic Time Warping x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Sequence X y 1 y 2 y 3 y 4 y 5 y 6 y 7 Sequence Y Time alignment of two time-dependent sequences, where the aligned points are indicated by the arrows.

  13. Dynamic Time Warping 9 8 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Sequence X 7 Sequence X 6 5 4 3 y 1 y 2 y 3 y 4 y 5 y 6 y 7 Sequence Y 2 1 1 2 3 4 5 6 7 Sequence Y Time alignment of two time-dependent sequences, where the aligned points are indicated by the arrows.

  14. Dynamic Time Warping The objective of DTW is to compare two (time-dependent) sequences of length and of length . Here, are suitable features that are elements from a given feature space denoted by .

  15. Dynamic Time Warping To compare two different features one needs a local cost measure which is defined to be a function Typically, is small (low cost) if and are similar to each other, and otherwise is large (high cost).

  16. Dynamic Time Warping Evaluating the local cost measure for each pair of elements of the sequences and , one obtains the cost matrix denfined by Then the goal is to find an alignment between and having minimal overall cost. Intuitively, such an optimal alignment runs along a “valley” of low cost within the cost matrix .

  17. Dynamic Time Warping Cost matrix C Time (indices) Time (indices)

  18. Dynamic Time Warping Cost matrix C Time (indices) C(5,6) Time (indices)

  19. Dynamic Time Warping Cost matrix C

  20. Dynamic Time Warping Cost matrix C C(5,6)

  21. Dynamic Time Warping The next definition formalizes the notion of an alignment. A warping path is a sequence with for satisfying the following three conditions:  Boundary condition: and  Monotonicity condition: and  Step size condition: for

  22. Dynamic Time Warping Warping path Each matrix entry 9 (cell) corresponds to 8 a pair of indices. 7 Sequence X 6 Cell = (6,3) 5 4 Boundary cells: 3 p 1 = (1,1) p L = ( N , M ) = (9,7) 2 1 1 2 3 4 5 6 7 Sequence Y

  23. Dynamic Time Warping Warping path Correct warping path 9 8 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Sequence X 7 Sequence X 6 5 4 3 2 y 1 y 2 y 3 y 4 y 5 y 6 y 7 Sequence Y 1 1 2 3 4 5 6 7 Sequence Y

  24. Dynamic Time Warping Warping path Violation of boundary condition 9 8 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Sequence X 7 Sequence X 6 5 4 3 2 y 1 y 2 y 3 y 4 y 5 y 6 y 7 Sequence Y 1 1 2 3 4 5 6 7 Sequence Y

  25. Dynamic Time Warping Warping path Violation of monotonicity condition 9 8 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Sequence X 7 Sequence X 6 5 4 3 2 y 1 y 2 y 3 y 4 y 5 y 6 y 7 Sequence Y 1 1 2 3 4 5 6 7 Sequence Y

  26. Dynamic Time Warping Warping path Violation of step size condition 9 8 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Sequence X 7 Sequence X 6 5 4 3 2 y 1 y 2 y 3 y 4 y 5 y 6 y 7 Sequence Y 1 1 2 3 4 5 6 7 Sequence Y

  27. Dynamic Time Warping The total cost of a warping path between and with respect to the local cost measure is defined as Furthermore, an optimal warping path between and is a warping path having minimal total cost among all possible warping paths. The DTW distance between and is then defined as the total cost of

  28. Dynamic Time Warping  The warping path is not unique (in general).  DTW does (in general) not definne a metric since it may not satisfy the triangle inequality.  There exist exponentially many warping paths.  How can be computed efficiently?

  29. Dynamic Time Warping Notation : The matrix is called the accumulated cost matrix. The entry specifies the cost of an optimal warping path that aligns with .

  30. Dynamic Time Warping Lemma : for Proof : (i) – (iii) are clear by definition

  31. Dynamic Time Warping Proof of (iv) : Induction via : Let and be an optimal warping path for and . Then (boundary condition). Let . The step size condition implies The warping path must be optimal for . Thus, ■

  32. Dynamic Time Warping Accumulated cost matrix Given the two feature sequences and , the matrix is computed recursively.  Initialize using (ii) and (iii) of the lemma.  Compute e for using (iv) .  using (i). Note :  Complexity O(NM) .  Dynamic programming: “overlapping-subproblem property”

  33. Dynamic Time Warping Optimal warping path Given to the algorithm is the accumulated cost matrix . The optimal path is computed in reverse order of the indices starting with . Suppose has been computed. In case , one must have and we are done. Otherwise, where we take the lexicographically smallest pair in case “argmin” is not unique.

  34. Dynamic Time Warping Summary m = 10 D ( N,M ) = DTW (X,Y ) 8 7 D ( n,m ) D ( n,m-1 ) n = 6 6 D ( n,1 ) 5 D ( n-1,m-1 ) D ( n-1,m ) 4 3 2 D ( 1,m ) 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  35. Dynamic Time Warping Summary

  36. Dynamic Time Warping Example Alignment 1 1 1 7 6 1 10 10 11 14 13 9 1 1 6 8 8 0 1 6 9 11 13 7 8 14 8 8 1 3 3 8 1 1 3 3 5 4 1 3 5 7 10 12 13 3 3 1 3 3 5 4 1 2 4 5 8 12 13 3 3 1 1 1 7 6 1 1 2 3 10 16 17 1 1 2 0 0 8 7 2 2 0 0 8 7 2 2 0 0 8 7 2 Optimal warping path:

  37. Dynamic Time Warping Step size conditions Σ � 1,0 , 0,1 , �1,1�

  38. Dynamic Time Warping Step size conditions Σ � 2,1 , 1,2 , �1,1�

  39. Dynamic Time Warping Step size conditions

  40. Dynamic Time Warping  Computation via dynamic programming  Memory requirements and running time: O ( NM )  Problem: Infeasible for large N and M  Example: Feature resolution 10 Hz, pieces 15 min N, M ~ 10,000 N ꞏ M ~ 100,000,000

  41. Dynamic Time Warping Global constraints Sakoe-Chiba band Itakura parallelogram

  42. Dynamic Time Warping Global constraints Sakoe-Chiba band Itakura parallelogram Problem: Optimal warping path not in constraint region

  43. Dynamic Time Warping Multiscale approach Compute optimal warping path on coarse level

  44. Dynamic Time Warping Multiscale approach Project on fine level

  45. Dynamic Time Warping Multiscale approach Specify constraint region

  46. Dynamic Time Warping Multiscale approach Compute constrained optimal warping path

Recommend


More recommend