Faculté Polytechnique



Documents pareils
Chapitre 2 Les ondes progressives périodiques

La classification automatique de données quantitatives

ACOUSTIQUE 3 : ACOUSTIQUE MUSICALE ET PHYSIQUE DES SONS

L apprentissage automatique

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Caractéristiques des ondes

Didier Pietquin. Timbre et fréquence : fondamentale et harmoniques

Projet de Traitement du Signal Segmentation d images SAR

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Communication parlée L2F01 TD 7 Phonétique acoustique (1) Jiayin GAO <jiayin.gao@univ-paris3.fr> 20 mars 2014

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

INF6304 Interfaces Intelligentes

Optimisation, traitement d image et éclipse de Soleil

Chapitre I La fonction transmission

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Cours d Acoustique. Niveaux Sonores Puissance, Pression, Intensité

Bandes Critiques et Masquage

Extraction de descripteurs musicaux: une approche évolutionniste

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

TD1 Signaux, énergie et puissance, signaux aléatoires

Logiciel XLSTAT version rue Damrémont PARIS

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Apprentissage Automatique

Enregistrement et transformation du son. S. Natkin Novembre 2001

Infolettre #18 : Les graphiques avec Excel 2010

TRAVAUX PRATIQUES SCIENTIFIQUES SUR SYSTÈME

Optimisation de la compression fractale D images basée sur les réseaux de neurones

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

EIP 2012 Projet Livepad. Documentation technique 1.5

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

TP 7 : oscillateur de torsion

Extraction d informations stratégiques par Analyse en Composantes Principales

Systèmes de transmission

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Baccalauréat technique de la musique et de la danse Métropole septembre 2008

Quantification Scalaire et Prédictive

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Importer un CD audio dans itunes

Intérêt du découpage en sous-bandes pour l analyse spectrale

données en connaissance et en actions?

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Chaine de transmission

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Numérisation du signal

ANALYSE SPECTRALE. monochromateur

A la découverte du Traitement. des signaux audio METISS. Inria Rennes - Bretagne Atlantique

TP 03 B : Mesure d une vitesse par effet Doppler

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.


Introduction au Data-Mining

Transmission d informations sur le réseau électrique

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Transmission de données. A) Principaux éléments intervenant dans la transmission

Traitement bas-niveau

5.2 Théorème/Transformée de Fourier a) Théorème

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

L accompagnement pour piano

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Analyse des bruits de clavier d ordinateur

P2: Perception auditive

Oscillations libres des systèmes à deux degrés de liberté

Enjeux mathématiques et Statistiques du Big Data

TSTI 2D CH X : Exemples de lois à densité 1

Introduction à MATLAB R

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

Paramétrisation adaptée de transitoires pour la reconnaissance d instruments de musique

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

Fête de la science Initiation au traitement des images

Calcul des indicateurs de sonie : revue des algorithmes et implémentation

Continuité et dérivabilité d une fonction

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

Initiation au logiciel imovie HD

Chapitre 3. Les distributions à deux variables

ISO/CEI NORME INTERNATIONALE

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

M1107 : Initiation à la mesure du signal. T_MesSig

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

nom : Collège Ste Clotilde

Application en classe de la progression des apprentissages en musique 1 er cycle du secondaire

Analyses psychoacoustiques dans ArtemiS SUITE

V corr Jacques Ferber. LIRMM - Université Montpellier II 161 rue Ada Montpellier Cedex 5

1S9 Balances des blancs

PLAN D ÉTUDES DU PIANO

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Lecture graphique. Table des matières

Mode d emploi ALTO MONITOR PROCESSEUR D ÉCOUTE. Version 1.0 Juillet 2003 Français

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Transcription:

Faculté Polytechnique Développement d extensions d analyse et de classement pour lecteurs multimédia Travail de fin d études Présenté en vue de l obtention du grade de Master ingénieur civil électricien Stéphane HUET Sous la direction de Monsieur le Professeur Thierry DUTOIT Co-promoteurs Stéphane DUPONT et Alexis MOINET Juin 2010

Je tiens à remercier mes promoteurs Stéphane Dupont et Alexis Moinet, pour leur précieuse aide dans la réalisation de ce travail. Je remercie également mes parents, sans qui ce mémoire n existerait pas aujourd hui, Priscillia Huet, pour m avoir prêté son Mac durant ces six mois, et Aurélie Masquelier, pour son soutien. Pour terminer, je remercie toutes les personnes qui ont aidé à la correction de ce mémoire, ou qui ont contribué, de près ou de loin, à sa réalisation.

Table des matières 1 Introduction 1 2 Etat de l art 3 2.1 Apple Genius.................................. 3 2.2 Mufin Player Pro................................ 3 2.3 MusicBox.................................... 4 2.4 SoundBite.................................... 5 2.5 Audio Cycle................................... 6 2.6 Conclusion.................................... 6 3 Mesure de similarités entre musiques 7 3.1 Découpage de la musique............................ 7 3.2 Caractérisation de la musique......................... 8 3.2.1 Le timbre................................ 9 3.2.2 L harmonie et la mélodie........................ 12 3.2.3 Le rythme................................ 13 3.2.4 Le modèle rythmique.......................... 15 3.3 Regroupement des données........................... 18 3.3.1 Carte auto adaptative......................... 18 3.3.2 Analyse en composantes principales.................. 23 3.3.3 Multidimensional Scaling........................ 25 3.3.4 Clustering................................ 28 3.4 Application à une bibliothèque personnelle.................. 32 3.4.1 Bibliothèque de test.......................... 32 3.4.2 Caractéristiques à extraire....................... 32 3.4.3 Algorithmes de classement....................... 33 3.4.4 Résultats................................ 34 3.5 Conclusion.................................... 38 4 Implémentation 39 4.1 Extension pour itunes............................. 39 4.1.1 Présentation générale.......................... 40 4.1.2 Fonctionnement de l extension..................... 42 I

4.1.3 Possibilités d amélioration de l extension............... 44 4.2 Extension pour Songbird............................ 45 4.2.1 Présentation générale.......................... 45 4.2.2 Fonctionnement de l extension..................... 48 4.2.3 Possibilités d amélioration de l extension............... 50 4.3 Conclusion.................................... 50 5 Conclusion 51 A Description des caractéristiques actuellement extraites par la librairie MediaCycle 55 A.1 MFCC...................................... 55 A.2 Spectral Centroid................................ 55 A.3 Spectral Spread................................. 56 A.4 Zero Crossing Rate............................... 56 A.5 Spectral Decrease................................ 56 A.6 Energy...................................... 56 A.7 Delta MFCC.................................. 56 A.8 Energy Modulation Frequency et Energy Modulation Amplitude...... 57 B Fonctionnement de l itunes Visual SDK 58 B.1 Fonctionnement des extensions visuelles dans itunes............. 58 B.2 Les messages.................................. 58 B.3 Callback APIs.................................. 59 B.4 AppleScript pour itunes............................ 60 II

Table des figures 2.1 Interface de Mufin Player Pro 1........................ 4 2.2 Interface de MusicBox [1]............................ 5 2.3 Interface de Songbird avec l extension SoundBite [2]............. 5 2.4 Interface d Audio Cycle............................. 6 3.1 Exemple de découpage en trames....................... 8 3.2 Pondération des trames............................. 9 3.3 Comparaison des spectres d un piano et d une guitare jouant un do.... 10 3.4 Relation entre les fréquences dans l échelle de Mel et dans l échelle linéaire 11 3.5 Banc de filtres triangulaires sur l échelle de Mel [3]............. 11 3.6 Timbregram de la chanson "Whenever, Wherever" (Shakira, 2001) [4]... 12 3.7 Courbes isosoniques [5]............................. 15 3.8 Rythmogram de la chanson "Whenever, Wherever" (Shakira, 2001) [4]... 16 3.9 Modèle rythmique de la chanson "Whenever, Wherever" (Shakira, 2001). 17 3.10 Modèles rythmiques d un do 4 joué sur une guitare et un piano....... 17 3.11 Illustration d un neurone biologique [6].................... 19 3.12 Schéma d un neurone artificiel [6]....................... 20 3.13 Schéma d un réseau de neurones artificiels [6]................. 20 3.14 Schéma d un réseau de neurones artificiels multicouche [6]......... 21 3.15 Illustration d une des étapes de l apprentissage d une carte auto adaptative [3]........................................ 22 3.16 Visualisation d une carte auto adaptative émergente sur une surface torique à l aide d une U-matrix [3]........................... 23 3.17 Echantillons placés dans un plan en deux dimensions............ 24 3.18 Projection des échantillons sur la droite de régression............ 25 3.19 Sélection initiale des centroïdes [6]....................... 28 3.20 Partition initiale des éléments [6]....................... 29 3.21 Sélection des nouveaux centroïdes [6]..................... 29 3.22 Assignation des éléments aux nouveaux centroïdes et réitération du processus [6]...................................... 30 3.23 Partitionnement final des éléments en clusters [6].............. 31 3.24 Placement des éléments sur la carte 2D dans Audio Cycle [7]........ 31 3.25 Schéma de l extraction du modèle rythmique [8]............... 33 III

3.26 Comparaison de l analyse en composantes principales basée sur le modèle rythmique, le timbre et le rythme (de gauche à droite)........... 34 3.27 Comparaison des cartes auto-adaptatives émergentes basées sur le modèle rythmique, le timbre et le rythme (de haut en bas)............. 36 3.28 Classement par clustering basé sur le modèle rythmique, le timbre et le rythme (de gauche à droite).......................... 37 4.1 Utilitaire d installation de l extension pour itunes.............. 40 4.2 Capture d écran de l extension pour itunes avant la première importation. 41 4.3 Capture d écran de l extension pour itunes après l importation....... 42 4.4 Capture d écran de l extension pour itunes lors du passage de la souris sur un élément.................................... 43 4.5 Illustration de la marche à suivre pour lancer l extension dans Songbird.. 45 4.6 Capture d écran de l extension pour Songbird au moment de son lancement 46 4.7 Capture d écran de l extension pour Songbird après la mise à jour des positions 47 4.8 Capture d écran de l extension pour Songbird lors de l affichage des plus proches voisins................................. 47 4.9 Schéma du fonctionnement de l extension pour Songbird.......... 48 IV

