Le système complet

Introduction

Dans les parties précédentes ont été présentés les divers modules d'un système pour segmenter en zones stables les sons musicaux. Comme nous l'avons déjà mentionné, les techniques présentées dans cet exposé ne s'appliquent pas au cas de la parole.

Aussi, dans cette partie, dans un premier temps, nous décrivons le troisième niveau de segmentation, qui a pour but de nous indiquer quand nous sommes en présence de musique et quand nous sommes en présence de parole. Ceci fait l'objet du deuxième chapitre (chapitre chap:sou) de cette partie. Il s'agit de ce que nous appelons la segmentation en sources.

Dans un second temps, nous décrivons le système complet de segmentation et d'indexation que nous avons défini. Il rassemble les diverses techniques présentées tout du long de cet exposé. Les dépendances qui existent entre les trois modules de segmentation, puis celles qui existent entre la segmentation et le module de séparation de sources se concrétisent par des informations échangées. Nous donnons le type d'informations qui circulent entre les quatre modules. En ce qui concerne un certain nombre d'entre ces liens, il s'agit de perspectives. Ces descriptions font l'objet du troisième chapitre (chapitre part:algoge) de cette partie.

Une conclusion est donnée dans le quatrième chapitre (chapitre chap:concsys) de cette partie.

Segmentation en sources

1.Présentation du problème

Introduction

Le but ici est de segmenter des bandes son de films, ou des programmes radiophoniques enregistrés, en parties où nous sommes en présence de voix parlée et en parties où nous sommes en présence de musique (voix chantée et/ou musique instrumentale). Ceci notamment pour aider au codage (choix du codeur le plus adapté à la parole ou de celui le plus adapté à la musique : pour le codage perceptif, voir Thesis:Paillard, Thesis:Philippe, Article:Brandenburg, Article:Soumagne, Thesis:Colomes...), mais aussi parce que les techniques présentées dans les parties précédentes pour segmenter en notes ou en phones ou plus généralement en parties stables ne s'appliquent qu'à la musique.

D'autres catégories de sons seront considérées par la suite (il s'agit de perspectives) : voix chantée seule, bruits de machines, bruits de rue...

Pour le moment, nous nous limitons à ces deux catégories :

Un programme, appelé sources, a été développé en c, sous unix. Qui accompagne ce programme, une interface graphique a été développée. Elle a pour but de nous aider à l'interprétation.



L'analyse se décompose en deux étapes :

Quelques performances obtenues avec des signaux réels sont donnés dans la quatrième section (section perfor) de ce chapitre. Elles sont commentées.

Les corrélations entre les caractéristiques de base sont étudiées dans la cinquième section (section ssec:corrfoba) de ce chapitre. La plupart des techniques décrites dans ce chapitre jusqu'à cette section ssec:corrfoba sont tirées de la littérature concernant la segmentation en sources (principalement Article:Scheirer). À partir de l'étude des histogrammes des caractéristiques de base (histogrammes nécessaires au calcul des corrélations), de nouvelles fonctions d'observation sont proposées, visant à mieux mettre en lumière les différences entre la classe << parole >> et la classe << musique >>.

Les corrélations entre les fonctions d'observation sont données dans la sixième section (section ssec:corrfoob) de ce chapitre.

L'interface graphique du programme sources est très rapidement présentée dans la septième section (section sect:intersou) de ce chapitre. Nous indiquons dans quelle mesure elle peut nous aider à l'interprétation.

Les sons utilisés

Pour les performances montrées dans cet exposé, nous avons utilisé quatre fichiers sons :

Un << jeu de sons >> correspond à à peu près 20 minutes de son enregistré à la radio, dont environ 10 sont de la musique et environ 10 de la voix parlée. Chaque jeu de sons est formé de la réunion d'un fichier de voix parlée et d'un fichier de musique. Les deux jeux de sons sont : musique1wav.sf + parole1wav.sf, et musique2wav.sf + parole2wav.sf.

2.Les fonctions d'observation

Introduction

