Beaucoup de gens à l' ircam sont intéressés par la segmentation et l'étiquetage : pour la synthèse, pour la structuration d'événements sonores à des niveaux supérieurs, pour l'exploration du phrasé, du geste musical, pour des traitements du son du type psola, etc. Le programme segmentation rend l'utilisation des divers outils de segmentation présentés conviviale, et permet qu'en retour ses utilisateurs nous indiquent les défauts et les bogues présents et nous ouvrent par leurs remarques de nouvelles voies d'exploration. Sur station de travail sous unix, une interface graphique a été développée : elle nous a aidé tout du long de la thèse à trouver des voies pour améliorer nos résultats.
Il s'agissait aussi de donner des étiquettes décrivant les sons, ceci entre autres dans l'optique de MPEG-7. Le ccett aussi bien que l' ircam à travers cuidad prennent part aux discussions à propos de l'élaboration de ce standard.
Deux programmes ont été développés en c au cours de la thèse. Le premier, segmentation, qui a pour but de segmenter en zones stables (voir principalement la partie part:seg_mon_har), rassemble plus de 23000 lignes de code et est disponible en mode ligne de commande à l' ircam pour tous les utilisateurs potentiels. Il a été porté pour l' ircam sous unix sgi, unix alpha et linux ; pour Supélec -- Campus de Metz sous unix sun et sous visual c ; et pour le ccett sous visual c. Le second, sources, qui a pour but de segmenter en sources (voir la partie part:sou), rassemble 3000 lignes de code. Il est porté sur unix sun et unix sgi.
La difficulté majeure rencontrée pendant la thèse vient de la grande diversité des sons musicaux. Il ne nous a pas semblé possible de définir un modèle de signal unique pour tous les sons musicaux qui soit plus mathématiquement ou statistiquement précis que : les sons musicaux sont composés de << zones stables >> séparées par des << transitions >>. Il s'est agi ensuite de définir ce que nous entendions par << stable >> et << transition >>. Le système pour segmenter et indexer les sons (principalement les sons musicaux) présenté dans cet exposé répond à ces questions pour un certain nombre de types de sons.
Nous demandons à ces fonctions d'observation de réagir aux moments des transitions. Trois familles de fonctions d'observation, correspondant aux trois types de transition, ont été définies. La première (pages sect:fo_f0 à sect:fo_f0_fin) rassemble les dérivées numériques de
, les indices d'inharmonicité, une première espèce d'indices de voisement, l'analyse statistique de
et l'analyse des changements brusques (en moyenne principalement) de
; la deuxième (page sect:fo_en) les dérivées numériques de l'énergie, l'analyse statistique de l'énergie et l'analyse des changements brusques de l'énergie ; la troisième (pages sect:var_con_spe à sect:var_con_spe_fin) une seconde espèce d'indices de voisement et les flux spectraux. D'autres fonctions d'observation sont mentionnées (pages sect:fo_au à sect:fo_au_fin).
Il s'agit ici de seuiller les fonctions d'observation pour obtenir des fonctions de décision. Un grand nombre de méthodes de seuillage ont été testées et évaluées (ceci fait l'objet d'une annexe). La méthode classique des
a été retenue (page sect:seuil).
Pour qu'à un instant donné il soit décidé qu'il y a une transition, il faut qu'un << certain nombre >> de fonctions de décision ait indiqué qu'il y a une transition à cet instant (page sect:somm).
Mais cette règle de fusion n'est pas suffisante, du fait que les transitions ne sont pas instantanées. Ceci est le principal problème qui a été rencontré dans cette partie. Ce problème rend le mixage des résultats particulièrement difficile. Quelques méthodes, imparfaites, ont été proposées pour résoudre cette difficulté (page net).
Chaque segment est encadré par deux marques de segmentation, caractérisées chacune par sa position et la confiance que nous pouvons lui accorder. Une fois que les marques de segmentation sont obtenues, il reste à décrire le contenu de chacun des segments. Pour les sons simples, il s'est agi de retranscrire la partition (page sect:transauto).
Puis nous avons étendu -- généralisé -- ces résultats à des sons plus compliqués, les procédures utilisées pour les sons simples servant de base. Nous mentionnons sur la figure figu:finfinfin pour quel types de sons des extensions ont été apportées : elles concernent les sons monophoniques percussifs (ces sons sont non voisés : il s'agit de détecter les transitoires d'énergie, c'est-à-dire de ne prendre en compte que les fonctions d'observation basées sur l'énergie), les sons monophoniques modulés et une catégorie restreinte de sons polyphoniques. En ce qui concerne ces derniers, des extensions possibles pour le futur sont indiquées. Comme l'indique la figure figu:finfinfin, de la même façon que les techniques utilisées pour les sons simples sont adaptées aux sons plus compliqués, les techniques utilisées pour les sons polyphoniques << simples >> seront adaptées aux sons polyphoniques plus compliqués.
. Deux familles de méthodes ont été décrites.
et d'amplitudes les coefficients de Bessel (page vib_mod_spe). Un modèle du spectre est obtenu. Il s'agit de déterminer les paramètres du modèle pour lesquels l'erreur entre un spectre théorique et un spectre vrai soit minimale.
. Le problème rencontré ici est que le signal (le trajet de
) ne peut être considéré comme stationnaire que sur très peu de périodes du vibrato. La méthode classique d'analyse spectrale qu'est la transformée de Fourier ne peut pas alors être utilisée telle quelle.
sur lequel le vibrato est supprimé.
Nous avons montré la validité des trois méthodes sur des signaux réels.
Puisqu'un grand nombre de techniques ont été mises en place pour détecter le vibrato et estimer ses paramètres, des méthodes de fusion de données ont été mises en place pour améliorer la robustesse des résultats. Pour le problème du vibrato, les limitations rencontrées dans la première partie de l'exposé lors de la fusion de données n'ont pas cours. Par exemple, en ce qui concerne la prise de décision, la règle de fusion de la majorité peut être utilisée.
. Dans cette partie, certaines limitations des techniques existantes pour séparer les sources ont été montrées (page chap:sepsou). Ces études ont donné lieu à un grand nombre d'interrogations et ainsi ouvert tout un champ de perspectives.
Les études menées pendant les trois ans de thèse ont donné lieu à la publication de plusieurs articles : trois communications référencées Article:Rossi1, Article:Rossi3 et Article:Rossi4 ; et une publication avec comité de lecture référencée Article:Rossi2.
Trois axes de recherche pour des travaux futurs se sont dessinés au cours de la thèse :
Nous détaillons ces perspectives dans le chapitre suivant.
En ce qui concerne la poursuite des travaux présentés dans cet exposé, au cours de la thèse deux voies ont été envisagées. Ou bien nous gardons notre modèle de signal : des << zones stables >>, séparées par des transitions plus ou moins brusques relevant de trois types : transition en fréquence fondamentale, transition en énergie et transition en contenu spectral : ceci concerne les points 1. et 2. donnés à la fin du chapitre précédent. Ou bien nous adoptons un modèle de signal du type statistique ( hmm[Note : Ces techniques sont utilisées en traitement de la parole : voir par exemple Article:Angelini, Article:Brugnara, Article:Falavigna...], rupture de modèles ar...), que nous adaptons pour les signaux sonores musicaux : ceci concerne le point 3. donné à la fin du chapitre précédent. Ce modèle nous permettrait d'éviter entre autres tous les problèmes de fusion de données que nous avons rencontrés.
En ce qui concerne le point 1. les perspectives sont les suivantes :
Il serait intéressant de considérer plus de deux classes de sons. Ces classes pourraient être :
Il faut pour cela développer des fonctions d'observation propre à séparer ces classes. Quelques travaux, basés sur une stratégie similaire à celle que nous avons adoptée dans cet exposé (extraction de fonctions d'observation, puis classification), existent en ce qui concerne la segmentation en trois classes (Article:Scheirer, Article:Seck1), mais le taux d'erreur obtenu est important (de l'ordre de 20 %).
Il serait intéressant de séparer dans la classe musique les genres musicaux.
Nous avons vu que nous avons développé un critère qui nous permet de décider quand il y a plutôt du vibrato et quand il n'y en a plutôt pas. Des critères existent aussi pour décider quand le signal est plutôt harmonique ou inharmonique, plutôt voisé ou non voisé, etc. Il reste que la plupart des liens informatiques entre le premier niveau de segmentation et le troisième n'existent pas encore. C'est-à-dire qu'informatiquement le deuxième niveau de segmentation n'existe pas complètement. Ceci concerne le second objectif de la thèse.
Nous avons déjà mentionné que l'ensemble des critères de classification (mélange de gaussiennes, réseaux de neurones,
plus proches voisins) et que l'ensemble des fonctions d'observation sont extensibles (nous pourrions par exemple y inclure des analyses par ondelettes du signal, des coefficients cepstraux, des moments d'ordre supérieurs, etc.). Il s'agit d'utiliser les fonctions d'observation les moins corrélées possible. Cependant, nous avons montré certaines limitations de cette approche : le fait que les transitions ne sont pas instantanées pose des problèmes partiellement résolus de fusion des données. Des comparaisons critiques des fonctions d'observation devront être effectuées plus systématiquement.
Il faudrait la compléter. Avec le système présenté dans cet exposé, nous extrayons plutôt des descripteurs de bas niveau : le son est monophonique ou polyphonique, etc. D'autres descripteurs plutôt de bas niveau manquent, comme par exemple le nombre de sources présentes dans un son polyphonique. De plus, dans l'avenir, des descripteurs de plus haut niveau, relevant par exemple de la reconnaissance du timbre, de l'instrument, du sexe du chanteur, de la voix du chanteur, etc., devront être extraits.
Dans les méthodes utilisées par les antennistes pour la séparation de sources, il est nécessaire que le nombre d'antennes soit au moins égal au nombre de sources présentes (voir Article:Cardoso). Aussi, pour qu'elles commencent à devenir utilisables dans notre cas, il faut que nous considérions des sons enregistrés en stéréophonie. Cependant, le problème des antennistes n'est pas le même problème que celui présenté dans la partie part:poly de cet exposé : le modèle de signal est différent.
De plus, les dépendances entre la segmentation et la séparation de sources ne doivent sans doute pas être aussi unilatérales que nous l'avons indiqué : les deux analyses devraient plutôt être menées de concert.
En ce qui concerne le point 2. , nous nous intéressons à la définition d'une << fonction d'observation >> qui détecte toutes les transitions, qui soit universelle : qui soit insensible aux << petites variations >> de la hauteur (vibrato, glissando) et aux << petites >> variations de l'énergie (trémolo, mort lente d'une note, glissando). Cela peut paraître étrange de vouloir construire une fonction d'observation universelle, puisque, comme nous l'avons dit, suivant ce que désire l'utilisateur, nous voulons pouvoir obtenir plusieurs segmentations en zones stables : mais, alors, l'utilisateur aurait accès à certains << paramètres de contrôle >> de cette fonction d'observation universelle. Ici, nous relâcherions la contrainte sur la différenciation des types de transitions brusques. Le modèle de signal dirait simplement : le son est composé de << zones stables >>, séparées par des transitions brusques.
En ce qui concerne le modèle de signal à utiliser pour la segmentation et l'indexation, il existe en fait au moins trois approches :
De plus, la structure du système de segmentation présenté dans cet exposé est telle que plus nous intégrerons de nouveaux types de sons à segmenter, plus nous aurons de problèmes à résoudre simultanément en ce qui concerne les traitements à appliquer à chaque type de sons (point 1. .
La deuxième et la troisième approche ne remettent pas forcément en cause l'existence des deux niveaux de segmentation supérieurs ( segmentation en caractéristiques et segmentation en sources). Par exemple, il est nécessaire de faire la distinction parole/musique avant de segmenter en zones stables :
Aussi, le modèle de signal doit être différent pour la parole et la musique.
Un autre travail a été entrepris qui n'a pas été présenté dans cet exposé. Il s'agit de l'amélioration des indices de voisement à partir de la prise en compte des déformations que les lobes principaux dus aux sinusoïdes subissent dès que celles-ci ne sont plus stationnaires sur la fenêtre d'analyse, c'est-à-dire dès qu'une perturbation, soit un vibrato, et/ou un trémolo, et/ou un glissando en fréquence et/ou en énergie, est présente. Ces déformations suivant la perturbation considérée sont bien différenciées. Quand plusieurs perturbations sont présentes il s'agit de séparer leur influence respective. Le but de ce travail était entre autres de construire la << fonction d'observation universelle >> dont il a été question dans les paragraphes précédents.