Chapitre 1 Introduction Depuis l avènement du format de compression MP3 1, il est devenu de plus en plus courant de stocker sa bibliothèque musicale sur son ordinateur. Très vite, un problème s est posé : comment organiser ce contenu de la manière la plus efficace possible. La première réponse des utilisateurs à cette question a bien sûr été le classement "à la main" des fichiers dans des répertoires. Cependant, des logiciels sont rapidement apparus, proposant d effectuer ce travail d une manière plus intuitive et plus souple, en mettant à profit les métadonnées qu il est possible de fournir aux fichiers audio numériques. itunes, développé par Apple, fait partie de ce type de logiciels, souvent appelés - de manière assez réductrice - lecteurs multimédia. Le classement de la bibliothèque audio proposé par les lecteurs multimédia est essentiellement basé sur les métadonnées inscrites dans chaque fichier audio. Ils proposent de classer les morceaux par artiste, album, genre, etc. Dans ce sens, ils se montrent bien plus efficaces qu une bibliothèque traditionelle composée de musique "matérialisée" (CD, vinyle, etc.). Néanmoins, ce type de classement ne se base que sur le contenant (on peut voir les métadonnées comme les inscriptions de la pochette d un CD), et ne se préoccupe pas du contenu. Il n est donc pas possible de ranger ensemble les éléments qui intrinsèquement se ressemblent, au delà de leur "étiquette". L objet de ce travail est le développement d extensions pour lecteurs multimédia afin de proposer une nouvelle manière de classer sa bibliothèque musicale. De manière similaire à [7, 1] (illustrés aux figures 2.4 et 2.2), l idée est de classer toutes les chansons de la bibliothèque sur un plan, en regroupant les éléments en fonction de leurs ressemblances intrinsèques. En tant qu extension, il faudrait que l interface soit intégrée au lecteur multimédia, et que le classement porte sur la bibliothèque déjà importée dans le lecteur. 1. Le MP3, abréviation de MPEG-1/2 Audio Layer 3, est un algorithme de compression permettant de réduire fortement l espace mémoire nécessaire au stockage d un signal audio. 1

Plusieurs logiciels ou extensions ayant pour objectif de classer les musiques en fonction de leur ressemblance intrinsèques existent. Nous ferons au chapitre 2 un état de l art de ceux-ci, de manière à mieux cerner le contexte du présent travail. Plus particulièrement, nous aborderons Audio Cycle, qui servira de base à ce travail. Au chapitre 3, nous ferons un sommaire état des lieux du domaine de la mesure de similarités entre musiques. Nous verrons quelles données doivent être extraites d un morceau, et ensuite comment utiliser ces données, de grande dimension, pour classer ces morceaux sur un espace en deux dimensions. Nous tenterons ensuite de tester l efficacité des différentes techniques sur une bibliothèque musicale. Au chapitre 4, l implémentation des algorithmes de classement sous forme d extension pour lecteur multimédia sera décrite. Nous verrons comment les librairies développées dans le cadre du projet Audio Cycle [7] ont été utilisées dans la création d extension pour les lecteurs multimédia itunes et Songbird. Nous verrons aussi que ces deux extensions ont été développées dans une optique différente, l une sous forme d application client-serveur, et l autre de manière plus classique, sous forme d application locale. 2

Chapitre 2 Etat de l art 2.1 Apple Genius Genius est une fonctionnalité ajoutée par Apple dans itunes à partir de la version 8 du logiciel. Elle permet de créer une liste de lecture constituée de morceaux sélectionnés automatiquement dans la bibliothèque de l utilisateur. Ces morceaux sont choisis comme ressemblant à celui sélectionné par l utilisateur. itunes étant une application commerciale, Genius peut aussi proposer l achat de morceaux similaires disponibles sur l itunes Store (boutique en ligne proposant l achat de morceaux de musique par téléchargement). Pour fonctionner, itunes va rechercher sur une base de données distante les caractéristiques des musiques de la bibliothèque personnelle. Le logiciel étant commercial, Apple ne précise pas sur quels critères les musiques sont analysées, mais il est plus que probable qu en plus de caractéristiques intrinsèques, des caractéristiques contextuelle sont utilisées, telles que le genre, les autres musiques achetées par les clients ayant déjà acheté le morceau, etc. 2.2 Mufin Player Pro Mufin Player 1 est un lecteur multimedia qui offre depuis peu, dans sa version pro (et payante), une visualisation en 3D de la bibliothèque audio (voir figure 2.1). Un grand nombre de caractéristiques musicales sont utilisables pour le classement, et sont énoncées comme suit par l éditeur : l humeur, le chant, le tempo, la date de parution, le son, la densité du son, la couleur du son, la longueur du morceau, la note donnée au morceau par l utilisateur, l agressivité, le caractère percutant, le nombre de lectures du morceau et le moment où un morceau a été ajouté ou joué. Ces caractéristiques sont ensuite utilisées pour effectuer l affichage en affectant à chaque axe l une d entre elles. En plus des trois 1. http://www.mufin.com/us/software/mufinplayerpro 3

axes de position, il est possible d utiliser la couleur d affichage de l élément, et sa taille à l écran. Figure 2.1 Interface de Mufin Player Pro 1 Les caractéristiques énoncées ne sont pas toutes très précises, et s agissant d un logiciel commercial, il n est encore une fois pas possible de définir clairement les critères de caractérisation de la musique. On pourra néanmoins noter que l affichage dans l espace 3D se fait d une manière assez simpliste, et limite à cinq le nombre de caractéristiques utilisables en même temps. 2.3 MusicBox MusicBox [1] est une application écrite en Java développée par Anita LILLIE dans le cadre de son mémoire de master au MIT (Massachusetts Institute of Technology). Elle permet d afficher sur un plan en deux dimensions (voir figure 2.2) une bibliothèque audio. Les caractéristiques utilisées peuvent être quantitatives, comme le tempo, ou qualitatives, comme le genre. L affichage se fait au moyen de l analyse en composantes principales (voir section 3.3.2). Il est possible de créer des listes de lecture en sélectionnant une zone sur la carte, ou en traçant un chemin passant par les chansons que l on désire ajouter. 4

2.4 SoundBite Figure 2.2 Interface de MusicBox [1] SoundBite [2] est une extension pour le lecteur multimédia Songbird. Elle a été développée par Steven LLOYD dans le cadre de son mémoire de master à la Queen Mary, University of London. Comme MusicBox, elle propose d afficher la bibliothèque musicale sur une carte 2D, mais présente l avantage de s intégrer à un lecteur multimédia existant, qui bénéficie déjà d un certain nombre d utilisateurs. Figure 2.3 Interface de Songbird avec l extension SoundBite [2] Le timbre (voir section 3.2.1) est exclusivement utilisé pour caractériser les morceaux de la bibliothèque. La réduction de dimensions se fait au moyen du Multidimensional Scaling (voir section 3.3.3). Lorsqu une musique est sélectionnée, des lignes sont tracées vers ses plus proches voisins du point de vue de la similarité (ce qui ne correspond pas toujours aux plus proches voisins sur la carte 2D). 5

2.5 Audio Cycle Audio Cycle [7] est une application développée par les chercheurs du TCTS Lab de la Faculté Polytechnique de Mons, dans le cadre du projet Numediart (voir figure 2.4). C est une application développée pour Mac, et principalement destinée au classement des boucles audio, donc à un public plus professionnel. L affichage est réalisé par clustering (voir 3.3.4), selon une méthode mise au point en interne. Figure 2.4 Interface d Audio Cycle Cette application, même si elle ne s applique pas aux bibliothèques musicales personnelles, est citée car elle va servir de base au présent travail. En effet, les différentes libraries développées lors de la réalisation d Audio Cycle vont être réutilisées pour la réalisation des extensions pour lecteurs multimédia, comme nous le verrons au chapitre 4. 2.6 Conclusion De toutes les applications citées ci-dessus, c est SoundBite qui se rapproche le plus du présent travail. Il s agit en effet d une extension à un lecteur multimédia existant, à savoir Songbird. L avantage de ce type de solution est que l utilisateur dispose déjà d une bibliothèque musicale, qui est parfois le fruit d une utilisation sur plusieurs années du logiciel. Nous verrons au chapitre 4 que ce travail se démarque toutefois de SoundBite dans le sens où d une part, la première partie de l implémentation est une extension pour le lecteur itunes sur Mac, lecteur qui dispose d un très large public sur cette plateforme. D autre part, la version Songbird de ce travail fonctionne sur un modèle client-serveur, alors que SoundBite fonctionne en local. 6

Chapitre 3 Mesure de similarités entre musiques Dans l optique de classer avec un ordinateur les musiques par ressemblance, il est indispensable de quantifier, d une manière ou d une autre, chaque chanson. Il faut donc faire ressortir les paramètres qui influencent la perception qu a un humain d une chanson. Nous verrons à la section 3.2 quels sont les paramètres habituellement retenus. La durée d une chanson étant relativement longue, il est préférable d exprimer ces paramètres selon leur évolution au cours du temps. La manière dont va être découpée la chanson en prévision de l analyse est décrite à la section 3.1. Une fois chaque morceau de musique caractérisé par ses paramètres, il est nécessaire de trouver un moyen d utiliser ces données pour mesurer la ressemblance entre chaque morceaux. Nous verrons à la section 3.3 quelles sont les solutions à ce problème. Pour terminer, nous verrons à la section 3.4 comment ces notions peuvent être réellement appliquées à une bibliothèque audio personnelle. 3.1 Découpage de la musique Lors de la caractérisation de la musique, l analyse va se faire sur des petits morceaux de chansons, qu on appelle trames. La taille de ces trames doit être choisie de manière à éviter la stationnarité. En effet, deux trames consécutives trop courtes peuvent être pratiquement identiques. Les informations qui en seraient extraites seraient donc redondantes. Il faut aussi éviter de choisir des trames trop grandes, ce qui mènerait à une perte de précision dans l analyse de la chanson. Dans [3], le choix s est porté sur des fenêtres d une largeur de 100 ms espacées de 50 ms. Cet espacement porte sur les centres des fenêtres, ce qui signifie qu il y aura un recouvrement de 50 ms entre deux fenêtre successives (voir figure 3.1). Le fait de découper le signal en trames a pour effet "d élargir" le spectre - que nous définirons à la section suivante - de chaque trame [9], et par conséquent de fausser l analyse. 7