Les fonctions d'observation utilisées sont basées sur l'extraction de caractéristiques << de base >>. Ces caractéristiques de base sont le flux spectral, le centroïde, le taux de passage par 0, le flux entre le spectre d'amplitude et le spectre d'amplitude reconstruit après liftrage et le << spectral rolloff point >>. Dans la littérature, d'autres caractéristiques de base ont été mises en place : voir les articles Article:Saunders, Article:Scheirer, Article:Seck1, Article:Williams et Article:Zhan (ce dernier article a été écrit par des gens qui viennent du traitement de la parole).

Il sera nécessaire d'en développer de nouvelles quand nous segmenterons en plus de deux classes.

Les caractéristiques de base sont calculées pour des trames temporelles larges de quelques dizaines de millisecondes. Chaque caractéristique de base nous donne une valeur (un scalaire) pour chaque trame. Ensuite, les fonctions d'observation sont calculées pour des segments d'une seconde, à partir des valeurs des caractéristiques de base obtenues pour les trames de ce segment.

Les caractéristiques de base

Le flux spectral

La première caractéristique de base est le flux spectral calculé avec les spectres d'amplitude. Le << flux spectral >> a déjà été décrit, par exemple dans la section flux_spec de la partie part:seg_mon_har. Les flux spectraux calculés avec les enveloppes spectrales n'ont pas été utilisés ici.

Le flux spectral est plus grand dans les parties non voisées de la voix que dans les parties voisées. En effet, les spectres d'amplitude de deux trames successives de bruit peuvent varier énormément. Pour la musique il vaut toujours sensiblement la même chose. Tous les flux spectraux devraient réagir ainsi.

Le centroïde

Le centroïde est le centre de gravité du spectre d'amplitude (calculé avec la fft pour chaque trame), c'est-à-dire :

est le spectre d'amplitude et la taille de la fft (à comparer avec << >>, défini dans la section masri).

Le centroïde est plus grand pour les trames non voisées de la voix que pour les trames voisées. Dans le premier cas, en effet, le spectre d'amplitude contient plus d'énergie dans les hautes fréquences (le signal est du bruit, blanc ou coloré) que dans le second (l'énergie est concentrée principalement dans les premiers harmoniques, c'est-à-dire dans les basses fréquences). Pour la musique il vaut toujours sensiblement la même chose.

Le taux de passage par 0 (TPPZ)

Le taux de passage par 0 est le nombre de fois que le signal dans le domaine temporel franchit au cours d'une trame. Les échantillons de la trame courante s'écrivent : . La détection d'un passage par 0 s'effectue ainsi :

Dans une trame de bruit (correspondant à une portion d'une consonne non voisée), le nombre de passage par est plus grand (présence de hautes fréquences) que dans une trame de voix voisée. Pour la musique il vaut toujours sensiblement la même chose.

Le flux entre le spectre d'amplitude et le spectre d'amplitude reconstruit après liftrage

Cette étude a fait l'objet d'un stage d'un mois, effectué en septembre 1998 par un étudiant roumain, Dragos Spataru, qui est actuellement en quatrième année à l'Université Polytechnique de Bucarest (voir Techreport:Spa).

Le principe de la méthode est le suivant :

Ainsi, le spectre d'amplitude d'un bruit (voix non voisée) est mieux approximé que le spectre d'amplitude d'un signal harmonique (voix voisée) : voir pour s'en convaincre l'exemple donné page 520 du livre d' Oppenheim et Schafer, << Digital Signal Processing >> (Book:Oppenheim). Pour la musique il vaut toujours sensiblement la même chose.

En fait, pour un son voisé, nous obtenons une sorte d'enveloppe spectrale, mais surbaissée. Nous pouvons remonter à l'enveloppe spectrale à partir de ce spectre d'amplitude reconstruit après liftrage : voir la thèse de Hallé (Thesis:Halle).

Le << Spectral Rolloff Point >>

Le << Spectral Rolloff Point >> est la position de l'échantillon fréquentiel tel que 95 % (cas général : %, étant un paramètre libre à fixer) de l'énergie du spectre d'amplitude soit comprise entre le premier échantillon fréquentiel (pour lequel ) et cet échantillon fréquentiel (voir la figure figu:rolloff). Nous distinguons ainsi encore une fois les parties voisées (pour lesquelles l'énergie est concentrée dans les basses fréquences : est petite) des parties non voisées (pour lesquelles l'énergie est plus uniformément répartie sur tout le spectre d'amplitude : est plus grande). Pour la musique il vaut toujours sensiblement la même chose.

Cette caractéristique de base n'est pas implémentée dans le programme sources.

Fonctions d'observation

Ces caractéristiques << de base >> sont calculées pour des trames (des portions) temporelles larges de quelques dizaines de millisecondes (disons, communément, 20, ce qui, nos signaux étant échantillonnés à 44100 , correspond à échantillons). Ces trames peuvent se chevaucher.

Les huit fonctions d'observation implémentées dans le programme sources sont :

Dans cet exposé, les moyennes et les variances sont calculées sur des segments d'une seconde, c'est-à-dire à partir des valeurs des caractéristiques << de base >> obtenues pour chaque trame comprise dans ce segment. Les segments peuvent se chevaucher.

Quelques interprétations

Nous avons vu que les caractéristiques << de base >> nous donnent des valeurs très différentes pour les parties non voisées et pour les parties voisées du signal.

Pour la voix chantée, les voyelles (qui sont voisées) sont souvent plus longues que pour la voix parlée, et les consonnes non voisées sont très peu présentes[Note : Voir Article:Castre et la note de la page page:castre]. La musique peut être considérée comme une succession de périodes de stabilité relative, malgré la présence de petits signaux (comme les percussions, ou les consonnes non voisées) qui ajoutent du bruit dans les hautes fréquences. Ces périodes de stabilité relative correspondent aux notes, ou aux phones (voix chantée), ou à la superposition de notes et de phones, ou à la superposition de plusieurs notes, et de phones... Ainsi, les caractéristiques << de base >> restent relativement constantes sur un segment de musique. Au contraire, la parole[Note : Voir la note de la page page:coar.] est plutôt une rapide succession de périodes de bruit (comme les consonnes non voisées) et de périodes de relative stabilité (comme les voyelles) : ainsi, les caractéristiques << de base >> varient beaucoup sur un segment.

Comme nous pouvons le voir sur la figure nuage, les variances sont plus grandes pour la parole que pour la musique, alors que les moyennes tendent à être plus grandes pour la musique que pour la parole.

3.La classification

Introduction

Pour chacun des quatre sons utilisés pour valider la classification, les fonctions d'observation ont été calculées et rangées dans deux fichiers séparés : quatre segments sur cinq ont été utilisés pour l'entraînement, et un sur cinq a été utilisé pour les tests. Voir la section ssec:proto, où le protocole d'évaluation utilisé est explicité.

Il existe une multitude de classifieurs. Cette section ne vise pas à en donner un panorama complet : nous nous sommes focalisés plus spécialement sur trois d'entre eux, sans même chercher à approfondir l'étude de leur fonctionnement. Ce que nous faisons dans cette section en matière de classification est de toute façon << simple >> : l'existant est plus compliqué, avancé.

Le mélange de gaussiennes (MG)

Cas général

Considérons une classe. Nous modélisons les données de cette classe par une somme de densités de probabilité multi-dimensionnelles gaussiennes. La classe considérée est formée de composantes. La somme des densités de probabilité de chaque composante nous donne la densité de probabilité du mélange pour la classe considérée :

avec : le vecteur des données (de taille ), les probabilités a priori de chaque composante, et , où est le vecteur des moyennes (sa taille est le nombre de dimensions, c'est-à-dire le nombre de fonctions d'observation prises en compte) pour la composante et est la matrice de covariance (de taille ) pour la même composante.

Il s'agit de déterminer les paramètres du mélange.

La méthode utilisée ici est la méthode du maximum de vraisemblance. Plus communément, nous maximisons suivant ceci :

Cette maximisation se fait en utilisant l'algorithme EM (<< Expectation -- Maximization >>) :

