Module : Estimation de périodicité / hauteur

Titre du module : Estimation de périodicité / hauteur
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)
Descriptif
Dans la nature et dans un contexte musical, on rencontre de nombreux signaux périodiques ou quasi-périodiques. Les phonèmes voisés, les chants d’oiseaux ou encore les phénomènes saisonniers tels les émissions de CO2 sont des exemples de tels signaux.Dans des applications comme l’estimation du tempo, la transcription automatique de musique ou le codage de la parole, il est nécessaire d’estimer la période de ce type de signal ou son inverse, la fréquence fondamentale.Dans ce module, 2 possibilités sont proposées :

  • l’estimation de période à l’aide de l’autocovariance, qui s’appuie sur une analyse temporelle du signal,
  • une estimation de fréquence fondamentale qui utilise une représentation spectrale du signal par transformée de Fourier : la somme spectrale ou le produit spectral.
Ressources dont le module dépend
Exemples d’utilisation du module
  • dans des composants pact :
    • détection de hauteur
    • détection du rythme
  • dans des systèmes existants :
    • logiciels d’analyse de la voix (ex : PRAAT)
    • codeurs
Résultats attendus
  • connaissances : autocovariance, fréquence fondamentale, spectre de signaux quasi-périodiques, transformée de Fourier
  • compétence : savoir lire la fréquence fondamentale sur un spectre ou un spectrogramme de signal, savoir expliquer le principe de l’estimation par autocovariance ou par somme/produit spectral
  • PAN2 : Apprentissage des bases de traitement signal nécessaires. Pour une des méthodes (ex: autocovariance) notice descriptive précise (principe général et systèmes mis en oeuvre, choix et réglages des paramètres) contenant le pseudo-code à mettre en oeuvre.  Définition et enregistrement d’un corpus de test.
  • PAN3 : Implémentation matlab/octave et test sur le corpus. Code java correspondant  commenté et structuré de manière à être lisible. Test unitaire du code JAVA pour vérifier le fonctionnement par comparaison avec le code matlab validé. Mesure des performances sur données de test.
  • PAN4 : amélioration et/ou mise en place d’une autre méthode avec même protocole de test

Laisser un commentaire