Figure 3.1 Exemple de découpage en trames Cet élargissement du spectre provient des transitions brusques entre la présence et l absence de signal, au début et à la fin de chaque trame. Pour palier à ce problème, on pondère chaque trame en appliquant un fenêtrage de Hanning (voir figure 3.2), de manière à adoucir ces transitions. 3.2 Caractérisation de la musique Les paramètres de caractérisation de la musique peuvent être séparés en trois catégories [3, 7] : le timbre, les paramètres harmoniques et mélodiques, et les paramètres rythmiques. Tous ces paramètres nécessitent de décomposer le signal audio dans le domaine fréquentiel. En effet, un signal périodique peut se décomposer en une somme de sinusoïdes d intensité et de fréquences différentes. On appelle cette décomposition le spectre du signal (voir figure 3.3), qui donne l amplitude ou la puissance du signal en fonction de la fréquence. Celui-ci est obtenu en appliquant au signal la transformée de Fourier [9], donnée par : F (f) = + f(t)e jωt dt (3.1) où f(t) est l amplitude ou la puissance du signal audio périodique en fonction du temps t, f est la fréquence, et ω est la pulsation (ω = 2πf). 8

Figure 3.2 Pondération des trames Dans le cas de la musique numérique, le signal f(t) est échantillonné à intervalles réguliers, dont la durée est appelée période d échantillonnage (T e ). Ceci signifie que l intégrale de l équation 3.1 doit être remplacée par une somme sur les échantillons : F + (F ) = + n= f(n)e jn2πf avec F = T e T = f F e (3.2) où n est l indice de l échantillon, f(n) est la valeur de l échantillon n, F est la fréquence normalisée, et F e est la fréquence d échantillonnage. Dans la réalité, on calcule cette transformée grâce à l algorithme de la transformée de Fourier rapide (Fast Fourier Transform, FFT). 3.2.1 Le timbre Selon [10], le timbre est défini comme la qualité particulière du son, indépendante de sa hauteur ou de son intensité mais spécifique de l instrument, de la voix qui l émet. C est ce paramètre qui permet de différencier, par exemple, une note jouée par une guitare d une même note jouée par un piano. 9

Plus précisément, le timbre est lié à l importance, par rapport à la fondamentale (fréquence de la note jouée), des différentes harmoniques (multiples entiers de la fréquence de la fondamentale). Ainsi, lorsque l on joue une note sur une guitare, la corde vibre à la fréquence fondamentale, mais le son qui sort, qui est le résultat de réflexions multiples dans la caisse de résonnance, est bien plus riche et comporte des harmoniques à des fréquences différentes de la fondamentale. On peut observer sur la figure 3.3 la comparaison des spectres d un piano et d une guitare jouant la même note (un do sur l octave 4). On peut remarquer que pour la guitare (graphique du haut), le première harmonique a une intensité presque identique à la fondamentale, tandis que pour le piano, celle-ci est beaucoup plus faible. C est ce phénomène qui permet de différencier le son des deux instruments. Figure 3.3 Comparaison des spectres d un piano et d une guitare jouant un do Avant de mesurer le spectre du signal audio, il est préférable de prendre en compte la perception humaine de la hauteur du son[7, 3]. En effet, à partir d une certaine fréquence, deux notes séparées d une octave, c est-à-dire que la note aiguë est située à une fréquence double de la note grave, n apparaissent plus comme étant séparées d un rapport de 2, c està-dire que la note aiguë ne semble pas deux fois plus aiguë que la note grave. Ce problème est comblé grâce à l échelle de Mel. Elle est définie de manière à ce que 1000 Hz = 1000 Mel, et qu une note jouée à 2000 Mel (3248 Hz) soit perçue comme deux fois plus aiguë qu une note jouée à 1000 Mel. La formule de conversion de l échelle linéaire vers l échelle de Mel est donnée par : ( F Mel = 2595 log 10 1 + F ) Hz (3.3) 700 où F Mel et F Hz correspondent à la fréquence exprimée respectivement dans l échelle de Mel et l échelle linéaire. Cette équation est illustrée à la figure 3.4 10

Figure 3.4 Relation entre les fréquences dans l échelle de Mel et dans l échelle linéaire Pour quantifier le timbre d un signal audio, on utilise les MFCC, ou Mel-Frequency Cepstral Coefficients. Ceux-ci sont calculés de la manière suivante [3] : 1. Calcul de la transformée de Fourier du signal 2. Pondération du spectre de puissance par un banc de filtres triangulaires dont les fréquences centrales sont linéairement espacées et les largeurs de bandes constantes sur l échelle de Mel (voir figure 3.5). 3. Intégration des contributions pour chaque filtre triangulaire. 4. Calcul du logarithme de chaque somme calculée au point 3. 5. Calcul de la transformée en cosinus discrète de ces logarithmes. Ceci doit être effectué pour chaque trame de la chanson. Le résultat de la transformée en cosinus constitue les coefficients cepstraux de la trame. Dans [7], on garde les 12 premiers coefficients cepstraux, ainsi que l énergie totale. L analyse du timbre d une chanson nous donne donc une suite d autant de vecteurs de 12 coefficients qu il y a de trames dans la chanson. Figure 3.5 Banc de filtres triangulaires sur l échelle de Mel [3] 11

Une autre échelle que celle de Mel a été proposée par E. ZWICKER [11]. Appelée échelle de Bark, elle est définie par une succession de bandes critiques dont la largeur de bande grandit avec la fréquence centrale. Deux sinusoïdes d amplitude identique situées dans une même bande critique seront perçues comme étant de même amplitude, alors que si elles sont situées dans deux bandes critiques différentes, elles seront perçues comme étant d intensités différentes. La relation de conversion de l échelle linéaire vers l échelle de Bark est donnée par : ( ( ) ) 2 FHz F Bark = 13 arctan (0, 0076 f) + 3, 5 arctan (3.4) 7500 Cette échelle est utilisée dans [4] pour créer le timbregram, c est-à-dire le diagramme représentant l évolution des coefficients représentant le timbre au cours du temps (voir figure 3.6). Figure 3.6 Timbregram de la chanson "Whenever, Wherever" (Shakira, 2001) [4] 3.2.2 L harmonie et la mélodie Selon [12], l harmonie, au sens musical du terme, est l art et la science de la formation et l enchainement des accords. Les accords sont des combinaisons d au moins trois notes, dont le choix se réfère aux lois de la résonance naturelle des corps sonores. La mélodie, quand à elle, désigne [13] un ensemble de sons successifs de hauteur variable, ayant entre eux des rapports tels que leur perception globale soit capable de satisfaire à la 12

fois l intelligence et la sensibilité. Pour caractériser l harmonie et la mélodie d une chanson, il va falloir extraire la présence et la variation des différentes notes de la chanson. Une technique couramment utilisée [4, 3] pour effectuer cette opération est d analyser le spectre du signal sur une échelle chromatique, et d observer son évolution au cours du temps. L échelle chromatique correspond à la subdivision du spectre en fonction des notes utilisées dans la musique occidentale. Le spectre y est divisé en octaves. Chaque octave est divisée en 12 parts égales (sur une échelle logarithmique en base 2) appelées les demi-tons. La fréquence centrale d un demi-ton est la moitié de la fréquence centrale du même demiton dans l octave suivante. Les fréquences minimales et maximales de chaque demi-ton sont données par : F min = F C 2 1/24 (3.5) F max = F C 2 1/24 (3.6) où F C est la fréquence centrale du demi-ton. Par exemple, pour la note La de l octave numéro 3 (la 3 ou A4 aux Etats-Unis), cette fréquence est de 440 Hz (cette note correspond à la tonalité qu on reçoit lorsqu on décroche un téléphone). A partir de ces relations, il est très facile d établir le tableau 3.1 qui reprend les fréquences limites de chaque demi-ton de l octave 3. La note indiquée dans la première colonne correspond à la fréquence centrale du demi-ton considéré. Pour obtenir les fréquences limites de l octave 4, il suffit de multiplier ces valeurs par deux, pour l octave 5, de les multiplier par 4, et ainsi de suite. Pour obtenir une analyse harmonique et mélodique de la chanson entière, une analyse chromatique est effectuée pour chaque trame. Il en ressort 12 valeurs pour chaque trame, correspondant aux intensités de chaque demi-ton, sommées sur toutes les octaves. On voit donc que deux mélodies identiques jouées sur des octaves différentes donneront deux analyses chromatiques identiques. 3.2.3 Le rythme Selon [14], le rythme est l ordonnance des sons dans le temps selon des proportions accessibles à la perception, fondées sur la succession de leurs durées et l alternance de leurs points d appui. Le rythme est, du point de vue du traitement du signal, étroitement lié à la notion de périodicité. 13

Note F min [Hz] F max [Hz] Do 254,1776 269,2918 Do / Ré 269,2918 285,3047 Ré 285,3047 302,2698 Ré / Mi 302,2698 320,2437 Mi 320,2437 339,2864 Fa 339,2864 359,4614 Fa / Sol 359,4614 380,8361 Sol 380,8361 403,4818 Sol / La 403,4818 427,4741 La 427,4741 452,8930 La / Si 452,8930 479,8234 Si 479,8234 508,3552 Table 3.1 Limites fréquentielles des demi-tons de l octave 3 Pour caractériser le rythme d un extrait musical, une technique courante [7] est de déterminer les instants d attaque des notes, c est-à-dire les instants correspondant au début des notes. Pour déterminer ces instants d attaque on utilise la fonction d attaque (onset function, aussi appelé Perceptual Spectral Flux). L algorithme proposé dans [7] nécessite, pour calculer la fonction d attaque, d utiliser les courbes isosoniques représentées à la figure 3.7 et définies par le standard ISO 226 : 2003. Ces courbes représentent, en fonction de la fréquence, l intensité d un son perçu par l oreille humaine comme étant d intensité constante. L intensité réelle du son est exprimée en décibels (db), tandis que l intensité perçue est exprimée en phones. Ces courbes permettent de constater que l oreille humaine réagit à une excitation sonore différemment en fonction de sa fréquence et de son intensité. La fonction d attaque est calculée en suivant l algorithme décrit ci-dessous : 1. Pondération du spectre par l inverse de la courbe isosonique définie à 40 phones [5, 3] : ( ) f 2 2 ( ) f 2 + 1, 44 10 6 2 EQL = (3.7) f 2 + 1, 6 10 5 f 2 + 9, 61 10 6 La valeur pondérée de S k n, qui est l amplitude de la kème fréquence du spectre de la trame n est donc donnée par : a k n = où f k est la kème fréquence du spectre. 2. Calcul de la fonction d attaque : ( P SF (n) = S k n f 2 k f 2 k +1,6 105 ) 2 N b /2 k=1 14 ( f 2 k +1,44 10 6 f 2 k +9,61 106 ) 2 (3.8) ( (a ) k 1/3 ( ) n a k 1/3 ) n 1 (3.9)

