L’indexation automatique de fichiers musicaux

Exploitation de la partition pour l’analyse des contenus musicaux

Nous nous intéressons plus particulièrement au cas des contenus musicaux. Un fichier de musique, sous sa forme numérique brute, est une suite de valeurs décrivant l’onde acoustique produite par les musiciens. L’indexation d’un tel fichier suppose alors d’extraire de ce signal des informations décrivant les caractéristiques de la musique. Ces caractéristiques peuvent être diverses et de différents « niveaux d’abstraction », comme le volume sonore, les notes, l’instrumentation, l’artiste, le rythme, la gamme et les accords utilisés, les conditions d’enregistrement (concert ou studio), le style ou encore l’humeur du morceau (joyeux ou triste). Parmi les problèmes les plus étudiées, on peut encore citer la tâche de transcription automatique, qui consiste à retrouver la partition musicale à partir d’un enregistrement sonore.
L’extraction de ces informations caractérisant un morceau de musique est à ce jour sujette à des erreurs. Par exemple, les meilleurs systèmes de reconnaissance d’accords de l’évaluation MIREX 2010 [MIR, 2010] ont des performances de l’ordre de 80 % (ce score mesure la durée d’un morceau sur laquelle les accords sont correctement identifiés). En revanche, un grand nombre de ces informations peuvent être trouvées dans la partition du morceau étudié. Les notes, les rythmes et quelquefois l’instrumentation sont en effet indiqués de façon explicite dans la partition. Or, il existe un grand nombre de partitions dans différentes bibliothèques. En particulier, Internet permet un accès à de nombreuses bases de données de partitions sous format électronique, même si ces documents peuvent être plus ou moins fiables. L’exploitation de ces partitions disponibles librement a donc le potentiel de rendre plus aisée et plus robuste l’analyse des contenus musicaux. Par exemple, l’analyse de l’harmonie et de la tonalité est facilitée par la prise en compte de la représentation symbolique de la musique, de même que la reconnaissance de la mélodie principale.

Structure d’un système d’alignement

Prise en compte de la partition

Avant de s’atteler à la tâche d’alignement audio-sur-partition, il est bon de définir ce que nous désignons par une partition. Dans le sens le plus général, une partition est une représentation symbolique des sons qui composent une pièce de musique. Cependant, cette définition est trop vague pour être véritablement exploitée. Des restrictions sont donc apportées, inspirées par la notation de la musique classique occidentale, pour pouvoir mettre en œuvre un système d’alignement automatique.
En premier lieu, nous considérons que la partition est une liste (discrète) d’évènements sonores. Les évènements sonores peuvent être des notes ou des frappes de percussions. Cette représentation est une simplification car les frontières entre ces évènements peuvent être floues, voire impossible à définir, comme dans le cas d’un glissando entre deux notes. En second lieu, chaque évènement doit pouvoir être caractérisé par un certain nombre (petit) de valeurs numériques, représentant des paramètres musicaux (comme la hauteur des notes, l’instrument, l’intensité, etc. . . ). Cela implique de ne pas prendre en compte certaines informations qui ne peuvent être converties en nombre (par exemple des indications de caractère d’interprétation comme « passionné » ou « majestueux »). De plus, les valeurs numériques caractérisant les évènements sont supposées constantes sur la durée de la note.
Il en résulte que certains phénomènes comme le crescendo doivent être simplifiés (dans ce cas, séparer en plusieurs évènements d’intensité croissante) ou simplement supprimés. Enfin, afin de pouvoir mettre en correspondance une partition musicale et son interprétation, il est souhaitable de supprimer les ambiguïtés dans la séquence d’évènements sonores correspondant à une interprétation. Cette contrainte concerne la structure temporelle des évènements. Nous faisons alors l’hypothèse que les évènements sont totalement ordonnés, c’est-à-dire qu’ils doivent être joués dans un ordre défini par la partition. De plus, nous supposons que les instants d’attaque et d’extinction de chaque évènement sont spécifiés dans une échelle de durée musicale. Ces durées s’expriment en pulsation, aussi appelés temps. La correspondance entre les durées musicales (en pulsations) et les durées réelles (en secondes) est donnée par le tempo.

