Geoffroy Peeters

Full professor ◼ Télécom Paris/ IP-Paris ◼ LTCI ◼ Image Data Signal department

PACT 2018-2019 - Module Tempo/Beat


Expert

  • Geoffroy Peeters

Objectives of this module

  • Understand:
    • Fourier Transform
    • Filter-bank decomposition
    • Onset detection function
    • Periodicity estimation using the the spectral sum algorihtm
  • Design an algorithm that
    • estimate the tempo over time of a given audio signal

Outcomes

  • Report explaining
    • the algorithms used to estimate the tempo from the analysis of a given audio track
    • the design decisions of the final script
  • Database of music tracks and their corresponding estimated tempo
  • Algorithms in Matlab/Python/Java that
    • takes as input an audio file
    • outputs its tempo in beat-per-minute (bpm) over time

Methodology

  • Small bibliography review with resources provided by the expert
  • Shared repository (brand 'algorithm')
  • Test units
  • Weekly meeting

Milestones

  • 26/11: Soutenances PAN1 et avancement du projet
  • 04/02: PAN2: Soutenances de modules, y compris GL, debrief tuteur
    • Each module should be developed in a prototype language (Matlab/Python/Java)
  • 18/03: Soutenances PAN3
    • Each module should be developed in the targeted language (possibly in real-time)
    • Report should be provided
  • 13/05: Bilan PACT: séance tutorée d’évaluation de collaboration, apprentissages, confrontation au concret. Présence obligatoire.
    • Each module should be integrated in the final application
    • Update of the report should be provided
    • Individual oral examination of each student

Evaluation

  • Report quality
  • Continuity of work
  • Algorithm quality
  • Brief oral presentation and questions (each student)

Resources

  • Official PACT link: Link

1) Introduction to signal processing: see the videos introducing signal processing created by Bertrand David

The following video at 07:08), describes a first method to estimate the onsets of the musical notes:

2) To estimate the tempo, we will compute the energy inside several frequency bands. The frequency bands can be obtained either using

  • either a filter-bank method
  • or a Short-Time-Fourier-Transform (STFT)
    • see wikipedia
    • see Link

To compute the onsets, we will compute the temporal derivative of the energy function inside each frequency bands, apply a Hafl-Wave-Rectification function, sum over frequency bands, apply a threshold to the resulting functions and then apply a peak-picking algorithm

3) We estimate the tempo (in beat per minute) from the onset function using the Fourier Transform

We apply the spectral sum algorihtm to get the dominant period

We can perform this around each time to estimate the evaluation of the tempo over time (tempogram)