Figure 3.7 Courbes isosoniques [5] où n est le numéro de la trame et N b est le nombre de fréquences analysées lors de la transformée de Fourier discrète. L exposant en 1/3 est là pour simuler la relation entre la puissance et l intensité sonore. 3. Calcul de la fonction d autocorrélation de la fonction d attaque sur des trames de huit secondes dont les centres sont espacés de 0, 5 secondes [3]. La fonction d autocorrélation est choisie à la place de la transformée de Fourier car, selon [4], elle correspond mieux à la perception humaine du rythme. 4. Construction du diagramme du rythme, ou rythmogram [4], par la concaténation des fonction d autocorrélation calculées pour chaque trame. Un exemple de diagramme du rythme est représenté à la figure 3.8 pour la chanson "Whenever, Wherever" (Shakira, 2001). On peut y observer que le rythme est fort marqué et qu il est assez constant tout au long de la chanson. On a en effet une structure rythmique fortement marquée d une période de 0, 28 sec, ainsi qu une structure un peu moins marquée d une période de 0, 14 sec. Les autres "bandes" présentes sur le graphique représentent simplement la répétition des structures rythmiques sus-mentionnées. 3.2.4 Le modèle rythmique Proposé par Thomas LIDY et Andreas RAUBER [8], le modèle rythmique (rythm pattern) est une sorte de mélange du timbregram et du rythmogram. Voici les étapes menant à son calcul, telles que décrites dans [8] : 15

Figure 3.8 Rythmogram de la chanson "Whenever, Wherever" (Shakira, 2001) [4] 1. Segmentation de la chanson en morceaux de six secondes. 2. Calcul de la transformée de Fourier rapide (FFT) sur des fenêtres pondérées de 23 ms avec un recouvrement de 50 % (voir section 3.1). 3. Application de l échelle de Bark sur 24 bandes critiques (voir section 3.2.1). 4. Application d une fonction prenant en compte les effets psychoacoustiques de masquage fréquentiel [15]. 5. Conversion des valeurs en décibels. 6. Conversion des décibels en phones en utilisant les courbes isosoniques (voir section 3.2.3). 7. Conversion des phones en sones 1. On obtient une évolution du nombre de sones par bandes critiques au cours du temps. 8. Calcul de la transformée de Fourier de la représentation en sones. On obtient une représentation indépendante du temps et qui donne une image du rythme de l extrait pour chaque bande critique. La modulation d amplitude, qui représente la fréquence du rythme, est donné sur une échelle de 0 à 10 Hz (au-dessus de cette fréquence, les variations ne sont plus perçues comme étant du rythme [8]). 9. Pondération de la modulation d amplitude en fonction de la perception humaine. En effet, une modulation d amplitude est perçue plus intensément à 4 Hz qu à 10 Hz 1. Le sone [16] est une unité de perception sonore correspondant à la perception d un son de 1000 Hz à 40 db au-dessus du seuil de perception de cette fréquence. De plus, n sones correspond à un son perçu par l oreille humaine comme étant n fois plus intense qu un sone. 16

par exemple [8]. 10. Filtrage gaussien du résultat. 11. Assemblage des différents segments de six secondes analysés, et calcul de la valeur médiane de ceux-ci. Figure 3.9 Modèle rythmique de la chanson "Whenever, Wherever" (Shakira, 2001) Figure 3.10 Modèles rythmiques d un do 4 joué sur une guitare et un piano Sur la figure 3.9 est illustré le modèle rythmique de la chanson "Whenever, Wherever" (Shakira, 2001). On voit qu on a une bande dominante vers 3, 5 Hz, ce qui correspond à la bande du rythmogram (figure 3.8) située vers 0, 28 sec. On trouve aussi une bande plus faible vers 7 Hz, qui correspond à la bande présente vers 0, 14 sec sur le rythmogram. Sur la figure 3.10 sont représentés les modèles rythmiques d une guitare et d un piano jouant 17

un do 4 toutes les 0, 25 secondes. On voit que la fréquence est mise en avant par la forme en bande verticale, et on note que l intensité dans les différentes bandes critiques est répartie différement pour chacun des instruments, ce qui permet de les différencier. En comparaison avec le rythmogram, le modèle rythmique ajoute une information sur le timbre (via l échelle de Bark), tout en perdant l information relative à l évolution de la caractéristique au cours du temps. 3.3 Regroupement des données Les caractéristiques extraites de la musique comportent un grand nombre de valeurs par élément (chanson). Par exemple, dans le cas du modèle rythmique, en divisant l axe des amplitudes de modulation en 60 valeurs, on a 24 60 = 1440 coefficients par chanson. Dans ce travail, l idée est de placer chaque chanson sur un plan (ou une carte) en deux dimensions, c est-à-dire affecter à chaque élément deux valeurs, qui sont les coordonnées de leurs positions sur la carte. Nous allons ici explorer quelques unes des techniques de réduction de dimension utilisées dans le classement musical. 3.3.1 Carte auto adaptative Les cartes auto adaptatives sont une classe des réseaux de neurones artificiels. Avant de voir plus en détail le principe de ces cartes, je vais revenir sur le principe des réseaux de neurones artificiels. Les réseaux de neurones artificiels Les réseaux de neurones artificiels sont des classificateurs statistiques. Le but d un classificateur statistique est d attribuer à chaque élément d un ensemble de données, représentées par des vecteurs de taille N, un classe, choisie parmi un ensemble de C classes. Dans le cas d un réseau de neurones artificiels, le classificateur peut être assimilé de manière imagée à une boîte comprenant N entrées et C sorties. On présente chaque élément séparément à l entrée, et la sortie correspondant à la classe affectée "s allume". Les réseaux de neurones artificiels sont inspirés des neurones biologiques [6] formant le cerveau humain. Ces derniers sont constitués (voir figure 3.11) principalement des éléments suivants : Le noyau Les dendrites (entrées) L axone (sortie) Les synapses (pondération de l information sortante) 18

Figure 3.11 Illustration d un neurone biologique [6] Le neurone effectue une somme pondérée de ses entrées. L activité du neurone, c est-àdire sa sortie, augmente dès qu un seuil d entrée est franchi. Ce fonctionnement a inspiré celui du neurone artificiel, illustré à la figure 3.12. Le neurone artificiel dispose d autant de coefficients de pondération w i qu il a d entrées x i. Les entrées sont multipliées par ces coefficients avant d être sommées et comparées à un seuil θ. Si la somme est supérieure au seuil, la sortie y du neurone vaut 1, et vaut 0 ( 1 pour le perceptron) dans le cas inverse. Un réseau de neurones artificiels est illustré à la figure 3.13. Il dispose d autant d entrées que les éléments à classer comportent de variables. Les sorties des neurones correspondent chacun à une classe à affecter à l élément d entrée. Dans le cas d un réseau simple couche, le poids synaptique w i d un neurone correspond à l importance de la variable x i dans le choix de la classe liée au neurone. Un réseau de neurones artificiels peut comporter plusieurs couches de neurones (voir figure 3.14). Les couches intermédiaires peuvent être composées de plus de couches que de 19

Figure 3.12 Schéma d un neurone artificiel [6] Figure 3.13 Schéma d un réseau de neurones artificiels [6] classes de sorties. Cette architecture permet en général de meilleurs résultats de classement. Avant d être en mesure de classer un échantillon, un réseau de neurones artificiels doit subir un apprentissage. Durant ce processus, les poids synaptiques sont modifiés en fonction des éléments présentés à l entrée, de manière à classer le plus efficacement possible ceux-ci. L apprentissage peut être supervisé ou non supervisé. Dans le premier cas, l apprentissage se fait de manière à converger vers une classe connue pour chaque élément présenté. Dans le second cas, les entrées sont présentées toutes seules, dans le but d en extraire une structure quelconque. C est le cas des cartes auto adaptatives (Self Organizing Map). Les cartes auto adaptatives classiques Les neurones d un cerveau humain sont sensibles à des stimulation spécifiques intervenant dans leur voisinage. Basés sur ce principe, les cartes auto adaptatives sont des réseaux de neurones simple couche. Les neurones sont disposés sur un plan bidimensionnel, comme illustré à la figure 3.15. Chaque neurone (X 1,..., X m ) possède des coordonnées (x ix, x iy ) ainsi qu un vecteur de poids W i de même dimension que les vecteurs d entrée. Le principe 20

Figure 3.14 Schéma d un réseau de neurones artificiels multicouche [6] de l apprentissage consiste à adapter de manière itérative le poids W i de chaque neurone de manière à grouper les vecteurs correspondant à des neurones similaires, et d écarter les vecteurs correspondant à des neurones éloignés. Voici les étapes de la procédure d apprentissage : 1. Pour chaque neurone X i, un vecteur de poids W i = [w i1, w i2,..., w id ] est déterminé aléatoirement. 2. Un vecteur V provenant de l échantillon d entrée est récupéré. 3. Trouver le neurone X bm correspondant le mieux à V. Ce neurone est celui dont le vecteur de poids W bm est le plus près, du point de vue de la fonction de distance D(), de vecteur V : X bm : D(V, W bm ) D(V, W j ) j bm (3.10) 4. Adapter le vecteur de poids W bm et ses voisins : W (τ+1) j = W (τ) j + η (τ) (r j )(V W j (τ)) j (3.11) où η() est la fonction du taux d apprentissage, r j est la distance entre X j et X bm sur la carte des neurones. 5. Si la convergence n est pas atteinte, retourner à l étape 2. Une fois l apprentissage terminé, les vecteurs de poids correspondent à la structure de l échantillon utilisé. Les neurones dont les vecteurs de poids sont proches les uns des autres représentent des éléments d entrées similaires. Les cartes auto adaptatives émergentes L émergence peut être définie par deux caractéristiques [17] : L ensemble fait plus que la somme de ses parties. C est-à-dire que l analyse séparées de chacune des parties ne permet pas de prédire le comportement de l ensemble. Le comportement de l ensemble est caractérisable. 21

Figure 3.15 Illustration d une des étapes de l apprentissage d une carte auto adaptative [3] Un exemple du phénomène d émergence [3] est la "Ola" dans un stade. Elle est créée par l action individuelle de chaque personne qui lève les bras au bon moment. Vu de loin, on voit clairement le mouvement se propager le long des gradins, alors que du point de vue des participants, on est juste en présence de plusieurs personnes levant leurs mains plus ou moins au même moment. Ce principe est à la base des cartes auto adaptatives émergentes (Emergent Self Organizing Map). Celles-ci sont des cartes auto adaptatives normales comportant un grand nombre de neurones (au moins plusieurs miliers). Pour éviter les effets de bords, la carte en elle même est une surface fermée (par exemple une sphère ou un tore), qui est ensuite aplatie pour l affichage (voir figure 3.16). Une manière courante d afficher les cartes auto adaptatives émergentes est d utiliser la U-matrix (voir figure 3.16). Celle-ci affiche, pour chaque neurone, la somme des distance entre son vecteur de poids et ceux de ses voisins directs. Ces sommes sont affichées à l aide de couleurs, à la manière d une carte topographique terrestre. Les zones de forte densité sont en basse altitude, et sont vertes, voir bleues (pour simuler la présence d eau), tandis que les zones les moins denses sont en hautes altitude et peuvent être apparentées à montagnes (brun, voir blanc pour simuler la neige). 22