Faisons la remarque que représente la transposition.

Les paramètres sont dans un premier temps initialisés, puis les deux étapes E et M sont répétées jusqu'à la convergence.

Supposons que nous considérions deux classes. La première est composée de composantes et la seconde de . L'entraînement consiste à estimer les paramètres , et , des deux mélanges.

Notre cas

Dans notre cas, chacune des deux classes a été modélisée par une seule gaussienne multi-dimensionnelle. Les paramètres (vecteur moyenne et matrice de covariance) de chacune de ces deux gaussiennes peuvent être estimés indépendamment de ceux de l'autre gaussienne, et nous n'avons pas besoin d'utiliser l'agorithme << Expectation -- Maximization >>.

L'algorithme EM n'est nécessaire qu'au cas où nous modélisons chacune des deux classes par plusieurs gaussiennes. Ceci devra être effectué pour la classe << musique >>. Il s'agit d'une perspective.

Pour classifier un nouveau point (un point permettant de mesurer les performances du test 1 ou du test 2 : voir la section ssec:proto), il faut prendre en compte les probabilités a priori et de chaque classe, c'est-à-dire les nombres et de points de chaque classe utilisés pour entraîner. Nous avons : et . Et, finalement, chaque classe étant modélisée par une seule gaussienne, le point appartient à la classe si (il s'agit du critère de Bayes : voir Books:Charbit page 139) :

Dans notre cas, pour chaque jeu de sons, nous avons presque autant de points de parole que de points de musique, donc .

Les k plus proches voisins (ppv)