Principe général d’un système d’alignement temporel

Après avoir défini la représentation d’une partition musicale, nous pouvons déterminer comment réaliser l’alignement temporel d’une partition sur un enregistrement. Pour cela, l’enregistrement est tout d’abord segmenté en fenêtres temporelles (ou trames), assez courtes pour pouvoir considérer que le signal est stationnaire, c’est-à-dire que les caractéristiques acoustiques de l’enregistrement sont constantes, sur la durée de chacune de ces trames. En particulier, on suppose qu’une trame ne contient qu’un seul agrégat. Cette hypothèse est bien sûr une approximation, mais elle ne porte pas à conséquence car la précision temporelle recherchée, qui correspond au pouvoir séparateur de l’oreille, est du même ordre de grandeur que la longueur des trames (quelques dizaines de millisecondes).
La tâche d’alignement peut alors être réduite à la détermination de l’agrégat correspondant à chaque fenêtre temporelle, parmi ceux indiqués par la partition. La structure de tous les systèmes de l’état de l’art peut être divisée en deux couches.
Une première couche, dite couche de bas niveau ou encore modèle d’observation, calcule un score d’appariement local entre une trame et un agrégat de la partition. Pour cela, on extrait des descripteurs acoustiques, aussi appelés caractéristiques, qui sont des valeurs numériques décrivant le contenu instantané du son à l’intérieur de chaque trame. Pour l’alignement temporel, on utilise des descripteurs qui peuvent permettre de déduire les notes jouées, mais aussi parfois des caractéristiques décrivant d’autres types d’information, comme la détection des attaques de notes. On utilise le terme matrice de similarité pour désigner le tableau contenant les scores d’appariement locaux entre toutes les paires trame-agrégat.
La couche de haut niveau, ou modèle temporel, opère alors l’alignement proprement dit, en tenant compte de ces scores d’appariement local et de certains critères sur l’évolution temporelle des agrégats joués. Il est par exemple très courant de considérer les séquences d’agrégats jouées dans le même ordre que celui de la partition. Un autre exemple consiste à appliquer une pénalité liée à la longueur de chaque agrégat détecté.

Modèles temporels (couche de haut niveau)

À partir des scores d’appariement locaux entre les couples d’éléments de la partition et de l’interprétation, la couche de haut niveau détermine l’alignement optimal de l’inter-prétation dans son ensemble sur la partition. Cette section passe en revue les différents modèles temporels utilisés dans la littérature. Elles peuvent être séparées en deux classes : les méthodes d’alignement de séquences et les modèles probabilistes à états cachés.

Méthodes d’alignement de séquences