Figure 3.16 Visualisation d une carte auto adaptative émergente sur une surface torique à l aide d une U-matrix [3] Cette topologie permet d effectuer une certaine organisation dans un échantillon de musiques. Une chanson dont le neurone le plus adapté est situé dans une certaine valée pourra être apparentée aux autres chansons situées dans cette vallée. Par contre, une chanson située au sommet d une montagne pourra être considérée comme plus originale, et sera moins facilement apparentée à d autres chansons. 3.3.2 Analyse en composantes principales Principe de base Proposé dans [1], l analyse en composantes principales est une technique qui consiste à transformer des variables liées entre elles en nouvelles variables (appellées composantes principales) indépendantes les unes des autres. L objectif étant de réduire l information en un nombre de composantes plus limité que le nombre initial de variables. Concrètement, cette technique peut nous permettre de passer d un système à grand nombre de variables (c est-à-dire les variables extraites lors de la caractérisation de notre musique, voir section 3.2) à un système à deux variables, c est-à-dire les deux coordonnées de notre espace de visualisation à deux dimensions. Pour illustrer le principe de fonctionnement de l analyse en composantes principales, nous allons utiliser un exemple simple. Soit une population de personnes dont on connait la taille et le poids, qui sont repris au tableau 3.2. On est en présence d éléments à deux dimensions (la taille et le poids), qu il est simple de dessiner sur un plan à deux axes (voir figure 3.17). Si on trace la droite de régression de ces échantillons, on voit qu il y a une certaine corrélation entre la taille et le poids des individus. Cette droite constitue la première composante principale de notre échantillon. En effectuant une projection des éléments sur cette droite (voir figure 3.18), on voit qu il est 23

Taille (cm) Poids (kg) 157 57 160 58 163 66 170 67 173 73 178 86 180 91 185 92 191 101 199 120 Table 3.2 Exemple d échantillon des tailles et poids de 10 personnes possible de "résumer" l information sur ce seul axe, qu on pourrait appeler la "grandeur". Il est évident qu en faisant celà, on perd des informations par rapport à l échantillon de départ, mais cette technique permet d exprimer au mieux sur une seule valeur des éléments qui en comportaient deux. Figure 3.17 Echantillons placés dans un plan en deux dimensions En réalité, l analyse en composantes principales fournit autant de composantes principales qu il y avait de variables dans l échantillon de départ. Dans notre exemple, la seconde composante principale est la distance entre le point et la droite de régression (la longueur de la ligne rouge sur la figure 3.18). L intérêt est que les premières composantes principales sont les plus pertinentes, et qu on peut donc laisser tomber les dernières en perdant un minimum d informations. Il est à noter que l analyse en composantes principale ne peut fonctionner que s il existe une certaine corrélation entre les variables caractérisant les chansons. 24

Figure 3.18 Projection des échantillons sur la droite de régression Calcul des composantes principales Pour calculer les composantes principales, une technique est l utilisation de la décomposition en valeurs singulières. Soit X une matrice m n, représentant les valeurs d entrée (m éléments de n variables). Il existe une factorisation de la forme X = USV T (3.12) où U est une matrice m n, S une matrice diagonale n n, dont les valeurs sont triées en ordre décroissant du coin supérieur gauche vers le coin inférieur droit, et V T est une matrice n n. Les valeurs de la matrice diagonale S sont appelées les valeurs singulières, et sont définies comme étant les racines carrées des valeurs propres de (XX T ). Les colonnes de V T sont les composantes principales triées de l échantillon de départ Comme dit précédement, l intérêt de l analyse en composantes principales est de sélectionner les L (L < n) premières composantes principales. Soit W, une matrice L n, constituées des L premières valeurs de V T. Pour transposer notre échantillon de départ dans le nouveau système d axes, il faut calculer : Y = ( W X T ) T (3.13) où Y est une matrice m L où figure nos m éléments définis sur L nouvelles variables. 3.3.3 Multidimensional Scaling Utilisé dans [2], le Multidimensional Scaling est basé sur la mesure de la matrice de dissimilarités. Le principe consiste à convertir un ensemble d éléments définis sur un grand nombre de variables vers un espace euclidien de manière à ce que la distance euclidienne entre les éléments dans le nouvel espace (d ij ) se rapproche le plus possible de la mesure de 25

dissimilarités entre les éléments de l ensemble de départ (δ ij ) [18]. Dans notre cas, l espace euclidien est bidimensionnel, ce qui signifie que l écart entre deux éléments sur le plan doit correspondre à la dissimilarité calculée sur base des caractéristiques extraite à la section 3.2. La matrice de dissimilarités Soit un ensemble de n éléments, la matrice de dissimilarités A de l ensemble est une matrice n n définie par : A ij = δ 2 ij i, j [1,..., n] (3.14) où δ ij est la mesure de dissimarité entre les éléments i et j. Cette dissimilarité peut être calculée de différentes manières. La mesure adoptée dans [3] est la distance de Mahalanobis, définie par : S ij = (X i X j ) T Σ 1 X (X i X j ) i, j = 1,..., N (3.15) où X i et X j correspondent aux vecteurs caractérisant les éléments i et j, et Σ 1 X à la matrice de covariance calculée sur tous les éléments. Le Multidimensional Scaling classique correspond A partir de la matrice de dissimilarités A, on calcule la matrice B (n n) définie par : où H est une matrice n n définie par : où I est la matrice identité n n. B = 1 HAH (3.16) 2 H ij = I ij 1/n i, j [1,..., n] (3.17) La matrice B peut être exprimée en fonction de ses valeurs et vecteurs propres : B = V ΛV T (3.18) où Λ est la matrice diagonale des valeurs propres de B et V est la matrice contenant ses vecteurs propres normalisés. Pour réduire l espace à d dimensions, il faut prendre les vecteurs propres correspondant aux d premières valeurs propres positives de B. Soient d la matrice diagonale contenant ces valeurs propres, et V d la matrice contenant les d vecteur propres correspondants, on peut exprimer les n éléments de départ dans le nouvel espace euclidien à d dimensions par : X = V d Λ 1/2 d (3.19) où X est la matrice n d contenant les coordonnées des éléments. 26

Le Landmark Multidimensional Scaling Le Multidimensional Scaling classique que nous venons de voir comporte un important désavantage : son calcul demande d énormes ressources. En effet, la matrice de dissimilarités comporte n 2 valeurs. Celle-ci étant redondante, on peut considérer que le stockage de cette matrice demande n(n 1)/2 entrées. En considérant une taille très modeste de 8 octets par vecteur caractéristique, une bibliothèque de 10000 éléments occuperait 400 Mo pour être stockée et le double lors du calcul. De plus, à chaque changement dans la bibliothèque toute la matrice B devrait être calculée et à nouveau, ainsi que la décomposition en valeurs et vecteurs propres. Le Landmark Multidimensional Scaling est une technique approximant le Multidimensional Scaling en réduisant drastiquement les besoins en ressources de ce dernier. Pour ce faire, un sous ensemble de m éléments parmi les n éléments de départ est choisi. Ces éléments peuvent être choisis aléatoirement, ou peuvent faire l objet d une optimisation de manière à maximiser la dissimilarité entre chacun d eux. Appelons O l ensemble contenant tous nos éléments, et M (M O), l ensemble contenant nos éléments de repères (landmarks). L algorithme du Multidimensional Scaling va être exécuté sur la matrice de dissimilarités m m des éléments de M de manière à obtenir X m (m d), qui correspond à la matrice X calculée à l équation 3.19. Cette matrice nous permet déjà de placer dans le nouvel espace euclidien les éléments de M. On calcule ensuite Xm, défini par : X m = v T 1 / λ 1. v T d / λ d (3.20) où λ 1,, λ d sont les d premières valeur propres de la matrice B m (matrice m m similaire à B, voir équation 3.19) et v 1,, v d sont les vecteurs propres correspondants. Pour tout élément i n appartenant pas à M, un vecteur a i, de longueur m est calculé en utilisant la fonction de dissimilarité entre cet élément et chaque élément de M : a ij = δ 2 ij j M (3.21) On procède de manière similaire pour calculer les vecteurs a j, correspondant aux éléments j M, et on calcule a µ, le vecteur moyen du repère par : a µ = 1 m m a j (3.22) j=1 27

Chaque élément i, (i O) est placé dans le nouveau repère en utilisant la fonction suivante : x i = 1 2 X m (a i a µ ) (3.23) où x i est le vecteur comprenant les d coordonnées de l élément i. Le calcul du Landmark Multidimensional Scaling nécessite le stockage de n m coefficients, ce qui est un énorme avantage par rapport aux n 2 coefficients nécessaires au Multidimensional Scaling classique. En contrepartie, une certaine précision est perdue puisque les dissimilarités ne sont calculées que sur un sous-ensemble d éléments. C est en jouant sur la valeur de m qu on va pouvoir trouver l équilibre entre précision et occupation mémoire. 3.3.4 Clustering Dans Audio Cycle [7], la réduction de dimensions se fait par clustering. Cette méthode consiste dans un premier temps à rassembler les éléments par grappe (ou cluster), dans leur espace d origine, en utilisant l algorithme k-means [6]. Les chercheurs du TCTS Lab ont ensuite développé une technique innovante pour le placement des éléments sur la carte 2D, comme nous le verrons plus bas. L algorithme k-means Pour des raisons de lisibilité, nous allons illustrer l algorithme pour des éléments à deux dimensions. La première étape consiste à sélectioner aléatoirement des centroïdes parmi les éléments (voir figure 3.19). Il faut sélectionner autant de centroïdes que l on veut créer de clusters. Figure 3.19 Sélection initiale des centroïdes [6] 28

On assigne ensuite à chaque élément le centroïde le plus proche (voir figure 3.20). On est ainsi en présence d un premier partitionnement, qui n est toutefois pas idéal étant donné le caractère purement aléatoire des coordonnées des centroïdes. Figure 3.20 Partition initiale des éléments [6] L étape suivante consiste à déterminer une nouvelle position pour les centroïdes, correspondant à la moyenne des éléments assignés au centroïde en question (voir figure 3.21). Il est à noter que le nouveau centroïde ne correspond plus à la position d un élément. Figure 3.21 Sélection des nouveaux centroïdes [6] 29

