• Aucun résultat trouvé

1.3. Méthodes existantes

1.3.5. Modélisations structurelles et syntaxiques

Afin de formaliser de manière rigoureuse la notation musicale, certains auteurs ont proposé des méthodologies fondées sur des grammaires. Cette approche se justifie amplement, car beaucoup

Principales méthodes de lecture automatique de partitions musicales d'informations sont véhiculées par les relations spatiales entre les objets musicaux : notes constituées de primitives qui satisfont à des règles d'assemblage, interactions graphiques contraignant les positions relatives de certaines classes de symboles, comme la position d'une altération ou d'un point par rapport à la note.

Andronico a proposé le premier une formalisation grammaticale, celle-ci étant composée de deux niveaux [Andronico et al. 82]. Le haut niveau concerne l'organisation générale de la notation musicale (séquences de portées, position de la clé, de l'armure, de la signature temporelle). La grammaire de bas niveau décrit la structure des symboles, et elle est utilisée pour leur reconnaissance. Cinq opérateurs de position (au-dessus, au-dessous, à droite, au-dessus à droite, au- dessus à gauche) permettent d'établir les liens entre les terminaux et les non-terminaux. Les terminaux sont les têtes de note, noires et blanches, et les segments orientés.

Fahmy propose une grammaire de graphes attribués [Fahmy, Blostein 91], les graphes se prêtant bien à la manipulation d'informations 2D. L'objectif n'est pas de reconnaître les symboles, mais de reconstituer l'interprétation de haut niveau à partir des primitives reconnues. Un nœud du graphe représente une primitive ou un symbole, et un arc un lien sémantique entre deux primitives. Un mécanisme de réécriture permet de passer du graphe initial composé de nœuds isolés (les primitives reconnues), au graphe final, représentatif du contenu sémantique de la partition (par exemple une note, avec sa hauteur et sa durée). Ce passage d'un graphe à un nouveau graphe, reflétant un plus haut niveau de compréhension, se fait par des règles de production, modélisant la connaissance a priori. Elles sont formées de :

− un prédicat P définissant les conditions d'application de la règle,

− une transformation T sur le graphe permettant de générer le nouveau graphe, − une fonction F de calcul des nouveaux attributs.

Le système est séquencé en trois passes : la première établit les liens potentiellement intéressants, la seconde supprime des associations inintéressantes ou conflictuelles, la troisième incorpore la sémantique dans les attributs des associations restantes, et supprime les nœuds inutilisés. Le nombre de nœuds diminue donc progressivement, et le contenu informatif est mémorisé dans les attributs. L'interprétation finale est ainsi obtenue. Il faut néanmoins remarquer que la méthode suppose que toutes les primitives sont bien segmentées et parfaitement reconnues.

Baumann a également proposé ce type de grammaire [Baumann, 95], en sortie d'un module de classification qui produit trois hypothèses de reconnaissance par objet segmenté. Il y a donc une certaine prise en compte de l'incertitude sur la classe des primitives. L'auteur avance en conclusion deux améliorations : la possibilité de traiter plusieurs configurations en parallèle, avec des coefficients de confiance qui permettront de sélectionner la meilleure, et l'incorporation de critères sémantiques (probablement ce que nous appelons dans ce mémoire critère syntaxique par opposition à critère graphique).

Constatant également la nécessité de gérer l'ambiguïté de classification, Fahmy et Blostein ont étendu leur méthodologie [Fahmy, Blostein 98]. Le classifieur peut cette fois produire plusieurs hypothèses de reconnaissance. Celles-ci sont toutes représentées dans les nœuds initiaux du graphe, mais reliées par un lien d'exclusion. La grammaire de graphes est cette fois utilisée, non seulement

Chapitre 1