Séquences symboliques :Comme indiqué plus haut, de nombreux systèmes de suivi de partition en temps-réel exploitent des interprétations musicales sous forme symbolique. Ces travaux utilisent une stratégie similaire aux algorithmes d’alignement de chaines de caractères. Le premier système de Dannenberg [1984] cherche la plus longue sous-séquence de notes communes à la partition et à l’interprétation. Ce problème correspond à la maximisation du score d’alignement global, défini comme la somme des scores d’appariement locaux entre interprétation et partition. Pour éviter au système d’avancer trop vite dans la partition, une fonction de pénalité est ajoutée, sanctionnant les sauts de note. Cette méthode est utilisée dans la plupart des travaux d’alignement de musique symbolique, dans des versions modifiées, afin notamment de prendre en compte une synchronisation imparfaite entre les différentes voix (au sens où les notes censées être attaquées simultanément n’apparaissent pas rigoureusement en même temps) dans une musique polyphonique [Bloch et Dannenberg, 1985 ; Dannenberg et Mukaino, 1988 ; Puckette et Lippe, 1992 ; Hoshishiba et al., 1996 ; Grubb et Dannenberg, 1994].
Pour tous ces modèles, l’alignement optimal peut être calculé grâce à des techniques de programmation dynamique [Bellman, 2003]. Les systèmes de suivi en temps réel ont de plus recours à des stratégies de seuillage qui limitent le nombre d’hypothèses considérées, afin de réduire la complexité de l’alignement. Ainsi, l’évènement de l’interprétation correspondant à une note future de la partition est souvent recherchée uniquement aux alentours d’une position extrapolée d’après l’alignement courant [Desain et al., 1997 ; Heijink et al., 2000].
La prise en compte des durées de notes constitue une autre variation par rapport aux algorithmes dédiés aux chaines de caractères. Vercoe et Puckette [1985] ; Arifi et al. [2005] utilisent des fonctions de cout explicitement associées à la dispersion des instants d’attaques par rapport à un tempo constant. Pour la comparaison de séquences (et non d’instants) de l’interprétation et de la partition, Baird et al. [1993] ; Izmirli et al. [2002] testent plusieurs hypothèses de tempo. L’alignement est alors effectué par un algorithme glouton : à chaque instant, le tempo conduisant à la plus grande similarité est sélectionné et la position courante dans la partition est augmentée de la valeur correspondante.
Lorsque l’interprétation n’est pas sous forme symbolique, il est tout de même possible d’employer un modèle temporel similaire, au moyen d’une segmentation effectuée par la couche bas-niveau [Müller et al., 2004]. Dans ce système, l’extraction des pics d’une fonction de détection d’attaque sépare l’enregistrement en segments de durées de mêmes ordres que les agrégats, et dont le contenu (en terme de notes) est homogène. L’alignement est alors opéré en maximisant la somme des scores locaux associés aux attaques d’agrégats, de la même façon que précédemment. Néanmoins, le processus de segmentation peut lui-même être sujet à des erreurs, c’est pourquoi peu de travaux exploitent une telle stratégie

Modèles probabilistes à états cachés

L’autre classe de couches de haut niveau couramment utilisées est formée de modèles statistiques à états cachés (qu’on appelle aussi variables latentes). Une variable aléatoire d’état cachée (dont la valeur n’est pas observée) est associée à chaque instant de l’interprétation, caractérisant la position dans la partition. Dans ces modèles, la mesure de similarité locale calculée par la couche de bas niveau est considérée comme la probabilité conditionnelle d’observer le descripteur, sachant l’état caché. Le modèle définit alors les lois de probabilités reliant les variables cachées entre elles. Par rapport aux approches d’alignement de séquences, l’utilisation d’un modèle probabiliste permet une plus grande souplesse dans la forme des contraintes temporelles introduites. De nombreux a priori peuvent être exprimés de manière simple et même être estimés par des stratégies d’apprentissage. En revanche, cela se traduit souvent par un plus grand nombre de paramètres et une complexité supérieure à l’algorithme DTW.
Modèles de Markov cachés :La forme de modèle statistique la plus utilisée pour l’alignement est sans doute le Modèle de Markov Caché (MMC).
Dans ces modèles, chaque agrégat de note est représenté par un nombre d’états fixe [Cano et al., 1999] ou dépendant de sa durée dans la partition [Raphael, 1999 ; Orio, 2002 ; Cont, 2006]. Ces modèles autorisent en général uniquement des transitions entre un agrégat et le suivant dans la partition. Néanmoins, d’autres transitions sont rendues possibles dans les modèles de Orio et Déchelle [2001] ; Schwarz et al. [2004] ; Montecchio et Orio [2008, 2009], vers des états fantômes représentant des erreurs dans l’interprétation.
Les systèmes de suivi de partition en temps réel associent à chaque instant de l’interprétation l’agrégat le plus probable, sachant les observations passées [Orio et Déchelle, 2001 ; Schwarz et al., 2004 ; Pardo et Birmingham, 2005 ; Montecchio et Orio, 2008, 2009].
Raphael [1999] définit un autre critère pour le décodage du modèle, qu’il appelle minimisation de l’erreur de segmentation. Ces alignements peuvent être calculés efficacement par l’algorithme forward décrit par Rabiner [1989]. Afin de réduire davantage la complexité de l’alignement, Cont [2006] fait appel à une méthode de filtrage particulaire [Arulampalam et al., 2002].
Le système de Cano et al. [1999] est présenté comme un MMC, qui effectue l’alignement en recherchant la séquence d’états cachés la plus probable. Cependant, ils modifient l’algorithme de Viterbi [Viterbi, 1967] et combinent aux probabilités de transitions une pénalité liée à la durée passée dans chaque état. De ce fait, ce système peut être vu comme un modèle semi-markovien caché [Yu, 2010], décodé par une méthode approchée.

