115

Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Embed Size (px)

Citation preview

Page 1: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Université de Liège

Faculté des Sciences Appliquées

Travail de �n d'études

Caractérisation d'un air de musique etreconnaissance avec un son dans une base de données

Julien Osmalskyj

Promoteurs

Professeur M. Vandroogenbroeck

Professeur J.-J. Embrechts

Travail de �n d'études réalisé en vue de l'obtention du grade deMaster en Sciences Informatiques

2010 - 2011

Page 2: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

La version numérique de ce document, disponible sur le CDd'accompagnement, propose des liens interractifs permettant un accès direct au

contenu multimédia associé.

Page 3: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Résumé

Ce document traite du problème di�cile de la reconnaissance de musique.Nous présentons une méthode e�cace d'identi�cation de pièces musicales à par-tir d'extraits joués à la guitare, ou à l'aide d'autres instruments. La méthodeprésentée utilise une description des pistes audio basée sur les accords les cons-tituant. À cette �n, nous avons utilisé le descripteur connu sous le nom de PitchClass Pro�le (PCP). Pour démontrer la robustesse du PCP, un algorithme dereconnaissance d'accords utilisant des techniques d'apprentissage automatiquea été créé. Les résultats permettent de démontrer que le PCP est capable dereconnaître des accords, quels que soient les instruments utilisés.

Des pistes musicales sont donc identi�ées par une liste d'accords et un al-gorithme de recherche de correspondances dans une base de données a étédéveloppé. Le système reçoit un extrait musical joué à la guitare ou par unautre instrument, et renvoie le nom du morceau identi�é. Les résultats obtenusdémontrent qu'une représentation basée sur des accords est indépendante del'instrument utilisé. À l'inverse d'une application existante telle que Shazam c©,le système est capable de reconnaître des extraits totalement inédits et di�érentsdes pistes contenues dans une base de données, ce qui en fait une applicationnovatrice.

2

Page 4: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Remerciements

Je souhaite adresser ici mes remerciements aux personnes qui m'ont apportéleur aide et qui ont ainsi contribué à l'élaboration de ce travail.

Je tiens à remercier tout particulièrement le Professeur Embrechts et leProfesseur Vandroogenbroeck pour leur soutien et leur aide avisée tout aulong de mes recherches. Je remercie également Monsieur Sébastien Piérard,

chercheur, qui s'est toujours montré à l'écoute et m'a été d'une aide précieusedans la réalisation de ce travail.

Mes remerciements s'adressent également à Madame Bastin, professeur demathématique, qui a accepté de répondre avec gentilesse à mes questions. J'ex-prime ma gratitude à Monsieur AngelCalderon Jimenez pour l'aide techniquequ'il m'a apportée lors de mes enregistrements en chambre sourde.

Je remercie aussi Maroussia Osmalskyj, Maxime Michaluk et PhilippeEloy pour leur aide lors de la réalisation de mes tests. Ils m'ont permis d'élargirmon champ d'action au piano, au violon et à l'accordéon.

En�n, je n'oublie pas mes parents et je les remercie pour leur soutien indé-fectible tout au long de cette année et tout au long de mes études.

Julien OsmalskyjLiège

18 mai 2011

3

Page 5: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Table des matières

1 Introduction Générale 8

2 État de l'Art 12

2.1 Traitement de contenu musical : Introduction . . . . . . . . . . . 12

2.2 Recherche d'informations musicales (MIR) . . . . . . . . . . . . . 13

2.3 Descripteurs audio . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3.1 Extraction de descripteurs . . . . . . . . . . . . . . . . . . 16

2.3.2 Descripteurs d'accords . . . . . . . . . . . . . . . . . . . . 17

2.4 Reconnaissance d'extraits musicaux . . . . . . . . . . . . . . . . . 18

3 Reconnaissance d'accords 20

3.1 Pourquoi reconnaître des accords ? . . . . . . . . . . . . . . . . . 20

3.2 Descripteur d'accord : le Pitch Class Pro�le . . . . . . . . . . . . 22

3.2.1 Dé�nition . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.2 Normalisation . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.3 Adaptation du PCP . . . . . . . . . . . . . . . . . . . . . 24

3.3 Algorithmes de reconnaissance . . . . . . . . . . . . . . . . . . . 26

3.3.1 Méthode naïve : Dé�nition d'un accord . . . . . . . . . . 27

4

Page 6: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

TABLE DES MATIÈRES 5

3.3.2 Apprentissage automatique . . . . . . . . . . . . . . . . . 28

3.3.2.1 Réseau de neurones . . . . . . . . . . . . . . . . 28

3.3.2.2 Plus proches voisins (KNN) . . . . . . . . . . . . 30

3.4 Base de données d'accords . . . . . . . . . . . . . . . . . . . . . . 30

3.4.1 Premier ensemble . . . . . . . . . . . . . . . . . . . . . . . 32

3.4.2 Deuxième ensemble . . . . . . . . . . . . . . . . . . . . . . 33

3.5 Expériences et Résultats . . . . . . . . . . . . . . . . . . . . . . . 34

3.5.1 Application naïve de la dé�nition d'un accord . . . . . . . 34

3.5.2 Détermination de l'ensemble d'apprentissage optimal . . . 35

3.5.3 Validation de la base de données . . . . . . . . . . . . . . 37

3.5.4 Reconnaissance d'autres instruments . . . . . . . . . . . . 37

3.5.5 Annotation de morceaux complets . . . . . . . . . . . . . 39

3.5.6 Performances algorithmiques . . . . . . . . . . . . . . . . 41

3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 Reconnaissance d'extraits musicaux 44

4.1 Descripteurs d'extraits . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1.1 Spectre PCP . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.1.1.1 Descripteur . . . . . . . . . . . . . . . . . . . . . 47

4.1.1.2 Algorithme de reconnaissance naïf . . . . . . . . 48

4.1.1.3 Détections de pics . . . . . . . . . . . . . . . . . 50

4.1.1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . 54

4.1.2 Utilisation du détecteur d'accords . . . . . . . . . . . . . 54

4.1.2.1 Descripteur . . . . . . . . . . . . . . . . . . . . . 54

4.1.2.2 Mesure de similarité . . . . . . . . . . . . . . . . 56

4.2 Recherche de correspondances . . . . . . . . . . . . . . . . . . . 58

4.2.1 Fenêtre glissante . . . . . . . . . . . . . . . . . . . . . . . 58

4.2.2 Fenêtres aléatoires . . . . . . . . . . . . . . . . . . . . . . 59

4.2.3 Méthodes de clustering . . . . . . . . . . . . . . . . . . . 60

4.3 Bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Page 7: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

TABLE DES MATIÈRES 6

4.3.1 Pistes de guitare . . . . . . . . . . . . . . . . . . . . . . . 61

4.3.2 Pistes de karaoké . . . . . . . . . . . . . . . . . . . . . . . 62

4.3.3 Pistes originales contenant de la voix . . . . . . . . . . . . 62

4.3.4 Échantillons de test . . . . . . . . . . . . . . . . . . . . . 63

4.4 Expériences et résultats . . . . . . . . . . . . . . . . . . . . . . . 63

4.4.1 Extraits joués à la guitare . . . . . . . . . . . . . . . . . . 64

4.4.2 Extraits joués à l'accordéon . . . . . . . . . . . . . . . . . 67

4.4.3 Extraits joués au piano . . . . . . . . . . . . . . . . . . . 70

4.4.4 Base de données Karaoké . . . . . . . . . . . . . . . . . . 72

4.4.5 Base de données contenant de la voix . . . . . . . . . . . 74

4.4.5.1 Guitare et pistes originales . . . . . . . . . . . . 74

4.4.5.2 Pistes originales . . . . . . . . . . . . . . . . . . 75

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5 Conclusion Générale et Perspectives 79

Annexe A Notions Musicales 83

A.1 Dé�nitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

A.2 Gammes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

A.2.1 Gamme chromatique . . . . . . . . . . . . . . . . . . . . . 87

A.2.2 Gammes diatoniques . . . . . . . . . . . . . . . . . . . . . 87

A.3 Accords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

A.3.1 Accord majeur . . . . . . . . . . . . . . . . . . . . . . . . 90

A.3.2 Accord mineur . . . . . . . . . . . . . . . . . . . . . . . . 90

Annexe B Apprentissage automatique 92

B.1 Réseau de neurones arti�ciels . . . . . . . . . . . . . . . . . . . . 93

B.1.1 Neurone formel . . . . . . . . . . . . . . . . . . . . . . . . 94

B.1.2 Architecture en réseau . . . . . . . . . . . . . . . . . . . . 95

B.1.3 Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . 95

B.2 Plus proches voisins : K-NN . . . . . . . . . . . . . . . . . . . . . 97

B.3 Méthodes de validation . . . . . . . . . . . . . . . . . . . . . . . . 98

Page 8: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

TABLE DES MATIÈRES 7

Annexe C Programme réalisé 99

Annexe D Article de conférence 102

Page 9: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 1

Introduction Générale

De nos jours, la musique est présente massivement tout autour de nous. Avecl'explosion de l'Internet et des supports multimédias, une quantité importanted'information audio numérique a été rendue disponible par le biais de basesde données publiques : sites Internet, CD, médiathèques, etc. Toutefois, cesdonnées ne sont pas toujours exploitées au mieux. On constate en e�et que larecherche d'une information précise est souvent rendue fastidieuse par la massedes données existantes.

Les techniques classiques de gestion de pistes musicales reposent générale-ment sur l'annotation textuelle et sont assez limitées en ce qui concerne larecherche de documents. En e�et, pour du contenu audio, le nom du compo-siteur, du groupe, l'année de parution etc. ne fournissent qu'une informationlimitée et assez éloignée du contenu musical. De plus, ces techniques d'annota-tion textuelle nécessitent de toute évidence une intervention humaine, ce qui estcoûteux en temps et en ressources.

Pour remédier à ce problème, une discipline connue sous le nom de traitementde contenu musical a vu le jour. Son but est de fournir des moyens permettantd'indexer ou de gérer des documents musicaux en fonction de leur contenu. Àl'inverse des techniques textuelles, la discipline de traitement de contenu mu-sical s'intéresse plus au contenu propre des pistes audio. Ainsi, cette disciplinepréconise plutôt l'indexation basée sur la musique elle même, via l'extraction dedescripteurs utiles et représentatifs du contenu musical.

Il serait donc intéressant de pouvoir identi�er de façon précise un contenumusical sur base de quelques notes jouées, d'une mélodie chantonnée, d'un si�e-ment, ou encore d'un simple rythme. C'est sur ce concept que nous avons choisid'orienter nos recherches, dont le but est la réalisation d'un système de recherche

8

Page 10: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 1. INTRODUCTION GÉNÉRALE 9

de documents musicaux destiné à terme au grand public. Certains systèmes simi-laires existent déjà dans la littérature, comme le logiciel Shazam [27, 28] qui o�rela possibilité de retrouver avec une grande précision une piste musicale à partird'un extrait fortement bruité (par exemple en voiture, ou dans un restaurant),par l'intermédiaire d'un téléphone portable.

L'objectif ultime de notre recherche est de concevoir un système de recon-naissance d'extraits musicaux plus général. Toutefois, il ne s'agit pas ici dereproduire un système similaire aux applications commerciales existantes tellesque Shazam, Relatable, ou d'autres. Shazam, par exemple, a pour but de recon-naître des extraits musicaux tels qu'ils sont stockés dans une base de données.Si l'on envoie à Shazam un extrait, éventuellement bruité, d'une version partic-ulière du morceau Hotel California du groupe The Eagles, l'algorithme renvoiele nom de la piste, l'album, l'année de parution et d'autres informations utiles.Si l'on envoie à Shazam une version di�érente du même morceau, il va proba-blement renvoyer les informations relatives à cette nouvelle version. Par contre,si l'on envoie à Shazam une version de Hotel California jouée à la guitare, ou aupiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dansla base de données centrale, l'algorithme ne reconnaît plus rien. Shazam estdonc particulièrement adapté pour retrouver des morceaux existants, mais nepermet pas de reconnaître des extraits inédits. À cette �n, le système utilise unalgorithme basé sur une représentation spectrale des morceaux.

Notre objectif est de faire reconnaître de tels extraits inédits. L'idée est d'en-voyer à un algorithme de reconnaissance un extrait joué à la guitare, au piano,à l'accordéon, ou joué par d'autres instruments, d'un morceau présent dans unebase de données centrale. Le morceau stocké dans la base de données est bien en-tendu enregistré dans une version unique, jouée par exemple à la guitare. Notrebut est alors de concevoir un algorithme capable de reconnaître une nouvelleversion du morceau, similaire à celle de la base de données en terme de con-tenu, mais di�érente sur �l'aspect extérieur� (l'instrument, le rythme, etc.) Untel système nécessite donc une approche di�érente, basée sur des informationsrelatives au contenu d'un morceau, indépendantes de certaines caractéristiquestelles que le rythme et l'instrument. Un exemple d'application de notre systèmepourrait par exemple être la reconnaissance de morceaux joués en concert parun groupe. En e�et, une version �live� est souvent inédite et di�érente d'uneversion studio, contenue dans une base de données.

Mettre en ÷uvre un tel système n'est pas une tâche facile. Il faut en e�ettrouver un moyen de représenter des pistes audio de sorte qu'elles soient in-dépendantes de l'instrument utilisé, du rythme ainsi que de la dynamique d'unmorceau. Il faut ensuite utiliser cette description pour concevoir un moteur decomparaison permettant d'identi�er des extraits musicaux. Nous sommes par-venus à concevoir un tel système et à en faire une application concrète. C'est ceque nous allons décrire dans ce document.

Ce travail de recherche s'attardera d'une part à la description de contenusaudio musicaux, et d'autre part à l'exploitation de ces données dans un systèmede recherche. Notre travail est donc constitué de deux modules bien distincts.Le premier consiste à extraire une bonne description à partir de pistes audio.Sur base du signal audio brut, il faut identi�er une description idéale compacte

Page 11: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 1. INTRODUCTION GÉNÉRALE 10

Figure 1.1 � Système de recherches de pistes audio sur base d'un court extrait.

et représentative des caractéristiques désirées. Nous avons choisi d'utiliser undescripteur basé sur des accords.

Le deuxième module se constitue d'un algorithme de recherche dans unebase de données. Il faut alors identi�er une mesure permettant de comparerun extrait inédit à un extrait d'une base de données. La Figure 1.1 montre undiagramme représentant le système conçu.

Lors d'une recherche, la requête soumise par l'utilisateur subit une transcrip-tion qui extrait les accords constituant l'enregistrement audio. Un algorithmede comparaison juge ensuite de la similarité existant entre l'extrait soumis etles pistes musicales de la base de données, via leurs descripteurs. Les résul-tats obtenus permettent ensuite d'établir une liste de titres ordonnés selon leurressemblance à la requête.

A�n de faciliter au lecteur non musicien la compréhension des notions musi-cales abordées dans ce document, sans toutefois avoir la prétention de lui donnerun cours de théorie musicale, nous lui recommandons la lecture de l'Annexe A.

De même, l'Annexe B propose une introduction théorique des notions d'ap-prentissage automatique utilisées dans le cadre de nos recherches. Nous recom-mandons la lecture de ce document au lecteur non familiarisé avec l'apprentis-sage automatique.

Le Chapitre 2 présente un historique des travaux e�ectués dans le domainede la recherche de contenu musical. Dans le chapitre suivant, nous présentonsle module d'extraction de descripteurs de notre système. Nous y décrivons lestechniques et descripteurs utilisés. A�n de véri�er la robustesse du descripteur�nal choisi, nous avons développé un système de reconnaissance d'accords musi-caux. Le Chapitre 3 décrit l'algorithme conçu. Ensuite, il faut encore concevoirun algorithme permettant d'exploiter le descripteur a�n d'identi�er un extraitmusical. Le Chapitre 4 décrit la méthode mise en ÷uvre pour parvenir à un tel

Page 12: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 1. INTRODUCTION GÉNÉRALE 11

résultat. Nous y présentons en outre les expériences et résultats obtenus. En-�n le Chapitre 5 présente les conclusions et perspectives o�ertes par le travailréalisé.

Page 13: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2

État de l'Art

L'objectif de notre recherche est de concevoir un système capable de recon-naître des extraits musicaux joués par des suites d'accords avec une guitare oud'autres instruments. Des recherches ont déjà e�ectuées dans ce domaine, enparticulier de la reconnaissance d'accords et d'extraits musicaux. Nous avonsétudié les techniques utilisées dans la littérature a�n d'orienter au mieux nosrecherches. Dans ce chapitre, nous présentons l'historique des travaux e�ectués.

2.1 Traitement de contenu musical : Introduction

À l'heure actuelle, on a l'habitude de décrire une chanson, un artiste ouune autre pièce musicale en utilisant des informations textuelles. Imaginons parexemple que nous visitions un magasin de CD. La plupart du temps, on choisitd'acheter un CD spéci�que en se basant sur divers aspects tels que le genre,l'instrumentation, l'artiste, le groupe, etc. Cette information est généralementsous forme textuelle. Toutefois, il arrive que l'on demande au vendeur d'écouterune piste particulière, ce qui peut in�uencer notre décision d'acheter le CDou pas. Cette dernière information est souvent bien plus intéressante que lesdonnées textuelles, car elle nous permet de juger la musique en fonction desdivers aspects de son contenu musical. Mais qu'est ce que le contenu musical ?

Le mot contenu est dé�ni comme �les idées qui sont contenues dans un texte,une conversation ou un �lm� [2]. Appliqué à une pièce musicale, ce concept peutêtre compris comme l'information implicite relative à cette pièce et représentéepar la pièce musicale elle même. Par exemple, le rythme, la mélodie ou les

12

Page 14: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2. ÉTAT DE L'ART 13

propriétés instrumentales d'une piste musicale représentent le contenu d'unepiste.

Les informations extraites de pistes musicales par des êtres humains dépen-dent de l'appréciation de la personne qui les écoute. En e�et, certaines personnesclasseraient une chanson dans la section �Rock'n Roll� alors que d'autres pour-raient la classi�er dans la section �Blues� ou �Country�. Les informations varientdonc selon l'auditeur de la piste. Il serait donc intéressant d'avoir un système ca-pable d'extraire des informations relatives au contenu musical, a�n de pouvoir,par exemple, associer automatiquement un style à une piste. On peut imaginerde nombreuses applications : recommandation de musique, génération de listede lecture basée sur les préférences des utilisateurs, requêtes par chantonnementplutôt que par des informations textuelles, etc.

Avec la croissance d'Internet et des supports numériques, ces dernières annéesont vu le déploiement et la mise à disponibilité d'une grande quantité de donnéesmultimédia. Dès lors, le développement d'outils permettant de traiter automa-tiquement ces données semble parfaitement pertinent. La recherche textuelle estactuellement considérée comme un domaine de recherche mature, mais ce do-maine est limité à un sous-ensemble restreint de l'information disponible dansle monde. Il y a donc un intérêt croissant pour la recherche de documents audiobasée sur des informations non textuelles. Le champ de recherche incluant cessystèmes est connu sous le nom de MIR (Music Information Retrieval), c'est-à-dire Recherche d'informations musicales. L'objectif de MIR est de décrire toutaspect relatif au contenu musical d'une pièce. Dans ce chapitre, nous décrivonsle travail réalisé dans le domaine MIR relatif à nos recherches.

2.2 Recherche d'informations musicales (MIR)

Les pionniers de la discipline MIR sont Kassler (1966) et Lincoln (1967).D'après eux, la recherche d'information musicale peut être dé�nie comme �latâche d'extraire d'une large quantité de données, des portions de ces donnéesqui respectent certaines propriétés musicales� [22]. Ils démontrent trois idéesqui devraient être les objectifs de la discipline MIR : (1) l'élimination de latranscription manuelle de musique, (2) la création d'un langage e�cace pourreprésenter et manipuler la musique et (3) des moyens économiques d'imprimerde la musique. Une autre dé�nition de MIR est donnée par Gunderson [17] : �Ladiscipline MIR est un champ de recherche dédié à la recherche et la classi�cationdans des données musicales - la plupart du temps dans leur représentation audio,mais également sous forme de données MIDI ou de métadonnées�.

MIR est donc une science inter-disciplinaire. Fingerhut et Donin [10] pro-posent une carte représentant toutes les disciplines relatives à cette science.Enric Gauss [15] propose une version simpli�ée de cette carte. Cette dernièreest montrée en Figure 2.1 . À gauche, on peut observer le type d'informa-tions disponibles et sur la droite, on observe les disciplines qui sont relativesaux données pour chaque niveau d'abstraction. On peut ainsi observer que MIRs'intéresse à la source de la musique produite par le musicien. De là, elle s'in-

Page 15: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2. ÉTAT DE L'ART 14

Figure 2.1 � Représentation de quelques disciplines relatives à MIR.

téresse au stockage de ces données audio et �nalement, à l'information contenuedans l'audio.

Quelques possibilités de MIR sont décrites ci-dessous. On peut constater leurrapport direct avec la carte présentée dans la Figure 2.1.

� Transcription de musique : L'idée est de transcrire automatiquement unepartition à partir d'une piste audio enregistrée.

� Classi�cation de musique : Il s'agit de classer automatiquement une col-lection de pistes audio par genre, artiste ou encore par instrumentalisationdirectement à partir de �chiers audio, et non pas à partir d'informationstextuelles. Un exemple d'une telle application est décrit dans [1].

� Génération de liste de lecture : Un tel système devrait être capable deproposer une liste de pistes similaires en se basant, par exemple, sur lespréférences de l'utilisateur. Un exemple d'une telle application est le pro-gramme Mirage 1, inclus dans le lecteur multimédia Banshee 2. D'autressystèmes sont également décrits dans [11, 30].

� Navigation dans une longue pièce musicale divisée en thèmes : par exemple,une longue pièce de musique classique.

� Reconnaissance de musique : L'idée est de reconnaître une piste en lachantonnant, ou en faisant écouter au système un extrait éventuellementbruité de la chanson originale. Divers systèmes existent, le plus connu étantShazam [28, 27].

� Recommandation de musique : Avec la disponibilité de larges quantitésde �chiers audio sur Internet, de nouveaux systèmes de recommanda-tion émergent des laboratoires de recherche. La plupart de ces systèmes

1. Mirage : http ://hop.at/mirage/2. Banshee : http ://banshee.fm/

Page 16: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2. ÉTAT DE L'ART 15

sont basés sur du �ltrage collaboratif, lui même basé sur des informationsfournies par les utilisateurs. Un exemple d'un tel système est le service deradio en ligne Last.fm 3.

Tous ces systèmes utilisent diverses techniques pour atteindre leur but : desclassi�cateurs par genre, des algorithmes de détection de rythme, des systèmesde reconnaissance d'accords et bien d'autres. Nous décrivons ci-dessous quelquesapplications concrètes utilisant les techniques de la discipline MIR. Il s'agit deprogrammes réels, utilisables en pratique sur un ordinateur.

� Relatable TRM : Un des plus anciens systèmes de reconnaissance demusique. TRM signi�e TRM Recognizes Music. Cette application utilise unmécanisme qui génère une emprunte unique pour un �chier audio. Cetteemprunte est calculée suite à une analyse des propriétés acoustiques du�chier audio. Ce système d'emprunte est utilisé par l'encyclopédie de con-tenu musical Music Brainz 4.

� Shazam : Shazam est une application de reconnaissance de piste audioqui est capable de retrouver le titre d'un extrait musical de 10 secondesenregistré à l'aide d'un téléphone portable. D'après Wang [27, 28], �Shazamest conçu pour être très robuste et est capable de reconnaître un extrait de10 secondes d'audio à travers un téléphone, avec une distorsion sévère, enanalysant les pics spectraux dans le temps�.

� Tuneprint : Tuneprint 5 est un système capable d'écouter et d'identi�er unextrait audio. Il fonctionne sans compression et sans traitement préalablesur les �chiers d'entrée.

Un élément clé pour la réalisation de ces applications est l'utilisation de descrip-teurs adéquats. Ces derniers correspondent aux données extraites des signauxaudio bruts pour faciliter le traitement de l'information. La section suivantedécrit les recherches de la littérature relatives aux descripteurs audio.

2.3 Descripteurs audio

En règle générale, une piste audio de trois minutes contient énormémentd'information. En e�et, à une fréquence d'échantillonnage de 44100Hz et enutilisant un format PCM 16 bits (format standard dans l'industrie audio), untel �chier contiendrait environ huit millions d'échantillons, soit plus de 30Mb dedonnées. Une quantité aussi importante de données rend le stockage, le transfertou la recherche dans une grande base de données quasi impossible. Travailleravec des �chiers audio bruts est donc loin d'être une situation idéale. De plus, ily a énormément de redondances dans ces données non compressées. Ainsi, unechanson complète contient en général des couplets et refrains très similaires quiréapparaissent plusieurs fois au cours du temps. Il est donc nécessaire de trouverune description plus compacte d'un son, plus facile à utiliser et à stocker. C'estce que l'on appelle un descripteur audio.

3. Last.fm : http ://lastfm.com/4. MusicBrainz : http ://musicbrainz.org/5. TunePrint : http ://www.tuneprint.com/

Page 17: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2. ÉTAT DE L'ART 16

Gunderson [17] dé�nit un descripteur audio comme suit : �Un descripteuraudio, parfois appelé une emprunte, est un signal audio réduit à une dimensionplus petite, en général un ensemble de nombres décrivant certains aspects dusignal audio en question�. La plupart des descripteurs audio extraient de l'in-formation utile, représentative de ce qu'un être humain entend, et non pas desbits et bytes propres à un signal donné.

Dans un système MIR, il y a en général une étape de pré-traitement sur lesignal audio avant d'extraire des descripteurs utiles. Ainsi, une application vaen général commencer par extraire des descripteurs de bas niveau (par exem-ple, la transformée de Fourier du signal), puis, sur base de ces descripteurs debas niveau, elle va appliquer un nouveau traitement permettant d'extraire desdescripteurs de plus haut niveau, a�n de les exploiter dans un programme �nal.

Gunderson donne également une propriété intéressante relative au contextelégal d'un descripteur audio. En e�et, on a beaucoup entendu parler ces dernièresannées de la propriété intellectuelle, plus précisément du fameux copyright. Ainsidans de nombreuses législations, l'utilisation de �chiers audio est réglementée.Dès lors, Gunderson suggère qu'un descripteur, pour être correct, doit être des-tructif. �Un descripteur est destructif s'il est impossible de reconstruire le signalaudio original à partir du descripteur� [17]. Un tel destructeur n'est plus sujetau copyright et peut donc être transféré en toute légalité, le rendant par exempleutilisable dans une grande base de données sur un serveur centralisé et disponiblepubliquement.

2.3.1 Extraction de descripteurs

Extraire des descripteurs audio se fait en sélectionnant des informations utilesreprésentatives du contenu d'une piste audio. Le signal original est d'abordsegmenté en plus petits extraits, et les informations utiles sont calculées surbase de ces petits extraits. Ces informations utiles ne contiennent que les donnéesimportantes et les données inutiles sont ainsi éliminées. Le type de descripteursutilisés varie bien entendu d'une application à l'autre. Ainsi une applicationdont l'objectif est de détecter des sons qui contiennent de la trompette ne vapas utiliser les mêmes descripteurs qu'une application destinée à reconnaître unemélodie chantonnée. Dans le premier cas, l'instrument est important quelle quesoit la mélodie tandis que dans le second cas, les notes jouées sont importantes,quels que soient les instruments utilisés.

De nombreux descripteurs existent dans le domaine MIR. Certains sont desdescripteurs de bas niveau tandis que d'autres sont des descripteurs de plushaut niveau. Les descripteurs de haut niveau sont parfois appelés �descripteurshumains� et représentent le contenu d'un son d'une façon similaire à ce que feraitun être humain. En revanche, les descripteurs de bas niveau décrivent un sonpar des caractéristiques plus proches du signal audio. Parmi les descripteurs dehaut niveau, on trouve la tonalité, le tempo, le rythme, la mélodie, etc. Parmiles descripteurs de bas niveau, on peut citer le taux de passage à zéro (zerocrossings rate), qui correspond au nombre de fois que le signal traverse l'axe dutemps, le changement d'amplitude, l'histogramme du signal, sa transformée de

Page 18: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2. ÉTAT DE L'ART 17

Fourier, etc.

2.3.2 Descripteurs d'accords

Étant donné que nous désirons reconnaître des extraits musicaux joués àl'aide d'accords, il semble naturel de tenter d'extraire les accords d'une piècemusicale de façon à pouvoir comparer deux extraits ou deux pistes complètes. Àcette �n, il est nécessaire de trouver des descripteurs permettant de représenterdes accords.

Lee [23] dé�nit un accord comme une suite de notes jouées simultanément.Jouer un accord avec une guitare ou un autre instrument consiste à jouer simul-tanément plusieurs notes, en général trois ou plus. En règle générale, une suited'accords est une bonne représentation de signaux musicaux pour des applica-tions telles que la segmentation de musique, l'identi�cation de musique similaireou encore l'audio thumbnailing [23].

Le descripteur le plus utilisé pour la reconnaissance d'accords est le PitchClass Pro�le (PCP), parfois appelé chromagramme, introduit par Fusjishima en1999 dans [13]. Un PCP est un vecteur de 12 valeurs qui représente l'intensitérelative de chaque demi-ton sur une échelle chromatique standard. Ainsi, le pre-mier élément d'un vecteur PCP donne l'intensité de la note Do (C) au totaldans l'accord. Le PCP a l'avantage de classer chaque note dans une case de sonvecteur sans tenir compte de l'octave à laquelle est jouée une note. Donc, unDo grave sera classé dans la même case qu'un Do aigu, et leurs énergies serontadditionnées. De ce fait, le PCP semble être un descripteur idéal pour représen-ter un accord musical. Pour calculer son descripteur, Fujushima commence partransformer un fragment du son d'entrée en une transformée de Fourier discrète(DFT), puis il applique un traitement permettant d'associer chaque fréquencedu spectre de Fourier à une case du vecteur PCP. Sur base de ce descripteur,Fusjishima a développé un système de reconnaissance d'accords en temps réel enutilisant un algorithme de pattern matching et des modèles d'accords binaires.

Fusjishima fut le premier à introduire un algorithme de reconnaissance d'ac-cords. D'autres ont suivi. Lee [23] a introduit un nouveau vecteur appelé PitchClass Pro�le Amélioré (EPCP : Enhanced PCP). Pour ce faire, il a calculé lespectre du produit harmonique du signal (HPS : Harmonic Product Spectrum)à partir de la transformée de Fourier du signal d'entrée. Ensuite, il a appliqué unalgorithme au HPS a�n d'obtenir un vecteur de 12-éléments similaire au PCPde Fujishima.

Gomez et Herrera [14] ont proposé un système qui extrait automatiquementdes métadonnées tonales, telles que la clé du morceau, la gamme, et de l'infor-mation rythmique directement à partir du �chier audio. Dans leur travail, ilscalculent un vecteur d'attributs bas niveau : le HPCP (Harmonic Pitch ClassPro�le). Ce HPCP est basé sur l'intensité de chaque fréquence associée à unecase d'un vecteur représentant une octave unique, ce qui est semblable au PCPde Fujishima.

Seh et Ellis [26] ont proposé une méthode d'apprentissage statistique pour

Page 19: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2. ÉTAT DE L'ART 18

réaliser un système de segmentation et de reconnaissance d'accords. Ils ont utiliséles Modèles de Markov cachés (HMM : Hidden Markov Models) entraînés parun algorithme de maximisation d'espérance (EM : Expectation Maximization).Ils ont pour cela considéré les étiquettes des accords comme étant des valeurscachées dans l'algorithme EM.

2.4 Reconnaissance d'extraits musicaux

Pour reconnaître un extrait musical, il faut disposer d'une base de donnéesrelativement conséquente et d'un moyen de retrouver l'extrait dans cette basede données. Cette base de données peut être potentiellement énorme, et il fautdonc imaginer des techniques de recherche e�caces pour retrouver l'informationrecherchée dans une telle masse de données.

La plupart des algorithmes mis en ÷uvre dans la littérature pour retrou-ver des extraits musicaux utilisent des techniques d'emprunte (�ngerprinting).Ces algorithmes ont principalement pour but de reconnaître de petits extraitsmusicaux, éventuellement bruités et compressés.

Le système de reconnaissance le plus connu et le plus répandu est le logicielShazam [27, 28], qui permet de reconnaître un extrait enregistré à l'aide d'untéléphone portable. Le signal est donc fortement dégradé à cause de la mauvaisequalité des micros de téléphones portables. Le signal est ensuite envoyé via leréseau à un serveur central qui recherche une correspondance dans une base dedonnées de plusieurs millions de pistes. Le serveur renvoie alors les informationsrelatives à la piste concernée au téléphone de l'utilisateur.

À cette �n, une emprunte est calculée pour chaque piste de la base de don-nées. Une telle emprunte doit être reproductible, et doit donc être identique quelque soit l'environnement dans lequel elle est calculée. Ainsi, l'emprunte calculéesur un extrait bruité doit correspondre à une emprunte calculée sur une pistede la base de données. L'emprunte est calculée sur base d'un spectrogrammed'une piste musicale. Certains pics du spectrogramme sont mis en évidence etutilisés pour calculer une emprunte du morceau. Le système utilise ensuite unalgorithme basé sur une table de hachage pour retrouver une ou plusieurs corres-pondances. Si plusieurs correspondances sont trouvées, un traitement ultérieurest appliqué a�n d'extraire la meilleure correspondance.

D'autres services similaires ont également été développés. En Espagne, Musi-wave a développé un service similaire à Shazam permettant d'identi�er despistes musicales grâce à un algorithme développé pour Phillips par Haitsma etKalker [19]. Cet algorithme calcule l'emprunte d'une piste audio en découpant lespectre en bandes de fréquences indépendantes. Une sous-emprunte est ensuitecalculée pour chaque bande fréquentielle et toutes les empruntes sont combinéespour calculer une emprunte globale.

La plupart des méthodes existantes se basent directement sur le contenuspectral du signal audio. D'autres recherches e�ectuées dans le domaines sontdécrites dans [4, 12, 21, 25].

Page 20: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 2. ÉTAT DE L'ART 19

À notre connaissance, il n'existe pas de système similaire à celui que nousdéveloppons. Nous désirons reconnaître des extraits musicaux di�érents de ceuxcontenus dans une base de données. Notre objectif est ainsi d'identi�er desinformations de contenus, intrinsèques à une piste musicale tout en étant in-variantes aux instruments utilisés, à la �forme� extérieure de ce morceau. Deuxmorceaux joués par deux groupes di�érents avec des instruments di�érents de-vraient ainsi avoir la même représentation. Pour arriver à nos �ns, nous avonsutilisé une description basée sur les accords contenus dans une piste. À cet e�et,notre algorithme est basé sur le descripteur PCP proposé par Fujishima [13].Sur base de notre description, nous avons développé notre propre algorithme dereconnaissance, di�érent des techniques citées ci-dessus. En e�et, les méthodesdéveloppées à ce jour utilisent principalement des empruntes, et par conséquent,deux pistes di�érentes (instruments di�érents, arrangement di�érent) ne sontpas représentées de la même façon. Dès lors, utiliser ces méthodes ne nous estpas d'un grand intérêt et nous avons orienté nos recherches vers des techniquesdi�érentes.

Page 21: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3

Reconnaissance d'accords

Concevoir un système de reconnaissance de musique conduit inévitablementà la notion de description d'une pièce musicale. Quelles sont les caractéristiquesd'un morceau, quelles sont les informations les plus pertinentes, comment décrire�nalement un morceau, ou un extrait musical a�n de pouvoir par la suite lereconnaître de façon adéquate ? Tenter de comparer deux sons bruts directe-ment relève de l'impossible, et il devient alors nécessaire d'extraire des donnéesdécrivant au mieux les sons, et de façon compacte, a�n de pouvoir concevoir unsystème performant.

Nous avons choisi d'utiliser un descripteur basé sur l'harmonie d'une piste,plus précisément sur ses accords. Pour véri�er la robustesse du descripteur, nousavons développé un système de reconnaissance d'accords capable d'identi�erdes accords joués par plusieurs instruments. Ce chapitre décrit les étapes dela conception de l'algorithme d'identi�cation d'accords ainsi que les résultatsobtenus.

3.1 Pourquoi reconnaître des accords ?

Une pièce musicale comporte quatre composantes principales : le rythme, lamélodie, le timbre, et l'harmonie. Le rythme est ce qui détermine la durée desnotes les unes par rapport aux autres. Il est quanti�é par une pulsation quidétermine des temps et qui permet de compter ainsi les di�érentes ��gures denotes� constituant le morceau. La mélodie désigne la dimension qui prend encompte les hauteurs émises par une source, individuelle ou collective, instrumen-tale ou vocale, au sein d'une réalisation musicale quelconque. La mélodie fait se

20

Page 22: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 21

succéder des sons de fréquence di�érente et par conséquent, elle peut être con-sidérée comme une succession d'intervalles. Le timbre d'un son est en quelquesorte la couleur propre de ce son et varie en fonction de la source sonore. D'unpoint de vue acoustique, le timbre est une notion très complexe qui dépend dela corrélation entre la fréquence fondamentale et les harmoniques. Son étude dé-passe le cadre de cet ouvrage, et nous ne le détaillerons pas ici. En�n, l'harmonierelève de l'utilisation délibérée de fréquences simultanées, dans le but d'apporterdu relief et de la profondeur au chant ou jeu instrumental. Elle représente doncl'aspect vertical de la musique alors que la mélodie représente plutôt l'aspecthorizontal de la musique.

Il est di�cile de concevoir un système capable d'extraire ces quatre com-posantes, en particulier pour des signaux complexes constitués de plusieurssources sonores. L'oreille humaine est capable d'extraire des données riches etcontenant énormément d'informations à partir d'un signal audio complexe. Mal-heureusement, il n'en est pas de même pour un système arti�ciel qui tente demodéliser ce processus naturel à l'aide d'ordinateurs. Il est possible d'extrairela mélodie de pièces musicales principalement monophoniques, ou constituéesd'une source sonore unique, tout comme il est possible pour des signaux re-lativement simples d'extraire de l'information rythmique. Toutefois, pour dessignaux complexes, tels que des enregistrements de groupes ou d'instrumentssimultanés, cette recherche d'information pertinente devient rapidement com-pliquée.

Extraire une mélodie unique est une tâche complexe. Or la quatrième com-posante d'une pièce musicale, l'harmonie, décrit la ou les notes jouées simultané-ment à un instant donné. En réalité, l'harmonie est un élément fondamental dela perception d'un morceau de musique et il serait utile d'identi�er un ensem-ble de caractéristiques décrivant cet aspect de la musique. L'élément concret serapportant le plus à l'harmonie est sans aucun doute l'accord. Un accord peutêtre dé�ni comme un ensemble de tonalités jouées simultanément [23], ou en-core comme une sonorité simultanée d'un groupe de notes musicales, en généraltrois ou plus [5]. Analyser la structure harmonique totale d'un morceau se faitgénéralement en commençant par extraire la liste des accords constituant lapièce musicale. Or c'est une tâche di�cile, même pour des musiciens expéri-mentés disposant de la partition ! Avoir un système automatique permettantd'extraire les accords d'un morceau peut donc s'avérer très utile pour l'analyseharmonique de pièces musicales. Une fois la structure harmonique connue, onpeut ensuite l'utiliser pour faire une analyse plus pointue d'une pièce. Un accordest également une bonne représentation de niveau intermédiaire pour d'autresapplications, telles que la segmentation d'un morceau, la détection de morceauxsimilaires, ou la représentation de morceaux dans une base de données (audiothumbnailing) [23].

Pour développer un système de reconnaissance d'accords musicaux, deux élé-ments sont essentiels. Dans un premier temps, il faut pouvoir extraire à partird'un son brut, des données permettant d'identi�er un accord. On parle de de-scripteur. Ensuite, il est nécessaire de disposer d'un algorithme permettant dereconnaître l'accord sur base de ce descripteur. Ce chapitre présente un sys-tème de reconnaissance d'accords, permettant d'identi�er dix accords extrême-ment utilisés dans des pièces musicales d'Europe Occidentale. Il s'appuie sur

Page 23: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 22

un descripteur universellement utilisé dans les applications de reconnaissanced'accords, à savoir le Pitch Class Pro�le (PCP) introduit par Fujishima [13] en1999.

Pour identi�er des accords sur base du PCP, plusieurs méthodes ont étéexpérimentées, allant d'une application très naïve de la dé�nition d'un accordjusqu'à l'utilisation d'algorithmes complexes tels que les réseaux de neurones.Il s'est avéré qu'une base de données d'accords réels permet de produire d'ex-cellents résultats. Nous décrivons dans ce chapitre la conception et l'utilisationd'une telle base de données.

Ce chapitre est organisé comme suit. La première partie traite du descrip-teur PCP et la façon dont nous l'avons utilisé pour représenter un accord. Lasection suivante présente brièvement les di�érentes méthodes de reconnaissanceutilisées, ainsi que leurs avantages et inconvénients. Cette section mènera auchoix de l'algorithme �nal choisi. La troisième partie présente en détail la basede données d'accords créée pour les besoins de l'algorithme choisi. Puis, nousexpliquerons les diverses expériences réalisées et nous démontrerons que le de-scripteur utilisé, couplé à une base de données d'accords réels, permet de recon-naître des accords jouées par plusieurs instruments. En�n, la dernière sectionproposera une conclusion au chapitre.

3.2 Descripteur d'accord : le Pitch Class Pro�le

Le Pitch Class Pro�le (PCP) est un descripteur audio introduit par Fu-jishima [13] en 1999. L'approche qu'il a utilisée était assez novatrice par rapportà ce qui était traditionnellement utilisé à cette époque. En e�et, on tentait alorsprincipalement d'extraire les notes individuelles d'un son et d'essayer d'identi�erdes accords sur base des notes individuelles. L'algorithme imaginé par Fujishimapermet de représenter un accord par 12 valeurs correspondant aux 12 demi-tonsd'une gamme chromatique. Ainsi, pour une gamme standard commençant parun do, on obtient une valeur pour les 12 notes suivantes :

c, c#, d, d#, e, f, f#, g, g#, a, a#, b

De plus, le PCP permet de classer les notes reconnues indépendamment del'octave à laquelle ces notes sont jouées. Ainsi, si un guitariste joue un accordde la mineur en bout de manche, il joue en réalité simultanément deux octavesde la note la (a). Le PCP va cependant classer les deux notes détectées dans lamême case correspondant à la note la. Ainsi, on se retrouve avec un descripteurtotalement indépendant de l'octave à laquelle est joué l'accord. Dès lors, unaccord joué en bout de manche, et le même accord joué ailleurs sur le mancheseront représentés d'une manière similaire. Formalisons cette notion de PCP.

Page 24: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 23

c c# d d# e f f# g g# a a# b0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

energ

y

notes

C Maj chord

Figure 3.1 � Représentation PCP d'un accord de do majeur joué à la guitare.On voit nettement les trois pics principaux correspondant aux trois notes del'accord, à savoir do (c), mi (e), sol (g).

3.2.1 Dé�nition

Un PCP est un vecteur à 12 dimensions qui représente l'énergie relative dechaque demi-ton dans une gamme chromatique. Entre d'autres termes, chaquenote a son énergie classée dans une des douze cases du vecteur PCP. Ainsi, lepremier élément du vecteur montre l'énergie totale de la note do pour le sontesté. Si un accord contient plusieurs fois la note do, les énergies de chaque dos'additionnent dans la première case du tableau. Le PCP semble donc adéquatpour représenter un accord, quelle que soit la tonalité choisie. La �gure 3.1montre la représentation PCP d'un accord de do majeur joué à la guitare.

Pour obtenir un vecteur PCP à 12 dimensions, la méthode habituellementimplémentée dans la littérature est la suivante. L'algorithme commence par ap-pliquer à un fragment du son d'entrée une transformée de Fourier discrète (DFT,pour Discrete Fourier Transform) pour obtenir ainsi un spectre de fréquencesX(.). À partir de ce spectre, l'algorithme génère le vecteur PCP comme suit.Soit PCP ∗(p) un vecteur dé�nit pour p = 0, 1, . . . , 11 tel que

PCP ∗(p) =∑

l

||X(l)||2δ(M(l), p) (3.1)

où δ(., .) dénote le symbole de Kronecker. M(l) est une table qui fait cor-respondre un index du spectre de Fourier à un index du vecteur PCP, comprisentre 0 et 11 (12 valeurs au total). Elle peut être dé�nie comme suit.

M(l) =

{−1 l = 0

round(12 log2((fs.lN )/fref ))mod 12 l = 1, . . . , N

2 − 1(3.2)

où fref est la fréquence de référence correspondant à la case PCP ∗(0), N estle nombre d'échantillons dans le signal d'entrée, et fs est la fréquence d'échan-tillonnage. Par exemple, pour une gamme standard commençant par un do,

Page 25: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 24

la fréquence de référence serait 130, 80Hz, correspondant au do �grave� de lagamme. Bien entendu, on peut choisir de représenter un accord à l'aide d'uneautre gamme, par exemple une gamme standard décalée d'une note, qui com-mencerait alors par un ré, correspondant à la fréquence 147Hz. Notons dès àprésent que PCP ∗(p) sera par la suite légèrement modi�é pour s'adapter à nosbesoins spéci�ques.

3.2.2 Normalisation

A�n de pouvoir comparer des vecteurs PCP entre eux, il est nécessaire deles normaliser. En e�et, un accord peut être joué plus ou moins fort, et dèslors, l'échelle de l'énergie peut varier d'un PCP à un autre. Pour normaliser lesPCPs, nous imposons une énergie totale de 1 pour un PCP donné. Pour l'obtenirà partir du PCP original, nous divisons l'énergie de chaque note du vecteur parl'énergie totale du vecteur original. L'opération e�ectuée est la suivante.

PCP (p) =PCP ∗(p)∑11j=0 PCP

∗(j)(3.3)

où p est l'index de la note que l'on cherche à normaliser.

3.2.3 Adaptation du PCP

Le PCP semble être un descripteur intuitif pour un musicien car il met enévidence les notes principales d'un accord. Les résultats obtenus en pratiqueavec le PCP original de Fujishima ont toutefois révélé une faille importanteavec notre système. En e�et, notre algorithme de reconnaissance se base surune base de données d'accords réels (voir Section 4.3) enregistrés à la guitare.Ainsi, pour reconnaître de nouveaux accords joués à la guitare, le système fonc-tionnait relativement bien. Toutefois, en essayant de reconnaître des accordsjoués par d'autres instruments, nous avons constaté une forte dégradation desrésultats. A�n de comprendre cette perte de performances, nous avons réaliséune expérience consistant à faire varier le paramètre E de l'équation 3.4. La�gure 3.2 montre les résultats de ces variations pour quatre instruments. Onvoit nettement que la valeur idéale pour ce facteur E se situe dans un voisinagede 1. En prenant la moyenne des minima pour chaque instrument, on trouve unevaleur idéale de 0, 85. Précisons que cette expérience a été réalisée avec plusieursalgorithmes de reconnaissance (voir Section 3.3).

PCP ∗(p) =∑

l

||X(l)||Eδ(M(l), p) (3.4)

La �gure 3.3 montre la représentation d'un accord de do majeur à l'aide duPCP amélioré. On constate une quantité plus importante de bruit. L'accord estmoins net que celui de la �gure 3.1. On peut donc en conclure qu'une certaine

Page 26: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 25

�3�2�1 0 1 2 3 4 5 6alpha

0

20

40

60

80

100cl

assi

ficat

ion

erro

rGuitar

�3�2�1 0 1 2 3 4 5 6alpha

0

20

40

60

80

100

clas

sific

atio

n er

ror

Accordion

�3�2�1 0 1 2 3 4 5 6alpha

102030405060708090

100

clas

sific

atio

n er

ror

Piano

�3�2�1 0 1 2 3 4 5 6alpha

0

20

40

60

80

100

clas

sific

atio

n er

ror

Violin

Figure 3.2 � Évolution de l'erreur de classi�cation de l'accord lorsque la valeurdu paramètre E de l'équation 3.4 évolue. La valeur idéale se situe au voisinagede 1.

c c# d d# e f f# g g# a a# b0

0.5

1

1.5

2

2.5

3x 10

7

Semi−tones

Magnitude

Figure 3.3 � Représentation d'un accord de Do Majeur (CMaj) par un PCPmodi�é. Par rapport à la Figure 3.1, on constate une quantité plus importantede bruit.

Page 27: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 26

quantité de bruit est importante pour obtenir une description idéale d'un accord,indépendante de l'instrument utilisé.

Pour éviter un calcul de puissance supplémentaire, nous avons choisi de �xerla valeur de l'exposant à 1, proche de la valeur idéale de 0, 85 trouvée expéri-mentalement. Nous utilisons donc en réalité une version adaptée du PCP, quipeut être dé�nie comme suit :

PCP ∗(p) =∑

l

||X(l)||δ(M(l), p) (3.5)

où M(l) peut être dé�nie par l'équation 3.2. La suite de ce document ferasystématiquement référence à ce PCP modi�é.

3.3 Algorithmes de reconnaissance

Dans l'introduction, nous avons cité deux éléments essentiels pour la réali-sation d'un système de reconnaissance d'accords. Le premier a été décrit dansla section précédente : un descripteur d'accord. À cet e�et, le PCP semble cor-respondre à nos besoins. Reste encore à déterminer une fonction permettantd'identi�er un accord sur base du PCP. On cherche donc à établir une fonctionf() prenant en entrée un vecteur PCP de 12 éléments et produisant en sortieune chaîne permettant d'identi�er l'accord.

Parmi les nombreux accords existant, nous en avons sélectionné dix trèsutilisé dans la musique contemporaine d'Europe Occidentale. L'algorithme seradonc capable d'identi�er ces dix accords, mais pour des accords di�érents, le ré-sultat sera di�érent selon l'algorithme utilisé. Soit le système renvoie une valeurspéci�ant que l'accord n'a pas été reconnu, soit il renvoie l'accord parmi les dixdétectables qui est le plus proche de celui que l'on tente de reconnaître. Dans lecadre de la reconnaissance d'extraits musicaux, un tel comportement est accept-able car des accords di�érents de ceux qui sont reconnaissables seront toujoursidenti�és de la même façon.

Les dix accords choisis sont les suivants.

A, Am, Bm, C, D, Dm, E, Em, F, G

Avec la représentation française des notes, cela correspond à

La, Lamin, Simin, Do, Re, Remin, Mi, Mimin, Fa, Sol

L'objectif est donc de déduire une fonction

f(vecteur_pcp) = N (3.6)

qui renvoie un entier N compris entre 0 et 9 correspondant à l'un des dix ac-cords ci-dessus. Plusieurs techniques ont été considérées. Cette section présenteles divers tests e�ectués avec ces di�érentes techniques ainsi que les résultatsobtenus.

Page 28: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 27

c c# d d# e f f# g g# a a# b0

0.2

0.4a

c c# d d# e f f# g g# a a# b0

0.2

0.4am

c c# d d# e f f# g g# a a# b0

0.2

0.4bm

c c# d d# e f f# g g# a a# b0

0.2

0.4c

c c# d d# e f f# g g# a a# b0

0.2

0.4d

c c# d d# e f f# g g# a a# b0

0.2

0.4dm

c c# d d# e f f# g g# a a# b0

0.2

0.4e

c c# d d# e f f# g g# a a# b0

0.2

0.4em

c c# d d# e f f# g g# a a# b0

0.2

0.4f

c c# d d# e f f# g g# a a# b0

0.2

0.4g

Figure 3.4 � Représentations PCP idéales de 10 accords.

3.3.1 Méthode naïve : Dé�nition d'un accord

Une première expérience a été d'implémenter une méthode naïve appliquantsimplement la dé�nition d'un accord. Un musicien est en général capable dereconnaître un accord à l'aide des notes le constituant. Or le PCP permet d'isolerles pics correspondant aux notes de l'accord, ce qui en fait un descripteur intuitifpour un musicien. Dès lors, nous avons considéré des vecteurs PCPs arti�cielsidéaux, ne contenant que trois pics correspondant exactement aux trois notesconstituant l'accord. La �gure 3.4 montre les représentations idéales des dixaccords cités plus haut.

La première expérience consistait à tenter de reconnaître un accord à l'aided'une simple comparaison d'histogrammes en utilisant un algorithme de type1-NN (Nearest Neighbor). L'algorithme prend en entrée un vecteur PCP arbi-traire, le normalise, puis le compare à la liste prédé�nie des 10 accords idéaux.L'algorithme classi�e ensuite l'accord en un de ces dix accords en choisissantl'histogramme le plus proche. Comme mesure de distance, nous avons utilisé ladistance de Bhattacharyya [8].

La distance de Bhattacharyya est une mesure de la similarité de deux distri-butions de probabilités discrètes. Elle est reliée au coe�cient de Bhattacharyya,qui est une mesure statistique du recouvrement de deux échantillons. C'est unemesure couramment utilisée en classi�cation, notamment pour des problèmesde vision par ordinateur. Pour deux distributions de probabilités discrètes p etq dé�nies sur le même espace de probabilités, la distance de Bhattacharyya estcalculée par :

DB(p, q) = −ln(BC(p, q)) (3.7)

Page 29: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 28

oùBC(p, q) =

x

√p(x)q(x) (3.8)

Il s'est avéré que cette méthode ne produit pas de bons résultats. Nousrenvoyons le lecteur à la Section 3.5 pour de plus amples détails.

Nous avons alors décidé de nous tourner vers des techniques d'apprentissageautomatique a�n de calculer un modèle permettant de reconnaître un accordsur base de son vecteur PCP.

3.3.2 Apprentissage automatique

Pour obtenir des résultats plus robustes, nous avons orienté nos recherchesvers l'utilisation d'algorithmes d'apprentissage automatiques. Le lecteur nonfamiliarisé avec ces notions d'apprentissage automatique peut se référer à l'An-nexe B où l'on donne une dé�nition de l'apprentissage automatique, et où sontdécrits les algorithmes utilisés.

Dans le domaine musical, l'apprentissage est utilisé pour faire de la classi-�cation de musique par style, de l'organisation de bases de données, et de lagénération de musique, etc. Dans le cadre de notre recherche, nous avons choisid'adopter une technique d'apprentissage pour reconnaître des accords. En e�et,la plupart des méthodes décrites dans le Chapitre 2 n'utilisent pas ce type deméthodes et se basent sur des algorithmes de pattern matching et des heuris-tiques pour retrouver des accords de façon optimale. Nous avons donc choisid'exploiter une approche assez novatrice, utilisant une base de données d'ac-cords réels et un algorithme exploitant ces données. Nous avons donc dû utiliserune base de données d'accords réels pour réaliser un apprentissage supervisé.Une telle base de données n'existe pas à notre connaissance et par conséquent,nous avons créé notre propre base de données. Elle sera décrite dans la Sec-tion 4.3. Plusieurs méthodes d'apprentissages ont été expérimentées : arbres dedécisions, random forests (forêts aléatoires), réseaux de neurones, plus prochesvoisins. Parmi celles-ci, deux ont été retenues pour leurs résultats concluants.Il s'agit des réseaux de neurones et d'une méthode de type plus proches voisins(KNN = K Nearest Neighbors). Nous décrivons ci-dessous de quelle façon nousavons exploité ces deux algorithmes. Pour une explication théorique de ces al-gorithmes, nous renvoyons le lecteur à l'Annexe B.

3.3.2.1 Réseau de neurones

Pour réaliser notre système de reconnaissance d'accords, nous avons utiliséun réseau de neurones de type feed-forward network. L'objectif est d'entraînerun modèle à l'aide d'un tel réseau a�n de pouvoir reconnaître des accords.

Le réseau est constitué de trois couches et fonctionne comme suit. La pre-mière couche contient douze neurones correspondant aux douze valeurs d'unvecteur PCP. Ainsi, les paramètres d'entrée du réseau de neurones sont les

Page 30: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 29

Paramètre ValeurNombre de neurones 35Nombre de couches 1Taux d'apprentissage 0.001

Momentum 0.25

Table 3.1 � Paramètres �naux du réseau de neurones utilisé pour la reconnais-sance d'accords.

intensités des notes constituant l'accord. Tous les neurones de cette premièrecouche sont connectés à une couche intermédiaire, contenant 35 neurones. Lacouche d'entrée propage ainsi toutes ses valeurs à tous les neurones de la coucheintermédiaire. En�n, la dernière couche contient dix neurones qui correspondentaux dix accords pouvant être reconnus par notre système.

Notre système fonctionne donc comme suit : une description PCP est extraiteà partir d'un �chier audio brut. Une fois calculée, elle est envoyée au réseau deneurones sous forme d'un vecteur de douze valeurs réelles. Le réseau propagealors ces douze valeurs dans tous ses neurones et un neurone particulier dela couche de sortie est activé. Étant donné qu'il y a autant de neurones dansla couche de sortie que d'accords pouvant être détectés, on identi�e aisémentl'accord joué.

Bien entendu, il ne su�t pas de construire un simple réseau avec des valeurspar défaut pour obtenir de tels résultats. Un algorithme d'apprentissage doit ene�et �apprendre� à reconnaître des accords et doit pour cela être entraîné defaçon adéquate. Ces techniques d'entraînement sont décrites dans l'Annexe B.

L'architecture de notre réseau a été déterminée après plusieurs étapes devalidation. En e�et, nous avons fait évoluer certains paramètres du réseau deneurones et étudié l'impact de la variation des paramètres sur les résultats enterme d'erreur de classi�cation. Les paramètres que nous avons fait varier sontles suivants et sont décrits dans l'Annexe B :

� Le nombre de neurones dans la / les couches intermédiaires ;� Le nombre de couches intermédiaires ;� Le taux d'apprentissage ;� Le momentum.

Le Tableau 3.1 donne les valeurs des quatre paramètres du réseau utilisépour la reconnaissance d'accords.

L'utilisation d'un réseau de neurones arti�ciels pour de la reconnaissanced'accords s'est avéré être une technique produisant d'excellents résultats. LaSection 3.5 détaillera ces résultats.

Page 31: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 30

3.3.2.2 Plus proches voisins (KNN)

Un réseau de neurones arti�ciels permet d'établir des modèles performants,mais présente l'inconvénient d'être particulièrement lent et consommateur entermes de ressources. A�n de concevoir un système plus e�cace, nous avons uti-lisé un autre algorithme d'apprentissage, appelé KNN pour K Nearest Neighbors(K plus proches voisins). Cet algorithme est présenté brièvement en Annexe B.

Dans la Section 3.3.1, nous avions détaillé notre première expérience en uti-lisant un algorithme 1-NN avec une base de données d'accords idéaux. Les ré-sultats n'étant pas concluants, nous avons décidé d'utiliser une base de donnéesd'accords réels (voir Section 4.3). Nous avons donc choisi d'appliquer le mêmealgorithme 1-NN non pas avec une base de données idéale, mais avec des accordsréels. Les résultats ont été nettement plus concluants et nous avons obtenu desperformances similaires aux réseaux de neurones (nous renvoyons le lecteur à laSection 3.5 pour les détails).

A�n d'encore améliorer le temps d'exécution, nous avons restreint la taillede la base de données en calculant un accord modèle pour chaque accord devantêtre reconnu. Cet accord modèle est obtenu simplement en moyennant tous lesaccords de la base de données correspondant à cette classe. Ainsi, pour 10 ac-cords devant être reconnus, nous obtenons 10 accords centroïdes qui re�ètent laréalité. La Figure 3.5 montre les dix accords modèles calculés. Ils sont nettementplus réalistes que les accords idéaux de la Figure 3.4. Avec ces modèles, l'algo-rithme est nettement plus rapide puisqu'il n'a que dix comparaisons à réaliser.Il renvoie alors l'accord centroïde le plus proche de l'accord testé. Un résultatest produit instantanément. Les résultats sont présentés dans la Section 3.5.

3.4 Base de données d'accords

Lorsque l'on utilise une méthode d'apprentissage automatique, on se retrouveconfronté à un problème de base de données. En e�et, il n'est pas toujoursévident de dé�nir les données utilisées pour l'apprentissage d'un modèle. Lacontrainte principale, pour un système de reconnaissance d'accords utilisantde telles techniques, est de disposer d'un ensemble d'apprentissage contenantsu�samment de données pour construire un modèle.

La plupart des travaux relatifs à la reconnaissance d'accord mentionnés dansl'état de l'art (voir Chapitre 2) n'utilisent pas d'apprentissage automatique. Dece fait, il n'existe pas de base données d'accords (à notre connaissance). Pourcette raison, il nous a été nécessaire de créer notre propre base de données. Cettedernière est constituée de �chiers audio enregistrés au format WAV, échantillon-nés à 44100Hz, chaque échantillon étant quanti�é par 16 bits de données. Nousfournissons également dans la base de données des vecteurs PCP pré-calculéspour chaque accord.

Nous rappelons que le système est conçu pour reconnaître dix accords. Dèslors, la base de données contient un ensemble d'exemplaires des dix accordsmentionnés dans la Section 3.3. En pratique, chaque accord est représenté par

Page 32: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 31

c c# d d# e f f# g g# a a# b0

0.1

0.2a

c c# d d# e f f# g g# a a# b0

0.1

0.2am

c c# d d# e f f# g g# a a# b0

0.1

0.2bm

c c# d d# e f f# g g# a a# b0

0.1

0.2c

c c# d d# e f f# g g# a a# b0

0.2

0.4d

c c# d d# e f f# g g# a a# b0

0.1

0.2dm

c c# d d# e f f# g g# a a# b0

0.1

0.2e

c c# d d# e f f# g g# a a# b0

0.1

0.2em

c c# d d# e f f# g g# a a# b0

0.1

0.2f

c c# d d# e f f# g g# a a# b0

0.1

0.2g

Figure 3.5 � Vecteurs PCP centroïdes calculés en moyennant tous les échan-tillons réels disponibles. L'algorithme compare alors un nouveau vecteur PCP àces dix modèles et renvoie l'accord le plus proche.

un vecteur PCP le représentant. Tous les vecteurs sont stockés dans un �chierunique organisé comme suit. Chaque ligne contient un vecteur PCP normaliséet un entier entre 0 et 9 identi�ant l'accord. Une ligne de ce �chier a la formesuivante.

0.04, 0.09, 0.18, 0.05, 0.12, 0.04, 0.14, 0.04, 0.03, 0.18, 0.04, 0.05, 4

Le dernier élément correspond à la classe de l'accord (l'accord Ré Majeurdans cet exemple).

Concentrons nous à présent sur le contexte de la base de données. L'objectifest de valider la base de données et de s'en servir pour tester l'algorithme surdes accords acquis dans un contexte di�érent. À cet e�et, nous avons divisé labase de données en deux sous-ensembles. Le premier contient un grand nombred'accords enregistrés à la guitare, tandis que le second contient un plus petitnombre d'accords enregistrés à l'aide de quatre instruments di�érents : uneguitare, un piano, un violon et un accordéon. Il y a donc deux façons d'utiliserla base de données : faire de la validation croisée sur le premier sous-ensemble,et utiliser le premier ensemble comme ensemble d'apprentissage et le secondcomme ensemble de test. Décrivons ces deux groupes d'accords.

Page 33: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 32

Figure 3.6 � Chambre anéchoïque

3.4.1 Premier ensemble

Les enregistrements de la base de données sont produits à l'aide d'une gui-tare, qui est sans aucun doute un des instruments les plus répandus en EuropeOccidentale ainsi qu'en Amérique du Nord. Les accords de ce premier sous-ensemble ont été acquis dans les conditions suivantes. Les échantillons ont étéenregistrés dans deux environnement di�érents.

La moitié des accords a été enregistrée en chambre anéchoïque à l'aided'un micro à large bande. Une chambre anéchoïque ou chambre sourde est unesalle d'expérimentation dont les parois absorbent les ondes sonores ou électro-magnétiques, ne provoquant ainsi pas d'écho pouvant perturber les mesures.Habituellement, de telles chambres sont utilisées pour mesurer des ondes acous-tiques ou électromagnétiques dans des conditions de champ libre, c'est-à-dire enl'absence de composantes ayant subi une réverbération sur les parois. La cham-bre utilisée est un local aux parois recouvertes de matériaux absorbants les ondessonores. La �gure 3.6 montre un exemple de matériau recouvrant une chambreanéchoïque acoustique. Les accords enregistrés dans de telles conditions sontainsi parfaitement purs.

La seconde moitié des accords a été enregistrée dans un environnementbruité, avec un microphone à condensateur classique. Ces accords ont été en-registrés dans une chambre et une cuisine, deux environnements plus classiques.Il nous a en e�et semblé plus pertinent d'inclure des accords enregistrés dansles deux environnements car cela permet de mieux re�éter la réalité. En ef-fet, s'il est vrai que de nombreux enregistrements sont e�ectués dans un milieuprofessionnel, en studio d'enregistrement, la majorité de la population utilisantnotre système le ferait probablement à domicile, et donc dans un environnementplus bruité. De plus, un ensemble non négligeable de CD sont enregistrés dansdes conditions live (en concert). Dans la Section 3.5, nous démontrons que lesystème produit de meilleurs résultats en utilisant une base de données con-tenant un mélange d'échantillons bruités et non bruités. La �gure 3.7 montreles représentations PCP d'un accord de Ré Majeur (D) joué en chambre sourdeet en environnement bruité. Étant donné que de nombreux morceaux musicauxsont joués en milieu bruité, il parait logique d'inclure des accords bruités dansla base de données.

Page 34: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 33

c c# d d# e f f# g g# a a# b0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

semi−tones

energ

y

c c# d d# e f f# g g# a a# b0

0.05

0.1

0.15

0.2

0.25

semi−tones

energ

y

(a) (b)

Figure 3.7: Représentations d'un accord de Ré Majeur (D) enregistré avec lamême guitare dans (a) une chambre anéchoïque, et (b) une pièce bruitée. Onremarque que les trois demi-tons principaux sont toujours bien visibles dans (b).

Pour chaque accord, 100 échantillons sont enregistrés en chambre anéchoïque,et 100 échantillons sont enregistrés en milieu bruité. Pour chacun de ces deuxsous-ensembles, les accords sont enregistrés à l'aide de quatre guitares dif-férentes : une guitare classique ayant des cordes en nylon et trois guitaresacoustiques produisant trois sons di�érents. Ce choix d'utiliser plusieurs typesde guitares se justi�e par le nombre important de sons de guitare existants. Dèslors, il semble logique d'inclure dans la base de données des sons di�érents, a�nd'améliorer la �abilité du système ainsi que son champ d'application.

En conclusion, le premier sous-ensemble de la base de données est organisécomme suit. Il y a 2000 échantillons au total, répartis parmi 10 accords. Chaqueaccord spéci�que est enregistré 200 fois, 100 fois en chambre anéchoïque et100 fois en environnement bruité. Dans chacun de ces deux ensembles de 100échantillons, les accords sont encore séparés en quatre groupes de 25 accords,chaque groupe étant enregistré à l'aide d'une guitare di�érente.

3.4.2 Deuxième ensemble

Le deuxième ensemble a été créé dans le but de fournir un ensemble de testindépendant de la base de données d'apprentissage. Par conséquent, il est detaille plus réduite. Cet ensemble est constitué d'accords joués par quatre instru-ments di�érents : une guitare, un piano, un violon ainsi qu'un accordéon. Cesquatre instruments ont été sélectionnés pour leur aptitude à jouer des accords.De plus, ces instruments sont largement utilisés dans la culture Européenne oc-cidentale. Cette petite base de données n'est donc utilisée qu'à des �ns de tests,et ne doit être en aucun cas utilisée pour entraîner un modèle. Elle contient ene�et trop peu d'informations pour produire un modèle performant.

L'ensemble de test contient 100 enregistrements pour chaque instrument.Ces échantillons sont distribués de façon égale parmi les dix accords mentionnésprécédemment. Dès lors, il y a dix enregistrements par accord pour chaqueinstrument.

Page 35: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 34

Dans la section suivante, nous présentons les expériences réalisées à l'aide denotre base de données d'accords. Ces résultats permettent de justi�er le choixdes accords de la base données. Nous détaillons également les résultats de lavalidation de l'ensemble d'apprentissage.

3.5 Expériences et Résultats

Plusieurs expériences ont été réalisées dans le but de véri�er la robustessede notre système de reconnaissance d'accords. Ces expériences ont pour but declari�er certains points importants :

� Nous voulons véri�er si une application naïve de la dé�nition d'un accordest su�sante pour concevoir un système �able.

� Comment construire l'ensemble d'apprentissage ? Doit-on inclure des en-registrements non bruités, bruités, ou les deux types d'enregistrements ?

� Il est également nécessaire d'évaluer les performances de l'algorithme d'ap-prentissage avec notre base de données.

� Nous voulons aussi tester la �abilité de notre système avec divers instru-ments.

� Comment se comporte le système lorsqu'il s'agit de reconnaître tous lesaccords d'un morceau de durée plus longue ? Est-il �able ?

� En�n, nous aimerions évaluer les performances algorithmiques du système.

3.5.1 Application naïve de la dé�nition d'un accord

Dans la première version de notre classi�cateur d'accords, nous avons créé unvecteur PCP arti�ciel et idéal pour chacun des dix accords que le système doitêtre capable de reconnaître (voir Figure 3.4). Ensuite, en utilisant la distance deBhattacharyya [8], nous avons appliqué un algorithme de plus proches voisins(1-NN) sur le second sous-ensemble de notre base de données. Le Tableau 3.2nous montre les erreurs de classi�cations pour les quatre instruments testés. Onconstate des taux d'erreurs particulièrement élevés. Les résultats obtenus pourla guitare sont relativement satisfaisants mais les taux d'erreurs obtenus pourles autres instruments sont insatisfaisants. La Figure 3.8 montre une matricede confusion résultant de l'application de l'algorithme naïf à l'ensemble de labase de données d'accords réels. On constate un taux d'erreur important. Laconclusion de cette expérience parait évidente. Une base de données arti�cielled'accords idéaux ne convient pas pour faire de la reconnaissance d'accords. Unapprentissage basé sur des échantillons réels est nécessaire pour atteindre leniveau de performance désiré.

Si l'on compare les vecteurs PCP des accords idéaux considérés dans cetteexpérience avec les vecteurs PCP d'accords originaux, on distingue une dif-férence importante : les accords réels sont nettement plus bruités que les accordsidéaux. Une quantité de bruit semble donc clairement nécessaire pour approcherau mieux des accords réels de façon arti�cielle. Sur la Figure 3.8, on remarque

Page 36: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 35

Instrument Erreur de classi�cationGuitare 8.0 %Piano 20.0 %Violon 19.0 %

Accordéon 32.0 %

Table 3.2 � Erreurs de classi�cation pour une méthode naïve

Figure 3.8 � Matrice de confusion pour l'ensemble de la base de données enutilisant une méthode de reconnaissance naïve (1-NN) basée sur des accordsidéaux.

que la classe G (Sol) est étrangement reconnue en majorité. La raison de cephénomène n'est pas claire, et nous ne voyons pas d'explication à ce résultat.

3.5.2 Détermination de l'ensemble d'apprentissage opti-mal

Dans la Section 4.3, nous avons détaillé la création d'une base de donnéescontenant des accords de guitare enregistrés dans deux types d'environnements :bruité et non bruité. En e�et, il parait plus réaliste d'intégrer des accords d'en-vironnements di�érents, sachant que la plupart des utilisateurs n'auront pasaccès à une chambre sourde. Toutefois, cette justi�cation seule n'est pas suf�-sante. Nous avons e�ectué six expériences pour déterminer la meilleure des troiscon�gurations suivantes :

� un ensemble d'apprentissage contenant uniquement des accords non bruités,� un ensemble d'apprentissage contenant uniquement des accords bruités,� et un ensemble d'apprentissage contenant les deux types d'accords.

Page 37: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 36

TS / LS Non bruité Bruité MixteNon bruité 4.0 % 5.0 % 4.0 %Bruité 11.7 % 6.0 % 7.3 %

Table 3.3 � Résultats de la validation en utilisant des ensembles d'apprentis-sage et de test bruités, non bruités, et mixtes. Le tableau donne l'erreur declassi�cation totale pour chaque con�guration.

Pour réaliser ces expériences, nous avons divisé notre base de données enplusieurs sous-ensembles di�érents. Tout d'abord, la base de données originalede 2000 échantillons a été divisée en deux plus petites bases de données con-tenant chacune 1000 éléments. La première demi-base contient uniquement desaccords non bruités tandis que la deuxième ne contient que des accords bruités.Ensuite, nous avons créé trois ensembles d'apprentissage contenant chacun 70%des données de chaque demi-base de données. Le premier ensemble contient 700accords non bruités, le second 700 accords bruités et le dernier contient 350accords bruités et 350 accords non bruités, donnant également un total de 700accords. Les accords sont sélectionnés aléatoirement dans les deux demi bases dedonnées. Les accords sont enregistrés à l'aide de plusieurs guitares di�érentes,chaque guitare étant répartie de manière uniforme dans chaque sous-ensemble.

Nous avons également créé deux ensembles de tests, contenant chacun 30 %des données de chaque demi base de données. Le premier ensemble contientuniquement des accords non bruités alors que le deuxième ne contient que desaccords bruités. Le Tableau 3.3 donne les résultats de chaque test. Nous avonsd'abord entraîné un modèle en utilisant un ensemble d'apprentissage non bruitéet nous l'avons testé avec des accords bruités et non bruités (deuxième colonnedu Tableau). Ensuite, nous avons entraîné le modèle avec un ensemble d'ap-prentissage bruité et nous l'avons testé avec des accords bruités et non bruités(troisième colonne du Tableau). En�n, nous avons réalisé un test identique auxprécédents mais avec un ensemble d'apprentissage constitué d'accords mixtes(quatrième colonne du Tableau).

À partir des résultats du Tableau 3.3, nous pouvons déduire que l'utilisationd'un ensemble d'apprentissage constitué uniquement d'accords non bruités pro-duit le taux d'erreur le plus important. On déduit également que l'utilisationd'un ensemble bruité ou mixte produit des taux d'erreurs semblables. Les deuxensembles pourraient donc être utilisés pour entraîner le modèle �nal. Toutefois,l'ensemble d'apprentissage optimal dépend des conditions d'utilisation futuresdu modèle. Malheureusement, il nous est impossible de déterminer ces conditionsà l'avance. En e�et, il est di�cile d'imaginer dans quelles conditions le modèlesera utilisé. Cependant, nous considérons que l'utilisation d'un ensemble d'ap-prentissage mixte produit un modèle moins dépendant du bruit contenu dansla base de données qu'en utilisant un ensemble bruité. Dès lors, nous pensonsqu'il est préférable d'utiliser un ensemble mixte.

Page 38: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 37

(a) (b)

Figure 3.9: Matrices de confusions résultant de la validation de la base dedonnées à l'aide d'un réseau de neurones (a) et d'un algorithme des plus prochesvoisins (b). Le taux d'erreur total pour le réseau de neurones est de 6.5% et estde 3.25% pour l'algorithme des plus proches voisins.

3.5.3 Validation de la base de données

Sur base des observations précédentes, nous avons �nalement choisi d'en-traîner notre modèle �nal en utilisant des accords enregistrés en environnementsbruité et non bruité. A�n de véri�er les performances du modèle sur notre basede données, nous avons entraîné un modèle en utilisant 70 % de la base de don-nées mixte, à savoir 1400 accords, soit 140 accords par classe. Le modèle ainsientraîné a été testé sur un ensemble constitué des 30 % restants, à savoir 600accords répartis en 60 accords par classe. La base de données étant divisée endeux, le résultat est légèrement biaisé. Ceci est dû à la réduction de la taille de labase de données. Malgré ce résultat biaisé, on constate que les prédictions pourchaque classe sont en général correctes. La Figure 3.9 (a) montre une matrice deconfusion pour un réseau de neurones entraîné avec l'ensemble décrit ci-dessus.

Nous avons également lancé une validation de la base de données en utili-sant un algorithme de type �plus proche centroïde� avec une distance de Bhat-tacharyya (voir Section 3.3.2). Rappelons que cet algorithme compare chaqueaccord testé à 10 accords modèles, qui sont calculés en moyennant tous les ac-cords présents dans la base de données. Pour réaliser cette expérience, nousavons tenté de reconnaître les 2000 accords présents dans la base de données enutilisant cet algorithme. Le taux de reconnaissance est encore supérieur au tauxobtenu avec un réseau de neurones. On obtient en e�et une erreur de classi�-cation totale de 3.25%. Notons que le résultat est ici moins biaisé que pour leréseau de neurones étant donné que la totalité de la base de données est testée.La Figure 3.9 (b) montre la matrice de confusion résultant de la validation enutilisant l'algorithme des centroïdes.

3.5.4 Reconnaissance d'autres instruments

Les expériences précédentes permettent d'établir que le système semble �-able pour des accords de guitare, ce qui correspond au comportement attendu

Page 39: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 38

c c# d d# e f f# g g# a a# b0

0.2

0.4

energ

y

Guitar

c c# d d# e f f# g g# a a# b0

0.1

0.2

energ

y

Piano

c c# d d# e f f# g g# a a# b0

0.2

0.4

en

erg

y

Violin

c c# d d# e f f# g g# a a# b0

0.2

0.4

en

erg

y

Accordion

Figure 3.10 � Représentation PCP d'un accord de Do Majeur (C) joué parquatre instruments. De haut en bas, une guitare, un piano, un violon et unaccordéon.

Instrument Méthode naïve Réseau de Neurones Plus proche centroïdeGuitare 8 % 1 % 0 %Piano 20 % 13 % 6 %Violon 19 % 5 % 12 %

Accordéon 32 % 4 % 10 %

Table 3.4 � Erreurs de classi�cation pour 4 instruments en utilisant trois algo-rithmes.

étant donné que la base de données d'apprentissage ne comporte que des ac-cords de guitare. Il est également intéressant de déterminer les performances dusystèmes avec d'autres instruments. Dans cette expérience, nous avons appliquél'algorithme de reconnaissance avec les quatre instruments déjà mentionnés, touscapables de jouer des accords. La Figure 3.10 compare les représentations PCPd'un accord de Do Majeur (C) joué par les quartes instruments cités. Commeon peut le constater, les quatre représentations sont similaires et on observenettement les trois notes principales de l'accord qui sont mises en évidences, àsavoir Do (C), Mi (E) et Sol (G).

Bien que le modèle d'apprentissage soit établi sur base d'un ensemble d'ac-cords de guitare, nous l'avons appliqué à notre ensemble de test constitué d'ac-cords complètement indépendants de ceux utilisés pour entraîner le modèle (voirSection 4.3). Le Tableau 3.4 donne une comparaison des résultats pour les qua-tre instruments en utilisant la méthode naïve décrite en Section 3.3.1 ainsi queles deux méthodes d'apprentissage, à savoir le réseau de neurones et la méthode1-NN (centroïdes).

On observe une augmentation considérable des performances lorsque l'onutilise une méthode d'apprentissage s'appuyant sur une base de données d'ac-cords. La méthode la plus adaptée à la reconnaissance d'accords pour de multi-ples instruments est la technique utilisant un réseau de neurones. La méthode

Page 40: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 39

(a) (b)

(c) (d)

Figure 3.11: Matrices de confusions pour les quatre instruments à l'aide d'unréseau de neurones : (a) guitare, (b) piano, (c) violon et (d) accordéon.

des plus proches voisins fournit également de bons résultats, bien que légèrementplus dégradés qu'avec un réseau de neurones. Notons toutefois que cette légèredégradation du taux de reconnaissance est compensée par un accroissement dutemps d'exécution du système, comme il en sera question dans la section suiv-ante. On constate également un taux d'erreur plus important pour le piano etl'accordéon, ce qui peut s'expliquer par la nature plus bruitée des accords jouéspar ces deux instruments. Les Figure 3.11 et 3.12 montrent les matrices de con-fusion obtenues respectivement avec le réseau de neurones et l'algorithme 1-NN(centroïdes). On observe que les matrices relatives à la guitare pour les deuxalgorithmes re�ètent de très bons résultats. Dans l'ensemble, les matrices deconfusions re�ètent de bonnes performances.

3.5.5 Annotation de morceaux complets

Jusqu'à présent, nous ne faisions que détecter des accords uniques. Le sys-tème lit un �chier audio et renvoie l'identi�ant de l'accord reconnu. Mais unsystème ne permettant de reconnaître qu'un accord à la fois présente bien peud'intérêt. Nous avons donc analysé les performances de l'algorithme lorsqu'ils'agit de reconnaître tous les accords contenus dans un morceau.

L'algorithme implémenté est extrêmement simple et fonctionne comme suit.

Page 41: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 40

(a) (b)

(c) (d)

Figure 3.12: Matrices de confusions pour les quatre instruments à l'aide d'unalgorithme 1-NN : (a) guitare, (b) piano, (c) violon et (d) accordéon.

Page 42: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 41

Accords reconnus : Hotel California (The Eagles)

AM AM ... EM E ... G G ... D D ... F F ... C C C ... DM DM ... E E

Table 3.5 � Accords reconnus pour Hotel California avec un algorithme 1-NN.

Accords reconnus : Hotel California (The Eagles)

AM AM ... E E ... G G ... D D ... F F ... C C C ... DM DM ... E E

Table 3.6 � Accords reconnus pour Hotel California avec un réseau de neurones.

Le système reçoit en entrée une piste audio et capture des transformées deFourier au cours du temps (la taille d'une fenêtre est de 4096 échantillons, soit93 ms). À partir de chaque spectre fréquentiel, le système calcule un vecteur PCPet l'envoie à l'algorithme d'apprentissage qui renvoie alors une chaîne identi�antl'accord. Ainsi, le système renvoie un accord pour chaque fenêtre de Fourier.Cette reconnaissance a été expérimentée avec un réseau de neurones et la métho-de des plus proches centroïdes en utilisant une distance de Bhattacharrya.

L'expérience a été réalisée avec plusieurs pistes musicales, dont un enreg-istrement à la guitare du morceau Hotel California du groupe The Eagles. Unextrait de 30 secondes a donc été envoyé au système. Le Tableau 3.5 montreles accords reconnus pour l'algorithme des plus proches centroïdes. Le systèmerenvoie évidemment bien plus d'accords que ceux qui sont a�chés, étant donnéqu'un accord est détecté tous les 4096 échantillons. On constate que les accordssont bien reconnus. On peut observer une confusion entre un mi mineur (EM)et un mi majeur (E). L'accord qui aurait du être détecté est un mi majeur. Lesdeux accords étant très proches l'un de l'autre, nous considérons cette confusioncomme étant négligeable.

Le Tableau 3.6 montre les accords reconnus avec notre réseau de neurones.Ici, tous les accords ont parfaitement été reconnus. Notons toutefois une dif-férence de temps d'exécution considérable entre les deux algorithmes utilisés.Nous en reparlerons dans la section suivante.

Cette expérience permet de conclure que le système de reconnaissance d'ac-cords que nous avons conçu est parfaitement adapté à l'annotation de morceauxcomplets.

3.5.6 Performances algorithmiques

Notre système de reconnaissance d'accords produit de bons résultats en utili-sant les deux algorithmes mentionnés : un réseau de neurones et un algorithmedes plus proches voisins. Nous avons toutefois remarqué dans les observationsprécédentes que l'algorithme des plus proches voisins produisait des résultatslégèrement moins performants qu'un réseau de neurones pour d'autres instru-ments que la guitare. Il semble donc à priori plus naturel de conserver le réseaude neurones comme algorithme de prédilection. Toutefois, cette dégradation desrésultats est largement compensée par le gain de performances apporté par l'al-gorithme des plus proches centroïdes !

Page 43: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 42

Instrument Réseau de neurones Plus proche centroïdeGuitare 0,197s 0,113sPiano 0,199s 0,124sViolon 0,288s 0,130s

Accordéon 0,199s 0,113s

Table 3.7 � Temps d'exécutions pour la validation des ensembles de tests in-dépendants.

En e�et, pour reconnaître un accord en utilisant un réseau de neurones, ilfaut propager les 12 valeurs de son vecteur PCP dans le réseau et attendre que cedernier fournisse en sortie l'identi�ant de l'accord. La complexité de l'algorithmedépend en grande partie de la structure du réseau de neurones. Dans notre cas,les 12 valeurs du PCP doivent parcourir une couche de 12 neurones, puis unecouche de 35 neurones et �nalement une couche de 10 neurones. Chaque neuroneapplique une fonction de transfert à la valeur reçue en entrée et la propage à sasortie. De plus, chaque valeur du PCP est envoyée à tous les neurones, ce quien fait un algorithme lent, bien qu'e�cace.

L'algorithme des plus proches voisins quant à lui n'e�ectue que dix compa-raisons de PCP. En e�et, ce dernier se base sur une petite base de données de10 vecteurs PCP étant calculés en moyennant 200 accords de la base de données(il y a 200 échantillons par accord pour un total de 2000 enregistrements). Cescomparaisons se font en utilisant une distance de Bhattacharyya, qui se calculede façon très rapide.

À titre de comparaison, nous avons mesuré les temps d'exécution de l'anno-tation d'un extrait de 30 secondes de Hotel California en utilisant le réseau deneurones et en utilisant la méthode des centroïdes. Le réseau de neurones pro-duit un résultat en 1,226 minutes, alors que la méthode des centroïdes renvoieune liste d'accords complète en 0,578 secondes ! Il y a une amélioration d'unfacteur 1000, ce qui n'est pas négligeable.

Nous avons également comparé les temps d'exécution de la validation desensembles de tests indépendants pour chaque instrument. Le Tableau 3.7 donneune comparaison des temps d'exécution pour les deux algorithmes. De nouveau,on constate une amélioration des performances pour la méthode 1-NN. Elle esttoutefois moins marquée que pour l'annotation d'un morceau complet.

3.6 Conclusion

Ce chapitre a décrit la mise en ÷uvre d'un système de reconnaissance d'ac-cords en utilisant des méthodes d'apprentissage automatique. Nous avons d'abordrecherché un descripteur d'accord adéquat, et nous avons déduit que le vecteurPCP introduit par Fujishima était intéressant pour notre application. Nousavons toutefois remarqué que les performances avec le PCP original étaientdégradées pour plusieurs instruments, et nous avons donc adapté le descripteurde façon à ce qu'il corresponde parfaitement à nos besoins.

Page 44: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 3. RECONNAISSANCE D'ACCORDS 43

N'ayant pas trouvé de base de données d'accords publiquement disponible,nous avons créé notre propre ensemble d'accords enregistrés dans deux envi-ronnements di�érents : une chambre sourde et un environnement bruité plusclassique. Les deux environnements ont été choisis pour augmenter la �abilitéde l'algorithme. Cette base de données est constituée de 2000 accords de gui-tare enregistrés au format WAV et répartis dans dix classes di�érents. Nousavons mis en évidence le fait que la base de données devait contenir des accordsbruités et non bruités pour fournir de meilleurs résultats. Chaque accord de labase de données est représenté par un vecteur PCP, et nous avons démontré quece descripteur est adapté pour reconnaître d'autres instruments que la guitare.

Pour reconnaître des accords, nous avons utilisé deux algorithmes d'appren-tissage automatique : un réseau de neurones arti�ciels et un algorithme des plusproches voisins (KNN). Les méthodes d'apprentissages se sont avérées nettementplus e�caces qu'une simple application naïve de la dé�nition d'un accord. Lesdeux algorithmes utilisés présentent des résultats similaires, mais l'algorithmeKNN présente des performances algorithmiques bien plus élevées que le réseaude neurones arti�ciels. Ainsi, pour identi�er tous les accords d'une piste com-plète, l'algorithme KNN est 1000 fois plus rapide que le réseau de neurones etproduit ainsi un résultat instantanément.

Nous avons �nalement démontré que notre algorithme est capable de recon-naître des accords joués par d'autres instruments que la guitare, bien que la basede données d'apprentissage ne soit constituée que d'accords de guitare. Cela dé-montre bien que le vecteur PCP est adapté à nos besoins, car indépendant del'instrument utilisé.

Page 45: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4

Reconnaissance d'extraits musicaux

Dans le chapitre précédent, nous avons démontré que le descripteur PCP étaitadapté pour représenter et reconnaître des accords quel que soit l'instrumentutilisé. Pour ce faire, nous avons développé un algorithme de reconnaissanced'accords basé sur ce descripteur et véri�é sa �abilité en utilisant plusieursinstruments. Dans ce chapitre, nous présentons une technique de reconnaissanced'extraits musicaux se basant sur le PCP pour représenter des pistes musicalescomplètes.

Rappelons que notre objectif ultime est de concevoir une application dereconnaissance d'extraits musicaux basée sur le contenu audio. Il faut donc per-mettre une reconnaissance indépendante de la �forme extérieure� (instrument,timbre, rythme) du morceau que l'on tente d'identi�er. Le principe est doncd'envoyer à l'application un extrait d'une dizaine de secondes joué par exem-ple à l'aide d'une guitare ou d'un piano. L'application doit alors retrouver lapiste correspondante dans une base de données. En fait, elle renvoie la liste desdix meilleures correspondances trouvées dans la base de données. La Figure 4.1montre le principe du système développé.

Pour réaliser un tel système, il est nécessaire d'utiliser un descripteur adéquat,contenant su�samment d'informations pour reconnaître un extrait dans unebase de données potentiellement grande, et assez discriminant pour éviter unmaximum de confusions. Un tel descripteur doit donc contenir su�sammentd'entropie. Notre système repose sur le Pitch Class Pro�le (PCP) décrit dansle Chapitre 3. Nous avons démontré que ce descripteur était capable de recon-naître des accords de manière �able, quel que soit l'instrument utilisé. L'idéeest donc de représenter un extrait musical par une liste d'accords. Quelle quesoit la façon dont est joué un morceau, les accords le constituant seront toujours

44

Page 46: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 45

Figure 4.1 � Schéma du système : un extrait est envoyé à un algorithme decomparaison qui renvoie une liste de correspondances.

identiques, et ces accords joués de façons di�érentes devraient faire l'objet de lamême reconnaissance.

Une fois le descripteur choisi, le système nécessite deux éléments essentiels :une base de données de référence ainsi qu'un algorithme de recherche et de com-paraison dans cette base de données. Dans un premier temps, nous avons décidéde limiter notre base de données à des pistes enregistrées à la guitare, principale-ment en accords ou en arpèges 1. Nous avons également évalué les performancesavec une base de données plus riche. Plusieurs algorithmes de correspondanceont été expérimentés. Le plus e�cace repose �nalement sur une simple com-paraison de chaînes de caractères. Nous décrirons les méthodes expérimentéesplus loin.

Dans ce chapitre, un extrait musical est une partie d'une dizaine de secondesd'une piste ou d'une chanson complète. Une pièce musicale, ou un morceaucorrespond à la pièce musicale dans son entièreté.

Ce chapitre est organisé comme suit. La première section décrit les descrip-teurs d'extraits utilisés. La section suivante concerne la base de données utiliséepour valider notre système de reconnaissance. À cet e�et, il faut déterminer soncontenu et des critères de performance. Ensuite, nous décrivons l'algorithme decorrespondance utilisé. Ce dernier doit comparer un extrait d'entrée aux extraitsprésents dans la base de données et renvoyer une correspondance. La Section 4décrit les résultats de nos expériences. En�n, la Section 5 conclut le chapitre.

4.1 Descripteurs d'extraits

A�n d'éviter de comparer des sons bruts, il est indispensable d'utiliser undescripteur qui contient su�samment d'informations et de façon relativementcondensée. Le descripteur doit être choisi en fonction des propriétés que l'onaimerait attribuer au système. Notre objectif est de pouvoir reconnaître desextraits sur base du contenu musical, et non pas de l'aspect extérieur. Il faut

1. Un arpège est un accord joué note par note. Par opposition, dans un accord classique,toutes les notes sont jouées simultanément.

Page 47: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 46

donc utiliser un descripteur qui contient la même information, quel que soitl'instrument ou le rythme utilisé. Rappelons ici que le rythme est di�érent dutempo ! Le tempo représente la pulsation, la vitesse globale du morceau, tan-dis que le rythme représente la dynamique du morceau, par exemple, la façondont un guitariste va jouer avec sa main droite (voir Annexe A). L'idéal seraitque notre descripteur soit indépendant du tempo. Le système pourrait ainsi re-connaître des extraits, et ce quelle que soit la vitesse à laquelle ils sont joués.Mais deux extraits identiques en termes de contenu joués à deux vitesses dif-férentes correspondent-ils encore au même morceau ? On peut en e�et trouverde nombreuses pistes musicales qui sont très similaires en termes de contenumais jouées à des vitesses di�érentes. Nous avons considéré les deux cas dansnotre étude et notre descripteur �nal est en dé�nitive sensible au tempo dumorceau. Notre descripteur doit également être su�samment discriminant etcontenir su�samment d'information pour distinguer e�cacement des extraitsmusicaux di�érents.

Dans le Chapitre 3, nous avons décrit un descripteur d'accords qui semblerespecter toutes les propriétés décrites ci-dessus. Voyons s'il est possible de l'ap-pliquer à de la reconnaissance d'extraits musicaux. Nous avons montré que lePCP (Pitch Class Pro�le) couplé à une base de données d'accords réels, étaitadapté pour de la reconnaissance d'accords et qu'il permettait de reconnaître desaccords joués avec plusieurs instruments. Représenter un morceau par la listedes accords le constituant en utilisant ce descripteur semble à priori adapté pourreconnaître un extrait musical. En e�et, la représentation serait basée unique-ment sur le contenu du morceau sans tenir compte d'autres caractéristiques telsque le timbre de l'instrument ou le rythme.

De plus, le descripteur PCP contient beaucoup d'informations car il permetde représenter l'intensité de chaque note présente dans un accord. Un accordest donc représenté par 12 valeurs d'intensité, et un morceau complet seraitdès lors représenté par une liste d'accords représentés par 12 notes. En ce quiconcerne l'indépendance par rapport au tempo, il est toujours possible de ré-échantillonner le signal obtenu a�n de le représenter sur une échelle de tempsnormalisée. L'utilisation d'une liste d'accords pourrait donc être aisément adap-tée de façon à rendre le descripteur indépendant de la vitesse à laquelle unmorceau est joué.

Nous avons expérimenté deux types de descripteurs basés sur le PCP. Lepremier utilise les vecteurs PCP bruts. Un morceau est donc représenté parl'évolution de vecteurs PCP au cours du temps. On obtient ainsi un spectrePCP, où l'axe horizontal représente le temps et l'axe vertical représente les12 notes correspondant aux 12 demi-tons d'un accord. Le second descripteurque nous avons expérimenté utilise une liste d'accords obtenue en utilisant ledétecteur d'accords développé dans le Chapitre 3.

Page 48: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 47

4.1.1 Spectre PCP

4.1.1.1 Descripteur

L'objectif est de représenter un morceau par l'ensemble des accords le con-stituant. Pour ce faire, nous reprenons une partie du travail e�ectué dans leChapitre 3. Chaque accord est décrit à l'aide d'un vecteur PCP, qui est unvecteur de 12 valeurs correspondant aux intensités des 12 demi-tons présentsdans un accord musical. Pour rappel, ces notes sont les suivantes :

do, do#, re, re#, mi, fa, fa#, sol, sol#, la, la#, si

Cette représentation par une liste d'accords a été choisie pour deux raisons.D'un point de vue musical, il est intéressant de représenter un morceau par lasuite des accords le constituant, a�n d'extraire une information relative à l'har-monie d'un morceau. La plupart des pièces musicales contiennent toutes desaccords qui constituent une information essentielle. Nous avons de plus démon-tré dans le Chapitre 3 que le descripteur PCP était adapté pour représenterdes accords et ce quel que soit l'instrument utilisé. En représentant un morceausous la forme d'une liste de vecteurs PCP, on obtient une description indépen-dante de l'instrument utilisé, ce qui est particulièrement intéressant pour notreapplication.

En pratique, nous utilisons l'algorithme d'annotation d'un morceau développédans le chapitre précédent. Nous capturons des fenêtres de 4096 échantillons(à une fréquence d'échantillonnage fs = 44100Hz, cela produit environ 10fenêtres par seconde), et pour chaque fenêtre, nous calculons un vecteur PCP.La di�érence avec l'algorithme d'annotation décrit précédemment est que nousn'utilisons pas de réseau de neurones ou autre algorithme d'apprentissage pourdéterminer l'accord détecté. Nous préférons ici travailler directement avec lesvecteurs PCP bruts qui semblent contenir plus d'informations.

Pour chaque note du vecteur PCP, nous obtenons son évolution au coursdu temps. Plus précisément, nous disposons de la quantité de chaque note aucours du temps. Pour plus de facilité, nous convoluons chaque note avec unefenêtre Gaussienne et nous ré-échantillonnons le signal a�n d'obtenir N pointspar seconde, plus précisément 5 points. La Figure 4.2 montre l'évolution desnotes Si (a) et Do (b) au cours du temps pour un extrait donné.

On peut donc représenter une pièce musicale par l'évolution des vecteursPCP dans le temps, ce qui donne un spectre PCP. La Figure 4.3 montre deuxspectres PCP pour deux extraits di�érents d'un même passage de Hotel Cali-fornia. Sur ces �gures, on peut observer verticalement les vecteurs PCP cor-respondant aux accords joués. Sur l'axe horizontal est représenté le temps. Lespectre PCP montre donc les di�érents accords joués au cours du temps. Onconstate des similitudes entre les deux extraits. Les zones principales ressortentbien dans les deux graphiques et il est possible d'identi�er les accords à l'÷il nudans les deux spectres.

Page 49: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 48

0 20 40 60 80 100 120 1400

0.5

1

1.5

2

2.5x 10

7

Time

Energ

y

0 20 40 60 80 100 120 1400

0.5

1

1.5

2

2.5

3

3.5x 10

7

Time

Energ

y

(a) (b)

Figure 4.2: Évolution de la note si (a) et de la note do (b) au cours du temps,dans la chanson Hotel California.

Précisons que nous avons utilisé un facteur E = 2.0 pour le calcul du vecteurPCP (voir Section 3.2.3), reprenant ainsi la dé�nition originale du PCP tellequ'elle a été introduite par Fujishima [13]. On constate une diminution impor-tante de bruit en utilisant un facteur 2.0 plutôt que le PCP avec facteur 1.0utilisé dans l'algorithme de reconnaissance d'accords. La Figure 4.4 montre ladi�érence entre un spectre obtenu avec un facteur 1.0 et un spectre obtenu avecun facteur 2.0. Le deuxième spectre semble plus net et plus simple à exploiterque le premier. C'est ce dernier que nous avons choisi d'utiliser pour représenterune pièce musicale.

Sur base du descripteur choisi, il faut encore concevoir un algorithme dereconnaissance a�n d'identi�er des extraits présents dans une base de données.

4.1.1.2 Algorithme de reconnaissance naïf

L'objectif recherché est de déterminer une mesure de similarité entre deuxextraits musicaux, permettant de renvoyer une réponse booléenne : soit les deuxextraits sont très similaires, soit ils ne le sont pas.

Le premier algorithme de reconnaissance implémenté est extrêmement sim-ple et ne produit pas de résultats concluants. L'objectif est de comparer deuxextraits à l'aide d'une mesure d'angle entre chaque note. En e�et, on disposepour chaque note d'un vecteur décrivant son utilisation dans le temps. L'idéeest de comparer les notes indépendantes de l'accord, d'obtenir un score pourchaque note, puis de combiner les douze scores obtenus (pour les 12 notes duPCP) en une distance globale entre deux extraits. La mesure de distance choisieentre deux notes est basée sur le cosinus de l'angle entre les vecteurs donnantl'énergie de la note au cours du temps. La Formule 4.1 détaille le calcul du scorepour deux vecteurs de notes A et B.

score = 1− A ·B||A|| · ||B|| (4.1)

Page 50: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 49

(a) Extrait 1 de Hotel California

(b) Extrait 2 de Hotel California

Figure 4.3 � Spectres PCP pour deux extraits di�érents d'un même passagede Hotel California.

Page 51: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 50

(a) (b)

Figure 4.4: Comparaison entre deux spectres obtenus respectivement en util-isant un facteur PCP 1.0 (a) et un facteur PCP 2.0 (b). On constate que lespectre de la �gure (b) avec un facteur de puissance E = 2 est plus net que la�gure (a).

Pour combiner les scores obtenus et déterminer une distance globale entredeux extraits, on calcule une moyenne géométrique des scores obtenus. Si cettemoyenne est proche de 1.0, cela signi�e que toutes les notes sont similaires etque par conséquent, les extraits sont proches l'un de l'autre.

L'idée est ici très simple et se base sur des opérations élémentaires e�caces.Par un mécanisme de fenêtre glissante, on compare un extrait inédit à toutesles fenêtres de même taille dans la base de données. On renvoie ensuite le nomde la piste la plus proche de l'extrait.

Malheureusement, il s'est avéré que cette technique était trop élémentaire etqu'elle ne fournissait pas de bons résultats. L'algorithme est capable de retrouverun extrait de la base de données tel quel, mais il ne parvient pas à reconnaîtreun extrait inédit joué à la guitare.

Après analyse de spectres d'extraits de la base de données et d'extraits jouésà la guitare, on se rend compte qu'il y a une grande di�érence entre les spectres.De plus, il y a un décalage temporel entre les deux extraits, et il est dès lorsimpossible de trouver une correspondance parfaite, à moins de reprendre unextrait tel qu'il est présent dans la base de données. La Figure 4.5 montretrois spectres correspondant à trois extraits similaires d'un même passage de lachanson Hotel California. On se rend compte que les spectres sont très di�érentsles uns des autres, alors qu'auditivement, les extraits sont très proches !

4.1.1.3 Détections de pics

En superposant les spectres de deux extraits, on parvient à retrouver deszones similaires qui sont toutefois loin d'être identiques. Cette observation s'ex-plique par le fait que deux accords ne sont jamais joués exactement de la mêmefaçon et à la même intensité, et ce quel que soit l'instrument utilisé. Malgrécette di�érence, on constate toutefois que des �gures similaires ressortent dans

Page 52: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 51

(a) (b)

(c)

Figure 4.5: Spectres de trois extraits d'un même passage de Hotel California.

Page 53: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 52

Figure 4.6 � Spectre PCP après application de l'algorithme de détection depics.

les spectres, comme présenté dans la Figure 4.3. On peut en particulier observerdes pics similaires entre les extraits. Sur base de cette observation, nous avonstenté d'extraire ces pics a�n d'expérimenter une approche qui consiste à com-parer deux extraits sur base de ces points principaux. On autorise de plus undécalage temporel pour tenir compte d'éventuelles variations de tempo.

Pour cela, il nous a fallu dé�nir ce qu'est un pic et ce qui ne l'est pas. Nousavons donc imaginé un algorithme permettant d'isoler certains points a�n dereprésenter un morceau par un spectre mettant en évidence certaines notes prin-cipales qui ressortent par rapport aux autres. L'algorithme fonctionne commesuit.

Le principe est de binariser le spectre en utilisant un seuil approprié. Pource faire, nous calculons un seuil adaptatif en recherchant N points maximumsdans un spectre PCP. En pratique, nous trions tous les points du spectre parordre décroissant et nous choisissons les N premiers, en pratique 30% du nombretotal de points. Sur base de ces N points, nous dé�nissons le seuil comme étantla médiane de ces valeurs. Nous obtenons ainsi une valeur de seuil calculée surbase du contenu du spectre PCP. Ensuite, tous les points de valeur inférieureau seuil sont éliminés et �xés à 0 tandis que les points de valeur supérieuresont conservés et �xés à 1. La Figure 4.6 montre le résultat de l'applicationdu �ltrage sur un �ltre PCP. On constate une série de zones qui sont mises enévidence. A�n d'isoler des pics indépendants et non pas des zones entières, nousavons appliqué un algorithme de �ltrage qui ne conserve qu'un seul point dansune zone homogène. Le résultat est montré dans la Figure 4.7.

Sur base de cette représentation simpli�ée, nous avons développé un algo-rithme de comparaison de deux extraits. L'algorithme s'inspire de la Distancede Jaccard. Cette dernière est une mesure communément utilisée en analysestatistique pour comparer la similarité et la diversité entre des échantillons.Concrètement, l'indice de Jaccard (ou coe�cient de Jaccard) est le rapport de

Page 54: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 53

Figure 4.7 � Pics détectés après �ltrage du spectre PCP.

la cardinalité de l'intersection des ensembles considérés et de l'union des ensem-bles. Il permet d'évaluer la similarité entre deux ensembles. Pour deux ensemblesA et B, l'indice est calculé par

J(A,B) =|A ∩B||A ∪B|

Cette distance semble convenir à nos besoins, puisqu'on travaille à présentavec des ensembles binaires. Il est toutefois important de noter que la seule com-paraison possible est une comparaison par note dans le spectre. En e�et, unepermutation des notes dans le spectre ne change pas la représentation �nale.Dès lors, on doit nécessairement comparer deux extraits en comparant chaquenote séparément. Il faut donc mesurer la similarité entre chaque note des deuxspectres et essayer sur base des informations obtenues de calculer une distanceglobale pour la totalité du spectre. L'algorithme que nous avons implémenté cal-cule un score global en utilisant une distance semblable à la distance de Jaccard.Nous comparons chaque note séparément de la façon suivante. Pour chaque pictrouvé dans l'extrait A, nous recherchons une correspondance dans l'extrait Ben e�ectuant une recherche dans un voisinage de sa position dans l'extrait A.Cette opération est e�ectuée pour chaque note. Ensuite, nous calculons le rap-port entre le nombre de correspondances correctes trouvées et le nombre de picstotal de l'extrait A. Pour identi�er un nouvel extrait, il su�t alors de comparerle spectre correspondant aux spectres des pistes de la base de données.

Malheureusement, cette nouvelle expérience s'est également soldée par unéchec et le taux de reconnaissance pour des extraits inédits est quasiment nul.L'algorithme est capable de retrouver des extraits présents dans la base dedonnées tels quels, mais pas d'extrait totalement nouveau.

Page 55: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 54

4.1.1.4 Conclusion

Après deux méthodes implémentées sur base d'un descripteur sous forme despectre PCP, nous n'avons pas obtenu de résultats concluants. Dans les deux cas,reconnaître un extrait présent dans la base de données fonctionne correctement,mais retrouver un extrait inédit ne fonctionne pas. A�n de comprendre la raisonde cet échec, nous avons analysé les trois extraits de la chanson Hotel Californiade la Figure 4.5, et nous avons étudié les spectres PCP. On constate que lesspectres sont très di�érents. On remarque en particulier sur les �gures (a) et(b) de la Figure 4.5 que des zones entières changent de position. Il devient dèslors très di�cile d'imaginer une fonction permettant d'a�rmer que ces troisspectres représentent exactement le même extrait. Il devient même di�cile dereconnaître les accords du morceau dans un tel spectre. En e�et, ils semblenttrès di�érents dans les trois extraits.

En réalité, les méthodes expérimentées ci-dessus tentent de reproduire ma-nuellement ce que fait déjà notre détecteur d'accords. Alors que ces techniquesn'ont pas fourni de résultats concluants, l'algorithme développé dans le Chapitre 3a été capable de reconnaître les mêmes accords pour ces trois extraits. L'explica-tion la plus logique est que le détecteur d'accords utilise une large base de don-nées d'accords réels, et qu'il a par conséquent connaissance d'une grande variétéd'accords joués di�éremment. On peut en déduire qu'une solution basée sur destechniques d'apprentissage pourrait apporter de meilleurs résultats. Toutefois,se pose alors le problème de la génération d'une base de données d'apprentis-sage. Dans le cas d'extraits musicaux, il est di�cile et fastidieux de concevoirune grande base de données.

Pour la suite, nous avons adopté une solution qui se base sur le détecteurd'accords précédemment utilisé et qui fournit des résultats bien plus concluantsque ceux rencontrés jusqu'à présent.

4.1.2 Utilisation du détecteur d'accords

4.1.2.1 Descripteur

Le descripteur basé sur un spectre PCP n'est de toute évidence pas adaptédans le cas de la reconnaissance d'extraits musicaux. Comme expliqué précédem-ment, les spectres entre plusieurs extraits musicalement très similaires sont tropdi�érents pour permettre d'établir manuellement une fonction de similarité en-tre deux extraits. Suite à cette constatation, nous avons décidé de nous orientervers une optique di�érente. Nous avons en e�et choisi d'utiliser la reconnaissanced'accords développée dans le Chapitre 3 a�n d'annoter les morceaux completsde la base de données ainsi que les extraits musicaux inédits à l'aide de tous lesaccords les constituant. Pour ce faire, nous avons utilisé l'algorithme d'annota-tion d'accords développé précédemment. Rappelons que ce dernier parcourt un�chier audio, capture à intervalles réguliers des fenêtres de 4096 échantillons,génère un vecteur PCP pour chaque fenêtre et envoie le descripteur obtenuà un algorithme d'apprentissage automatique qui renvoie alors l'identi�ant del'accord reconnu.

Page 56: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 55

Une piste audio est donc désormais représentée par une chaîné d'entiers com-pris entre 0 et 9 représentant les 10 accords pouvant être détectés. En e�et, ledétecteur d'accords développé ne permet de reconnaître que dix accords couram-ment utilisés dans la musique contemporaine européenne. Toutefois, cette limi-tation n'empêche pas de représenter des pistes contenant d'autres accords. Ene�et, l'algorithme de reconnaissance va renvoyer l'identi�ant de l'accord de labase de données le plus proche de celui que l'on tente de reconnaître. Même siun identi�ant aléatoire est renvoyé à chaque exécution (pour les accords autresque les dix de la base de données), la chaîne restera similaire car certains ac-cords apparaîtront au même endroit dans la chaîne d'accords. Il est toutefoisprobable que ces accords inconnus soient toujours annotés de la même façon,et il n'y aura ainsi pas de problèmes pour reconnaître des pistes contenant desaccords autres que les dix contenus dans la base de données.

La chaîne d'accords obtenue contient de plus une information temporelle in-téressante. Des fenêtres de 4096 échantillons sont capturées à intervalles réguliers.Étant donné que les �chiers audio utilisés sont échantillonnés à 44100 Hz, nouspouvons déduire que 10 fenêtres par seconde sont capturées. Ainsi, 10 accordsdans la chaîne �nale correspondent à une seconde de musique. Cette informationest très importante et permet de distinguer deux morceaux utilisant exactementles mêmes accords mais à des vitesse di�érentes, par exemple. Pour cette raison,nous avons décidé de ne pas normaliser la chaîne d'accords dans le temps. Deuxmorceaux identiques mais joués à des vitesses di�érentes sont donc considéréscomme deux pistes bien indépendantes et deux titres di�érents. De plus, dansles répertoires de nombreux compositeurs, groupes et chanteurs, on peut trouverde nombreuses chansons dont l'accompagnement est identique, mais joué à untempo di�érent.

Ci-dessous sont données trois chaînes obtenues à partir des trois extraits deHotel California utilisés précédemment (Figure 4.5).

Extrait 1

1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 7 6 6 6 6 6 6 6 6 6 6 6 66 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 1 6 6 6 6 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 99 9 9 9 8 9 9 9 9 9 9 7 6 6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 2 4 4 4 4 2 2 4 2 2 2 2 4 4 4 4 4 4 40 0 8 8 8 8 8 8 8 8 8 8 8

Extrait 2

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7 7 1 1 1 1 6 6 6 6 6 6 11 1 6 1 0 6 1 1 6 1 6 1 0 1 6 6 0 1 1 1 1 6 1 1 1 1 6 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 99 9 9 9 9 9 9 9 9 9 9 9 9 7 7 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 11 6 7 6 8 8 8 8 8 8 8 8 8

Extrait 3

1 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 9 7 1 1 1 6 1 6 6 66 6 7 1 6 6 6 6 1 6 1 1 1 6 6 6 1 6 1 6 6 6 6 6 6 6 6 0 1 6 6 6 9 9 9 9 2 2 9 9 9 9 9 9 9 9 9 9 9 99 9 9 9 9 9 9 7 9 9 9 9 9 9 9 9 9 7 7 1 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 44 4 4 4 4 4 1 5 6 8 8 8 8

On constate de fortes similitudes entre les chaînes. On obtient des ressem-blances plus �agrantes qu'avec la représentation par spectre PCP. Les observa-

Page 57: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 56

tions sont ici en parfaite adéquation avec le contenu musical. En e�et, lorsquel'on écoute les trois extraits, il est di�cile d'entendre les di�érences, les ex-traits étant très similaires. Ils contiennent exactement les mêmes accords jouéspresque exactement de la même façon, au même rythme et au même tempo. Lareprésentation par chaîne d'accords semble donc bien re�éter le contenu musical.

Un avantage non négligeable de cette représentation est également sa consom-mation mémoire. En e�et, une chaîne d'accords est peu coûteuse et un morceaupeut souvent être représenté par moins de 1000 entiers codés sur 4 bits, ce quireprésente 0, 5 ko. De plus, la comparaison de deux extraits peut désormais seréduire à une simple comparaison de chaînes de caractères. Plusieurs mesuresde distances existent pour déterminer la similarité entre deux chaînes de carac-tères. La section suivante détaille les techniques étudiées et utilisées pour établirnotre algorithme de reconnaissance.

Cette représentation par chaînes d'accords est celle que nous avons adoptéedans notre application �nale. C'est en e�et la représentation qui a produit lesmeilleurs résultats. La Section 4.4 fournit les résultats de nos expériences aveccette représentation.

4.1.2.2 Mesure de similarité

Pour comparer deux chaînes de caractères, nous utilisons une distance d'édi-tion (edit distance). En théorie de l'information et en informatique, la distanced'édition entre deux chaînes de caractères correspond au nombre d'opérationsnécessaires pour passer de la première chaîne à la seconde (ou inversement) [6].Il existe plusieurs techniques pour dé�nir une distance d'édition. Ces méthodesvarient selon les opérations d'édition autorisées : remplacement, suppression, in-sertion, transposition de caractères, etc. Une distance d'édition est une général-isation de la distance de Hamming pour des chaînes de longueur identique, oùles seules opérations prises en charge sont des substitutions. En général, le cal-cul d'une distance d'édition est réalisé par un algorithme de programmationdynamique et utilise une matrice (n+ 1) × (m+ 1), où n et m représentent leslongueurs des deux chaînes [9].

Il existe plusieurs types de distance d'édition. Les plus courantes sont reprisesci-dessous.

� Distance de Levenshtein : nombre minimal de caractères qu'il faut insérer,supprimer ou remplacer pour passer d'une chaîne à l'autre. La distance estd'autant plus grande que le nombre de di�érences entre les deux chaînesest grand.

� Plus longue sous-chaîne commune : permet uniquement des opérationsd'insertion et de suppression. Cette distance n'autorise pas la substitution.

� Distance de Damereau-Levenshtein : C'est une extension de la distance deLevenshtein qui permet une opération supplémentaire de transposition,qui consiste à permuter deux éléments tout en gardant les autres �xes.

� Distance de Hamming : ne permet que des opérations de substitutions.

Page 58: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 57

Notons que ces techniques sont similaires au Dynamic Time Wrapping (DTW),qui est un algorithme utilisé pour mesurer la similitude entre deux séquencesqui peuvent varier en temps et en vitesse. Cette mesure est couramment utiliséeen reconnaissance vocale.

La distance sélectionnée pour notre application est la distance de Leven-shtein, qui permet un nombre su�sant d'opérations tout en étant relativemente�cace algorithmiquement. Cette distance permet ainsi de distinguer deux ex-traits même proches l'un de l'autre de façon pertinente. L'algorithme utiliséest implémenté par une technique connue sous le nom de programmation dy-namique. Cette technique algorithmique a été conçue à la base pour optimiserdes sommes de fonctions monotones non décroissantes sous contrainte.

La programmation dynamique s'appuie sur un principe simple : toute solu-tion optimale s'appuie elle-même sur des sous-problèmes résolus localement defaçon optimale. Concrètement, on déduit la solution optimale d'un problème encombinant des solutions optimales d'une série de sous problèmes. Les solutionssont d'abord calculées pour les plus petits problèmes et petit à petit, la solutionglobale du problème est déduite. Un exemple classique de programmation dy-namique est le problème du sac à dos. Nous renvoyons le lecteur intéressé à [29]pour des informations complémentaires.

Algorithme L'algorithme de Levenshtein fonctionne comme suit. Appelonsla chaîne source s et la chaîne de destination t. La distance �nale entre les deuxchaînes correspond au nombre d'opérations de suppression, d'insertion ou desubstitution pour transformer la chaîne s en la chaîne t. Plus la distance estgrande, plus les chaînes sont di�érentes.

� Si s = ”test” et t = ”test”, alors LD(s, t) = 0, où LD signi�e Leven-shtein Distance. Les chaînes sont identiques et aucune opération ne detransformation n'est nécessaire.

� Si s = ”test” et t = ”tent”, alors LD(s, t) = 1, car il faut une opérationde substitution : changer le 's' de s en 'n'.

L'algorithme 4.1 donne la procédure pour calculer une distance de Levenshteinentre deux chaînes s et t.

L'algorithme présenté a une complexité temporelle et spatiale de (m+ 1)×(n+1). Il faut en e�et stocker et remplir la matrice en mémoire. Il est cependantpossible d'e�ectuer le calcul en ne gardant que la ligne précédente et la ligneactuelle en mémoire, ce qui réduit la quantité de mémoire utilisée à O(m).D'autres implémentations plus performantes, mais plus complexes existent, parexemple celle de Myers [24]. Les performances de l'algorithme de base noussatisfaisant dans un premier temps, nous n'avons pas implémenté ces techniquesplus évoluées, mais nous envisageons de le faire dans de futures recherches.

La section suivante détaille la façon dont nous avons exploité l'algorithme deLevenshtein pour rechercher une correspondance entre un extrait inédit et unepiste de la base de données.

Page 59: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 58

Algorithme 4.1 Distance de Levenshtein� Étape 1 :� Dé�nir n = longueur de s ;� Dé�nir m = longueur de t ;� Si n = 0, renvoyer m et quitter ;� Si m = 0, renvoyer n et quitter ;� Construire une matrice de 0...m lignes et 0..n colonnes.

� Étape 2 :� Initialiser la première ligne à 0..n ;� Initialiser la première colonnes à 0..m ;

� Étape 3 :� Examiner chaque caractère de s (pour i de 1 à n) ;� Examiner chaque caractère de t (pour j de 1 à m) ;

� Étape 4 :� Si s[i] = t[j], dé�nir un coût cost = 0 ;� Si s[i] 6= t[j], dé�nir un coût cost = 1 ;

� Étape 5 :� Poser la cellule d[i, j] de la matrice comme étant le minimum de :� La cellule au dessus plus 1 : d[i− 1, j] + 1 (suppression) ;� La cellule à gauche plus 1 : d[i, j − 1] + 1 (insertion) ;� La cellule au dessus à gauche (sur la diagonale) plus le coût : d[i − 1, j − 1] + cost

(substitution).� Étape 6 :� Après toutes les itérations, la distance �nale se trouve dans la cellule d[n, m].

4.2 Recherche de correspondances

A�n d'identi�er un extrait sonore, il faut un algorithme permettant de retrou-ver le morceau le plus similaire dans une base de données de pistes audio. L'al-gorithme doit être �able et doit être capable de trouver une correspondance enun temps raisonnable. Pour notre application, nous avons montré qu'il n'étaitpas possible d'utiliser des techniques basées sur des tables de hachage commele fait Shazam [27][28] et d'autres applications [19][21]. Une table de hachagepermet d'accéder de façon quasi instantanée (théoriquement, en un temps O(1))à l'information recherchée. Étant donné que nous cherchons à identi�er des ex-traits di�érents de ceux qui sont contenus dans la base de données, il est trèsdi�cile de calculer pour ces extraits une emprunte qui sera identique à une autreemprunte d'une piste contenue dans une base de données. Il est donc nécessairede parcourir chaque morceau de la base de données et de calculer un score pourchaque piste. Nous avons expérimenté une première technique ine�cace baséesur un algorithme de fenêtre glissante. Nous avons ensuite amélioré cette méth-ode pour éviter de parcourir toute la base de données. En�n, nous avons ré�échià d'autres pistes permettant d'accélérer la recherche.

4.2.1 Fenêtre glissante

Le premier algorithme implémenté utilise une fenêtre glissante. Un extraitde N secondes est enregistré au format WAV échantillonné à une fréquence de44100 Hz et quanti�é par 16 bits. Ce dernier est ensuite envoyé à l'algorithmede reconnaissance qui fonctionne comme suit.

Chaque piste de la base de données est parcourue. Rappelons que chaque

Page 60: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 59

Figure 4.8 � Algorithme par fenêtre glissante. L'extrait �glisse� sur chaque pistede la base de données.

morceau est représenté dans la base de données par une liste d'accords. Chaquepiste est ensuite découpée en fenêtre de N secondes, où N correspond à la duréede l'extrait à identi�er. L'extrait est ensuite comparé à toutes les fenêtres pos-sibles de la piste. En pratique, l'algorithme capture une première fenêtre deN secondes au début de la piste, puis avance d'un point, capture une nou-velle fenêtre, et continue jusqu'à atteindre la �n du morceau. L'opération estrépétée pour chaque piste de la base de données. L'extrait musical à identi�erest alors comparé à chaque fenêtre de chaque morceau et un score est calculépour chaque piste. L'algorithme renvoie �nalement une liste des dix meilleurescorrespondances. La Figure 4.8 montre le principe de l'algorithme. Une extraitglisse le long d'une piste est est comparé à chaque fenêtre possible.

Cette méthode fonctionne et renvoie de bons résultats (voir Section 4.4),mais présente l'inconvénient d'être extrêmement lente à l'exécution. En e�et,chaque piste contient en moyenne 800 à 1000 fenêtres à analyser. Selon le nombred'éléments dans la base de données, le temps d'exécution devient rapidementinacceptable. Nous avons donc cherché à améliorer ces performances.

4.2.2 Fenêtres aléatoires

Parmi toutes les fenêtres possibles sur une piste d'une durée de trois minutes,il y a inévitablement un grand nombre de fenêtres similaires. Pour améliorer lesperformances, nous avons eu l'idée de sélectionner un sous-ensemble de toutesces fenêtres a�n d'éviter de capturer toutes les fenêtres. Le gain en termes deperformances pour une piste serait non négligeable, et le temps d'exécutionglobal serait indéniablement réduit.

Nous avons mis en ÷uvre une méthode qui ne parcourt que 200 fenêtrespour chaque piste. Ainsi, quelle que soit la durée d'une piste, 200 fenêtres seronttoujours capturées. Pour sélectionner ces fenêtres, nous utilisons un générateurde nombres aléatoires qui renvoie un entier compris dans l'intervalle [0, L−N ],où L est la longueur d'une piste et N la longueur de l'extrait à identi�er. Nous

Page 61: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 60

générons 200 valeurs aléatoires qui correspondent à l'indice à partir duquel il fautcapturer une fenêtre de N secondes. La valeur de 200 fenêtres a été déterminéeexpérimentalement. Nous avons exécuté l'algorithme avec des valeurs inférieuresà 200, mais les résultats n'étaient plus aussi précis. En pratique nous obtenonsdes résultats optimaux pour 200 fenêtres.

Cet algorithme est beaucoup plus performant que le précédent. En e�et,dans une base de données de 100 pistes, alors qu'il fallait environ une minuteà l'algorithme par fenêtre glissante pour identi�er un extrait, il ne faut plusqu'une dizaines de secondes pour obtenir un résultat correct. Cette méthodeest donc dé�nitivement meilleure que la précédente et est à privilégier. C'estdonc cet algorithme que nous avons implémenté dans la version �nale de notreapplication.

Bien que cette méthode soit plus performante, elle nous obligé néanmoinsà parcourir l'intégralité des pistes de la base de données. Nous avons ré�échi àd'autres méthodes permettant d'outrepasser cette limitation.

4.2.3 Méthodes de clustering

Une solution des pour éviter de parcourir toute la base de données seraitde diviser celle-ci en clusters, c'est-à-dire en sous-ensembles relativement ho-mogènes, et de parcourir un nombre limité de clusters. Nous avons imaginéune solution de clustering qui se base sur des histogrammes pour identi�er lesclusters à parcourir.

Le principe est le suivant. Chaque ensemble (cluster) contient un certainnombre de fenêtres d'une durée de dix secondes. Les fenêtres d'un cluster doiventêtre semblables les unes aux autres. Une mesure de similarité entre deux fenêtresest donnée par la distance de Bhattacharyya entre les histogrammes des fréquencesde chaque accord constituant la fenêtre. Rappelons que le détecteur d'accordsutilisé ne reconnaît que dix accords. Dès lors, pour déterminer si deux fenêtressont similaires, il su�t de comparer deux histogrammes de dix éléments. Surbase de ce critère, on peut désormais établir un algorithme de création de clus-ters. Chaque cluster est identi�é par un histogramme représentatif des fenêtresqu'il contient. Pour identi�er un nouvel extrait, il faut calculer son histogrammeet identi�er les N clusters les plus proches de cet extrait. Il faut ensuite parcourirles fenêtres de chaque cluster et renvoyer les correspondances les plus proches.Ainsi, on évite de parcourir inutilement l'ensemble de la base de données.

La di�culté d'un tel algorithme est la création des centres de chaque cluster.En e�et, pour construire la base de données, il faut déterminer M centres, où Mest le nombre de clusters dont on aimerait disposer. Une fois ces centres choisis,on parcourt l'ensemble des fenêtres de la base de données et chaque fenêtre estattribuée à un centre.

La méthode que nous avons implémentée sélectionne 1000 fenêtres de façonaléatoire parmi toutes les fenêtres de la base de données et dé�nit ces fenêtresen tant que centres. Les histogrammes de ces centres sont alors calculés et la

Page 62: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 61

base de données est construite en attribuant chaque fenêtre dans un des 1000ensembles générés.

Malheureusement, cette technique de construction des centres ne produit pasde résultats satisfaisants. Bien que le temps d'exécution soit fortement réduit etqu'on obtienne un résultat quasi instantanément, celui-ci n'est en règle généralepas correct. Deux raisons peuvent expliquer ce disfonctionnement. La premièreest que les centres ne sont pas sélectionnés correctement. Il faudrait sans au-cun doute d'autres techniques de création des centres plutôt que de sélectionnernaïvement des centres aléatoirement. La deuxième raison est que la représenta-tion des centres n'est peut être pas adaptée à nos besoins. Il serait intéressantde rechercher d'autres possibilités de calcul des centres et d'autres mesures decomparaisons a�n d'obtenir des résultats corrects. Nous plani�ons ces expéri-mentations dans nos recherches futures.

4.3 Bases de données

Concevoir un système de reconnaissance d'extraits musicaux implique iné-vitablement l'utilisation d'une base de données de référence. A�n d'évaluer lesperformances de notre système, nous avons construit plusieurs bases de donnéescontenant des pistes variées de divers styles de musique. Le but est de déterminersi notre système se comporte mieux ou moins bien selon la base de donnéesutilisées.

Étant donné que notre système utilise un détecteur d'accords basé sur dela guitare (voir Chapitre 3), il nous a semblé utile de concevoir une premièrebase de données de pistes jouées avec cet instrument. Nous avons égalementconstruit une base de données contenant des morceaux de karaoké, joués avecplusieurs instruments. A�n de tester notre système dans des conditions réelles etde véri�er son comportement, nous avons ajouté quelques pistes contenant de lavoix. En�n, nous avons constitué une base de données de tests, contenant diverséchantillons d'une durée de dix à trente secondes joués par trois instrumentsdi�érents, à savoir la guitare, l'accordéon et le piano.

Cette section décrit les diverses base de données construites et leur contenu.

4.3.1 Pistes de guitare

Une base de données contenant un ensemble de pistes jouées à la guitare a étéenregistrée en chambre anéchoïde. Nous avons choisi d'enregistrer en chambresourde a�n de reproduire au mieux une qualité de studio. Ce choix s'expliqueégalement par des questions de �abilité. En e�et, la plupart des tests sont ef-fectués avec des échantillons enregistrés en environnement bruité. Nous avonsdès lors posé comme caractéristique de notre système qu'il doit être capable dereconnaître des extraits bruités à partir d'une base de données non bruitée.

Concevoir une telle base de données en enregistrant manuellement chaquepiste est une opération longue et fastidieuse car il faut enregistrer chaque piste

Page 63: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 62

manuellement. À cause de cette di�culté, notre base de données ne contientque 160 morceaux. Toutefois, a�n d'e�ectuer des tests pertinents, nous avonsenregistré des pistes utilisant pour la plupart des accords, rythmes et tempossimilaires. Ainsi, si le système est capable de reconnaître un extrait de dix sec-ondes parmi un grand nombre de pistes similaires, il aura de fortes probabilitésde fonctionner de la même façon avec une base de données plus importante.

Les pistes enregistrées sont pour la plupart des accompagnements de chan-sons de variété internationale et française joués essentiellement en utilisant desaccords reconnaissables par notre détecteur d'accords. Notons que cette base dedonnées permet de démontrer que ces accords sont largement utilisés dans denombreuses pièces musicales modernes et cela justi�e une nouvelle fois le choixde ces accords.

A�n de réaliser d'avantage de tests, nous avons inclus dans la base de donnéescertaines pistes jouées plusieurs fois, mais à des tonalités di�érentes. Sur basede notre descripteur, ces pistes similaires devraient être reconnues comme desmorceaux di�érents. À cette �n, nous avons joué les morceaux de la mêmefaçon mais avec usage d'un capodastre, outil permettant de changer aisémentla tonalité d'une pièce jouée à la guitare.

4.3.2 Pistes de karaoké

Nous avons constitué une base de données di�érente, contenant des pistes demorceaux karaokés. Ces pistes contiennent pour la plupart plusieurs instrumentsainsi que de la percussion, mais pas de voix. L'intérêt d'une telle base de don-nées est d'étudier le comportement de notre système dans des conditions plusgénérales, non restreintes à un instrument unique. La di�culté dans ce type depistes est que bien souvent, chaque instrument joue une mélodie ou des accordsdi�érents. Notre système sera capable d'extraire les accords globaux, formantl'harmonie du morceau, mais ne pourra pas isoler chaque instrument.

Tout comme la base de données de guitare, ce nouvel ensemble de pisteskaraokés contient des chansons de variétés internationale ou françaises. Cer-taines pistes sont plus calmes que d'autres, mettant en évidence des instrumentsparticuliers tels que la guitare ou le piano. D'autres au contraire contiennent denombreux instruments, notamment de la guitare électrique, des synthétiseurset de la percussion. Il est ainsi possible de tester la reconnaissance de courtsextraits en utilisant divers styles de musique.

Pour des raisons de droits d'auteur et de copyright, les pistes ne sont pasfournies en annexe.

4.3.3 Pistes originales contenant de la voix

Deux bases de données supplémentaires ont été créées pour tester notre sys-tème dans des conditions réelles, en utilisant des pistes originales, contenant denombreux instruments et de la voix. Les pistes sélectionnées ont été directement

Page 64: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 63

extraites de disques originaux. Pour cette raison, nous ne les fournissons pas enannexe.

En ce qui concerne la première base de données, nous avons simplementintroduit quelques pistes originales dans la base de données de karaoké a�nd'étudier le comportement du système. La deuxième base de données contientuniquement des morceaux originaux. On peut ainsi véri�er si les pistes originalesdans une base de données complètement di�érente sont reconnues puis comparerles résultats par rapport à une base de données ne contenant que des pistesoriginales.

4.3.4 Échantillons de test

Une dernière base de données a été conçue à des �ns de tests et d'expérimen-tations. Celle-ci contient un ensemble d'extraits d'une durée variant entre 10 et30 secondes, enregistrés à l'aide de trois instruments : une guitare, un piano,un accordéon. Ces extraits sont tous enregistrés en environnement bruité, laplupart avec un simple micro d'ordinateur portable. Les extraits au piano ontété enregistrés à l'aide d'un synthétiseur, l'instrument étant directement con-necté à l'ordinateur. Les extraits d'accordéons quant à eux ont été enregistrésen environnement bruité à l'aide d'un micro à condensateurs classique.

Le but de cette base de données est d'évaluer les performances de notre sys-tème de reconnaissance. Elle contient plusieurs exemplaires de mêmes extraitsmais dans des versions di�érentes. Un extrait peut être ainsi joué dans plusieursrythmes di�érents et éventuellement à des tonalités di�érentes. Dans ce derniercas, le système doit être capable de reconnaître deux pistes di�érentes correspon-dant aux deux tonalités, pour autant que les deux versions soient contenues dansla base de données générale. Certains extraits sont également joués à des vitessesdi�érentes (tempos di�érents) a�n de pouvoir étudier la robustesse du systèmepar rapport à des variations de tempos.

Toutes nos expériences ont été e�ectuées avec cette base de données de test.Ces expériences ainsi que leurs résultats sont relatés dans la Section 4.4.

4.4 Expériences et résultats

A�n d'évaluer la pertinence et la �abilité de notre système, il est important deprocéder à une série d'expériences. Nous relatons dans cette section les diverstests e�ectués et les résultats obtenus. Plusieurs expériences ont été réaliséesavec chacune des bases de données créées (voir Section 4.3). Pour chaque test,les validations se sont e�ectuées comme suit : plusieurs extraits d'une dizaine desecondes ont été enregistrés et ont ensuite été envoyés au système a�n de trouverune correspondance. À noter que ces échantillons correspondent en réalité àl'ensemble de test décrit dans la Section 4.3.4. Pour chaque extrait, nous véri�onssi le morceau correspondant a été reconnu. Nous considérons les dix meilleurescorrespondances. Si la bonne piste est identi�ée en première position, il y a

Page 65: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 64

correspondance parfaite. Toutefois, si la piste recherchée apparaît dans les dixpistes les plus proches de l'extrait analysé, nous considérons que le résultat resteacceptable. Il est e�et plus simple de reconnaître un titre parmi dix propositionsque parmi toute une base de données. Dans le cas où la piste n'est pas reconnueen première position, on peut considérer notre système comme un premier �ltrelimitant les possibilités à dix pistes.

Les expériences suivantes ont été réalisées :

� Nous avons tout d'abord testé des échantillons de guitare sur la base dedonnées de guitare uniquement. À cette �n, nous avons utilisé des extraitsd'une dizaine de secondes joués à un tempo similaire à celui de la base dedonnées, mais à des rythmes di�érents. La plupart du temps, les extraitssont reconnus en première position. Nous avons ensuite tenté de recon-naître des extraits joués à des tempos et des tonalités di�érentes, l'intérêtétant d'analyser le comportement du système dans ces conditions.

� L'expérience suivante consiste à reconnaître des extraits d'accordéons etde piano avec la base de données de guitare. Nous disposons d'un nombreplus limité de tels échantillons. L'intérêt de cette expérience est de montrerque notre système est capable de reconnaître des extraits quel que soitl'instrument utilisé.

� Pour étudier le comportement de notre système dans des conditions plusgénérales, nous avons tenté de reconnaître des extraits de guitare parmiune base de données contenant des pistes de karaoké, et donc multi-instrumentale.

� En�n, nous avons essayé de reconnaître des pistes originales, contenant dela voix et de multiples instruments, à partir d'extraits de 10 secondes jouésà la guitare.

Pour chaque piste testée, nous fournissons au système plusieurs extraits etnous observons le résultat renvoyé. Pour chaque expérience, nous présentonsun graphique global reprenant le pourcentage de pistes trouvées à chaque posi-tion de la liste des 10 meilleures correspondances. Pour quelques extraits, nousdonnons le détail et ferons référence au cd audio d'accompagnement a�n d'en-tendre les extraits testés.

4.4.1 Extraits joués à la guitare

Dans cette expérience, nous testons des extraits de 10 à 15 secondes joués àla guitare.

Cinquante extraits de guitare ont été testés avec la base de données ne con-tenant que des pistes de guitare. La Figure 4.9 montre les résultats obtenus. Onconstate que 92 % des extraits ont étés reconnus en première position, ce qui estparticulièrement satisfaisant. 4 % des extraits ont été reconnus en deuxième po-sition et les 4 % restants ont été identi�és en troisième position. La totalité desmorceaux a donc été identi�ée dans la liste des trois meilleures correspondances.

Précisons que les extraits testés sont tous très di�érents les uns des autres.Ces di�érences sont volontaires a�n de véri�er la �abilité de notre système. Le

Page 66: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 65

92%

4%4%

pos 1

pos 2

pos 3

Figure 4.9 � Résultats pour des extraits de guitare dans une base de donnéesde pistes de guitare.

Extrait Position Distancealabama01 1 42alabama02 1 38alabama03 1 53alabama04 1 57alabama05 3 51

Table 4.1 � Résultats pour Sweet Home Alabama

Tableau 4.1 montre les résultats obtenus pour la chanson Sweet Home Alabamadu groupe Lynird Skynird. En écoutant les pistes, on peut constater qu'ellessont très di�érentes les unes des autres, en particulier, les pistes alabama03et alabama04 qui sont très di�érentes de la version contenue dans la base dedonnées. La di�érence dans la piste alabama05 est encore plus accentuée, ce quia pour conséquence de ne pas reconnaître le morceau en première position.

Le Tableau 4.2 donne les résultats obtenus pour la chanson While my guitargently weeps des Beatles. Cette piste a été enregistrée dans deux tonalités dif-férentes dans la base de données. Ces deux versions peuvent être écoutées surles beatles1 et beatles2 du CD d'accompagnement. Les extraits beatles01 à bea-tles04 sont joués dans la première tonalité et les extraits beatles05 à beatles08sont joués dans la seconde tonalité. De nouveau, les résultats sont excellents. Lespistes correspondant aux deux tonalités sont bien reconnues et seul un extraità été identi�é en deuxième position.

Donnons les détails pour un morceau contenant des passages �blancs�, c'est-à-dire, des moments de silence. Il s'agit du morceau Should I stay or should Igo du groupe The Clash. Pour les passages silencieux, le détecteur d'accords nes'arrête pas et produit un entier étant donné qu'un silence ne correspond à aucun

Page 67: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 66

Extrait Position Distancebeatles01 1 43beatles02 2 44beatles03 1 23beatles04 1 23beatles05 1 36beatles06 1 31beatles07 1 26beatles08 1 37

Table 4.2 � Résultats pour While my guitar gently weeps

Extrait Position Distanceclash01 1 45clash02 1 49clash03 1 42

Table 4.3 � Résultats pour Should I stay or should i go

accord de la base de données. Il est donc intéressant d'observer le comportementde notre algorithme pour un tel morceau. Le Tableau 4.3 montre les résultatsobtenus. Trois extraits du morceau sont identi�és en première position. Contretoute attente, le système identi�e aisément les extraits.

Changement de tempo

Nous avons spéci�quement testé quelques extraits de la chanson Bell BottomBlues d'Eric Clapton à des vitesses di�érentes de la version contenue dans labase de données. Les extraits sont disponibles sur le CD d'accompagnement. Lespistes bell01 et bell02 sont jouées à des tempos plus rapides. Ces deux pistes nesont pas reconnues comme étant la chanson d'Eric Clapton. De même la bell03jouée à un tempo plus lent n'est pas reconnue.

Si l'on tente d'identi�er un extrait joué à un tempo di�érent de la base dedonnées, la piste n'est donc pas reconnue. Ce comportement correspond bien àcelui qui est attendu. En e�et, le système calcule dix vecteurs PCP par seconde.Or si un extrait est joué à un tempo di�érent, les mêmes accords ne seront pascapturés aux mêmes instants que dans la piste originale. Les chaînes d'accordsproduites par le détecteur d'accords seront donc di�érentes et par conséquent,l'extrait ne sera pas reconnu.

Il est important de préciser que ce comportement est voulu. Nous considéronsen e�et que deux morceaux constitués des mêmes séquences d'accords mais jouésà des vitesses di�érentes sont bien di�érents. En e�et, il est fréquent d'entendredes chansons di�érentes constituées pourtant la même séquence d'accords, maisà des vitesses di�érentes. Il faut alors identi�er ces chansons séparément, ce quenotre système permet de faire. Notons toutefois que si deux chansons di�érentescontiennent exactement la même chaîne d'accords joués au même tempo, il y

Page 68: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 67

aura évidemment confusion.

Changement de tonalité

Avec la chanson While my guitar gently weeps des Beatles, nous avons tentéde reconnaître des extraits joués à des tonalités di�érentes, en utilisant un capo-dastre 2. La base de donnée contient deux versions de cette chanson, jouées àdeux tonalités di�érentes. L'algorithme d'annotation produit deux chaînes d'ac-cords di�érentes pour les deux versions de la chanson. En e�et, à moins detransposer une chanson à l'octave supérieure ou inférieure, les accords joués nesont plus les mêmes que dans la version non transposée. Les représentations deces deux versions sont donc totalement indépendantes et le système reconnaîtalors deux pistes séparément.

Lorsque l'on joue un extrait dans la tonalité originale, la piste originale estretrouvée. Si l'on joue un extrait transposé, la version transposée est identi�ée.Notre système est donc capable de séparer des pistes de tonalités di�érentes.De nouveau, ce comportement est volontaire. Ainsi, nous considérons que deuxmorceaux identiques joués de façon transposée ne correspondent pas à la mêmechanson. Dès lors, notre système a bien le comportement attendu.

Conclusion

Avec des extraits de guitare, notre système se comporte bien comme nousl'espérions. Des extraits joués à un tempo similaire à la base de données sonttoujours identi�és, en majorité en première position (98%). Quelques extraitsont été reconnus en deuxième et troisième position (8%), mais ces résultatsrestent acceptables.

Avec des tempos et des tonalités di�érentes, les extraits sont reconnus con-formément à nos attentes et permettent de distinguer des tempos et tonalitésdi�érentes. Un extrait d'un morceau A joué à un tempo di�érent de la base dedonnées ne sera donc pas reconnu en tant que A. Ce même extrait joué à unetonalité di�érente ne sera pas non plus reconnu en tant que A, ce qui correspondbien à nos attentes.

4.4.2 Extraits joués à l'accordéon

Cette expérience consiste à reconnaître des extraits de dix secondes jouésà l'accordéon. Nous disposons d'un nombre limité d'échantillons et par con-séquent, nous donnons dans cette section les résultats pour chaque extraittesté. Les échantillons d'accordéons sont évidemment joués très di�éremmentdes pistes de guitare présentes dans la base de données. En e�et, les deux ins-truments ont des sonorités totalement di�érentes. Le seul point commun entre

2. Un capodastre est un outil permettant au guitariste de jouer aisément à une tonalitédi�érente.

Page 69: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 68

22%

6%

67%

6%

pos 1

pos 2

pos 5

pos 6

Figure 4.10 � Résultats pour des extraits d'accordéons dans une base de don-nées de pistes de guitare.

les extraits d'accordéon et les pistes de la base de données est le contenu entermes d'accords.

La Figure 4.10 montre les résultats globaux pour les extraits testés. Sur 18échantillons testés, on constate que 67 % sont reconnus en première position,22 % sont reconnus en deuxième position, et les extraits restants sont classésde façon équivalente en cinquième et sixième position, ce qui reste selon nousacceptable.

Signalons qu'il est parfois di�cile d'identi�er à l'oreille un extrait joué àl'accordéon. Notre système parvient toutefois à reconnaître tous les morceaux.Le Tableau 4.4 donne les résultats pour chaque extrait joué à l'accordéon.

Il est intéressant de noter que pour la piste L'Amérique de Joe Dassin, lesextraits sont très di�érents de la piste de la base de données, y compris en termede tempo. En e�et, si on écoute ces deux pistes, on peut constater certainesirrégularités dans le tempo. Malgré cela, un des deux extraits est parfaitementreconnu tandis que l'autre apparaît un peu plus bas dans la liste des meilleurescorrespondances.

Conclusion

En conclusion, nous pouvons a�rmer que la représentation des pistes mu-sicales par des chaînes d'accords est bien indépendante de l'instrument utilisé.Dès lors, qu'un extrait soit joué à l'accordéon ou à la guitare, les chaînes d'ac-cords produites sont identiques ou très semblables. Il s'ensuit que les extraitsd'accordéon sont reconnus de la même façon que les extraits de guitare. La

Page 70: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 69

Extrait Position DistanceSan Francisco Bay Bluesbay01 1 45bay02 1 51

Hotel Californiacali01 1 39cali02 1 34

Hey Joeheyjoe01 5 49heyjoe02 1 47Ne la laisse pas tomber

laissepastomber01 1 47laissepastomber02 1 50

Tout le bonheur du mondesinsimelia01 1 36sinsimelia02 1 39

Toi plus Moitoimoi01 2 32toimoi02 1 20

L'Amériquedassin01 1 49dassin02 6 64

Don't you knowtracy01 2 76tracy02 2 68

L'e�et papillonpapillon01 1 45papillon02 2 29

Table 4.4 � Résultats pour des extraits joués à l'accordéon

Page 71: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 70

description utilisée ne se base donc que sur le contenu et est parfaitement in-dépendante du timbre et du rythme.

On peut donc supposer que les extraits seront bien identi�és quel que soitl'instrument utilisés. L'expérience suivante con�rme cette thèse avec le piano.

4.4.3 Extraits joués au piano

L'expérience précédente a démontré que la représentation de morceaux pardes chaînes d'accords permet de reconnaître des extraits musicaux indépen-damment de l'instrument utilisé. Dans cette section, nous donnons les résultatsd'une expérience similaire mais avec des extraits joués au piano. Tout commepour l'accordéon, les extraits joués au piano sont très di�érents des pistes con-tenues dans la base de données, constituée de pistes jouées à la guitare. De plus,certains extraits sont joués à un tempo légèrement di�érent a�n d'étudier lecomportement de notre système dans ces nouvelles conditions.

Trente extraits ont été enregistrés à l'aide d'un synthétiseur, directementconnecté à la carte son d'un ordinateur. De ce fait, les extraits ne sont pasbruités. En règle générale, les extraits joués sont bien reconnus. Notons toute-fois que certains extraits de piano sont joués de façon assez di�érente des pistescontenues dans la base de données. C'est notamment le cas de la chanson Hal-leluja de Je� Buckley et de la chanson Parle moi de Pierre Rapsat. Pour cettedernière chanson, les extraits au piano utilisent des accords légèrement di�érentsde ceux joués par la guitare. Les chaînes d'accords produites sont donc trop peusimilaires et l'extrait n'est pas reconnu.

La Figure 4.11 indique les résultats obtenus pour les trente extraits testés.Notons que ces trente extraits sont répartis sur dix pistes ; il y a donc troisextraits par piste. En observant la �gure, on remarque tout de suite un pour-centage élevé d'erreurs. En e�et, 20% des extraits ne sont pas du tout reconnuspar le système. Toutefois, ce pourcentage élevé s'explique par le fait que deuxmorceaux (et donc 6 extraits) n'ont pas du tout été reconnus. Les chi�res sontmentionnés plus loin.

On peut également observer que la majorité des extraits sont reconnus enpremière position. 20% des extraits apparaissent dans les cinq meilleures cor-respondances et 3% (correspondant à un seul extrait) apparaissent dans les dixmeilleures correspondances, plus précisément en huitième position.

Sur les dix pistes testées, deux n'ont pas du tout été reconnues. Il s'agit de lachanson Parle moi de Rapsat et de la chanson Halleluja de Je� Buckley. Aucundes extraits testés n'a été reconnu. En réalité, si l'on écoute les extraits de piano(pistes rapsat01, rapsat02, rapsat03, buckley01, buckley02, buckley03) et les deuxpistes originales de guitare de la base de données, on constate qu'elles sontloin d'être similaires. La chanson de Pierre Rapsat est jouée à l'aide d'accordsdi�érents au piano et à la guitare ce qui produit par conséquent deux chaînesd'accords di�érentes. Quant à la chanson de Je� Buckley, il s'est avéré quel'extrait de piano a été enregistré dans une tonalité di�érente de celle de la basede données ! Il est donc parfaitement normal que le système ne trouve aucune

Page 72: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 71

20%

3%

20%

57%

pos 1

top 5

top10

> 10

Figure 4.11 � Résultats pour des extraits de piano dans une base de donnéesde guitare.

correspondance étant donné que les chaînes produites ne correspondent pas auxmêmes accords. Signalons que ce changement de tonalité n'était pas prévu lorsde l'enregistrement. Il s'agit d'un pur hasard, mais on constate tout de mêmeque notre système se comporte comme attendu.

Le Tableau 4.5 donne les chi�res correspondant aux résultats pour les extraitsde piano. Les trois extraits par piste n'ont pas été explicitement repris. Seul unextrait par piste est repris dans le tableau. On constate bien que la majoritédes morceaux sont reconnus en première position. Notons qu'aucun extrait deSweet Home Alabama n'est reconnu en première position, mais en deuxièmeou troisième position. Comme expliqué ci-dessous, Halleluja n'est pas du toutreconnu à cause d'un changement de tonalité. De même Parle Moi n'est pasreconnu à cause d'accords di�érents. Soulignons également que la chanson Toiplus Moi est particulièrement bien reconnue. En e�et, la distance entre l'extraitjoué au piano et la piste de la base de données jouée à la guitare n'est que de7, ce qui signi�e que seules sept opérations d'insertion, de suppression et desubstitutions sont nécessaires pour passer d'une chaîne à l'autre. Cela signi�eque les deux chaînes d'accords sont extrêmement similaires, probablement parceque l'extrait au piano est joué exactement au même tempo que la version de labase de données.

Conclusion

Sur base des extraits testés au piano, on peut constater que le système répondbien à nos attentes. En e�et, la plupart des extraits sont bien reconnus, lamajorité en première position, et la majorité de ceux qui ne sont pas reconnusen première position apparaît dans les cinq meilleures correspondances. Deux

Page 73: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 72

Extrait Position DistanceSweet home Alabama

alabama02 3 50L'Amérique

dassin02 1 21San Francisco bay blues

bayblues02 1 44Hey Joe

heyjoe02 1 42Tout le bonheur du mondebonheur02 2 36Knocking on heavens doorknock02 1 37

Hallelujabuckley02 > 10 -

Parle moirapsat02 > 10 -

Hotel Californiacali02 1 43

Toi plus Moitoimoi02 1 7

Table 4.5 � Résultats pour des extraits de piano dans une base de données deguitare.

pistes n'ont pas été identi�ées, la première à cause d'une tonalité di�érente, cequi correspond à un comportement correct de notre système. La seconde n'apas été reconnue à cause d'une di�érence d'accords entre l'extrait et la base dedonnées. De nouveau, ce comportement semble correct et répond à nos attentes.

Notre système réagit donc bien comme attendu avec des extraits joués aupiano, tout comme à l'accordéon. Aucun autre instrument n'a été testé, maissur base des résultats obtenus au cours des deux dernières expériences, on peutsupposer des résultats similaires avec tout type d'instrument capable de jouerdes accords.

4.4.4 Base de données Karaoké

A�n de tester notre système avec une plus grande variété de pistes musi-cales, nous avons choisi de l'expérimenter sur une base de données contenantuniquement des pistes de karaoké. Ces pistes ne contiennent donc pas de voix.En e�et, la voix est souvent dominante dans les chansons et il semble plus di�-cile d'extraire des accords sur base d'une piste contenant de la voix. La base dedonnées contient 150 pistes karaoké très variées, allant de morceaux calmes telsque Soldier of Fortune de Deep Purple à des chansons plus rythmées, contenantbien plus d'instruments, notamment de la percussion et de la guitare électrique.L'intérêt de cette expérience est d'observer jusqu'à quel point notre système

Page 74: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 73

18%

5%

18%

59%

pos 1

pos 2

pos 5

pos > 10

Figure 4.12 � Résultats pour des extraits dans une base de données Karaoké

produit des résultats corrects.

La Figure 4.12 montre la répartition des résultats pour 25 extraits testés.Les morceaux testés contiennent essentiellement des accords bien audibles, bienque couverts par d'autres instruments tels que de la percussion. Signalons égale-ment que dans certaines pistes, les accords sont jouées au synthétiseur. 59 % desextraits ont été correctement identi�és en première position. Toutefois, 18 % desextraits ne sont pas reconnus du tout. Ce sont essentiellement des morceaux con-tenant beaucoup d'instruments dont les sons se recouvrent. Il est alors di�cilepour le système d'identi�er une chaîne d'accords correcte. 18 % des extraits ontété reconnus en seconde position et 5 % ont été reconnus en cinquième position.

Nous avons remarqué que seules les piste karaoké contenant peu d'instru-ments, ou mettant bien en évidence un instrument particulier (par exemple laguitare acoustique ou le piano), sont correctement reconnues. Dès que l'on in-tègre d'autres instruments plus modernes tels que des guitares électriques, desbatteries et des synthétiseurs, le système n'est plus capable de reconnaître lespistes convenablement. C'est notamment le cas avec la chanson Allo le monde,de Pauline.

Ce phénomène s'explique comme suit. Le système produit une chaîne d'ac-cords sur base du signal audio. Or un signal multi-instrumental ne met pasnécessairement en évidence les accords du morceaux. L'harmonie globale estparfois très di�cile à identi�er pour des pistes contenant de la percussion oud'autres instruments. C'est le cas notamment des cymbales d'une batterie quiviennent fortement perturber le signal audio. Dès lors, notre détecteur d'accordsn'est plus capable d'identi�er des accords de manière �able et la chaîne produitepar l'algorithme d'annotation sera fortement di�érente de la chaîne produitepour un extrait de la même piste au piano ou à la guitare. Par conséquent, cetextrait ne sera pas reconnu par notre système.

Page 75: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 74

Conclusion

Seule une classe de morceaux particuliers mettant en évidence certains ins-truments est reconnue par notre système. Pour des pistes complexes contenantde multiples instruments, il est di�cile d'obtenir une chaîne d'accords correcte.

Pour avoir un système �able dans tous les cas, il faudrait développer undétecteur d'accords capable d'extraire des chaînes d'accords correctes pour touttype de morceau et tout style de musique. Or c'est loin d'être évident. En e�et,pour de multiples instruments, il faudrait extraire soit une chaîne d'accordsglobale se basant sur tous les instruments, soit une chaîne d'accords basées surun instrument particulier. Cela implique un isolement de la bande de fréquencecorrespondant à cet instruments. Or bien souvent, dans un groupe de musique,les bandes de fréquences correspondant aux divers instruments se recouvrentet il devient alors impossible d'extraire un instrument en particulier avec destechniques conventionnelles.

4.4.5 Base de données contenant de la voix

Nous avons réalisé quelques expériences en ajoutant dans une base de don-nées existante des pistes originales, contenant de la voix. Les pistes ajoutéessont des chansons calmes, contenant peu d'instruments et comprenant des pas-sages exclusivement instrumentaux. Notre système n'a pas été conçu initiale-ment pour reconnaître ce type de pistes. En e�et, aucune des pistes ajoutéesne met vraiment en évidence les accords globaux des morceaux et il est doncdi�cile pour le détecteur d'accords d'extraire une chaîne correcte. Néanmoins,il est intéressant de tester notre système avec ce type de chansons, a�n d'évaluerses performances.

Deux expériences ont été réalisées. La première consiste à ajouter quatrepistes réelles dans notre base de données de guitare et à essayer d'identi�erces nouvelles pistes à l'aide d'extraits joués à la guitare, en arpèges ou en ac-cords. La seconde consiste à créer une petite base de données de pistes originalesuniquement, et d'essayer de les reconnaître à l'aide de courts extraits joués à laguitare.

4.4.5.1 Guitare et pistes originales

Quatre pistes ont été ajoutées dans notre base de données de guitare. Il s'agitdes chansons suivantes :

� Hallelujah de Je� Buckley ;� Soldier of Fortune de Deep Purple ;� Tears in Heaven de Eric Clapton ;� Layla de Eric Clapton.

Précisons que ces pistes étaient déjà présentes dans la base de données en versioninstrumentale enregistrée en chambre sourde. Nous les avons supprimées de la

Page 76: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 75

Extrait Position Distancetears01 2 61tears02 8 79layla01 > 10 -layla02 7 83soldier01 1 95soldier02 1 80

hallelujah01 2 65hallelujah02 6 72

Table 4.6 � Résultats dans une base de données de pistes originales

base de données et remplacées par les pistes originales dans le cadre de cetteexpérience.

Pour chacune des quatre pistes, deux extraits de dix secondes ont été enregis-trés et envoyés à notre système. Aucun extrait n'a été reconnu. Les pistes n'ap-paraissent pas dans la liste des dix meilleures correspondances. Dans tous lescas, notre système trouve une piste de guitare di�érente de la piste originalerecherchée. Étant donné que la base de données contient majoritairement despistes de guitare, un extrait de guitare identi�e plus facilement une piste deguitare qu'une piste originale.

4.4.5.2 Pistes originales

Dans cette expérience, une petite base de données de pistes originales a étéconstruite à l'aide de notre système. Toutes les pistes sont donc annotées parune chaîne d'accords et le système doit tenter de retrouver une correspondanceà partir d'un extrait d'une dizaine de secondes joué à la guitare. La base de don-nées construite pour cette expérience contient 50 pistes originales relativementcalmes, principalement de Norah Jones, Robert Cray et Dave Matthews, ainsique les quatre pistes utilisées dans l'expérience précédente. Avec cette expéri-ence, nous espérons démontrer que le système est capable de reconnaître unepiste dans une base de données relativement homogène, contenant des chansonspropres à un style particulier. En e�et, toutes les pistes de la base de donnéesont peu d'instruments et sont peu rythmées.

Nous avons tenté de reconnaître les extraits utilisés dans l'expérience précé-dente pour identi�er les quatre chansons en question. Ainsi, huit extraits de dixsecondes ont été envoyés au système a�n de les identi�er. Sachant que le systèmen'a pas été conçu initialement pour ce type de base de données, nous consid-érons que le résultat est valide si la piste est identi�ée dans les dix meilleurescorrespondances. Le Tableau 4.6 montre les résultats obtenus pour les extraitstestés.

Au terme de l'expérience, les résultats sont plus concluants que ceux del'expérience précédente, où aucun extrait n'avait été reconnu. Toutefois, à l'ex-ception de la chanson Soldier of Fortune, ils sont loin de ceux que l'on avait

Page 77: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 76

avec une base de données de guitare uniquement. Cependant, quelques extraitsapparaissent dans les premières positions.

Conclusion

Les résultats obtenus sont assez intéressants et permettent de tirer quelquesconclusions. Dans une base de données composée principalement de pistes monoinstrumentales jouées à la guitare, les chansons originales ne sont pas recon-nues du tout. Or si l'on intègre ces pistes dans une base de données constituéed'autres pistes originales, elles apparaissent dans la liste des dix meilleures corre-spondances. Cela signi�e que le système parvient à extraire des pistes originalesune liste d'accords assez représentative du contenu du morceau. Par la suite, lesystème parvient ainsi à lier un extrait de guitare à une piste originale.

Ces résultats sont loin d'être parfaits, mais cette expérience ouvre de nou-velles perspectives vers lesquelles nous projetons de nous tourner dans l'avenir.En e�et, il semble à priori possible d'identi�er certaines pistes originales à l'aidedes accords qui les constituent. Il est pour cela nécessaire de concevoir un dé-tecteur d'accords plus robuste, capable d'extraire les accords de signaux com-plexes.

N.b. On remarque que les pistes originales ont été reconnues uniquement sielles sont présentes dans une base de données constituée uniquement de pistesoriginales. Dans la base de données karaoké, d'autres pistes ne contenant pasde voix ont été reconnues en priorité. Cela signi�e que le contenu de la basede données utilisée in�uence les résultats. Si la base de données contient unemajorité de pistes de guitare et une minorité de pistes originales, un extraitjoué à la guitare trouvera une correspondance de guitare plutôt qu'une pisteoriginale. Avec une base de données karaoké, le principe est le même. La basede données contient en majorité des pistes de karaoké et dès lors, une telle pisteest identi�ée en priorité. Il faut donc être très attentif à la construction de labase de données.

4.5 Conclusion

Sur base du descripteur PCP décrit dans le Chapitre 3, nous avons développéun algorithme de reconnaissance d'extraits musicaux capable d'identi�er despistes contenues dans une base de données sur base d'extraits de dix secondesjoués à la guitare, au piano, ou à l'aide d'autres instruments. Pour réaliser cesystème, il a été nécessaire d'identi�er un descripteur qui représente une pistemusicale et un extrait d'une dizaine de secondes. Deux descripteurs ont été ex-périmentés : le premier est un descripteur basé sur un spectre PCP, qui reprendl'évolution des vecteurs PCP au cours du temps. L'utilisation de ce descripteurs'est soldée par un échec et aucun extrait n'a pu être reconnu. Nous avons doncorienté nos recherches vers un descripteur di�érent, basé sur le détecteur d'ac-cords que nous avons développé au Chapitre 3. Nous avons en e�et choisi de

Page 78: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 77

représenter une piste par une chaîne d'accords obtenue en utilisant le détecteurd'accords. Chaque morceau est donc annoté par une liste d'accords, en pra-tique par une chaîne de caractères. Dès lors, nous avons utilisé un algorithmede comparaison de chaînes pour mettre en correspondance deux extraits de dixsecondes.

Pour identi�er un extrait, nous avons conçu un algorithme utilisant unefenêtre glissante. Ainsi, l'algorithme compare ce dernier à toutes les fenêtres demême taille que l'extrait de la base de données. L'algorithme renvoie ensuitela liste des dix pistes les plus proches de l'extrait. Pour comparer deux chaînesd'accords, nous avons utilisé une distance d'édition, plus particulièrement unedistance de Levenshtein. Cette distance renvoie le nombre d'opérations d'inser-tion, de suppression, de substitution et de permutation nécessaires pour passerd'une chaîne à l'autre.

En utilisant cet algorithme, notre système est capable de reconnaître la plu-part des extraits testés. Nous avons construit plusieurs bases de données con-tenant divers types de pistes, allant de pistes de guitare à des pistes karaokésou des pistes originales contenant de multiples instruments. Les extraits testéssont volontairement bruités et très di�érents des pistes présentes dans les basesde données en termes de rythme et de dynamique. Les résultats obtenus sonttrès satisfaisants.

La Figure 4.13 donne un récapitulatif des résultats des diverses expériencese�ectuées. Pour chaque expérience, la �gure montre le pourcentage de fonction-nement correct du système et le pourcentage de fonctionnement incorrect. Onconsidère que le système fonctionne correctement si

� un extrait est reconnu dans la liste des cinq meilleures correspondances ;� un extrait n'est pas reconnu et ne devrait pas l'être (par exemple à caused'un changement de tonalité).

Le système ne fonctionne pas correctement si

� un extrait n'est pas reconnu alors qu'il devrait l'être ;� un extrait est reconnu mais au delà de la cinquième position dans la listedes meilleures correspondances.

En utilisant une base de données de pistes de guitare, tous les extraits sontidenti�és correctement. En e�et, 92% des extraits ont été parfaitement identi�ésen première position et les 8% restants sont identi�és en deuxième et troisièmepositions. Notons que les morceaux de la base de données se ressemblent etutilisent pour la plupart des accords similaires. Malgré cela, le système identi�eles extraits convenablement. On peut donc considérer que le système a bienfonctionné dans 100% des cas, comme le montre la Figure 4.13.

En utilisant la même base de données, nous sommes parvenu à identi�er desextraits joués à l'accordéon et au piano. Parmi les extraits d'accordéon testés,67% sont reconnus parfaitement, 22% en deuxième position et le reste apparaîten cinquième et sixième position dans la liste. Les résultats peuvent dont être

Page 79: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 4. RECONNAISSANCE D'EXTRAITS MUSICAUX 78

guitare accordeon piano karaoke voix0

10

20

30

40

50

60

70

80

90

100Taux de fonctionnement correct / incorrect

experiences

pou

rce

nta

ge

Resultats corrects

Resultats incorrects

Figure 4.13 � Taux de fonctionnement correct et incorrect pour chaqueexpérience.

considérés comme corrects dans 89% des cas et moins bons dans 11% des cas.Toutefois, tous les extraits sont reconnus dans le top 10 des résultats.

En ce qui concerne le piano, le système se comporte comme attendu pour26 extraits sur les 30 testés. Les pistes sont bien identi�ées et pour l'extraitde la chanson Halleluja qui n'est pas reconnu, le comportement est égalementcohérent puisque la tonalité est di�érente de la base de données. Un extrait estreconnu en huitième position et trois extraits de la chanson Parle moi ne sontpas reconnus, ce qui donne un total de 13% de fonctionnement incorrect.

Notre système est également capable de reconnaître des extraits joués à laguitare parmi une base de données de pistes karaokés. Toutefois, nous avonsconstaté que seuls des morceaux relativement calmes, contenant peu d'instru-ments et mettant en évidence des accords sont reconnus convenablement, ce quisemble logique. Le système est par contre incapable d'identi�er des pistes com-plexes contenant de nombreux instruments. Pour cette expérience, le système secomporte comme attendu dans 82% des tests et ne fonctionne pas correctementpour 18% des extraits testés.

Pour l'expérience de reconnaissance d'extraits musicaux dans une base dedonnées de pistes originales contenant de la voix, deux tests ont été e�ectués.Dans un premier temps, nous avons introduit quelques pistes originales dansune base de données karaoké. Dans ce cas, aucun extrait n'est reconnu. Dansun deuxième temps, nous avons créé une base de données de pistes originalesuniquement. Dans ce dernier cas, 50% des extraits sont reconnus dans le top 5et 50% sont classé plus loin dans la liste, ou ne sont pas du tout reconnus. LaFigure 4.13 montre uniquement cette dernière expérience. Il semble ainsi possibled'améliorer notre système pour le rendre utilisable avec des pistes originales.

Page 80: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 5

Conclusion Générale et Perspectives

À l'heure actuelle, il existe un manque de maturité en matière d'indexa-tion de contenu musical. Ce manque se traduit par l'utilisation majoritaire derequêtes textuelles pour faire de la recherche de documents musicaux. Des ap-plications permettant des requêtes basées sur le contenu existent bien, mais ellessont toutes relativement limitées et ne permettent pas d'identi�er des extraitsmusicaux inédits, di�érents des pistes contenues dans une base de données deréférence. La question de la description des pistes est donc des plus cruciale, carelle constitue l'information de départ dans un système de recherche. De ce fait,elle in�uence les résultats d'un moteur de comparaison.

Dans ce travail de �n d'études, nous avons contribué à l'amélioration desconnaissances dans le domaine de l'indexation musicale. Nous avons conçu unprogramme capable de reconnaître de courts extraits musicaux joués par diversinstruments de musique, en utilisant une base de données centrale.

Pour y parvenir, deux éléments étaient essentiels : d'abord, une représenta-tion idéale pour les pistes de la base de données et les extraits qui doivent êtreidenti�és, ensuite, un algorithme capable de retrouver dans une base de donnéesla piste la plus proche d'un extrait joué.

Sur base d'une étude détaillée de la littérature réalisée dans le Chapitre 2,nous avons choisi de représenter les pistes musicales à l'aide des accords lesconstituant. Cette représentation est idéale car elle est totalement indépendantede l'instrument ainsi que du rythme auquel le morceau est joué. Un descripteurmassivement utilisé dans des applications relatives aux accords est le Pitch ClassPro�le (PCP) introduit par Fujishima. Ce dernier décrit un accord par l'intensitédes douze notes le constituant.

79

Page 81: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 5. CONCLUSION GÉNÉRALE ET PERSPECTIVES 80

A�n de véri�er la robustesse du PCP, nous avons développé un algorithmede reconnaissance d'accords, dont le but était de démontrer que le descripteurétait capable de décrire des accords, quel que soit l'instrument de musique utilisé.Le système conçu utilise des techniques d'apprentissage automatique. À notreconnaissance, nous sommes les premiers à proposer une telle application enutilisant des méthodes d'apprentissage, ce qui en fait un système novateur. Dansle Chapitre 3, nous avons détaillé la conception de l'algorithme, ainsi que lesexpériences réalisées. Nous avons en particulier mis en évidence la création d'unebase de données d'accords réels enregistrés à la guitare, ainsi que d'une base dedonnées de tests enregistrée à l'aide de plusieurs instruments. Aucune base dedonnées similaire n'étant actuellement disponible, nous projetons de rendre lanôtre librement accessible. Le système de reconnaissance d'accords conçu a parailleurs été valorisé par l'écriture d'un article de conférence.

Notre algorithme a produit d'excellents résultats. En e�et, le taux d'erreurde reconnaissance avec des accords de guitare, de piano, de violon et d'accordéonsont respectivement de 0%, 6%, 12% et 10%. À l'heure actuelle, seuls dix accordsmassivement utilisés dans la musique occidentale sont capables d'être reconnusavec une grande précision, mais nous prévoyons d'étendre la capacité du systèmeà plus de dix accords.

Ayant démontré que le PCP était approprié pour représenter des accords,nous avons utilisé ce dernier pour décrire des pistes musicales complètes. LeChapitre 4 relate les expériences réalisées et les résultats obtenus. Un premierdescripteur basé sur des vecteurs PCP bruts a été imaginé, mais n'a pas pro-duit de résultats satisfaisants. Suite à cet échec, il a été décidé de représenterune piste musicale par la liste des accords la constituant. Un algorithme d'an-notation de pistes par des accords a donc été développé, en utilisant le sys-tème de reconnaissance d'accords préalablement créé. Nous avons constaté quecette représentation était �able et que pour des extraits joués di�éremment, lesreprésentation par listes d'accords ne varient que très peu. Les extraits et lespistes d'une base de données sont donc représentés par de simples chaînes decaractères. Cette liste d'accords contient en outre une information temporelleétant donné que des accords sont capturés à intervalles réguliers.

Pour rechercher une correspondance à un extrait musical dans une base dedonnées, nous avons implémenté un algorithme de comparaison de chaînes decaractères. En e�et, les extraits à identi�er et les pistes de la base de donnéesétant représentés de la même façon, il su�t de comparer les chaînes d'accordsproduites pour retrouver la piste la plus proche de l'extrait testé. La distanceutilisée pour calculer l'écart entre deux chaînes de caractères est la distance deLevenshtein, qui renvoie le nombre d'opérations d'insertion, de suppression etde substitution pour passer d'une chaîne à l'autre.

L'algorithme de reconnaissance développé a été testé sur un grand nombred'extraits joués à la guitare, à l'accordéon ainsi qu'au piano. Plusieurs basesde données contenant des styles de musique di�érents ont été construites a�nd'évaluer les performances du système. En utilisant une base de données depistes de guitare, 92% des extraits joués à la guitare ont été reconnus en premièreposition et 8% en seconde position. Avec la même base de données, notre systèmea reconnu parfaitement 67% des extraits d'accordéon testés. 22% de ces extraits

Page 82: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 5. CONCLUSION GÉNÉRALE ET PERSPECTIVES 81

ont été reconnus en deuxième position et les derniers extraits apparaissent encinquième et sixième position. On peut donc considérer les résultats correctsdans 89% des cas. Pour des extraits de piano, le système fonctionne commeattendu pour 87% des extraits testés. Il se comporte moins bien pour 13% desextraits, et certains ne sont pas du tout reconnus.

Le système a également été testé en utilisant une base de données de pisteskaraoké. Nous avons toutefois constaté que seules les pistes mettant en évidenceles accords du morceau sont correctement identi�ées. Ce sont principalementdes pistes plus calmes jouées par des instruments acoustiques qui ont un tauxde reconnaissance élevé. Il devient beaucoup plus di�cile d'identi�er des pistescontenant de nombreux instruments, et ayant par conséquent un signal trèscomplexe. La description d'un extrait de guitare devient alors très di�érente decelle de la piste que l'on cherche à identi�er. Néanmoins, pour des pistes calmes,le système a un taux de reconnaissance correct de 82%.

A�n de tester le système dans des conditions plus générales, nous avonsconstitué une base de données de pistes originales, directement extraites deCDs audio. Dans ce cas, 50% des extraits testés à la guitare sont identi�és, et50% ne le sont pas. Bien que la voix soit dominante dans ce type de pistes,on parvient à identi�er la moitié des extraits testés, ce qui ouvre de nouvellesperspectives de recherche.

De futures recherches supposent des améliorations des techniques dévelop-pées dans les chapitres 3 et 4. En e�et, au terme de ce travail, deux systèmesont été conçus : un algorithme de reconnaissance d'accords et un algorithmede reconnaissance d'extraits musicaux. Ces deux modules ouvrent tous deux denouvelles possibilités.

Le système de reconnaissance d'accords ne peut à l'heure actuelle reconnaîtreque dix accords. On peut dès lors imaginer un système capable de reconnaîtretous les accords existants. Il est évident qu'un enregistrement des échantillonsréels pour tous les accords existants serait long et fastidieux. Par contre, surbase du travail réalisé, il serait intéressant de générer automatiquement unebase de données représentant la totalité des accords existants. On s'orienteraitalors vers des techniques de génération automatique de base de données.

Une autre piste de recherche est la conception d'un système qui, en plus desaccords, extrait un tempo d'une piste audio. Sur base des accords, de leur répar-tition au cours du temps et du tempo, on pourrait alors générer une partitionautomatiquement. Les applications d'un tel système sont vastes : analyse d'unepièce musicale, génération automatique de partition, transposition automatiquede partitions.

Poursuivre des recherches dans le domaine de la reconnaissance automatiqued'accords conduirait sans aucun doute à de passionnantes découvertes.

Le deuxième module créé dans ce travail est un système de reconnaissanced'extraits musicaux. Les résultats de nos expériences montrent qu'avec une basede données constituée essentiellement de pistes mono-instrumentales, la recon-naissance d'extraits de dix secondes est excellente, et ce quelque soit l'instrument

Page 83: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

CHAPITRE 5. CONCLUSION GÉNÉRALE ET PERSPECTIVES 82

utilisé. De là, nous pouvons a�rmer que si les pistes de la base de données met-tent bien en évidence les accords les constituant, notre système sera capabled'identi�er n'importe quel extrait relativement similaire.

Quelques applications concrètes de notre système sont données ci-dessous.Un compositeur peut vouloir s'assurer que sa dernière composition n'est pastrop similaire à une chanson déjà existante. Il peut se servir de notre systèmepour identi�er la liste des pistes les plus proches et obtenir une distance sé-parant sa composition des pistes reconnues. Une autre application pourrait êtrel'identi�cation d'une piste �en live�. On entend une piste lors d'un concert maiscette dernière est di�érente d'une version �studio� stockée dans une base de don-nées. Toutefois, les accords restent les mêmes et par conséquent, le système seracapable d'identi�er la piste. Les applications existantes ne permettant pas unetelle reconnaissance, notre approche est donc novatrice.

Malgré ces possibilités, force est de constater que notre système est loin defonctionner idéalement avec une base de données plus générale, contenant despistes originales. Toutefois, au vu des résultats de nos expériences, des amélio-rations pour accroître les performances du système semblent réalisables.

Une première amélioration serait d'augmenter la capacité de reconnaissancedu détecteur d'accords à plus de dix accords. On obtiendrait ainsi une de-scription plus précise et plus discriminante. Pour améliorer les résultats avecdes signaux complexes, on pourrait, tout comme pour la reconnaissance d'ac-cords, utiliser des descripteurs supplémentaires pour décrire une piste. Celacontribuerait à l'amélioration des résultats. Une indication de tempo, par exem-ple, apporterait une information non négligeable. Une autre piste pourrait êtrel'isolement de certaines bandes de fréquences mettant plus en évidence les ac-cords que d'autres. La question est alors de déterminer les bandes de fréquencesadéquates. De nombreuses possibilités restent donc à explorer.

Des améliorations peuvent également être apportées dans l'algorithme derecherche de correspondances. À l'heure actuelle, nous utilisons un mécanismede fenêtre glissante qui se sert d'une distance de Levenshtein pour comparerdeux chaînes de caractères. D'autres solutions ont été imaginées, notammentdes techniques de clustering, mais elles n'ont pas été approfondies. Une étudeapprofondie de ces méthodes permettrait de fortement réduire le temps d'iden-ti�cation d'un extrait. D'autres possibilités peuvent également être exploréespour représenter di�éremment la base de données : SQL, cloud computing, etc.

Bien que l'application issue de nos recherches soit perfectible, elle est capableà ce stade de reconnaître avec un degré de précision élevé des extraits joués àl'aide d'instruments de musique. À l'inverse des méthodes de recherche textuelleshabituellement utilisées, notre approche o�re à l'utilisateur la possibilité d'inter-agir de manière plus naturelle avec l'ordinateur. Alors que les recherches dans cedomaine sont encore peu développées, l'approche et les techniques utilisées ainsique les résultats obtenus nous permettent de croire qu'ils pourraient contribuerà l'élaboration d'applications très prometteuses.

Page 84: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A

Notions Musicales

L'objectif de notre travail est de concevoir un système d'identi�cation depistes musicales sur base de courts extraits joués à la guitare, ou à d'autresinstruments. Développer un tel système fait inévitablement appel à des notionsthéoriques de musique. En e�et, certains termes utilisés nécessitent la com-préhension de certaines de ces notions. Le lecteur familiarisé avec ces notionsmusicales ne se sentira pas obligé de poursuivre la lecture de cette annexe.

Le but de cette annexe est donc de fournir au lecteur non musicien unepremière approche de certaines notions musicales utilisées dans ce document.L'objectif n'est pas de donner un cours de musique, mais bien de présenter levocabulaire utilisé dans ce document et de familiariser le lecteur avec ces notionsmusicales. Notons que les notions que nous abordons peuvent comporter desapproximations. Le lecteur désireux d'approfondir ses connaissances dans lesnotions considérées pourra se référer à [16].

Dans sa thèse, Carre [3] présente quelques dé�nitions intéressantes qui sontreprises ci-dessous. Nous abordons également d'autres notions nécessaires à lacompréhension de ce document, telles que les accords et les gammes.

A.1 Dé�nitions

Intervalle

Un intervalle est l'écart séparant deux sons. Il est exprimé en demi-tonset témoigne du rapport des fréquences fondamentales des sons en cause. Soit

83

Page 85: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 84

deux sons ayant pour fréquences fondamentales f01et f02 exprimées en hertz.L'intervalle existant entre les deux sons est donné par :

Intervalle = 12× ln(f02f01

) (A.1)

Octave

C'est l'intervalle perçu par l'auditeur non exercé comme une similitude totaleentre deux notes. Physiquement, il correspond à une fréquence fondamentalemultipliée par deux. Pour un auditeur non exercé, il s'agit d'une même notejouée �plus haut� ou �plus bas�, ou encore de façon plus aiguë ou plus grave.Mais la note ne change pas, elle est juste jouée à une octave di�érente.

Les gammes et les modes occidentaux ont été conçus pour que les notes serépartissent à l'intérieur de l'octave. Dans ce contexte, l'octave est l'intervallequi sépare deux notes portant le même nom. L'étendue des notes audibles estdécoupée en octaves numérotées, ce qui permet de dé�nir la hauteur d'une notesans ambiguïté (e.g. do3, sol6).

Tempérament

Le tempérament correspond à une manière de répartir les intervalles de lagamme sur un clavier ou instrument à sons �xes. À la di�érence de la voix oud'un violon qui peuvent emprunter le continuum des hauteurs, et donc adapterla hauteur d'une note à son contexte, les instruments à sons �xes doivent se plierà des approximations dont aucune ne peux être considérée comme parfaite. Cer-taines variantes ont été adoptées au �l des âges, la dernière étant le tempéramentégal, qui divise l'octave en douze demi-tons égaux. Un instrument, ou encoredes hauteurs de notes, sont quali�ées de tempérés lorsqu'ils appartiennent à cesystème. La guitare ou le piano appartiennent notamment à ce système.

Demi-ton

De la même façon que l'échelle des hertz est associée aux fréquences, l'échelledes demi-tons est associée aux hauteurs des notes. Elle témoigne de la perceptionlogarithmique que nous avons des variations de fréquences fondamentales.

Le tempérament égal divisant l'octave en douze demi-tons égaux, le demi-toncorrespond à la multiplication d'une fréquence fondamentale par 21/12. L'écarten fréquence est donc fonction de la hauteur de la note initiale. En revanche,l'écart perçu à l'écoute est identique quel que soit le domaine de fréquence oùl'on se place, ce qui est traduit par l'unité de demi-ton. Le demi-ton correspondpar exemple à l'écart existant entre deux touches de piano contiguës ou entredeux frettes (cases) successives d'une guitare.

Page 86: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 85

Tonalité

La tonalité se compose de deux éléments distincts que sont le ton et le mode.Le ton donne la couleur d'une tonalité. On parle ainsi de tonalité mineure oumajeure. Le mode quant à lui donne la hauteur globale d'une piste musicale(par exemple, sol4). Ainsi, il est possible de jouer un morceau dans des tonalitésdi�érentes. Un chanteur adaptera la tonalité de façon à ne pas forcer sur sa voix.Un auditeur non exercé perçoit un morceau comme étant joué de façon plus aiguëou plus grave. On parle alors de changement de tonalité ou de transposition.Un guitariste peut par exemple aisément changer de tonalité en utilisant uncapodastre, qui est un appareil permettant de réduire la longueur des cordes defaçon à modi�er la tonalité.

Armature ou Armure

C'est un terme désignant la ou les altérations constitutives d'une tonalité. Onparle généralement de dièse ou de bémol (i.e. ], [). Elles sont écrites en généralsur une partition directement après la clef et elles a�ectent toutes les notes demême nom, quelle que soit leur octave, et leur e�et se prolonge pendant toutela durée du morceau. Les altérations permettent de spéci�er que certaines notesseront jouées un demi-ton plus haut (]) ou un demi-ton plus bas ([).

Tessiture et Ambitus

La tessiture est la zone de hauteurs dans laquelle une voix, ou plus générale-ment un instrument, �sonne bien�. Les limites de la tessiture sont assez �oues,mais appartiennent à l'ambitus, qui se dé�nit par les notes extrêmes que peutatteindre l'instrument.

Tempo

Le tempo est lié à la rapidité d'exécution d'une pièce musicale. La manièredite métronomique de l'indiquer consiste à fournir un nombre de battementspar minute (bpm) tout en assignant un battement à une unité de temps donnée,représentée par une valeur de note, e.g. blanche, noire, croche, double-crocheetc.).

Valeur de note

La durée des notes d'une mélodie dépend du tempo auquel elle est jouée.Plus le tempo est rapide, plus les notes sont courtes. Dans la notation musi-cale classique, chaque note possède une valeur. Celle-ci renseigne sur le rapportexistant entre les durées des notes présentes dans la musique considérée. Letempo de la musique �xe aussi la vitesse d'exécution de celle-ci. Par exemple, lavaleur croche désigne une durée deux fois moins longue que la valeur noire. La

Page 87: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 86

noire, quant à elle, dure deux fois moins longtemps qu'une blanche. Jouées à untempo de 60bpm à la noire, la noire dure 1s, la croche dure 0,5s et la blanchedure 2s. Avec un tempo supérieur (par exemple le double, soit 120bpm), cesmêmes valeurs correspondent à des durées moins longues, respectivement 0,5s,1s et 2s.

Rythme

Le rythme résulte de la manière dont s'articulent entre elles non seulement lesdurées, mais aussi et surtout les points d'appui sur lesquels celles-ci se placent.Ainsi, un guitariste peut jouer un morceau sur un tempo donné avec plusieursrythmes di�érents. En général, le mouvement de sa main droite changera enfonction du rythme, mais le tempo global du morceau ne change pas. Les duréessont simplement articulées di�éremment.

Mesure et Métrique

La mesure est une unité rythmique. Sur une partition, les mesures sont dé-limitées par des barres verticales découpant la portée. La structure interne à lamesure est dé�nie par la métrique. Cette dernière intervient dans la localisationdes points d'appui du rythme d'une musique.

Temps (unité)

Le temps est l'unité rythmique correspondant à la subdivision d'une mesure.Selon le type de mesure (simple, composée), le nombre de temps qu'une mesurepeut contenir varie.

A.2 Gammes

Nous avons vu que l'intervalle est l'écart entre deux notes, ou encore ladi�érence de hauteur entre deux notes. On parle encore de rapport entre lesfréquences fondamentales des deux notes. L'intervalle le plus simple est l'octave.Jouer une note une octave plus haut revient à jouer la note de façon deux foisplus aiguë, c'est-à-dire en doublant sa fréquence. Deux notes séparées par uneoctave sont extrêmement semblables pour l'oreille et c'est notamment la raisonpour laquelle deux notes jouées à deux octaves di�érentes portent le même nom.

Un autre intervalle important est la quinte. C'est par exemple l'intervalle quiexiste entre deux cordes voisines sur un violon (Sol - Ré - La - Mi). Jouer unenote une quinte plus haut correspond à multiplier la fréquence de la note par3/2. L'intervalle entre deux notes séparées par une quinte correspond à troistons et demi.

Page 88: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 87

1 2 3 4 5 6 7 8 9 10 11 12Do Do] Ré Ré] Mi Fa Fa] Sol Sol] La La] SiC C] D D] E F F] G G] A A] B

Table A.1 � Les douze notes de la gamme chromatique.

Autre intervalle important : la tierce, qui vaut deux tons. Jouer une noteune tierce plus haut revient à multiplier sa fréquence par 5/4. Ainsi, les notesde l'enchaînement Do - Mi - Sol# - Do sont chacune séparées par une tierce.

Ces trois intervalles sont très utilisés dans la musique contemporaine occi-dentale, mais il en existe bien d'autres. Un ensemble de notes séparées par desintervalles précis forme une gamme.

A.2.1 Gamme chromatique

La gamme chromatique consiste à diviser l'intervalle d'une octave en douzeparties égales que l'on appelle des demi-tons. Cette gamme est fortement utiliséedans la musique occidentale. Les douze notes de la gamme chromatique sontreprises dans le tableau A.1 en notation française (ligne 1) et en notation anglo-saxonne (ligne 2), universellement utilisée dans la littérature.

A.2.2 Gammes diatoniques

La gamme chromatique n'est utilisée telle quelle que dans la musique mo-derne, en particulier le jazz. En général, on n'utilise pas ces douze notes pourfaire de la musique. Les gammes couramment utilisées sont des gammes ditesdiatoniques et ne comportent que sept notes de la gamme chromatique. Lagamme diatonique la plus connue est celle de Do majeur : Do - Ré - Mi -Fa - Sol - La - Si. Il existe douze gammes diatoniques majeures et mineurescorrespondant aux douze notes de la gamme chromatique.

Une gamme diatonique est donc construite à partir de la gamme chromatique.Le Tableau A.2 montre la gamme diatonique de Do Majeur. La première lignedonne la position de la note dans la gamme, que l'on appelle aussi degré. Chaquedegré de la gamme majeure porte un nom :

1. Tonique

2. Seconde

3. Tierce

4. Quarte

5. Quinte

6. Sixte

7. Septième majeure

Page 89: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 88

T 2 3 4 5 6 7MC C] D D] E F F] G G] A A] B

Table A.2 � Gamme diatonique de Do Majeur.

T 2 3m 4 5 6m 7mC D[ D E[ E F G[ G A[ A B[ B

Table A.3 � Gamme de Do mineure.

On constate donc que sept notes sur les douze de la gamme chromatiques sontsélectionnées. On parle ici de gamme de Do Majeur parce que la première note(la tonique) est un Do. Si l'on applique la même technique en partant de la noteMi, on obtient la gamme majeure de Mi. Les intervalles entre les notes de lagamme de Mi majeure sont exactement les mêmes que ceux de la gamme de Domajeur. À l'audition, les gammes sont très semblables, mais la gamme de Misemble plus aiguë que la gamme de Do.

Dans le Tableau A.2, les notes rouges correspondent respectivement à latonique, la tierce et la quinte. Ce sont les notes les plus importantes de la gammeet forment un accord parfait (voir Section A.3). Les notes bleues correspondentaux autres notes de la gamme.

Nous avons mentionné plus haut l'existence de gammes majeures et mineures.Les intervalles d'une gamme mineure sont di�érents. En e�et, les degrés 3, 6 et7 d'une gamme mineure sont chacun diminués d'un demi-ton. On parle alorsde tierce, sixte et septième mineure. Le Tableau A.3 donne la gamme de Domineure. En observant la gamme de Do mineure, on constate qu'elle contientexactement les mêmes intervalles que la gamme majeure mais avec un décalage.En e�et, la gamme mineure naturelle de Do contient les mêmes notes que lagamme majeure de Mi bémol (E[ - F - G - A[ - B[ - C - D), mais en démarrantdu Do et non pas du Mi[. Chaque gamme mineure est donc jumelée avec unegamme majeure, et vice-versa. On parle de gammes relatives. Ainsi, la gammemineure relative de la gamme de Do majeur est la gamme de La mineur, car ellecontiennent les mêmes notes. Les Tableaux A.4 et A.5 donnent respectivementles douze gammes diatoniques majeures et mineures.

A.3 Accords

Un accord est un ensemble de notes jouées simultanément. On parle engénéral d'accord lorsque cet ensemble de notes comporte au moins trois notesdi�érentes, par exemple Do - Mi - Sol. Cependant, un accord peut parfois com-porter quatre ou cinq notes. Étant donné qu'il y a douze notes di�érentes (lesnotes de la gammes chromatique), le nombre de possibilités pour créer des ac-cord est énorme. En pratique, on préfère toutefois respecter certaines règles a�nque le résultat soit agréable à l'oreille.

A�n de permettre aux musiciens de s'y retrouver, chaque accord porte un

Page 90: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 89

Gammes majeures I II III IV V VI VII

C C D E F G A B

C] (ou D[) C] D] F F] G] A] C

D D E F] G A B D]D] (ou E[) D] F G G] A] C D

E E F] G] A B C] D

F F G A A] C D E

F] (ou G[) F] G] A] B C] D] F

G G A B C D E F]G] (ou A[) G] A] C C] D] F G

A A B C] D E F] G

A] (ou B[) A] C D D] F G A

B B C] D] E F] G] A]

Table A.4 � Gammes diatoniques majeures.

Gammes mineures I II III IV V VI VII

C C D E[ F G A[ B[D[ (ou C]) C[ D[ E G[ A[ A B

D D E F G A B[ C

E[ (ou D]) E[ F G[ A[ B[ B D[E E G[ G A B C D

F F G A[ B[ C D[ E[G[ (ou F]) G[ A[ A B D[ D E

G G A B[ C D E[ F

A[ (ou G]) A[ B[ B D[ E[ E G[A A B C D E F G

B[ (ou A]) B[ C D[ E[ F G[ A[B B D[ D E G[ G A

Table A.5 � Gammes diatoniques mineures.

Page 91: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 90

I II III IV V VI VIIC D E F G A B

Table A.6 � Accord de Do majeur.

I II III IV V VI VIIA B C] D E F] G

Table A.7 � Accord de La majeur.

nom (Dm, E7, G6, etc.). Un accord étant toujours formé en choisissant certainesnotes dans une gamme donnée, le nom de l'accord indique la gamme choisie ainsique les notes qui y ont été sélectionnées. Nous ne présentons ici que deux typesd'accords, à savoir les accords majeurs et les accords mineurs, qui sont les plusutilisés.

A.3.1 Accord majeur

Un accord majeur est construit à partir d'une gamme diatonique majeure.Pour construire un accord sur base d'une telle gamme, il su�t de sélectionnerles notes correspondant aux degrés I, III, et V de la gamme désirée. Ainsi,un accord de Do majeur (C en notation anglo-saxonne) s'obtient à partir dela gamme diatonique de Do majeure et comprend les notes Do, Mi, et Sol.Le Tableau A.6 montre un accord de Do majeur respectant la règle énoncéeprécédemment. Notons qu'il est tout à fait possible d'ajouter des notes à cetaccord, en jouant par exemple en plus un Do et Mi joués une octave plus haut.On obtient alors les notes : Do, Mi, Sol, Do2, Mi2, où Do2 et Mi2 correspondentaux notes Do et Mi jouées une octave plus haut.

On peut donc construire tout accord majeur en choisissant une gamme dia-tonique majeure di�érente et en sélectionnant les degrés I, III, et V de cettedernière. Le Tableau A.7 montre ainsi un accord de La majeur obtenu à partirde gamme diatonique majeure de La en utilisant la règle énoncée ci-dessus.

A.3.2 Accord mineur

Alors que les douze gammes diatoniques permettent de former les douzeaccords majeurs, les douze gammes diatoniques mineures permettent de formerdouze accords mineurs. La règle est identique à celle utilisée pour les accordsmajeurs et l'on sélectionne les degrés I, III, et V pour former un accord mineur.

I II III IV V VI VIIC D Eb F G Ab Bb

Table A.8 � Accord de Do mineur.

Page 92: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE A. NOTIONS MUSICALES 91

Ainsi, l'accord de Do mineur, noté Cm, est formé des notes Do, Mi bémol etSol. Le Tableau A.8 montre un accord de Do mineur.

En règle générale, les accords mineurs ont une sonorité plus �triste� queles accords majeurs. Il existe de nombreux autres types d'accords di�érents desaccords majeurs et mineurs. Nous ne les détaillerons pas dans ce document, maisnous renvoyons le lecteur intéressé à [7] pour un complément d'informations.

Page 93: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE B

Apprentissage automatique

Cette annexe a pour but de donner au lecteur non familiarisé avec les notionsd'apprentissage automatique une base théorique su�sante pour la compréhen-sion de ce document. Nous avons utilisé ces techniques dans nos recherches, lorsde la conception de notre algorithme de reconnaissance d'accords. Le but n'estpas de donner un cours sur la matière, mais de donner un bref aperçu théoriquedu sujet. Nous renvoyons donc le lecteur désirant approfondir ses connaissancesen la matière à [20].

L'apprentissage automatique est une discipline scienti�que faisant référenceau développement, à l'analyse et à l'implémentation de méthodes qui permettentà une machine d'évoluer grâce à un processus d'apprentissage, et par conséquentde remplir des tâches qu'il est di�cile ou impossible de résoudre par des moyensalgorithmiques classiques.En règle générale, un algorithme d'apprentissage sebase sur une base de données pour construire un modèle général permettantde réagir face à des nouvelles données, indépendantes de la base de donnéesd'apprentissage. On distingue deux types d'apprentissage :

� L'apprentissage supervisé où les classes (les cibles) sont prédéterminées.La base de données d'apprentissage contient alors un ensemble de couples(entrée, sortie) et le système a connaissance des sorties associées à toutesles entrées. Sur base de ces informations, l'algorithme ajuste ses paramètresinternes a�n de construire un modèle permettant de classer au mieux denouvelles données, non présentes dans la base de données d'apprentissage.

� L'apprentissage non supervisé où les classes ne sont pas connues à l'avance.Dans ce cas, l'algorithme tente de découvrir par lui même la structuredes données. Un tel algorithme essaie d'identi�er des groupes d'entréesrelativement homogènes sur base des valeurs des attributs des éléments de

92

Page 94: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE B. APPRENTISSAGE AUTOMATIQUE 93

la base de données. L'objectif �nal est d'obtenir le modèle le plus généralpossible a�n de classi�er de nouvelles données.

Utiliser des techniques d'apprentissage automatique nécessite donc une basede données de départ, permettant à un algorithme de construire un modèle op-timal. L'algorithme se fonde donc sur des observations et optimise un modèleselon un critère de performance donné. Les techniques d'apprentissage automa-tique sont utilisées dans de nombreux domaines : reconnaissance de formes, devisages, de caractères manuscrits, de la parole, aide au diagnostic médical, etbien d'autres encore.

Sur-apprentissage et sous-apprentissage Lorsque l'on utilise des tech-niques d'apprentissage automatique, il est important de construire un modèlequi classi�e les données correctement en généralisation. En e�et, le modèle estconstruit à partir d'une base de données potentiellement importante et l'objectif�nal est de pouvoir classi�er de nouveaux objets, qui ne sont pas présents dansla base de données. Si le modèle est entraîné de façon à parfaitement classer lesdonnées d'apprentissage mais ne parvient pas à classi�er de nouvelles données,on se trouve en situation de sur-apprentissage (over�tting). Le modèle �colle�aux données d'apprentissage et ne parvient pas à généraliser. Si par contre lemodèle est incapable de classi�er des données de la base de données et de nou-veaux objets, on se trouve en situation de sous-apprentissage (under�tting). Ilest donc important de trouver un compromis entre ces deux situations en jouantsur les paramètres des algorithmes d'apprentissage. L'idéal est de construire unmodèle permettant de classi�er au mieux de nouvelles données indépendantesde l'ensemble d'apprentissage.

B.1 Réseau de neurones arti�ciels

Un réseau de neurones arti�ciels est une méthode d'apprentissage basée sur lemodèle biologique du cerveau humain. Elle a été introduite en 1943 par McCul-loch et Pitts. Malgré la puissance croissante des calculateurs et des approchesthéoriques de plus en plus sophistiquées, un certain nombre de tâches résistentencore aux algorithmes et aux méthodes classiques de traitement des signauxet des données. L'idée d'un réseau de neurones est d'essayer de reproduire lecomportement biologique du cerveau humain et de s'inspirer de ces mécanismespour tenter de modéliser le système nerveux. D'un point de vue technique, unréseau de neurones ne va bien évidemment pas tenter de modéliser le fonction-nement et l'utilité de chaque enzyme et molécule du cerveau humain, mais ilva utiliser les principes fondamentaux de la communication entre neurones a�nde reproduire une communication semblable de manière arti�cielle. Ainsi lescaractéristiques essentielles des réseaux de neurones arti�ciels concernent lesconnexions connexions entre les neurones, la non-linéarité des relations entrée-sortie et la faculté d'adaptation. On considère qu'un réseau de neurones est unapproximateur universel et qu'il est donc capable de modéliser n'importe quellefonction non linéaire.

Page 95: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE B. APPRENTISSAGE AUTOMATIQUE 94

Figure B.1 � Un neurone formel : chaque entrée est associée à un poids et lesentrées sont sommées avant d'être envoyées dans une fonction d'activation quidétermine la sortie du neurone.

Figure B.2 � Diverses fonctions d'activation : (a) fonction seuil, (b) fonctionlinéaire par morceaux, (c) fonction sigmoïde et (d) fonction gaussienne.

B.1.1 Neurone formel

Le neurone formel est une modélisation mathématique qui reprend les principesdu fonctionnement du neurone biologique, en particulier, la sommation des en-trées. Chaque entrée est envoyée au neurone par l'intermédiaire de synapsesauxquelles sont attribuées des poids. Le neurone calcule alors la somme pondéréedes entrées et envoie cette dernière à une fonction d'activation. Cette fonc-tion détermine alors la valeur de sortie du neurone. La Figure B.1 montre lareprésentation d'un neurone formel. Pour une fonction d'activation f , la sortiedu neurone est calculée par

y = f(

n∑

j=1

wjxj)

La Figure B.2 montre quelques fonctions d'activations couramment utiliséesavec des neurones arti�ciels. Il est important de noter qu'un neurone unique per-met de séparer un espace en deux catégories. En combinant plusieurs neurones,on peut représenter 2scatégories, où s correspond au nombre de neurones.

Page 96: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE B. APPRENTISSAGE AUTOMATIQUE 95

Figure B.3 � Réseau de neurones arti�ciels. Les données sont envoyées à unecouche d'entrée et se propagent dans le réseau à travers plusieurs couches,jusqu'à la couche de sortie.

B.1.2 Architecture en réseau

Un réseau de neurones arti�ciels (RNA) est un ensemble de neurones formelsassociés en couches et fonctionnant en parallèle. Chaque couche d'un réseaucalcule un traitement indépendant et fournit le résultat à la couche suivante.L'information se propage ainsi de la couche d'entrée jusqu'à la couche de sortieen passant ou pas par des couches intermédiaires. Habituellement, chaque neu-rone de chaque couche est connecté à tous les neurones de la couche suivante(Feed-Forward Network). Il existe également des réseaux récurrents, où l'infor-mation se propage vers la couche suivante et vers une couche précédente. Le butde ce document n'étant pas de donner un cours sur ces réseaux, nous renvoyonsle lecteur intéressé à [18]. Un réseau de neurones multi-couches utilise princi-palement des fonctions d'activation à seuil ou sigmoïde. Ce type de réseau estparticulièrement intéressant car il est capable de résoudre des problèmes nonlinéairement séparables et des problèmes logiques plus compliqués.

B.1.3 Apprentissage

Un réseau de neurones doit être entraîné de façon à ajuster ses poids defaçon optimale pour classi�er au mieux les données d'entrées. Ainsi, dans le casde la reconnaissance d'accords, dix classes correspondent aux dix accords que lesystème doit être capable de reconnaître. Pour l'apprentissage du modèle, descouples (vecteur pcp, identi�ant accord) sont présentés à la couche d'entrée duréseau et ce dernier propage les valeurs dans le réseau et ajuste ses poids a�nde minimiser un indice de performance. En général, on choisit un indice de per-formance qui est une fonction quadratique, par exemple une erreur quadratique

Page 97: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE B. APPRENTISSAGE AUTOMATIQUE 96

Paramètre ValeurNombre de neurones 35Nombre de couches 1Taux d'apprentissage 0.001

Momentum 0.25

Table B.1 � Paramètres �naux du réseau de neurones utilisé pour la reconnais-sance d'accords.

moyenne. En e�et, seuls les trois premiers termes de la série de Taylor su�sentpour approximer une telle fonction. Dans tous les cas, cette fonction doit êtredérivable a�n de faire converger le réseau vers un taux d'erreur minimal. Unalgorithme couramment utilisé pour minimiser l'erreur quadratique moyenneest la descente de gradient (gradient descent). Cet algorithme est détaillé dans[18]. Ainsi, pour un vecteur d'entrée donné, le réseau calcule la sortie associéeet ajuste ses poids de façon à minimiser l'erreur quadratique moyenne. A�n depouvoir modi�er les poids des neurones situés dans les couches intermédiairesdu réseau, on utilise une technique connue sous le nom de rétro-propagation(back-propagation), qui propage l'erreur obtenue à la sortie du réseau dans lescouches précédentes de ce réseau pour mettre à jour ces poids intermédiaires.De nouveau, nous renvoyons le lecteur intéressé à [18] où ces méthodes sontexpliquées de façon détaillée.

Pour optimiser le réseau et obtenir des résultats �ables, il est possible dejouer sur certains paramètres permettant d'améliorer la convergence du réseau.Deux de ces paramètres sont le taux d'apprentissage et le momentum. Lors de laconception de notre système de reconnaissance d'accords, nous avons dé�ni desvaleurs optimales pour ces deux paramètres. D'autres paramètres in�uencentla convergence, comme par exemple le nombre de couches dans le réseau et lenombre de neurones dans chaque couche. Le Tableau B.1 donne les paramètresutilisés pour notre réseau.

Le taux d'apprentissage dé�nit le pas entre deux itérations dans l'algo-rithme de descente de gradient. À chaque nouveau couple (entrée, sortie), leréseau ajuste sa matrice de poids de façon à minimiser l'erreur quadratiquemoyenne. Chaque nouvelle entrée provenant de la base de données d'apprentis-sage provoque donc une mise à jour des poids en direction de l'erreur minimale(point optimum). À chaque itération, la fonction d'erreur descend d'un pas α ,appelé taux d'apprentissage. La valeur de ce pas dé�nit la vitesse de convergencedu réseau. Néanmoins, plus ce pas est élevé, plus la fonction d'erreur �uctue,et à partir d'une certaine valeur, l'algorithme cesse de converger et s'éloignede l'optimum. Le choix du taux d'apprentissage est donc très important pourobtenir un réseau performant. En pratique, on l'obtient par essai-erreur, enfaisant varier la valeur du pas jusqu'à atteindre des performances acceptables.L'équation suivante dé�nit la descente de gradient utilisée dans un réseau deneurone. Wm

i,j est la matrice de poids du réseau i à la couche cachée m et F estla fonction d'erreur.

Page 98: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE B. APPRENTISSAGE AUTOMATIQUE 97

Wmi,j(k + 1) = Wm

i,j(k)− α ∂F

∂Wmi,j

Pour améliorer la convergence, on peut lisser l'oscillation lors de la descentede gradient. Cela revient à appliquer un �ltre passe-bas sur la fonction de mise àjour des poids. On peut dès lors ajouter un nouveau paramètre, lemomentum,qui accélère la convergence et permet de forcer la trajectoire de la descente dansla même direction. Un �ltre passe-bas est de la forme suivante :

y(k) = γy(k − 1) + (1− γ)w(k)

Appliqué à l'équation de descente de gradient, cela donne :

4Wm(k) = γ4Wm(k − 1)− (1− γ)α∂F

∂Wmi,j

où γ est le paramètre momentum, 0 ≤ γ ≤ 1. En faisant varier cette valeur,on peut améliorer la convergence du réseau. Nous avons recherché une valeuroptimale pour ce paramètre.

B.2 Plus proches voisins : K-NN

La méthode des plus proches voisins consiste en un algorithme particulière-ment simple qui recherche des correspondances parmi un ensemble de K voisins.On dispose donc de données d'apprentissage pour lesquelles chaque observationdispose d'une classe y. L'idée de l'algorithme est, pour une nouvelle observation,de prédire les K observations de la base de données qui lui sont les plus sem-blables et d'utiliser ces données pour classer la nouvelle observation dans uneclasse.

Lorsque l'on parle de voisin, cela implique inévitablement une notion dedistance ou de dissimilarité. Il faut en e�et un moyen de déterminer les voisinsles plus proches. La distance la plus populaire est la distance euclidienne. Dansnotre cas, nous avons choisi d'utiliser la distance de Bhattacharrya [8] (voirSection 3.3.1).

Le cas le plus simple d'un algorithme KNN est celui de K = 1 ; on parlealors de 1NN. Dans ce cas, on cherche l'observation la plus proche de la classeattribuée à l'objet à classi�er. L'algorithme KNN a l'avantage de ne pas néces-siter de temps d'apprentissage. En e�et, il su�t de parcourir la base de donnéeset le seul paramètre à �xer est le nombre de voisins K.

Page 99: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE B. APPRENTISSAGE AUTOMATIQUE 98

B.3 Méthodes de validation

A�n de véri�er les performances d'une méthode d'apprentissage automa-tique, il est nécessaire de valider les méthodes utilisées. En e�et, pour chaquejeu de paramètres, il faut évaluer le modèle obtenu a�n de déterminer s'il classi-�e correctement les nouvelles données en généralisation. Nous avons utilisé deuxtechniques de validations, décrites ci-dessous.

Validation croisée La validation croisée consiste à diviser la base de donnéesd'apprentissage en N ensembles de taille identique. L'apprentissage est réalisésur N-1 ensembles et le modèle ainsi obtenu est testé sur le dernier ensemble,qui n'a pas été pris en compte dans l'apprentissage. Ainsi, pour chacun des Nensembles, on obtient un taux d'erreur. L'erreur globale est obtenue en calculantla moyenne des N erreurs obtenues. En fonction de cette valeur, on peut dire sile modèle doit être recalculé en modi�ant la valeur des paramètres ou si on aatteint un taux d'erreur acceptable.

Validation par Test-Set La validation par test set consiste à diviser la basede données d'apprentissage en deux ensembles. Un ensemble sera alors utilisépour entraîner le modèle tandis que le second sera utilisé pour valider le modèleobtenu. Cette méthode est simple à mettre en ÷uvre, mais présente le désavan-tage de devoir diminuer la taille de l'ensemble d'apprentissage. Le résultat de lavalidation est dès lors légèrement biaisé. On peut par exemple dé�nir le premierensemble à 70% de la base de données totale, et le second ensemble à 30% de labase de données.

Page 100: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE C

Programme réalisé

Nos recherches ont conduit à la réalisation d'un programme écrit princi-palement en langage C++. Ce dernier est capable d'identi�er un court extraitmusical (la durée n'est pas �xée), en recherchant une correspondance dans unebase de données spéci�ée.

Le programme dispose de trois modes de fonctionnement :

� Un mode de génération de base de données. Le programme prend enparamètre le chemin d'un répertoire contenant un ensemble de pistes audioau format WAV 16 bits et mono. À partir de cette information, il extrait dechaque piste une description basée sur le PCP (liste d'accords) et génèreun �chier binaire de base de données.

� Un mode de génération de descripteur. Ce module permet, à partir d'un�chier son, d'extraire le descripteur représentant ce son. Il renvoie ensuiteun �chier texte contenant la liste des accords constituant le son.

� Un mode d'identi�cation de pistes. C'est évidemment le mode de fonction-nement principal du programme. Il prend alors en paramètre le chemin del'extrait à identi�er, toujours au format WAV 16 bits mono et le chemin dela base de données à utilisée. Cette base de données doit obligatoirementavoir été générée par le programme (mode précédent). Le programme vaalors rechercher dans la base de données fournie une correspondance pourl'extrait spéci�é.

Les sources du programme sont fournies en intégralité sur le CD accompa-gnant ce document. Ce CD contient également un ensemble d'extraits joués àla guitare, au piano et à l'accordéon. Plusieurs bases de données sont égalementfournies.

99

Page 101: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE C. PROGRAMME RÉALISÉ 100

Compilation

Le dossier Work/src contient les sources du programme. Pour le compiler,il est nécessaire d'avoir au préalable installé deux librairies indispensables aufonctionnement du programme. Il s'agit des librairies FFTW3 et Boost. Sur unsystème Debian ou dérivé, les paquets à installer sont les suivants :

� lib�tw3-dev� libboost-all-dev

A�n de béné�cier d'une fenêtre graphique pour a�cher un résultat, nous recom-mandons d'installer le paquet zenity. Une fois ces librairies installées, il su�td'exécuter la commande make dans le dossier src. Cette commande compilerale programme et générera un binaire du nom de tfe. Si le programme est exé-cuté sur une architecture 64 bits, un binaire pré-compilé est disponible dans ledossier bin.

Pour exécuter le programme en utilisant le microphone d'un ordinateur, ilfaut de plus avoir installé Python ainsi que le module python-pyaudio 1.

Exécution

Pour identi�er un �chier audio, il su�t d'exécuter la commande suivante :

tfe 2 [chemin du fichier audio] [chemin de la base de donnees]

Par exemple, la commande suivante tentera d'identi�er le �chier sample.wavdans la base de données database.bin :

tfe 2 sample.wav database.bin

Le programme a�chera alors en sortie la liste des dix meilleures correspon-dances trouvées dans la base de données, par ordre décroissant de similitude.

Réseau de neurones

La version �nale du programme n'utilise pas de réseau de neurones. Toutefois,un réseau de neurones capable de reconnaître des accords est fourni. Pour legénérer, on a utilisé la librairie PyBrain. Un programme écrit en langage Pythonpermet de tester le réseau. Il est disponible dans le dossier Work/src/neural.

1. Ce module Python est disponible à cette adresse : http ://peo-ple.csail.mit.edu/hubert/pyaudio/.

Page 102: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXE C. PROGRAMME RÉALISÉ 101

En utilisant le microphone

Il est possible d'identi�er un son enregistré directement à partir du micro-phone d'un ordinateur. Pour ce faire, il faut d'abord placer le �chier compilé tfedans le dossier Work/bin (un �chier pré-compilé pour architecture 64 bits estdéjà fourni dans ce dossier). Il su�t ensuite d'exécuter la commande suivante :

sh start.sh

Le programme se met alors en écoute, et l'on peut enregistrer un extrait de12 secondes. Ensuite, la liste des dix meilleures correspondances est renvoyée.

Page 103: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

ANNEXED

Article de conférence

Dans le cadre de nos recherches, nous avons proposé un article pour la con-férence EUSIPCO 2011 relative au traitement de signal. L'article a été proposéen Février 2011 et décrit notre système de reconnaissance d'accords basé sur unréseau de neurones. Nous proposons ici cet article.

102

Page 104: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

A CHORD RECOGNITION SYSTEM BASED ON MACHINE LEARNINGTECHNIQUES

J. Osmalskyj, S. Piérard, J.-J. Embrechts, and M. Van Droogenbroeck

INTELSIG Laboratory, Montefiore Institute, University of Liège, Belgium

ABSTRACT

In this paper, we consider the challenging problem of music recog-nition and present an effective machine learning based method us-ing a feed-forward neural network for chord recognition. Themethod uses the known feature vector for automatic chord recogni-tion called the Pitch Class Profile (PCP). Although the PCP vectoronly provides attributes corresponding to 12 semi-tone values, weshow that it is adequate for chord recognition.

Part of our work also relates to the design of a database ofchords. Our database is primarily designed for chords typical ofWestern Europe music. In particular, we have built a large datasetmainly filled with recorded guitar chords under different acquisi-tion conditions (instruments, microphones, etc), but also with sam-ples obtained with other instruments. Our experiments establish atwofold result: (1) the PCP is well suited for describing chords ina machine learning context, and (2) the algorithm is also capableto recognize chords played with other instruments, even unknownfrom the training phase.For reviewing, the dataset is available at http://www2.ulg.ac.be/telecom/eusipco2011.zip. It will be made pub-licly available if this paper is accepted.

1. INTRODUCTION

With the widespread availability of digital music over the network,it has become impossible to process that huge amount of data man-ually; even, organizing a personal collection of music samples ischallenging. Therefore automatic tools have a role to play. MusicInformation Retrieval (MIR) is an interdisciplinary science whosegoal is to extend information retrieval into non textual-only areas.The aim of MIR is to describe multiple aspects related to the con-tent of music. Some applications of MIR include music transcrip-tion, music classification [1], playlist generation [5, 11], and musicrecognition [2].

Traditionally, music is annotated with text information providedby the cover. This text information is adequate to characterize lyricsautomatically but totally inappropriate to describe music content.Clearly, an approach based on text lacks of flexibility. In addition,researchers are also interested in extending audio information re-trieval using a more human natural interaction, for example, hum-ming a song [2], tapping rhythm, etc.

The first compulsory step of a retrieval system able to processmusic is the characterization of music. Several techniques are avail-able but the probably best known to musicians is that of chords. Achord can be defined as a set of simultaneous tones [9] or as thesimultaneous sounding of a group of musical notes, usually threeor more in number [3]. This definition might be appropriate for ahuman but, from a classification point of view, it appears to be inap-propriate because there are many variations (due to the instruments,the noise, the recording conditions, etc) even for a unique chord.

From a technical point of view, we show in this paper that thePitch Class Profile (PCP) [6] is a suitable candidate as it is mainlyindependent of the musical instrument used (see Figure 1). The PCPis a compact representation of the frequency content of a sound ex-pressed as the relative proportion of energy with respect to the 12notes of a standard chromatic scale. Notes are defined on a loga-rithmic frequency scale, and energy is expressed in natural units.

Figure 1: This paper shows that the PCP descriptor is well suitedfor representing chords, regardless of the used instrument. To illus-trate the robustness with respect to the instruments, the upper andlower drawings provide the representation of a C chord respectivelyplayed with a guitar and with a piano. The three main peaks are thesame.

But a good descriptor does not suffice. In the paper, we estab-lish that a naive application of the definition of chords to classifyPCPs fails to provide good results. In addition, we also prove thatonce this diversity is correctly handled by machine learning meth-ods, chords form an adequate description for recognizing musics.During our work, because we developed a machine learning tech-nique and many algorithms for music recognition do not use ma-chine learning techniques, we have had to build a database. As,to our knowledge, there is no such database publicly available, wehave created a new large dataset that will be made available uponacceptance of this paper.

The remainder of this paper is organized as follows. Section 2reviews the related work in the field of chord characterization andclassification. Section 3 provides a brief reminder of the PCP fea-ture vector and details why a learning algorithm is preferable to anearest neighbor approach. Section 4 describes our new database,its design, and its content. Section 5 presents the results of experi-ments, and Section 6 concludes the paper.

2. RELATED WORK

Pitch Class Profile based features have been used as a front end tochord recognition systems from the audio recordings. Fujishima[6] developed a real-time recognition system where he derived a12-dimensional pitch class profile to perform pattern matching us-ing binary chord type templates (i.e. ideal PCP representations asshown in Figure 2).

Lee [9] introduced a new feature vector called the EnhancedPitch Class Profile (EPCP) for automatic chord recognition fromthe raw audio. To this end, he first obtained the Harmonic Prod-uct Spectrum (HPS) from the discrete Fourier transform (DFT) of

Page 105: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

the input signal and then he applied an algorithm to that HPS forcomputing a 12-dimensional pitch class profile called the EPCP.

Gomez and Herrera [7] proposed a system that automaticallyextracts from audio recordings tonal metadata such as chord, key,scale, and cadence information. In their work, they computed avector of low-level instantaneous features: the HPCP (HarmonicPitch Class Profile) vector. It is based on the intensity of each pitchmapped to a single octave, which corresponds to Fujishima’s PCP.

Sheh and Ellis [10] proposed a statistical learning method forchord segmentation and recognition, where they used the hiddenMarkov models (HMMs) trained by the Expectation Maximization(EM) algorithm, and treated the chord labels as hidden values withinthe EM framework.

The aforementioned work on chord recognition does not makeuse of machine learning techniques. Therefore, no chords databaseseems to be publicly available (to our knowledge). In this work,we propose such a database, and we consider the use of real chordssamples to train a more accurate chord recognition system.

3. PITCH CLASS PROFILE

3.1 PrincipleThe most common used descriptor for chord identification has beenthe Pitch Class Profile (PCP), initially introduced by Fujishima in[6]. A PCP is a 12-dimensional vector which represents the relativeenergy in each of twelve semi-tones in a chromatic scale. For in-stance, the first PCP element shows how strong C is in total. Sincea chord is composed of a set of tones regardless of their heights,a PCP vector seems to be an ideal feature to represent a musicalchord.

There are some variations to obtain a 12-bin PCP, but it usu-ally follows the following steps. First the algorithm transforms afragment of the input sound to a discrete Fourier transform (DFT)spectrum X(.). From X(.), the algorithm then generates the PCP.Let PCP∗(p) be a vector defined for p = 0, 1, . . . , 11 as

PCP∗(p) = ∑l||X(l)||2 δ (M(l), p) (1)

where δ (·, ·) denotes Kronecker’s delta. M(l) is defined as

M(l) ={−1 l = 0

round(12 log2(( fs. lN )/ fre f ))mod 12 l = 1, . . . , N

2 −1

where fre f is the reference frequency falling into PCP∗(0), N thenumber of samples in the input signal, and fs is the sampling fre-quency. For example, for a standard scale starting with a C, thereference frequency would be 130.80Hz.

In order to compare PCP vectors, it is necessary to normalizethem. Indeed, a chord can be played louder or softer and therefore,the scale of the energy can vary from one PCP to another. To nor-malize a PCP vector, we divide the energy of each bin by the totalenergy of the original PCP, that is,

PCP(p) =PCP∗(p)

∑11j=0 PCP∗( j)

(2)

where p is the index of the bin we want to normalize.

3.2 ExperimentsThe PCP is an intuitive descriptor for a musician because it high-lights the main notes of a chord. Indeed, a musician is able to rec-ognize a chord by identifying the notes contained in that chord. ThePCPs of ten chords are given in Figure 2.

Apparently, the PCP seems to be suitable for representing achord. However, recognizing chords based on the PCP is not a triv-ial task. In a first attempt, we developed a naive but simple chorddetector that only compares histograms using a nearest neighbors(1-NN) method with the Bhattacharyya distance [4] as a distance

c c# d d# e f f# g g# a a# b0

0.2

0.4a

c c# d d# e f f# g g# a a# b0

0.2

0.4am

c c# d d# e f f# g g# a a# b0

0.2

0.4bm

c c# d d# e f f# g g# a a# b0

0.2

0.4c

c c# d d# e f f# g g# a a# b0

0.2

0.4d

c c# d d# e f f# g g# a a# b0

0.2

0.4dm

c c# d d# e f f# g g# a a# b0

0.2

0.4e

c c# d d# e f f# g g# a a# b0

0.2

0.4em

c c# d d# e f f# g g# a a# b0

0.2

0.4f

c c# d d# e f f# g g# a a# b0

0.2

0.4g

Figure 2: Ideal PCP representations of ten chords.

measure. Basically, the algorithm takes an arbitrary PCP vectoras input, normalizes it, and compares it to a predefined list of his-tograms representing the various chords to be recognized. The al-gorithm then classifies the chord as the one of the closest knownhistogram. It turns out that results of that simple method are unsat-isfactory (see Section 5.2 for more details).

4. DATABASE OF CHORDS

Part of the difficulties in machine learning techniques originate fromthe elaboration of a database of samples, also called dataset, andchord classification is no exception. The primary requirement fora chord recognizer using machine learning techniques is that thedataset contains enough data to build a model. Most of the afore-mentioned work on chord recognition does not make use of ma-chine learning techniques which explains why no chords databaseseems to be publicly available (to our knowledge). For that rea-son, we had to create our own database of chords. In our database,we gathered audio files (recorded in the WAV format, sampled atfs = 44100 Hz, and quantized with 16 bits), and the correspond-ing precomputed PCP vectors. The PCP vectors were computed onwindows comprising each 16384 samples, which correspond to 0,37seconds. However, we noticed that shorter windows (4096 samples)can also be used.

Since our final goal is not to recognize all the existing chords,but to develop a music recognition system, we can limit chords tothe most frequent ones. Therefore, we chose a subset of 10 chords:

A, Am, Bm,C, D, Dm, E, Em, F, G.

In our database, these chords are represented by an identifier rang-ing respectively from 0 to 9. Note that if other chords are alsoplayed in a song, the main chords can suffice. Moreover, many mod-ern songs played in Western Europe are based on these 10 chords.Therefore, it seems to be a suitable starting point to validate ourrecognition method.

In practical terms, all PCP vectors are stored in a unique filewhich is organized as follows. Each line consists in a normalizedPCP vector of twelve elements and one more element correspondingto the corresponding chord identifier. The following is illustrativeof one line of the dataset file

0.04, 0.09, 0.18, 0.05, 0.12, 0.04, 0.14, 0.04, 0.03, 0.18, 0.04, 0.05, 4

The last digit corresponds to the class (the D chord in this example).Next we concentrate on the context of the dataset. As we are

willing to validate our dataset and test it on samples acquired ina different context, the database was split into two subsets. The

Page 106: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

c c# d d# e f f# g g# a a# b0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

semi−tones

energ

y

c c# d d# e f f# g g# a a# b0

0.05

0.1

0.15

0.2

0.25

semi−tones

energ

y

(a) (b)

Figure 3: PCP representations of a D chord recorded with the sameguitar in (a) an anechoic chamber, and (b) a noisy room. Note thatthe three major semi-tones are still visible in (b).

first subset contains a very large amount of guitar chord samples,whereas the second subset contains a smaller set of chords playedwith a different guitar and three other instruments. Therefore,there are two ways of using the database: we can either use cross-validation techniques on the first subset, or use it as a learning setand use the second subset as a test set. Details follow.

4.1 First subsetSamples of the dataset are produced with a guitar, which is proba-bly the most common instrument in Western Europe to play chords.The acquisition conditions are the following. The chords sampleswere recorded in two different environments. Half of the chordswere recorded in an anechoic chamber designed to stop reflectionsof acoustic waves on the walls. These samples were recorded witha wideband microphone. The other half was recorded in a noisy en-vironment, with a single condenser microphone. We felt that sam-ples recorded in both environments would reflect both the situationsof professional playing their songs in a studio and people playingmusic home. Moreover, a non negligible part of records are alsoproduced under live conditions, even by professional bands. In Sec-tion 5, we derive that when the system is trained with a mix ofnoise-free and noisy samples it performs best.

Figure 3 shows the PCP representations of a D chord recordedin the anechoic chamber and in the noisy room with the same guitar.As many songs are played in a noisy environment, it is relevant toinclude noisy chords in the database.

For each chord, 100 samples were recorded in the anechoicchamber, and 100 samples were recorded in a noisy room. For eachenvironment, the samples were recorded using four different gui-tars: one classical guitar with nylon strings, and three acoustic gui-tars producing three different sounds. It is expected that the varietyof the dataset with respect to guitars will enhance the robustness ofthe system and extend its applicability, as there are many differentguitar sounds available worldwide.

In conclusion, the first subset is organized as follows. Thereare 2000 chords in total. Each specific chord is recorded 200 times,100 in an anechoic chamber and 100 in a noisy room. In both hun-dred halves, the chords are further separated into four subsets of 25chords, produced with one of the four guitars.

4.2 Second subsetWe also created a smaller database containing chords recorded witha guitar and three other instruments, namely a piano, a violin, and anaccordion. That database is intended to provide an independent testset and should not be used to train the model. That database contains100 chords for each instrument. These 100 chords are distributedequally among the ten chords mentioned earlier. Thus, there are 10recordings per chord for each instrument.

5. EXPERIMENTS

This section first introduces the learning method chosen for the de-sign of our system. Then it details the various experiments per-

Parameters ValuesNumber of hidden layers 1

Number of neurons in the hidden layer 35Learning rate 0.001Momentum 0.25

Weight decay 0.0

Table 1: Neural network parameters.

formed and the results. With our experiments, we want to clarifyand test several points:1. We want to check if a naive application of the chord definition

suffices.2. How do we have to build the training set? Should noise-free

samples, noisy samples, or both types of samples be includedduring training?

3. We want to evaluate the performance of our learning algorithmwith our database.

4. Is the algorithm capable to recognize chords played with variousother instruments?

5.1 Learning algorithm

Most techniques proposed in literature for chord recognition do notuse machine learning methods. Fujishima [6] used a pattern match-ing technique and heuristics to recognize chords. Lee [9] developedan enhanced version of the PCP but still did not use machine learn-ing methods. The techniques developed were efficient, but com-plex. Since our final goal is not to develop a new chord descriptor,we chose to use a very simple, though powerful, technique to rec-ognize chords. The chosen algorithm is a feed-forward neural net-work using a classical gradient descent algorithm with a negativelog-likelihood as cost function [8].

The neural network architecture is the following. There aretwelve input attributes, which correspond to the twelve semi-tonesof the PCP vector representing the chord. The neural network out-puts a vector of 10 values, corresponding to the output neurons, eachone being the probability of the detected chord to be issued from thecorresponding chord. The final settings of the neural network wereoptimized by a 10-folds cross-validation on the database. Table 1gives the parameters of the network.

5.2 Experiment 1: naive application of the chord definition

In this first experiment, we have created a synthetic and ideal sam-ple of PCP for each chord manually (see Figure 2). Then, using theBhattacharyya distance [4], we have applied a nearest neighbors (1-NN) algorithm on our second subset. The classification error ratesobtained are the following: 8 % for guitar, 20 % for piano, 19 % forviolin, and 32 % for accordion. These results are clearly unsatis-factory. The conclusion is straightforward: a learning based on realsamples is necessary to reach the required performance level.

5.3 Experiment 2: determining the optimal learning set

In section 4.1, we explained that we created a database with noise-free chords and noisy chords. To justify that choice (that is, after-ward!), we performed six tests to determine the best of the threefollowing configurations:• a learning set with noise-free chord samples only,• a learning set with noisy chord samples only,• and a learning set with mixed chord samples.

To perform the test, we split the database in different sets. First, theoriginal database of 2000 samples was split into two sub-databasesof 1000 elements. The first one only contains noise-free chordsand the second one contains noisy chords. Then, we created threelearning sets containing 70% of each sub-database. The first setcontains 700 noise-free chords, the second 700 noisy chords, and

Page 107: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

TS / LS Noise-free Noisy MixedNoise-free 4.0 % 5.0 % 4.0 %

Noisy 11.7 % 6.0 % 7.3 %

Table 2: Results of the validation with noise-free, noisy, and mixedlearning and testing sets. The table gives the total classificationerror rate for each configuration.

Figure 4: Confusion matrix for a network trained with a mixedlearning set of 1400 samples (140 chords per class). The test setcontains 600 samples (60 per class). The total error rate is 6.5%.

the last one 350 noise-free chords and 350 noisy samples, takenrandomly.

For the tests, we created two sets with 30% of each sub-database. One test set contains noise-free chords and the secondone contains noisy chords only.

Table 2 gives the results of each test. First, we trained the modelwith a noise-free learning set and tested it with the noise-free andnoisy test sets (second column of the table). Next, we trained themodel with a noisy learning set and tested it with a noise-free andnoisy test sets (third column). Finally, we performed exactly thesame tests with a learning set containing both noise-free and noisychord samples (fourth column). The chords were recorded with dif-ferent guitars distributed equally in each set.

From the results given in Table 2, we conclude that building themodel using a noise-free learning set produces the highest error rate.Moreover, the optimal learning set (noisy or mixed) depends on theconditions under which the model has to be used. Unfortunately, weare not able to guess it in advance. However, we consider that themixed learning set produces models that are less dependent of thenoise in the database than with a noisy learning set, and therefore,we believe it is preferable to use a mixed learning set.

5.4 Experiment 3: validating the databaseFrom our previous observations, we have decided to train our fi-nal model with both noise-free and noisy chord samples. Figure4 shows the confusion matrix for the final network trained with alearning set of 1400 chords, that is 140 chord per class and a testset of 600 chords, that is 60 per class. The main database was splitin two parts and thus, the result is slightly biased due to the sizereduction of the database. Despite that bias, we can observe that theprediction of each class is correct.

5.5 Experiment 4: recognizing other instrumentsIn this experiment, we applied our method to other instruments. Wechose four instruments capable of playing chords, namely a guitar,a piano, an accordion, and a violin. These instruments were chosenbecause they are widely used in Western Europe. Figure 5 compares

c c# d d# e f f# g g# a a# b0

0.2

0.4

en

erg

y

Guitar

c c# d d# e f f# g g# a a# b0

0.1

0.2

en

erg

y

Piano

c c# d d# e f f# g g# a a# b0

0.2

0.4

en

erg

y

Violin

c c# d d# e f f# g g# a a# b0

0.2

0.4

en

erg

y

Accordion

Figure 5: PCP of a C chord played with four instruments (respec-tively, from top to bottom, a guitar, a piano, a violin, and an accor-dion).

1-NN with the Neural networkInstrument chord definition with a learning set

Guitar 8 % 0 %Piano 20 % 13 %Violin 19 % 5 %

Accordion 32 % 4 %

Table 3: Classification error rates for 4 different instruments usingour method.

the PCP representations of a C chord played with four instruments.As can be seen, the PCP representations of the four instruments aresimilar.

Although the model was trained with a database containing onlyguitar chords, we applied it on the independent test sets mentionedin Section 4. It is worth remembering that these recordings are com-pletely independent of the chords used to train the model.

Table 3 gives the results of our method for the four instruments,and compares them to the naive approach (see Section 5.2). Weobserve huge improvements in the results with a learning methodbased of real chord samples compared to that of the naive approach.It appears that it is harder to recognize chords played on a piano,which could be explained by the noisy nature of piano sounds (asgraphically illustrated with the PCP of a piano, in Figure 5).

Figure 6 shows the confusion matrices obtained for each instru-ment using the trained neural network. The predictions are good,but less precise for the piano. Best results are obtained with an in-dependent test set of guitar chords, which is an expected result asthe model was trained with guitar chords. Violin and accordion alsogive good results compared to the naive method, and produce a clas-sification error rate of respectively 5% and 4%, which is promising.

6. CONCLUSIONS

This paper presents a method based on machine learning tech-niques, using a feed-forward neural network, for chords recogni-tion, applicable to raw audio. As no chords database seemed tobe publicly available, we have built our own dataset containingchords recorded in an anechoic chamber and in a noisy room. Bothenvironments were chosen to increase the robustness of the algo-rithm with respect to the acquisition process. The database is madeof 2000 guitar chords saved in WAV files and distributed into 10chords.

We have highlighted that the best strategy consists in using alearning set containing both noise-free and noisy samples. Theyalso show that our attributes, that is, the 12-dimensional PCP vec-

Page 108: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

(a) (b)

(c) (d)

Figure 6: Confusion matrices for four independent test sets with four instruments: (a) guitar, (b) piano, (c) violin, (d) accordion.

tors, are effective representations of chords, and that they are alsoapplicable to other instruments, like piano, violin and accordion.However, the PCP representation has to be sent to a feed-forwardneural network which learns a model to recognize the ten chords.Our method, based on the provided database, outperforms a directapplication of the chord definition using 1-NN with Bhattacharyyadistance. Finally, results for the recognition of chords played withother instruments are also presented. Even, for such PCP samples,our method performs well.

In future works, we intent to extend the approach to the recog-nition a musical excerpts. More sophisticated algorithms for chordrecognition are also worth considering.

AcknowledgmentsS. Piérard has a grant funded by the FRIA, Belgium.

REFERENCES

[1] J.-J. Aucouturier and F. Pachet. Music similarity measures:What’s the use? In International Symposium on Music Infor-mation Retrieval (ISMIR), pages 157–163, 2002.

[2] M. Carre. Systèmes de Recherche de Documents Musicaux parChantonnement. PhD thesis, Ecole Nationale Superieure desTélécommunications, 2002.

[3] Collins. English dictionary, 2010.[4] M. Deza and E. Deza. Encyclopedia of Distances. Springer,

2009.

[5] A. Flexer, D. Schnitzer, M. Gasser, and G. Widmer. Playlistgeneration using start and end songs. In International Sympo-sium on Music Information Retrieval (ISMIR), pages 173–178,2008.

[6] T. Fujishima. Realtime chord recognition of musical sound: asystem using common lisp music. In International ComputerMusic Conference (ICMC), pages 464–467, 1999.

[7] E. Gomez and P. Herrera. Automatic extraction of tonal meta-data from polyphonic audio recordings. In International Con-ference: Metadata for Audio, London, UK, 2004.

[8] T. Hastie, R. Tibshirani, and J. Friedman. The elements ofstatistical learning: data mining, inference, and prediction.Springer Series in Statistics. Springer, second edition, Septem-ber 2009.

[9] K. Lee. Automatic chord recognition using enhanced pitchclass profile. In International Computer Music Conference(ICMC), pages 306–313, 2006.

[10] A. Sheh and D. Ellis. Chord segmentation and recognition us-ing EM-trained hidden markov models. In International Sym-posium on Music Information Retrieval (ISMIR), pages 121–124, 2003.

[11] L. Xiao, L. Liu, F. Seide, and J. Zhou. Learning a music sim-ilarity measure on automatic annotations with application toplaylist generation. In Int. Conf. on Acoustics, Speech andSignal Processing (ICASSP), pages 1885–1888, 2009.

Page 109: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Table des �gures

1.1 Système de recherches de pistes audio sur base d'un court extrait. 10

2.1 Représentation de quelques disciplines relatives à MIR. . . . . . . 14

3.1 Représentation PCP d'un accord de do majeur joué à la guitare.On voit nettement les trois pics principaux correspondant auxtrois notes de l'accord, à savoir do (c), mi (e), sol (g). . . . . . . 23

3.2 Évolution de l'erreur de classi�cation de l'accord lorsque la valeurdu paramètre E de l'équation 3.4 évolue. La valeur idéale se situeau voisinage de 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.3 Représentation d'un accord de Do Majeur (CMaj) par un PCPmodi�é. Par rapport à la Figure 3.1, on constate une quantitéplus importante de bruit. . . . . . . . . . . . . . . . . . . . . . . 25

3.4 Représentations PCP idéales de 10 accords. . . . . . . . . . . . . 27

3.5 Vecteurs PCP centroïdes calculés en moyennant tous les échan-tillons réels disponibles. L'algorithme compare alors un nouveauvecteur PCP à ces dix modèles et renvoie l'accord le plus proche. 31

3.6 Chambre anéchoïque . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.7 Représentations d'un accord de Ré Majeur (D) enregistré avecla même guitare dans (a) une chambre anéchoïque, et (b) unepièce bruitée. On remarque que les trois demi-tons principauxsont toujours bien visibles dans (b). . . . . . . . . . . . . . . . . 33

108

Page 110: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

TABLE DES FIGURES 109

3.8 Matrice de confusion pour l'ensemble de la base de données enutilisant une méthode de reconnaissance naïve (1-NN) basée surdes accords idéaux. . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.9 Matrices de confusions résultant de la validation de la base dedonnées à l'aide d'un réseau de neurones (a) et d'un algorithmedes plus proches voisins (b). Le taux d'erreur total pour le réseaude neurones est de 6.5% et est de 3.25% pour l'algorithme desplus proches voisins. . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.10 Représentation PCP d'un accord de Do Majeur (C) joué par qua-tre instruments. De haut en bas, une guitare, un piano, un violonet un accordéon. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.11 Matrices de confusions pour les quatre instruments à l'aide d'unréseau de neurones : (a) guitare, (b) piano, (c) violon et (d) ac-cordéon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.12 Matrices de confusions pour les quatre instruments à l'aide d'unalgorithme 1-NN : (a) guitare, (b) piano, (c) violon et (d) ac-cordéon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1 Schéma du système : un extrait est envoyé à un algorithme decomparaison qui renvoie une liste de correspondances. . . . . . . 45

4.2 Évolution de la note si (a) et de la note do (b) au cours dutemps, dans la chanson Hotel California. . . . . . . . . . . . . 48

4.3 Spectres PCP pour deux extraits di�érents d'un même passagede Hotel California. . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.4 Comparaison entre deux spectres obtenus respectivement enutilisant un facteur PCP 1.0 (a) et un facteur PCP 2.0 (b). Onconstate que le spectre de la �gure (b) avec un facteur de puis-sance E = 2 est plus net que la �gure (a). . . . . . . . . . . . 50

4.5 Spectres de trois extraits d'un même passage de Hotel Califor-nia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.6 Spectre PCP après application de l'algorithme de détection de pics. 52

4.7 Pics détectés après �ltrage du spectre PCP. . . . . . . . . . . . . 53

4.8 Algorithme par fenêtre glissante. L'extrait �glisse� sur chaquepiste de la base de données. . . . . . . . . . . . . . . . . . . . . . 59

4.9 Résultats pour des extraits de guitare dans une base de donnéesde pistes de guitare. . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.10 Résultats pour des extraits d'accordéons dans une base de don-nées de pistes de guitare. . . . . . . . . . . . . . . . . . . . . . . . 68

4.11 Résultats pour des extraits de piano dans une base de donnéesde guitare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Page 111: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

TABLE DES FIGURES 110

4.12 Résultats pour des extraits dans une base de données Karaoké . 73

4.13 Taux de fonctionnement correct et incorrect pour chaque expérien-ce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

B.1 Un neurone formel : chaque entrée est associée à un poids etles entrées sont sommées avant d'être envoyées dans une fonctiond'activation qui détermine la sortie du neurone. . . . . . . . . . . 94

B.2 Diverses fonctions d'activation : (a) fonction seuil, (b) fonc-tion linéaire par morceaux, (c) fonction sigmoïde et (d) fonctiongaussienne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

B.3 Réseau de neurones arti�ciels. Les données sont envoyées à unecouche d'entrée et se propagent dans le réseau à travers plusieurscouches, jusqu'à la couche de sortie. . . . . . . . . . . . . . . . . 95

Page 112: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Liste des tableaux

3.1 Paramètres �naux du réseau de neurones utilisé pour la recon-naissance d'accords. . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2 Erreurs de classi�cation pour une méthode naïve . . . . . . . . . 35

3.3 Résultats de la validation en utilisant des ensembles d'apprentis-sage et de test bruités, non bruités, et mixtes. Le tableau donnel'erreur de classi�cation totale pour chaque con�guration. . . . . 36

3.4 Erreurs de classi�cation pour 4 instruments en utilisant trois al-gorithmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.5 Accords reconnus pour Hotel California avec un algorithme 1-NN. 41

3.6 Accords reconnus pour Hotel California avec un réseau de neurones. 41

3.7 Temps d'exécutions pour la validation des ensembles de tests in-dépendants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1 Résultats pour Sweet Home Alabama . . . . . . . . . . . . . . . . 65

4.2 Résultats pour While my guitar gently weeps . . . . . . . . . . . 66

4.3 Résultats pour Should I stay or should i go . . . . . . . . . . . . 66

4.4 Résultats pour des extraits joués à l'accordéon . . . . . . . . . . 69

4.5 Résultats pour des extraits de piano dans une base de donnéesde guitare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.6 Résultats dans une base de données de pistes originales . . . . . 75

111

Page 113: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

LISTE DES TABLEAUX 112

A.1 Les douze notes de la gamme chromatique. . . . . . . . . . . . . 87

A.2 Gamme diatonique de Do Majeur. . . . . . . . . . . . . . . . . . 88

A.3 Gamme de Do mineure. . . . . . . . . . . . . . . . . . . . . . . . 88

A.4 Gammes diatoniques majeures. . . . . . . . . . . . . . . . . . . . 89

A.5 Gammes diatoniques mineures. . . . . . . . . . . . . . . . . . . . 89

A.6 Accord de Do majeur. . . . . . . . . . . . . . . . . . . . . . . . . 90

A.7 Accord de La majeur. . . . . . . . . . . . . . . . . . . . . . . . . 90

A.8 Accord de Do mineur. . . . . . . . . . . . . . . . . . . . . . . . . 90

B.1 Paramètres �naux du réseau de neurones utilisé pour la recon-naissance d'accords. . . . . . . . . . . . . . . . . . . . . . . . . . 96

Page 114: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

Bibliographie

[1] J.-J. Aucouturier and F. Pachet. Music similarity measures : What's theuse ? In International Symposium on Music Information Retrieval (ISMIR),pages 157�163, 2002.

[2] Cambridge. Cambridge international dictionary, 2008.

[3] M. Carre. Systèmes de Recherche de Documents Musicaux par Chanton-nement. PhD thesis, Ecole Nationale Superieure des Télécommunications,2002.

[4] Y. Cheng. Music database retrieval based on spectral similarity. In Inter-national Symposium on Music Information Retrieval (ISMIR), 2001.

[5] Collins. English dictionary, 2010.

[6] M. Reza Daliri and V. Torre. Robust symbolic representation for shaperecognition and retrieval. The Journal of the Pattern Recognition Society,41 :1782�1798, 2007.

[7] A. Danhauser. Théorie de la musique. 1970.

[8] M. Deza and E. Deza. Encyclopedia of Distances. Springer, 2009.

[9] P.N. Yianilos E.S. Ristad. Learning string edit distance. IEEE Transactionson Pattern Analysis and Machine Intelligence, 20 :522�532, 1998.

[10] M. Fingerhut and N. Donin. Filling gaps between current musicologicalpractice and computer technology at ircam. AHRC ICT Methods NetworkMusic Expert Seminar, Royal Holloway, 2006.

[11] A. Flexer, D. Schnitzer, M. Gasser, and G. Widmer. Playlist generation us-ing start and end songs. In International Symposium on Music InformationRetrieval (ISMIR), pages 173�178, 2008.

[12] D. Fragoulis, G. Rousopoulos, T. Panagopoulos, C. Alexiou, and C. Pa-paodysseys. On the automated recognition of seriously distorted musicalrecordings. IEEE Transactions on Signal Processing, 49 :898�908, 2001.

113

Page 115: Travail de n d'études - Montefiore Institute · PDF filepiano, c'est-à-dire une version totalement inédite, qui n'est pas présente dans la base de données centrale, l'algorithme

BIBLIOGRAPHIE 114

[13] T. Fujishima. Realtime chord recognition of musical sound : a system usingcommon lisp music. In International Computer Music Conference (ICMC),pages 464�467, 1999.

[14] E. Gomez and P. Herrera. Automatic extraction of tonal metadata frompolyphonic audio recordings. In International Conference : Metadata forAudio, London, UK, 2004.

[15] E. Guaus. Audio content processing for automatic music genre classi�-cation : descriptors, databases, and classi�ers. PhD thesis, UniversitatPompeu Fabra, Barcelona, 2009.

[16] M. Guillemot. Dictionnaire de la musique. Larousse-Bordas, 1996.

[17] S. Gunderson. Musical descriptors : An assessment of psychoacousticalmodels in the presence of lossy compression. Master's thesis, NorwegianUniversity of Science and Technology, 2007.

[18] M. T. Hagan, H. B. Demuth, and M. H. Beale. Neural Network Design.Martin Hagan, 2002.

[19] J. Haitsma and T. Kalker. A highly robust audio �ngerprinting system. InInstitut de Recherche et Coordination Acoustique/Musique (IRCAM), 2002.

[20] T. Hastie, R. Tibshirani, and J. Friedman. The elements of statistical learn-ing : data mining, inference, and prediction. Springer Series in Statistics.Springer, second edition, September 2009.

[21] J. Oostveen J. Haitsma, T. Kalker. Robust audio hashing for content iden-ti�cation. In Content Based Multimedia Indexing, 2001.

[22] M. Kassler. Perspective of New Music, chapter 4 : Toward Musical Infor-mation Retrieval, pages 59�67. 1966.

[23] K. Lee. Automatic chord recognition using enhanced pitch class pro�le. InInternational Computer Music Conference (ICMC), pages 306�313, 2006.

[24] E.W. Myers. An o(nd) di�erence algorithm and its variations. Algorithmica,1 :251�266, 1986.

[25] H. Neuschmied, H. Mayer, and E. Battle. Identi�cation of audio titleson the internet. In International Conference on Web Delivering of Music,2001.

[26] A. Sheh and D. Ellis. Chord segmentation and recognition using EM-trained hidden markov models. In International Symposium on Music In-formation Retrieval (ISMIR), pages 121�124, 2003.

[27] A. Wang. An industrial-strength audio search algorithm. In InternationalSymposium on Music Information Retrieval (ISMIR), 2003.

[28] A. Wang. Shazam entertainment. In International Symposium on MusicInformation Retrieval (ISMIR), 2003.

[29] L.A. Wolsey. Integer Programming. Wiley-Interscience ; 1 edition, 1998.

[30] L. Xiao, L. Liu, F. Seide, and J. Zhou. Learning a music similarity measureon automatic annotations with application to playlist generation. In Int.Conf. on Acoustics, Speech and Signal Processing (ICASSP), pages 1885�1888, 2009.