pour restituer la sémantique, mais aussi pour réduire l'incertitude. Le résultat du graphe consiste en une ou plusieurs interprétations possibles. Deux aspects sont très intéressants dans la méthodologie présentée : d'une part l'ambiguïté est préservée de bout en bout, d'autre part le modèle est hiérarchique : les deux premiers niveaux de la grammaire sont relatifs à des relations binaires (associer un objet à une mesure, associer un crochet à une hampe, etc.), le dernier exprime une relation d'ordre supérieur (le nombre de temps totalisés par tous les symboles de la mesure). Certaines limitations sont cependant à noter : les contraintes formalisées sont toutes strictes et sont surtout limitées aux aspects graphiques (ainsi, la cohérence syntaxique des altérations n'est pas modélisée), la segmentation est toujours supposée parfaite. Les auteurs soulignent en conclusion l'intérêt qu'il y aurait à introduire un paramètre de confiance sur l'identité des primitives, et certaines contraintes souples de la notation musicale.

Coüasnon propose une grammaire qui cette fois contrôle tout le processus de reconnaissance, y compris la segmentation, jugée impossible à réaliser parfaitement en l'absence d'informations contextuelles [Coüasnon 96b]. La grammaire est composée d'une partie graphique qui permet de reconnaître les notes par la description de leur structure et du positionnement relatif de leurs attributs (altérations, points, signes d'attaque), et d'une partie syntaxique, pour la reconnaissance de tous les symboles qui se rattachent à une voix. Une grande différence par rapport aux approches classiques est que l'analyseur associé à la grammaire permet de modifier la structure de données analysée, pour introduire le contexte dans la phase de segmentation [Coüasnon, Camillerapp 94]. Supposons par exemple le cas de deux altérations qui se touchent : elles correspondent alors à une composante connexe non reconnue. En prenant en compte le contexte (la présence d'une tête de note), il est possible de deviner la présence d'une altération au niveau de la composante non reconnue, et, sous cette hypothèse, de tenter une segmentation adaptée. Les nouvelles matrices de pixels sont alors reproposées au classifieur, et, en cas de succès, elles remplacent la matrice de pixels initiale dans la structure de données [Coüasnon 96a]. Les erreurs de segmentation peuvent donc être corrigées. La partie syntaxique de la grammaire permet en outre de détecter des erreurs de reconnaissance, en vérifiant la cohérence des durées par rapport à l'alignement vertical dans l'image (partitions d'orchestre) [Coüasnon, Rétif 95]. Coüasnon note l'importance du classifieur, qui doit être performant. Le classifieur utilisé étant insuffisant, la méthodologie n'a pas pu être complètement testée [Coüasnon 96b]. Cette démarche est très intéressante pour la résolution des problèmes de segmentation, mais elle ne semble pas gérer d'autres sources d'ambiguïté, comme la variabilité des symboles. D'autre part, les critères utilisés pour la reconnaissance restent locaux et restreints à l'aspect graphique.

Bainbridge et Bell proposent également la définition d'une grammaire, pour la reconstruction des notes et la restitution du contenu sémantique [Bainbridge, Bell 96] [Bainbridge, Bell 03]. La volonté affichée est de réduire la complexité des systèmes présentés, en limitant la grammaire à l'assemblage des primitives, et en adaptant une grammaire DCG (Definite Clause Grammar) au traitement d'informations 2D. Le résultat de l'analyse est un ensemble de graphes, qui décrivent les symboles reconstitués, et qui sont transmis au module d'analyse sémantique. Cette seconde étape vise à établir des liens entre les objets, d'après leurs relations spatiales, et à restituer le contenu informatif de l'image par des procédures adaptées : hauteur de la note en appliquant la clé, l'armure et les altérations accidentelles, durée des symboles, synchronisation des voix, etc.

Principales méthodes de lecture automatique de partitions musicales

Conclusion

Toutes ces approches, fondées sur des grammaires, modélisent essentiellement les règles graphiques décrivant la structure des notes, le positionnement de leurs attributs. Elles permettent également de reconstituer le contenu sémantique de la partition. Les limitations suivantes ont été constatées : d'une part, les décisions prises durant les étapes premières de l'application d'une grammaire reposent sur des informations très locales, limitant l'intelligence qui peut être appliquée [Watkins 96] ; d'autre part, les règles syntaxiques impliquant de nombreux symboles ne sont pas modélisées (la vérification ultime de la métrique exceptée), probablement à cause de leur caractère plus global et de leur plus grande flexibilité.