Évaluation de l’alignement

Dans l’idéal, l’évaluation d’un système d’alignement musique-sur-partition doit prendre en compte l’application visée. En effet, les caractéristiques les plus importantes de l’alignement peuvent varier selon l’utilisation finale. Prenons l’exemple de la tâche de séparation de sources informée, dont le but est de reconstituer les signaux provenant des différents instruments présents sur un enregistrement sonore, avec l’aide de la partition. Dans ce cas, il est important que les agrégats associés aux trames du signal contiennent les notes effectivement présentes et jouées par les bons instruments. Il n’est par contre pas forcément nécessaire que la position détectée dans la partition soit la bonne. En effet, si la partition comporte plusieurs répétitions du même agrégat, la détection d’une mauvaise instance de cet agrégat ne nuit pas en général à la séparation de sources.
D’autre part, pour une application de visualisation de la partition en phase avec l’enregistrement, il est important que la position détectée dans la partition ne soit pas trop éloignée de la position réelle. Notons qu’une grande précision n’est pas forcément indispensable, puisque le fragment de partition affiché doit rester assez large pour permettre un certain confort de lecture.
Les exemples précédents mettent en évidence deux visions possibles de l’alignement musique sur partition. Le premier point de vue consiste à le traiter comme une tâche de classification des trames audio en agrégats. Dans ce cadre, l’évaluation est effectuée trame à trame, en considérant le cout de chaque mauvaise classification. Dans la seconde perspective, on cherche à localiser dans l’enregistrement les évènements de la partition. Or, ces évènements recherchés sont les frontières entre les agrégats. La tâche d’alignement est alors vue comme un problème de segmentation de l’enregistrement en différents agrégats et l’évaluation mesure la précision temporelle de cette segmentation.
Les évaluations MIREX [MIR, 2010] (pour Music Information Retrieval Evaluation eX-change) constituent à notre connaissance la seule campagne d’évaluation objective d’alignement musique sur partition. La tâche évaluée est l’alignement en ligne, car l’application visée est le suivi d’une interprétation en temps réel en vue de l’interaction d’une machine avec les musiciens. La vision adoptée est alors le point de vue segmentation. Un certain nombre de mesures sont proposées par Cont et al. [2007] pour cette évaluation, dont certaines sont spécifiques aux systèmes temps-réel (comme la latence).

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Introduction générale 
1.1 L’Indexation automatique de fichiers musicaux 
1.1.1 Contexte : grandes bibliothèques de documents multimédia
1.1.2 Exploitation de la partition pour l’analyse des contenus musicaux
1.2 L’Alignement musique-sur-partition
1.2.1 Qu’est-ce que l’alignement musique-sur-partition ?
1.2.2 Musique sous forme symbolique ou enregistrement sonore
1.2.3 Alignement hors ligne, en ligne ou temps réel
1.2.4 Applications possibles
1.3 Problématique et contributions de cette thèse
1.3.1 Propriétés souhaitées d’un système d’alignement
1.3.2 Contributions
2 Alignement musique-sur-partition : introduction et état de l’art 
2.1 Structure d’un système d’alignement 
2.1.1 Prise en compte de la partition
2.1.2 Représentation d’une partition polyphonique
2.1.3 Principe général d’un système d’alignement temporel
2.2 Paramétrisations de l’audio (couche de bas niveau)
2.2.1 Information de hauteur des notes
2.2.2 Détection d’attaques
2.2.3 Descripteur de tempo : le tempogramme
2.3 Modèles temporels (couche de haut niveau) 
2.3.1 Méthodes d’alignement de séquences
2.3.2 Modèles probabilistes à états cachés
2.3.3 Points d’ancrages et passes multiples
2.4 Évaluation de l’alignement
2.4.1 Métrique de classification
2.4.2 Métriques de segmentation
2.4.3 Évaluation subjective
2.5 Bases de données 
2.5.1 Corpus MAPS
2.5.2 Corpus RWC-pop
2.5.3 Base d’apprentissage et base de test
2.6 Conclusion
3 Modèles graphiques pour l’alignement 
3.1 Modèles graphiques 
3.1.1 Définition
3.1.2 Réseaux bayésiens
3.1.3 Champs de Markov
3.2 Alignement temporel par réseaux bayésiens dynamiques (RBD) 
3.2.1 Réseaux bayésiens dynamiques : définition
3.2.2 Alignement par réseau bayésien dynamique
3.3 Champs aléatoires conditionnels (CRF) 
3.3.1 Définition
3.3.2 Les CRF comme généralisation des RBD pour l’alignement
3.3.3 Propriétés des CRF et avantages sur les RBD pour l’alignement
3.4 Modélisation des durées dans les modèles CRF 
3.4.1 Transitions markoviennes
3.4.2 Transitions semi-markoviennes
3.4.3 Extension : prise en compte du tempo
3.5 Conclusion
4 Présentation de nos modèles d’alignement par CRF 
4.1 Fonctions de transition utilisées 
4.1.1 Modèle markovien (MCRF)
4.1.2 Modèle semi-markovien (SMCRF)
4.1.3 Modèle à tempo caché (HTCRF)
4.2 Modèle d’observation 
4.2.1 Attributs d’agrégat
4.2.2 Attribut d’attaque
4.2.3 Attribut de tempo
4.3 Décodage au sens du maximum a posteriori 
4.3.1 Algorithme de Viterbi
4.3.2 Complexité du décodage du modèle HTCRF
4.3.3 Modèle SMCRF : Complexité
4.3.4 Complexité du modèle MCRF
4.4 Expériences 
4.4.1 Paramètres utilisés
4.4.2 Résultats et discussion
4.5 Conclusion 
5 Optimisation du Modèle d’observation 
5.1 Formulation générale de l’attribut d’agrégat 
5.1.1 Définition
5.1.2 Lien avec un modèle génératif
5.1.3 Distances utilisées
5.2 Représentations et attributs courants 
5.2.1 Chromagramme
5.2.2 Semigramme
5.2.3 Spectrogramme
5.2.4 Réglage du paramètre de bruit
5.2.5 Résultats d’alignement
5.3 Apprentissage automatique par minimum de divergence 
5.3.1 Définition
5.3.2 Résolution
5.3.3 Influence sur l’alignement par un modèle simple
5.4 Apprentissage discriminatif par maximum de vraisemblance (MV)
5.4.1 Formulation
5.4.2 Calcul des paramètres optimaux
5.4.3 Matrices estimées
5.4.4 Expérience d’alignement
5.5 Application aux modèles d’alignement par CRF 
5.5.1 Modèle MCRF
5.5.2 Modèles SMCRF
5.5.3 Modèles HTCRF
5.6 Conclusion
6 L’Alignement dans le monde réel : améliorations pratiques 
6.1 Robustesse aux changements de structure musicale 
6.1.1 Modification de la fonction de transitions
6.1.2 Influence sur la précision d’alignement
6.2 Diminution de la complexité du décodage par élagage hiérarchique
6.2.1 Principe : utilisation d’une structure hiérarchique
6.2.2 Déroulement de l’algorithme
6.2.3 Variante pour partition parfaite
6.2.4 Modèles de niveaux supérieurs
6.2.5 Expériences
6.3 Considérations de scalabilité
6.3.1 Alignement rapide à un niveau grossier
6.3.2 Compromis précision/complexité
6.4 Conclusion 
Conclusion 
Bibliographie

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *