Module : Détection d’attaque / fonction de détection

Titre du module : Détection d’attaque
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Slim Essid (slim.essid_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)

 

Descriptif
Le mot « attaque » désigne le début d’un évènement sonore, et par extension, l’instant correspondant ou par exemple, une note est jouée. Détecter ces attaques est un aspect fondamental nécessaire dans les applications d’inférences rythmique (tempo, métrique, mesure) et plus généralement dans l’analyse de scènes audio. La fonction de détection est le terme utilisé pour décrire un signal temporel ou les attaques sont mises en évidence sous forme de pics saillants.L’algorithme de base de ce type de détecteur est le suivant :

  1. Détection d’enveloppe :  traduit les propriétés énergétiques locales de ce dernier. La détection d’enveloppe permet d’obtenir cette information. En général obtenue à l’aide d’un filtrage passe-bas de l’énergie instantannée.
  2. Dérivation de cette fonction enveloppe : on utilise un filtre RIF qui simule l’opérateur de dérivation. Les valeurs positives de de cette dérivée mettent en évidence les front montant d’énergie et constituent une bonne fonction de détection.

 

Ressources dont le module dépend
  • wikipédia : filterbank, spectrogram, filter, cours oasis (SI101) filtrage
  • bibliothèques JAVA à mettre en oeuvre : math common api
  • compléments : un  tp de 2007 en signal, détecteur de mélodie (contient de la détection d’enveloppe et de la détection de hauteur notamment).
  • biblio et slides : sur cette page (intranet)

 

Exemples d’utilisation du module
  • dans des composants pact :
    • dans la détection du rythme
    • pour synchroniser musique et image
  • dans des systèmes existants :
    • editeurs audio (beat tracking)
    • détection d’activité
Résultats attendus
  • connaissances : filtrage RIF, passe-bas, passe-haut, dérivateur, méthode de Parks-mc Lellan (ou Remez)
  • compétence : savoir expliquer avec ses propres mots le principe de fonctionnement d’un détecteur d’attaque, savoir choisir les filtres (longueur, type), être capable de mettre un oeuvre un filtre numérique simple
  • PAN 2 : notice descriptive précise (choix de paramètres, justifications des choix, description mathématique, description informatique) contenant le pseudo-code à mettre en oeuvre, éventuellement implémenté en matlab/octave sour forme de fonction.
  • PAN3 :
    • code java commenté et structuré de manière à être lisible.
    • tests de la fonction d’attaque :
      • sur un signal avec des sons bien séparé de batterie
      • sur des signaux plus complexes
  • PAN 4 (éventuel) :
    • pour des signaux plus complexes : rajouter un banc de filtre (module banc de filtre)
    • calculer une fonction de détection dans chaque bande et fusionner l’ensemble (somme pondérée des fonctions dans chaque bande)
    • tester les améliorations par rapport au modèle plus simple précédent sur des cas plus complexes que vous définirez vous même.