Sur base de la nouvelle position des centroïdes, on réassigne chaque élément au centroïde le plus proche (voir figure 3.22, au-dessus). On réitère le processus ainsi par le réajustement de la position des centroïdes (voir figure 3.22, en-dessous), jusqu à la convergence, c est-àdire lorsque la distance entre les positions d un même centroïde à deux itérations successives descend en-dessous d un seuil de convergence prédéfini. Figure 3.22 Assignation des éléments aux nouveaux centroïdes et réitération du processus [6] Après convergence, et pour un plus grand nombre de centroïdes, on obtient un partitionnement en clusters tel qu illustré à la figure 3.23. Placement des éléments sur la carte 2D Le placement des éléments de la bibliothèque dans Audio Cycle se fait relativement à un élément choisi par l utilisateur. Celui-ci est placé au centre de la carte. On place ensuite les centroïdes sur un cercle autour du centre de la carte, à angles constants. De cette manière, les demi-droites joignant les centroïdes au centre du cercle coupent celui-ci en autant de parties égales qu il y a de clusters. Ce placement des centroïdes est juste une vue de l esprit qui va nous servir dans le placement des autres éléments ; les centroïdes ne correspondant 30

Figure 3.23 Partitionnement final des éléments en clusters [6] pas à des éléments réels, ils ne seront pas affichés sur la carte. Les autres éléments sont placés en fonction de deux paramètres. D une part, la distance euclidienne, calculée dans l espace des caractéristiques, entre l élément et celui placé au centre, déterminera la distance de l élément par rapport au centre de la carte. D autre part, la distance euclidienne, toujours calculée dans l espace des caractéristiques, entre l élément et son centroïde, déterminera l angle que forme la droite joignant l élément au centre de la carte avec la droite joignant le centroïde au centre de la carte. On peut voir sur la figure 3.24 une telle organisation avec cinq clusters. Chaque élément est mis en couleur en fonction du centroïde qui lui est assigné. Figure 3.24 Placement des éléments sur la carte 2D dans Audio Cycle [7] 31

3.4 Application à une bibliothèque personnelle L objectif de ce projet étant de classer une bibliothèque musicale, nous allons voir dans quelle mesure les notions vues dans ce chapitre peuvent être utilisées. Dans un premier temps, une bibliothèque de test va être constituée, afin de tester dans les meilleures conditions l efficacité du classement. Ensuite, nous déciderons des caractéristiques à extraire de cette bibliothèque et comment les classer à l aide des méthodes vues au cours de ce chapitre. 3.4.1 Bibliothèque de test Bien qu un des intérêts d un classement visuel des chansons peut être de mettre en évidence la ressemblance entre deux morceaux à priori de genres différents, nous allons tester l efficacité de notre classement sur l aptitude du classificateur à séparer sur la carte des morceaux de genre différents. Pour cela, nous allons utiliser des morceaux dont le genre est très marqué. Le tableau 3.3 reprend la liste des albums constituant la bibliothèque musicale. Dans chaque album, huit morceaux ont été extraits, à l exception de l album de Miles Davis qui n en compte que six. Genre Auteur Album Couleur Musique classique Jean-Sébastien Bach Piano Transcriptions Vol. 1 Bleu Musique Classique Vivaldi Les Quatre Saisons Cyan Blues Robert Johnson The King Of Delta Blues Rouge Jazz Miles Davis Kind Of Blues Magenta Rock/Hard Rock Deep Purple The Very Best Of Jaune Hip-Hop/Rap 50 Cent Get Rich or Die Tryin Noir Pop/Rock The Beatles Revolver Vert Table 3.3 Liste des morceaux constituant la bibliothèque de test 3.4.2 Caractéristiques à extraire Si l on veut comparer les caractéristiques des différentes chansons d une bibliothèque, il faut que celles-ci soient représentées dans des espaces de mêmes dimensions. Il faut donc s affranchir de la variation temporelle de la caractéristique. Pour le modèle rythmique, c est déjà le cas, mais pour le timbregram, l analyse chromatique et le rythmogram, il est nécessaire de calculer une valeur moyenne sur toute la durée de la chanson. Cependant, dans le cas de l analyse chromatique, cela n a pas beaucoup de sens, puisque c est justement la manière dont se succèdent les notes qui définit la mélodie. Cette caractéristique sera donc ignorée dans la suite de ce travail. Les caractéristiques citées ci-dessus ont été extraites de la bibliothèque de test grâce à la fonction rp_extract développée par Thomas Lidy et Andreas Rauber de l Université 32

Technique de Vienne [8]. Cette fonction, dont le fonctionnement est illustré à la figure 3.25, calcule le modèle rythmique d un signal audio (bloc RP). Elle permet aussi de calculer des données statistiques sur le timbre (bloc SSD), ainsi qu un histogramme du rythme (bloc RH). Figure 3.25 Schéma de l extraction du modèle rythmique [8] Pour ce qui est du modèle rythmique, comme expliqué à la section 3.2.4, les valeurs sont calculées pour 24 bandes critiques et pour des modulations d amplitude dans un intervalle allant de 0 à 10 Hz, intervalle séparé en 60 segments. Ceci nous donne pour chaque morceau 24 60 = 1440 valeurs. Pour le timbre, nous conserverons la moyenne du spectre pondéré pour chaque bande critique (24 valeurs par morceau). Enfin, pour exprimer le rythme, nous garderont la moyenne sur toutes les bandes critiques de l image rythmique obtenue à l étape 8 de l algorithme décrit à la section 3.2.4.Ces moyennes sont exprimées en fonction de l amplitude de modulation (60 valeurs par morceau). 3.4.3 Algorithmes de classement Pour classer nos éléments, nous allons comparer les différentes techniques de classement vues à la section 3.3. Nous comparerons l analyse en composantes principales, les cartes auto-adaptatives émergentes, et l algorithme de clustering imaginé par les chercheurs du 33

TCTS Lab. Le Multidimensional Scaling, lorsqu il est basé sur des distances euclidiennes pour le calcul des dissimilarités, est identique à l analyse en composantes principales [19]. Nous ne l utiliserons donc pas ici. Pour les cartes auto-adaptatives émergentes, j ai utilisé les outils développé par le Data Bionics Research Group de l université de Marburg [20]. L analyse en composantes principales a été effectuée grâce à la fonction princomp fournie avec la Statistics Toolbox de Matlab. Enfin, le clustering a été calculé grâce à la fonction kmeans (elle aussi de la Statistics Toolbox) et l affichage a ensuite été réalisé en suivant l algorithme décrit à la section 3.3.4. 3.4.4 Résultats Nous allons comparer ici les résultats des classements de la bibliothèque de test pour l analyse en composantes principales, la carte auto-adaptative émergente et le clustering. Pour chacune des méthodes de classement, les trois caractéristiques énoncées à la section 3.4.2 seront utilisées. Sur chaque carte, les éléments de la bibliothèque sont colorés comme indiqué dans la dernière colonne du tableau 3.3. L analyse en composantes principales Figure 3.26 Comparaison de l analyse en composantes principales basée sur le modèle rythmique, le timbre et le rythme (de gauche à droite) Sur la figure 3.26 sont représentés les résultats de l analyse en composantes principales basée sur le modèle rythmique (gauche), le timbre (au milieu) et le rythme (à droite). Sur les trois cartes, on peut voir que les morceaux de 50 Cent (en noir) se démarquent assez bien des autres. On peut aussi remarquer que les deux albums de musique classique (en cyan et en bleu) sont assez rapprochés pour le modèle rythmique et le rythme, un peu moins le timbre, ce qui peut s expliquer par le fait qu un est majoritairement joué au piano (Bach), et l autre majoritairement au violon (Vivaldi). Il est à noter qu un des morceaux de Bach est complètement isolé en haut à droite de la carte du timbre, ce qui a pour effet 34

de concentrer tous les autres éléments sur la partie inférieure gauche de la carte, et de réduire le contraste entre les éléments. On voit que pour le blues (en rouge), c est le modèle rythmique qui semble le mieux l isoler, et on voit aussi que quelque soit la caractéristique, les Beatles (en vert) et Deep Purple (en jaune) sont toujours assez rapprochés, ce qui, au vu du reste de la bibliothèque, est assez sensé. Pour ce qui est des morceaux de jazz (en magenta), c est avec leurs timbres qu ils semblent le mieux s isoler, tandis qu il sont très dispersés dans l analyse rythmique. En effet, à l écoute de ces morceaux, on entend que ce sont toujours le piano et la trompette qui sont utilisés, ce qui explique l homogénéité au niveau du timbre. Par contre, le rythme varie très fort d une chanson à l autre, ce qui explique le résultat du classement sur base de l analyse rythmique, et par conséquent celui du modèle rythmique, qui est un mélange du timbre et du rythme. Pour conclure sur les résultats de l analyse en composantes principales, c est le modèle rythmique qui semble donner les meilleurs résultats, bien que le timbre s avère assez efficace en dépit de ses 24 coefficients par chanson, contre 1440 pour le modèle rythmique, ce qui s avère un avantage au niveau de l occupation du processeur pour le classement. De plus, l analyse du timbre comporte quelques étapes en moins que celle du modèle rythmique (voir figure 3.25), ce qui est un autre avantage au niveau du temps de calcul. La carte auto-adaptative émergente Le résultat du classement au moyen de la carte auto-adaptative émergente est illustré à la figure 3.27. L apprentissage s est fait sur une surface torique, qui n a pas de bords, et qui est aplatie pour être affichée. Il y a donc quelques éléments présents deux fois sur la figure. Le classement par carte auto-adaptative émergente est plus compliqué à analyser, car il ne faut pas juste se fier aux coordonnées des éléments sur la carte, mais aussi à leur environnement, illustré par la carte topographique. Je parlerai pour la suite en termes de montagnes et de vallées, faisant la même analogie au relief terrestre que celle expliquée à la fin de la section 3.3.1. Comme pour l analyse en composantes principales, les morceaux de 50 Cent sont bien isolés par rapport aux autres. En effet, ils forment une sorte de cuvette entourée par des montagnes, ce qui montre leur éloignement par rapport aux autres éléments. On peut voir que, comme pour l analyse en composantes principales, cette différence est la moins marquée pour le timbre (la cuvette est moins profonde), sur la figure du milieu. Pour la musique classique, on peut voir sur la figure du haut (le modèle rythmique) que tous les morceaux sont placés dans une sorte de grande vallée dans la partie droite de la 35

