37
Development of a Fully Automated Dj-mixing Algorithm for Electronic Dance Music Mickaël Zehren, Marco Alunno, Paolo Bientinesi December 12, 2018 Umeå Universitet

Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Development of a Fully Automated Dj-mixing Algorithm for Electronic Dance Music

Mickaël Zehren, Marco Alunno, Paolo Bientinesi

December 12, 2018Umeå Universitet

Page 2: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

● Input: A collection of music tracks○ Electronic dance music○ Steady, repetitive, predictable, 4/4

2

● Output: A continuous stream of music – “Dj mix”○ No interruptions○ Pleasant, seamless transitions between tracks○ Real-time processing

● Why?○ Targets: Parties, clubs, shopping malls, radios, in-flight entertainment, fashion shows, . . .○ Service sought by Spotify, iTunes, . . .

● How?○ Signal Processing, Music Information Retrieval (MIR)○ Rule-based approach○ Recommender system + “Transition engine”

● Challenges○ No ground-truth. “Matter of taste” vs. musical guiding principles○ Parametric: different targets, different needs, different experiences○ Computationally expensive

Page 3: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Our workflow

3

Tracks

RulesExpert

knowledge

RecommenderSystem

Transitionengine

Page 4: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

A rule based approach

4

DJ language

● Semi-structured interviews

● Loosely defined language

Pseudo code

● Structure and factorize● High level

Implementation

● High accuracy● Limit false positive

Page 5: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: naive overlap

5

Rules = {}

Page 6: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

6

Rules = {}

Page 7: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Track’s beat

7

Perceptual: Beat or tactus

Physical:Waveform

Audio track

Onsets

Page 8: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

8

Signal Short-time Fourier transform

Recurrent neural network (LSTM)

Activation function

Beat detectionBöck et al., “madmom: A New Python Audio and Music Signal Processing Library”, 2016. Böck et al., “Joint Beat and Downbeat Tracking with Recurrent Neural Networks”, 2016.

Recurrent neural network (LSTM)

Activation function

Page 9: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Beat detection: Short-time Fourier transform

9

Page 10: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

10

Signal Short-time Fourier transform

Recurrent neural network (LSTM)

Activation function

Beat detectionBöck et al., “madmom: A New Python Audio and Music Signal Processing Library”, 2016. Böck et al., “Joint Beat and Downbeat Tracking with Recurrent Neural Networks”, 2016.

Page 11: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example

11

Rules

● First beat aligned

Page 12: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

12

Rules

● First beat aligned

Page 13: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Beat alignment

13Picture: https://en.wikipedia.org/wiki/Beatmatching

Page 14: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Beat alignment

14

Page 15: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Beat alignment

15

Page 16: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example

16

Rules

● Tempo matched

● Beat aligned

Page 17: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

17

Rules

● Tempo matched

● Beat aligned

Page 18: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

18

Rules

● Tempo matched

● Beat aligned

Page 19: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Downbeat

19

Perceptual: Beat or tactus

Physical:Waveform

Bars orDownbeats

Beats

Audio track

Page 20: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Downbeat

20

Perceptual: Beat or tactus

Physical:Waveform

Downbeats

Beats

Audio track

Page 21: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

21

Signal Short-time Fourier transform

Recurrent neural network (LSTM)

Activation functions

Downbeat detectionBöck et al., “madmom: A New Python Audio and Music Signal Processing Library”, 2016. Böck et al., “Joint Beat and Downbeat Tracking with Recurrent Neural Networks”, 2016.

Page 22: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example

22

Rules

● Tempo matched

● Downbeat aligned

Page 23: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

23

Rules

● Tempo matched

● Downbeat aligned

Page 24: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

24

Rules

● Tempo matched

● Downbeat aligned

Page 25: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Structure

25

● Segments

● Downbeats

● Beats

Page 26: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Structure analysis

26

Method:

● Energy based method

Mean amplitude per bar

Page 27: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Structure analysis

27Mean amplitude per bar Approximate derivative

Page 28: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example

28

Rules

● Tempo matched

● Downbeat aligned

● Structure aligned

Page 29: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

29

Rules

● Tempo matched

● Downbeat aligned

● Structure aligned

Page 30: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Example: click on the box to access the video

30

Rules

● Tempo matched

● Downbeat aligned

● Structure aligned

Page 31: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Evaluation

31

Page 32: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Result 1: click on the box to access the video

32

Rules

● Tempo matched

● Downbeat aligned

● Structure aligned

● Minimal activity

Page 33: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Result 2: click on the box to access the video

33

Rules

● Tempo matched

● Downbeat aligned

● Structure aligned

● Minimal activity

Page 34: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Result 3: click on the box to access the video

34

Rules

● Tempo matched

● Downbeat aligned

● Structure aligned

● Minimal activity

Page 35: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Future work● Improved rules

○ Speed (Beat detection)○ Low sensitivity (Structure analysis)

35

Page 36: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Future work● Improved rules

○ Speed (Beat detection)○ Low sensitivity (Structure analysis)

● More rules○ Voice overlap, bass line overlap○ Harmonic mixing

36Picture: https://neelmodi.com/how-to-use-the-circle-of-fifths-to-write-songs/

Page 37: Mickaël Zehren, Marco Alunno, Paolo Bientinesi Development

Future work● Improved rules

○ Speed (Beat detection)○ Low sensitivity (Structure analysis)

● More rules○ Voice overlap, bass line overlap○ Harmonic mixing

● Recommender system

37

Thank you!