Pour chaque point à classifier, nous cherchons ses plus proches voisins (la distance mise en place est la distance euclidienne : d'autres sont possibles) dans la base d'entraînement. Si la majorité de ces points appartient à la classe , il est décidé que le point à classifier appartient à la classe . Nous prenons impair. est un paramètre libre à fixer.

Cette fois, nous n'obtenons pas de paramètres décrivant (modélisant, compressant) la base de données d'entraînement, paramètres que nous supposons applicables ensuite pour la base de test ( test 1 : voir la section ssec:proto), puis pour tout nouveau son à classifier ( test 2 : voir la section ssec:proto) : les données d'entraînement constituent un dictionnaire.

Les réseaux de neurones (RN)

Nous avons utilisé un logiciel libre de droits (<< freeware >>) fourni par l'Université de Stuttgart, logiciel qui s'appelle snns (pour << Stuttgart Neural Network Simulator >>) et qui nous permet de dessiner le réseau de neurones voulu : choix du nombre de couches, du nombre d'unités (ou de neurones) par couches, de la méthode d'entraînement, du nombre d'itérations pour l'entraînement... ; de visualiser le réseau ; de visualiser l'erreur obtenue à chaque itération sur les données d'entraînement et sur les données de test ; de choisir les fichiers d'entraînement, de test ( test 1 : voir la section ssec:proto) et de << cross validation >> ( test 2 : voir la section ssec:proto) ; etc.

Le logiciel et sa documentation peuvent être obtenus ici :

ftp.informatik.uni-stuttgart.de (129.69.211.2)

dans le répertoire : /pub/SNNS

Voir aussi, pour une documentation en ligne :

http//www.informatik.uni-stuttgart.de/ipvr/bv/projekte/snns/snns.html

Dans cet exposé, nous avons travaillé avec un réseau de neurones composé de trois couches, complètement connecté. C'est-à-dire que tous les neurones d'une couche sont reliés à tous les neurones de la couche précédente.

La couche cachée comprend 6 unités quand nous utilisons seulement deux fonctions d'observation, et 8 quand nous utilisons les six premières fonctions d'observation.

Nous utilisons la méthode d'entraînement par défaut, c'est-à-dire la << backpropagation >> (voir la page 21 de la documentation de snns pour plus de détails).

Des tests plus poussés doivent être effectués. L'un des problèmes est que le choix des paramètres (taille du réseau...) demeure en grande partie empirique.

Les performances des réseaux de neurones dépendent beaucoup du processus d'entraînement des réseaux de neurones utilisé. Dans un premier temps présentons un échantillon de la classe << musique >>, puis un échantillon de la classe << parole >>, et ainsi de suite, en respectant l'ordre temporel : ainsi, deux segments de musique consécutifs dans le temps ont pour numéro d'ordre de présentation au réseau de neurones et . Dans un second temps, présentons un échantillon de musique, puis un échantillon de parole, et ainsi de suite, mais en ne respectant pas l'ordre temporel : les échantillons sont choisis aléatoirement. Ainsi, les résultats sont énormément améliorés et la convergence est accélérée. Nous passons de 9,1 % d'erreur pour le test 2 (voir la section ssec:proto) quand nous respectons l'ordre temporel des segments à 4,7 % (voir le tableau tab3) quand nous le rompons. Il s'agit d'une des règles empiriques utiles pour les réseaux de neurones : il faut présenter les points d'entraînement aussi aléatoirement que possible. Le simple entrelacement (un échantillon d'une classe puis un échantillon d'une autre) n'est pas suffisant !

Entraînons fois le même réseau de neurones avec les mêmes fichiers d'entraînement. Les échantillons d'entraînement sont présentés dans un ordre aléatoire. Alors, le problème qui apparaît est que le réseau de neurones est entraîné légèrement différemment d'un entraînement à l'autre, et donne des performances légèrement différentes. Pour le mélange de gaussiennes, les paramètres obtenus sont les mêmes, puisque les fichiers d'entraînement ne changent pas : donc nous obtenons aussi fois les mêmes perforamances ; la même remarque peut être faite pour les plus proches voisins.

L'entraînement << problématique >> du programme sources

Dans le programme sources, nous avons accès aux tailles des fenêtres d'analyse (ou trames), à la taille des segments, à la fenêtre de pondération utilisée, etc. Mais modifier ces paramètres libres conduit à modifier, plus ou moins radicalement, l'allure des nuages de points (les valeurs des fonctions d'observation), et donc à rendre la classification à partir de fichiers d'entraînement qui seraient fournis par nous aux utilisateurs du programme sources, obtenus eux avec les valeurs par défaut des paramètres libres, très difficile ou absurde : en tout cas, à aboutir à de mauvais résultats.

Donc l'utilisateur doit faire ses propres fichiers d'entraînement, avec ses sons, ce qui est pénible pour lui puisqu'il a d'abord à étiqueter à la main ces fichiers sons. Ainsi, le caractère << automatisé >> du programme sources se trouve en partie compromis. Or, nous voulons que le programme sources soit le plus automatique possible, au moins du point de vue de l'utilisateur : notamment, celui-ci ne doit pas avoir à s'occuper de l'entraînement. Pour lui, tout doit être transparent : il donne un son et il récupère un fichier de segmentation.

Ainsi, nous donnons des fichiers sons représentatifs de chaque classe, pour lesquels les fonctions d'observation sont calculées de nouveau à chaque fois qu'un nouveau son à segmenter est présenté ou à chaque fois qu'un paramètre libre est modifié. Le problème est que, notamment pour la musique, si nous voulons un fichier le plus représentatif possible, il risque d'être gros (ceci se traduit par le fait que la classe << musique >> est plus étendue que la classe << parole >>), d'où des problèmes de temps de calcul.

4.Les performances de la classification

Protocole d'évaluation

Trois types d'erreurs sont considérés :

Nous n'avons pas fait la distinction entre les erreurs qui correspondent à : un segment de parole est pris pour un segment de musique, et celles qui correspondent à : un segment de musique est pris pour un segment de parole.

Performances

Du programme sources

Quelques performances des méthodes de classification sont données dans les tableaux tab2 et tab3. Pour chaque jeu de sons , nous obtenons un pourcentage d'erreur . Dans chaque case des tableaux nous donnons la moyenne obtenue à partir des mesures faites sur les deux jeux de sons.

Avec le << Spectral Rolloff Point >>

Cette caractéristique de base est disponible seulement sous matlab.

Avec le classifieur des plus proches voisins (), nous obtenons 10 % d'erreur à l' entraînement pour le premier jeu de sons.

En fait, toutes les techniques qui permettent de mesurer le voisement donnent des résultats similaires. Ainsi, pour le << voisement deuxième forme >> (voir les sections voise_fo2 et voise_fo3), avec le classifieur des plus proches voisins () et le premier jeu de sons, nous obtenons 11 % d'erreur à l' entraînement.

Conclusion

Nous constatons qu'utiliser plus de fonctions d'observation tend à améliorer les résultats, notablement même dans certains cas. Ceci pour les plus proches voisins (ppv) et les réseaux de neurones (RN) pour les trois types d'erreur, et pour le mélange de gaussiennes (MG) pour les deux premiers types d'erreur.

Par contre, en utilisant les six premières fonctions d'observation et en classifiant avec le mélange de gaussiennes (MG), nous nous rendons compte que les résultats sont mauvais. Ceci est dû au fait que les deux classes pour le deuxième jeu de sons sont beaucoup plus proches l'une de l'autre que pour le premier jeu de sons (ceci encore plus vrai pour le centroïde et le taux de passage par 0 que pour le flux spectral). En fait, les segments de parole pour les quatre jeux de sons sont situés au même endroit ; ce sont les segments de musique qui se sont approchés de ceux de la parole pour le deuxième jeu de sons. Les segments de musique s'étalent sur une plus grande zone que les segments de parole. Ceci est dû à la grande variété de genres qui existe pour la musique.

Une solution serait de modéliser chacune des classes en utilisant plusieurs gaussiennes par classe (notamment pour la classe << musique >>), et d'utiliser beaucoup plus de segments de musique pour entraîner les classifieurs.

Nous pouvons dire que la segmentation en deux classes : parole/musique est efficace. Il faudra découper la classe musique en plusieurs sous-classes : musique instrumentale/voix chantée/bruits.

5.Corrélations entre les caractéristiques de base

Densités de probabilité

Les densités de probabilité des caractéristiques de base ont été estimées pour les deux fichiers d'environ dix minutes de musique et pour les deux fichiers d'environ dix minutes de parole. Les densités de probabilité estimées sont les histogrammes normalisés. Nous donnons les densités de probabilité obtenues pour chaque fichier (traits pleins). Et nous donnons les densités de probabilité obtenues pour les deux fichiers représentant une source pris ensemble (traits interrompus).

Pour le flux spectral, voir les figures ddp1l et ddp2l. Les paramètres libres sont :

Ainsi, avec le pas d'avancement choisi, les densités de probabilité obtenues pour chaque fichier sont chacune estimées à partir d'environ 60000 points.

Pour le centroïde, voir les figures ddp3l et ddp4l. Les paramètres libres sont les mêmes que pour le flux spectral. Pour le taux de passage par 0, voir les figures ddp5l et ddp6l. Les paramètres libres sont toujours les mêmes. Pour le flux entre le spectre d'amplitude et le spectre d'amplitude reconstruit après liftrage, voir les figures ddp7l et ddp8l. Les paramètres libres sont toujours les mêmes.

Voir les remarques faites précédemment (section ssec:qqin) et ci-dessous (section ssec:nouvobssou) à propos des différences entre les moyennes et les variances des caractéristiques de base pour la parole et la musique. Elles apparaissent ici clairement.

De nouvelles fonctions d'observation

Les densités de probabilité des caractéristiques de base nous indiquent que la classe << parole >> est plutôt formée de deux modes. Tout du moins, ceci est nettement visible en ce qui concerne le flux spectral, le centroïde et le flux entre le spectre d'amplitude et le spectre d'amplitude reconstruit après liftrage. Celui des modes dont la moyenne est la plus petite correspond aux zones voisées du signal de parole, alors que l'autre correspond à ses zones non voisées. Au contraire, la classe << musique >> n'est plutôt formée que d'un seul mode. Ainsi, il s'agirait de mettre en évidence cette différence. La moyenne et la variance ne sont pas forcément de bonnes idées. Aussi nous avons développé d'autres mesures, dont nous avons testé les performances.

Pour évaluer les performances de ces mesures, nous utilisons le classifieur des plus proches voisins. Seuls les résultats pour le test 1 (voir la section ssec:proto) sont donnés. La caractéristique de base utilisée est le flux spectral. Pour chaque jeu de sons , nous obtenons un pourcentage d'erreur . La moyenne est obtenue à partir des mesures faites sur les deux jeux de sons.

Les nouvelles mesures sont moins efficaces que le logarithme décimal de la variance, mais elles sont plus efficaces que la moyenne.

Mesures de la corrélation entre deux variables aléatoires

Trois mesures de la corrélation nous avaient servi lors de l'étude sur la corrélation entre les fonctions d'observation utilisées pour la segmentation en zones stables (voir la partie part:seg_mon_har, chapitre chap:corr_fo_ob). Voir la section defcoefcorr pour avoir la définition du coefficient de corrélation. Voir la section definfmut pour avoir la définition de l'information mutuelle. Voir la section defchi2 pour avoir la définition du test du . Nous avons utilisé ces trois mesures pour étudier la corrélation entre les caractéristiques de base, puis entre les fonctions d'observation (voir la section ssec:corrfoob). Nous ne donnons que les résultats obtenus avec le coefficient de corrélation. Les deux autres mesures sont en accord avec le coefficient de corrélation.

Corrélations entre les caractéristiques de base

Les corrélations sont présentées dans les tableaux tabl:coba1 et tabl:coba2. est mis pour le flux spectral, pour le centroïde, pour le taux de passage par 0 et pour le flux entre le spectre d'amplitude et le spectre d'amplitude reconstruit après liftrage. Pour chaque fichier son de 10 minutes, numéroté , un coefficient de corrélation est obtenu. La moyenne est donnée.

Quelques remarques sont données ci-dessous :

6.Corrélations entre les fonctions d'observation

Bien sûr, les nuages de points obtenus avec les fonctions d'observation ne sont pas aussi compliqués que certains de ceux (cercle, sinus...) donnés dans l'annexe anne:corre. Ils ont plutôt la forme de << haricots >> (arcs de cercle courts) : voir les figures nuage, sou:set1 et sou:set2. Aussi, le coefficient de corrélation suffit, et nous ne donnons que les résultats obtenus avec lui.

Pour le premier fichier de musique nous obtenons le tableau tabl:correfo.

Nous constatons que les variances sont plutôt corrélées entre elles et que les moyennes sont plutôt corrélées entre elles, mais que les variances et les moyennes sont plutôt décorrélées. Nous obtenons la même chose pour la parole.

7.Quelques interprétations

Nous pouvons, dans le cas de la musique, assez bien séparer chaque chanson dans l'espace des fonctions d'observation. Ainsi, avec la moyenne et le logarithme décimal de la variance du flux spectral, nous obtenons, pour les segments de musique du premier jeu de sons, la figure sou:set1. Le programme utilisé ici est la version avec interface graphique du programme sources. Les courbes fermées représentant chacune l'un des extraits présents dans le son ont été ajoutées à la main. Ce sont des contours subjectifs, tracés après avoir écouté les segments[Note : Chaque segment d'une seconde est représenté par une étoile. En cliquant sur une étoile, la seconde de son correspondante est jouée.] un à un.

L'extrait d'accordéon est purement monophonique, et parfois les notes sont longues. Ainsi, le flux spectral est petit, ainsi que sa variance.

L'extrait des Rita Mitsouko comporte plus de percussions que celui de Zazie, qui lui-même en comporte plus que l'extrait de Léo Ferré.



Pour le second jeu de sons (musique et parole), nous obtenons la figure sou:set2. Les points les plus clairs (rouges) correspondent à la musique et les plus sombres (bleus) à la parole.

L'extrait de Susan Vega comporte des parties de voix chantée a cappella. Les segments de cet extrait de musique sont très proches des segments de parole.



Pour les deux jeux de sons, dans le cas de la parole, les points les plus à gauche et en bas, correspondent souvent à de longs << euh ! >>.

Dépendances entre les trois niveaux de segmentation et la séparation de sources

1.Dépendances entre les niveaux de segmentation

Nous avons vu qu'en fait l'analyse est hiérarchisée ainsi : d'abord, la segmentation en sources (chapitre chap:sou de cette partie part:sou) est effectuée, puis la segmentation en caractéristiques (partie part:seg_cara), et enfin la segmentation en notes ou en phones, ou plus généralement en zones stables (partie part:seg_mon_har principalement). Les informations entre niveaux circulent du premier de ces niveaux de segmentation au troisième. Quelques dépendances, et un schéma général pour la segmentation, sont donnés sur la figure figu:depfinseg.

Nous donnons dans les sections qui suivent quelques-uns des cas possibles. Les cas mentionnés ici ne représentent pas de façon exhaustive tous les cas possibles. L'une des perspectives est de les recenser.

Dans la conclusion à la deuxième partie (chapitre chap:part2, page page:questi), nous avions explicité une série de questions que le système a à se poser tout du long de son analyse. Nous reportons pour chacun des cas traités ci-dessous lesquelles de ces questions sont résolues par le système.

Le cas du vibrato

Pour le vibrato, si nous nous plaçons délibérément dans le cas d'un son monophonique () et harmonique (), l'algorithme est le suivant.

Quand de la parole () est identifiée au premier niveau de segmentation, il n'y a pas besoin d'essayer de détecter le vibrato. Donc, la variable vibrato est fixée à off. Et, quand les fonctions d'observation sont extraites pour le troisième niveau de segmentation, l'outil << suppression du vibrato >> n'est pas utilisé.

Quand de la musique () est identifiée, l'outil << détection du vibrato >> (), inclus dans le niveau de segmentation en caractéristiques, est utilisé. Si un vibrato est détecté, la variable vibrato est fixée à on. Et, dans ce cas, le vibrato est supprimé sur le trajet de (voir le chapitre met_sup_vib, dans la partie part:seg_cara) et les quatre fonctions d'observation basées sur ce trajet (dérivées, analyse statistique, rupture de modèles) sont calculées à partir du nouveau trajet de .

Le cas de l'inharmonicité

Pour l'indice d'inharmonicité, si nous nous plaçons délibérément dans le cas d'un son monophonique (), l'algorithme est le suivant.

Un signal de castagnettes, par exemple, est toujours inharmonique (). Donc, la fonction d'observation basée sur l'indice d'inharmonicité ne présente pas de pics fins et grands quand les transitions ont lieu (dans ce cas, les transitions sont des transitoires d'énergie). Cette fonction d'observation ne peut pas nous aider à poser les marques pour le troisième niveau de segmentation ( segmentation en zones stables). Ainsi, quand le signal est inharmonique, la variable useinh est fixée à off.