Figure 3.27 Comparaison des cartes auto-adaptatives émergentes basées sur le modèle rythmique, le timbre et le rythme (de haut en bas) figure, entre les deux montagnes contenant la cuvette de 50 Cent. Ces deux cuvettes sont en fait la même, puisque la surface est sans fin. Cette vallée est aussi observable pour le rythme, mais beaucoup moins pour le timbre. Il est intéressant de constater qu au niveau du timbre, le morceau de Bach qui s était retrouvé isolé dans l analyse en composantes principales se retrouve ici aussi seul entouré par des falaises, au nord des morceaux de 50 Cent. Encore une fois, le blues est assez bien isolé, surtout pour le modèle rythmique, où il forme un plateau au sud-ouest des montagnes 50 Cent. On peut aussi voir que les morceaux des Beatles et de Deep Purple sont souvent assez proches, et que le jazz est mieux classé avec son timbre qu avec ses autres caractéristiques. Finalement, on constate après analyse beaucoup de similitudes entre l analyse en composantes principales et la carte 36

auto-adaptative émergente, ce qui montre une certaine efficacité des deux techniques. Les cartes auto-adaptatives émergentes constituent une technique très intéressante de classement. On pourrais imaginer un environnement avec un relief en 3D, dans lequel on pourrait se déplacer, à la manière de Google Earth, et découvrir un ensemble de morceaux dans l une ou l autre vallée. Il est néanmoins assez difficile d imaginer l appliquer à notre problème, c est-à-dire une extension affichant une simple carte 2D, d autant que les ressources nécessaires pour effectuer l affichage sont bien plus conséquentes que pour les deux autres techniques. Le clustering Figure 3.28 Classement par clustering basé sur le modèle rythmique, le timbre et le rythme (de gauche à droite) Le classement par clustering de la bibliothèque de test est représenté à la figure 3.28. La séparation s est faite sur cinq clusters, tandis que l élément central est un morceau de Bach. Encore une fois, les morceaux de 50 Cent se démarquent assez bien, et sont à chaque fois contenus dans un seul cluster. Ils sont par ailleurs toujours plus éloignés du centre que les autres, ce qui montre leur écart par rapport à l élément central. Comme pour les autres techniques d affichage, le blues s isole assez bien, surtout dans l empreinte rythmique. On constate aussi que les morceaux de Deep Purple et des Beatles font partie du même cluster, sauf pour l analyse rythmique où ils sont répartis sur trois clusters différents. Les morceaux de musique classique, malgré leur forte identité à l audition, sont à chaque fois séparés sur deux clusters. Enfin, c est avec son timbre que le jazz s isole le mieux. L organisation de la bibliothèque musicale par clustering est assez particulière, dans le sens où deux éléments très semblables peuvent apparaitre très éloignés sur la carte, si ceuxci se retrouvent dans deux clusters différent. Néanmoins, le fait de "forcer" une certaine organisation de la bibliothèque peut convenir à l utilisateur, qui pourrait se sentir un peu perdu en affichant ses 10 000 morceaux sur sa carte au moyen de l analyse en composantes principales. 37

Il est à noter qu il y a plusieurs paramètres sur lesquels on peut jouer pour modifier l affichage par clustering. Il y a évidement le nombre de clusters et l élément central, qui seront choisis par l utilisateur, mais il y a aussi les constantes multiplicatives des distances euclidiennes de chaque élément par rapport au centre et par rapport à son centroïde. Ces deux derniers paramètres sont à choisir de manière à bien séparer les clusters les uns des autres sur la carte, tout en évitant que les éléments de ceux-ci soient trop proches les uns des autres, de manière à garder un certain contraste à l intérieur du cluster. 3.5 Conclusion Tout au long de ce chapitre, nous avons vus les différentes techniques utilisées pour extraire les caractéristiques d une chanson, dans le but de les classer par ressemblance intrinsèques. Des caractéristiques testées, l empreinte rythmique s est avérée la plus efficace pour isoler les musique de notre bibliothèque de test en fonction de leur genre, mais le timbre s est lui aussi montré assez pertinent, étant donné son nombre de coefficients (24 contre 1440 pour l empreinte rythmique). Nous avons vu à la section 3.2.2 qu il était possible de caractériser la mélodie d une chanson, mais comme il faut un nombre fixe de coefficients pour caractériser chaque élément, et que cette caractéristique est basée sur son évolution au cours du temps, il apparait assez compliqué de la normaliser. Néanmoins, cette caractéristique pourrait potentiellement s avérer très intéressante, par exemple en étant capable d apparenter un morceau de musique classique avec sa version remixée en musique électronique. Des techniques de réduction de dimension, il ressort que l analyse en composantes principales et le clustering s avèrent complémentaires. La première s efforce de donner une représentation la plus fidèle qui soit de l entièreté de la bibliothèque, tandis que la seconde force une certaine organisation des éléments. Ces deux techniques sont préférées aux autres de par leur temps de calcul qui est relativement faible. 38

Chapitre 4 Implémentation Le principal objectif de ce travail est la réalisation d une extension implémentant les fonctionnalités d analyse et de classement développées pour Audio Cycle [7] dans un lecteur multimédia grand public. Deux logiciels sont immédiatement apparus comme candidats. D une part, itunes, pour son très large public, du à la popularité de l ipod (le baladeur numérique d Apple) et de l itunes Store (leader mondial de la vente de musique numérique 1 ). D autre part, Songbird, pour son caractère multi-plateformes et son système d extensions, hérité du navigateur web Firefox, qui simplifie le travail du développeur. Plutôt que de choisir entre l un ou l autre des ces logiciels, les deux ont fait l objet du développement d une extension, même si le développement sur itunes a été prioritaire. Néanmoins, ces deux extensions ne sont pas des copies conformes, elles ont des philosophies de fonctionnement très différentes. L extension itunes fonctionne complètement sur l ordinateur de l utilisateur, qui doit d abord passer par une phase d extraction des caractéristiques des chansons de sa bibliothèque. De son côté, l extension Songbird, fonctionne sur un modèle client-serveur : le serveur dispose d une très large base de données de chansons pré-analysées, et en recevant la liste des chansons disponibles dans la bibliothèque d un client, calcule et renvoie les positions sur la carte de chacun de ces éléments. 4.1 Extension pour itunes Apple fournit un kit de développement d applications (Software Developpement Kit, SDK) pour itunes, destiné à permettre au développeurs de créer des animations graphiques. Ces animations, qui constituent une fonctionnalité fréquemment présente dans les lecteurs multimédia, permettent de visualiser la musique, en animant des objets en fonction de l amplitude ou du spectre du signal joué. Ce kit de développement étant le seul fournit par Apple, notre application sera développée sous forme d animation. 1. http://www.npd.com/press/releases/press_100526.html 39

itunes est disponible sur les plateformes Windows et Mac. Les extensions ne sont pas automatiquement compatibles avec les deux versions du programme. Il a donc fallu faire le choix de la plateforme de destination de l extension. Comme Audio Cycle a été initialement développé sur Mac, c est cette plateforme qui a été choisie, de manière à gagner du temps au moment de réutiliser les librairies. Un autre intérêt de cette plateforme est l AppleScript, un langage de script permettant d interagir très facilement avec les différentes applications installées sur le mac. Ce langage permet d étendre les possibilités d interaction avec itunes, qui s avèrent un peu trop limitées dans le kit de développement. 4.1.1 Présentation générale Sur le CD joint à ce rapport se trouve le programme d installation de l extension (voir figure 4.1), appelée AudioCycle for itunes, à l adresse AudioCycle for itunes/audiocycle for itunes.dmg. Cet utilitaire permet d installer l extension ainsi que les librairies nécessaires à son fonctionnement. Une fois l installation terminée, il faut démarrer, ou redémarrer itunes. Figure 4.1 Utilitaire d installation de l extension pour itunes Dans itunes, l extension peut être lancée en cliquant sur Présentation - Animations - AudioCycle for itunes puis sur Présentation - Afficher les animations. L écran qui s affiche au premier démarrage est illustré à la figure 4.2. Une carte vide est affichée, ainsi qu une fenêtre de paramètres. La première étape consiste à importer les caractéristiques de la bibliothèque, en cliquant sur le bouton Start Extr. L importation durant une vingtaine de secondes par chanson, l importation de toute la bibliothèque peut prendre plusieurs heures. Néanmoins, l affichage des éléments se fait en cours d importation, sur les éléments déjà importés. Il est possible de mettre en pause l importation à tout moment, pour ménager temporairement les ressources du processeur. 40

Figure 4.2 Capture d écran de l extension pour itunes avant la première importation La capture d écran représentée à la figure 4.3 a été prise après l importation de toute une bibliothèque d à peu près 200 chansons. Les éléments sont disposés en clusters, en fonction de leur ressemblance. Il est possible de modifier le nombre de clusters, ainsi que la pondération des caractéristiques (détaillées à l annexe A). Il est possible de zoomer, en bougeant la souris verticalement tout en laissant appuyé le bouton de droite. On peut ensuite déplacer la vue sur la carte, en bougeant la souris tout en appuyant sur le bouton de gauche. En appuyant sur la touche A du clavier, on peut revenir à la vue initiale, pour afficher tout les éléments sur l écran. Quand le pointeur de la souris passe sur un élément, un rectangle d information s affiche avec le nom de la chanson, l artiste, l album et le genre, si tant est que ces informations soient disponibles. Lorsque l on clique sur un élément, la lecture de celui-ci commence, et il est ensuite affiché en blanc sur la carte. Si on clique avec le bouton du milieu sur un élément, celui-ci est sélectionné comme élément central, et la position des autres éléments est recalculée. En appuyant sur la touche P, une liste de lecture se crée avec les 15 éléments les plus proches, en distances euclidiennes, de l élément central. Il peut parfois arriver qu il ne soit plus possible de lancer la lecture d une chanson en cliquant dessus. Ceci est dû au fait qu itunes change régulièrement les numéros d identification des éléments de la bibliothèque, qui ne correspondent alors plus aux éléments importés. Pour remédier à ce problème, il est possible de remettre à jour les éléments importés en cliquant sur le bouton Clean Lib. 41