Le cas de la polyphonie

Pour la polyphonie, l'algorithme est le suivant.

Quand de la musique () est identifiée au premier niveau de segmentation, le détecteur de la polyphonie (), dans le niveau de segmentation en caractéristiques, est utilisé. Si la polyphonie est détectée, les fonctions d'observation basées sur le trajet de ne sont pas envoyées au niveau de segmentation en zones stables.

2.Dépendances entre la segmentation et la séparation

La séparation de sources et la segmentation sont liées. La détection de la polyphonie () est effectuée lors de la segmentation en caractéristiques. La séparation de sources a besoin d'informations qui sont obtenues lors de la segmentation : notamment, elle a besoin que le son soit segmenté en zones stables (voir la partie part:seg_mon_har et la partie part:poly). Ces relations sont schématisées sur la figure liefig.

La séparation de sources n'a lieu que si la polyphonie a été détectée () au moment de la segmentation en caractéristiques. L'algorithme pour le cas général de la segmentation ( segmentation en sources, segmentation en caractéristiques, segmentation en zones stables) est celui décrit dans la section précédente.

Conclusion de la cinquième partie

Cette conclusion se décompose en deux paragraphes, chacun concernant l'un des chapitres traités dans cette partie :

Tout du long de cette partie, de nombreuses perspectives ont été indiquées.