Figure 4.3 Capture d écran de l extension pour itunes après l importation 4.1.2 Fonctionnement de l extension Le code source de l application est disponible sur le CD joint à ce rapport, a l adresse AudioCycle for itunes/projet Xcode/. Il s agit d un fichier de projet Xcode, configuré pour compiler un fichier bundle directement utilisable par itunes. Le fonctionnement des extensions dans itunes est décrit en détail à l annexe B, ainsi que les possibilités d interaction avec itunes par l utilisation d AppleScript. L importation itunes n offre pas aux extensions de possibilités d interagir directement avec toute la bibliothèque. Par contre, celle-ci est enregistrée dans un fichier XML 2 dans le répertoire "Musique" de chaque utilisateur. La première étape effectuée par l extension lors de l importation est de faire une copie de ce fichier, en ne gardant que les éléments importables, c est-à-dire toutes les chansons à l exception de celles protégées par DRM 3. De plus, seules les informations concernant l artiste, le titre, l album, le genre, l adresse du fichier et le numéro d identification sont conservées dans la copie. Celle-ci est placée à l adresse : ~/Library/Application Support/Audiocycle for itunes/librarycopy.xml 2. Extensible Markup Language : Langage permettant de stocker des informations de manière structurée à l intérieur de balises. 3. Digital Rights Management, ou gestion des droits numérique : Il s agit de mesures visant à restreindre l utilisation de contenu numérique acheté en ligne. La plupart des morceaux achetés sur l itunes Store sont ainsi protégés de manière à empêcher leur lecture sur plus de cinq ordinateurs. De cette manière, Apple espère empêcher la distribution illégale sur internet de musique achetée légalement sur leur plateforme. 42

Figure 4.4 Capture d écran de l extension pour itunes lors du passage de la souris sur un élément où le caractère " " représente le répertoire utilisateur. C est dans ce répertoire que seront placés par la suite tous les fichiers relatifs à l importation. Une fois la copie de la bibliothèque itunes créée, l extension commence l importation de la première chanson. Cette importation se fait dans un processus indépendant, de manière à pouvoir toujours utiliser itunes et l extension pendant l importation. Le morceau de musique est d abord converti au format wave, car c est le seul format géré par la librairie MediaCycle (nom actuellement donné à la librairie initialement développée pour le projet Audio Cycle). L extraction des caractéristiques au moyen de la libraire MediaCycle commence ensuite, et se termine par la création d un fichier ACL, c est-à-dire un fichier texte contenant toutes les caractéristiques de la chanson. A la fin de l importation de chaque chanson, le fichier ACLibrary.xml, contenant les informations des éléments déjà importés, est enregistré. Le contenu du fichier ACL créé lors de l extraction est ajouté au fichier audiocycle.acl, qui contient les caractéristiques de tous les éléments déjà importés. De cette manière, tout interruption de l importation, qu elle soit l intention de l utilisateur ou qu elle fasse suite à une panne d itunes, peut être reprise là où elle s est arrêtée. L affichage Pour la partie graphique, Audio Cycle utilise Open Scene Graph. Il aurait été plus simple de réutiliser cette technologie, mais il semble impossible de l utiliser à l intérieur d itunes. La technologie Quartz 2D, développée par Apple, a permit d obtenir un rendu 43

semblable. Les positions de chaque élément sont données dans un repère normalisé, dont chaque axe s étend de -100 à 100. Lors de l affichage, ces coordonnées sont converties en pixels, en fonction des dimensions de la zone de visualisation à l écran. De cette manière, il est possible de redimensionner la fenêtre sans modifier les positions relatives des éléments à l écran. La fonction de conversion de coordonnées prend aussi en compte des paramètres concernant le zoom et la translation des éléments. Ces paramètres sont modifiés lors des actions de l utilisateur expliquées à la section 4.1.1. Ainsi, dès que l utilisateur modifie le zoom ou la translation des éléments, les coordonnées en pixels sont recalculées, et la nouvelle configuration est affichée à l écran. Pour détecter quand le pointeur passe sur un élément, il aurait fallu créer une fonction réagissant aux évènements de mouvement de souris, évènement supposé être relayé par itunes. Le problème est qu itunes filtre les évènements qu il envoie aux extensions, et ne renvoie pas ceux de mouvement de souris. La solution a été d utiliser le message kvisualpluginidlemessage (voir annexe B), message envoyé à intervalle réguliers à l extension par itunes. La fonction gérant ce message récupère les coordonnées de la souris, et les compare aux coordonnées de chaque élément, pour déterminer si la souris pointe sur un de ceux-ci. Comme la période entre deux messages kvisualpluginidlemessage successifs est très courte, cette technique permet de gérer en temps réel la position de la souris. Commandes vers itunes Lorsque l utilisateur clique sur un élément, la chanson correspondant à celui-ci doit être lue. itunes ne permet pas à ses extensions de directement prendre le contrôle de la lecture, mais il est possible de le faire en AppleScript (voir annexe B). Ainsi, à chaque fois qu une chanson doit être lancée, l extension crée un script demandant à itunes de lancer la chanson possédant le numéro d identification de l élément sélectionné. Cette technique est aussi employée pour créer la liste de lecture contenant les plus proches voisins de l élément central. 4.1.3 Possibilités d amélioration de l extension Le plus gros handicap de l extension est sa lenteur d importation. Un travail d optimisation de la librairie MediaCycle est actuellement en cours au TCTS Lab, et devrait normalement aboutir à une très importante diminution du temps d importation. Un autre problème est l occupation en mémoire de l extension, toujours au cours de l importation, qui augmente à chaque chanson importée, et qui finit souvent par une interruption d itunes. La source de ce défaut n a pas pu encore être clairement déterminée. 44

Un autre problème de l extension est le fait qu il faille manuellement nettoyer sa librairie régulièrement pour qu elle continue à fonctionner correctement. Il serait bienvenu d intégrer un mécanisme permettant de nettoyer automatiquement la bibliothèque. Au niveau des fonctionnalités, il pourrait être intéressant de représenter chaque élément par son illustration d album, plutôt que par un carré de la couleur du cluster. Il serait aussi possible d utiliser l illustration en elle-même comme caractéristique, ce que permet déjà de faire la librairie MediaCycle. 4.2 Extension pour Songbird Comme cela a déjà été évoqué, Songbird est un logiciel massivement orienté vers les extensions. L affichage dans Songbird est géré par Gecko, le moteur de rendu de la fondation Mozilla (qui équipe par exemple le navigateur Firefox). Les extensions sont programmées en javascript tandis que des fichiers XUL ou HTML s occupent de décrire l affichage des éléments à l écran. Ceci permet de rendre portable les extensions d une plateforme à l autre, puisque seul Songbird s occupe d interpréter le contenu de l extension. L affichage de la zone de visualisation est réalisée grâce à l élément Canvas, qui va être standardisée par le W3C (World Wide Web Consortium ) dans la version 5 du langage HTML [21], mais qui est déjà pris en charge par plusieurs navigateurs internet. Cet élément permet d effectuer le rendu dynamique d images à l intérieur d une page web, en utilisant des scripts. 4.2.1 Présentation générale Le fichier nécessaire à l installation est disponible sur le CD joint à ce rapport à l adresse AudioCycle for Songbird/Audiocycle for Songbird.xpi. Pour l installer, il faut d abord démarrer Songbird, puis aller dans Outils - Modules Complémentaires. Ensuite, cliquer sur le bouton Installer... et sélectionner le fichier XPI mentionné cidessus. Enfin, il faut redémarrer Songbird, pour que les changements soient pris en compte. Figure 4.5 Illustration de la marche à suivre pour lancer l extension dans Songbird 45

Une fois Songbird redémarré, il faut aller cliquer sur le bouton lançant l extension, comme illustré à la figure 4.5. L écran qui s affiche alors est représenté à la figure 4.6. Pour importer les positions des éléments constituant la bibliothèque, l extension doit communiquer avec le serveur, dont l adresse doit être inscrite dans le champ du panneau à droite de la zone de visualisation (voir figure 4.6). L adresse par défaut est celle d un serveur web local, utilisé lors du développement de l extension. L importation des positions se fait en cliquant sur le bouton Mettre à jour les positions. Figure 4.6 Capture d écran de l extension pour Songbird au moment de son lancement Après quelques secondes, le serveur renvoie les positions des éléments pour lesquels il avait une entrée dans sa base de données. Cette base de données contient les caractéristiques pré-extraites de chansons. Seuls les éléments trouvés sont ensuite affichés dans la zone de visualisation (voir figure 4.7). Les positions sont calculées en fonction des paramètres spécifiés au moyen des curseurs présents dans le panneau de droite. Ceux-ci concernent, comme pour l extension itunes, le nombre de clusters ainsi que le poids de chaque caractéristique dans le calcul des positions. 46

Figure 4.7 Capture d écran de l extension pour Songbird après la mise à jour des positions La navigation dans la zone de visualisation se fait de manière identique à la version itunes. Il y a juste une différence au niveau de la recherche des plus proches voisins, qui peuvent être recherchés en appuyant sur le bouton Trouver les plus proches voisins, et qui s affichent ensuite en spirale à l écran, comme illustré à la figure 4.8. Figure 4.8 Capture d écran de l extension pour Songbird lors de l affichage des plus proches voisins 47

4.2.2 Fonctionnement de l extension Figure 4.9 Schéma du fonctionnement de l extension pour Songbird Le schéma du fonctionnement de l extension est illustré à la figure 4.9. Le client correspond à l extension Songbird, dont les actions sont programmées en javascript. Le serveur interagit avec le client en PHP 4. La machine serveur contient un serveur de bases de données MySQL. La librairies MediaCycle sont appelées à travers un programme écrit en C++. Les numéros représentent la chronologie d une requête. Voici le détail de chaque étape : 1. Une requête est envoyée en HTTP 5 au serveur, en utilisant l objet XMLHttpRequest du javascript. Le message, formaté en XML, contient le titre et l artiste de chaque élément ainsi que le nombre de clusters et le poids de chaque caractéristique. Le GUID (Globally Unique Identifier), identifiant propre à chaque installation de Songbird, est aussi envoyé pour permettre au serveur d identifier le client. Enfin, un paramètre spécifie si la requête demande les positions de tous les éléments ou la liste des plus proches voisins. 2. Le serveur PHP reçoit la requête sous la forme d une chaîne de caractères. Celle-ci est d abord analysée pour en ressortir les paramètres sous formes de variables. Le serveur crée (ou met à jour) dans la base de données une table contenant tous les éléments de la bibliothèque de l utilisateur. Le nom de cette table est référencé dans une autre table, appelée userlibs, en fonction du GUID du client. 4. Hypertext Preprocessor : Langage de script principalement utilisé sur les serveurs de sites internet pour produire du contenu dynamique. 5. HyperText Transfer Protocol : Protocole de communication principalement utilisé lors de la navigation sur internet. 48