• Aucun résultat trouvé

Indice de voisement – Deuxi` eme forme, calcul´ e avec le spectre complexe

Les fonctions d’observation

2.4 Fonctions d’observation bas´ ees sur les variations du contenu spectralspectral

2.4.2 Indice de voisement – Deuxi` eme forme, calcul´ e avec le spectre complexe

2.4.2.1 M´ethode Cette fois nous avons :

ˆ S(m)(2N +1)(k) = s S(k)ˆ Pm+N j=m−N S(j)ˆ 2 pour k∈ [m − N . . . m + N] et : ˆ W(2N +1)(k) = s W (k)ˆ P+N j=−N W (j)ˆ 2 pour k∈ [−N . . . N]

La corr´elation s’´ecrit alors :

C(m) = 2N +1 X j=1 ˆ W(2N +1)(j) ˆP(m)(2N +1)(j)

Les corr´elations avec les lobes secondaires et dans le cas o`u le signal est un bruit normal sont montr´es sur les figures 2.11, 2.12, 2.13 et 2.14. Nous constatons que les corr´elations avec les lobes secondaires sont nulles, mais que d`es qu’un petit bruit est pr´esent nous obtenons les mˆemes r´esultats qu’avec l’indice de voisement deuxi`eme forme calcul´e avec les spectres d’amplitude. Nous avons pris les mˆemes valeurs pour les param`etres que ci-dessus (section 2.4.1.5). Les param`etres libres sont les mˆemes que pour l’indice de voisement deuxi`eme forme calcul´e avec les spectres d’amplitude (section 2.4.1.6).

La fonction d’observation impl´ement´ee sous matlab est la (( valeur absolue de la d´eriv´ee de 1− R )), soit :

dV(C)(i)

0 200 400 600 800 1000 1200 1400 1600 1800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Fig. 2.11 – Corr´elations sur un spectre com-plexe entier. En abscisse : la fr´equence ; en ordonn´ee : la corr´elation. Une sinuso¨ıde, de fr´equence 400 Hz, est pr´esente. Pas de bruit

0 200 400 600 800 1000 1200 1400 1600 1800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Fig. 2.12 – Corr´elations sur un spectre com-plexe entier. En abscisse : la fr´equence ; en or-donn´ee : la corr´elation. Seul un bruit normal (m = 0, σ = 1) est pr´esent 0 200 400 600 800 1000 1200 1400 1600 1800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Fig. 2.13 – Corr´elations sur un spectre com-plexe entier. En abscisse : la fr´equence ; en ordonn´ee : la corr´elation. Une sinuso¨ıde, de fr´equence 400 Hz, et un bruit normal (m = 0, σ = 10−7) sont pr´esents 0 200 400 600 800 1000 1200 1400 1600 1800 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Fig. 2.14 – Corr´elations sur un spectre com-plexe entier. En abscisse : la fr´equence ; en ordonn´ee : la corr´elation. Une sinuso¨ıde, de fr´equence 400 Hz, et un bruit normal (m = 0, σ = 0,5) sont pr´esents

2.4.2.2 Perspectives

Premi`erement, plus N est grande, plus les performances sont bonnes, c’est-`a-dire plus les corr´elations sont proches de 0 quand nous utilisons les spectres complexes et un signal non bruit´e et corr´elons avec des portions de spectre loin de la zone d’influence de la sinuso¨ıde. De la mˆeme fa¸con, plus N est grande, plus les corr´elations avec le bruit (et les lobes secondaires quand nous utilisons le spectre d’amplitude) sont petites.

Cependant, si une perturbation (c’est-`a-dire une modulation d’amplitude ou de fr´equence) vient d´eformer les lobes principaux, plus N est grande, plus la corr´elation avec ces lobes principaux est petite.

La premi`ere solution serait de trouver un compromis.

Une autre solution serait d’´etudier l’influence de ces perturbations sur les lobes principaux et d’essayer d’am´eliorer les indices de voisement en cons´equence. Quelques travaux ont ´et´e faits en ce sens, qui ne sont pas pr´esent´es dans cet expos´e.

Deuxi`emement, cette fonction d’observation nous permet de d´eterminer dans quelles bandes de fr´equences le signal, avec des sons (( simples )) (c’est-`a-dire monophoniques, harmoniques et non modul´es), est plutˆot vois´e et dans quelles autres il ne l’est plutˆot pas. Nous allons voir que les (( flux spectraux )) (voir ci-dessous la section 2.4.3) peuvent ˆetre calcul´es sur toutes les fr´equences ou par bandes de fr´equences. Le voisement nous permet de r´egler automatiquement le param`etre libre (( position de la c´esure )) pour les (( flux spectraux )).

2.4.2.3 Conclusion

Le comportement de la fonction d’observation est tr`es diff´erent en ce qui concerne les lobes secondaires suivant que nous la calculons avec le spectre d’amplitude ou le spectre complexe : le spectre complexe donne de meilleurs r´esultats. Cependant, en pr´esence de bruit, mˆeme de variance faible, cet apport n’est plus visible. Utiliser l’une ou l’autre de cette version de cette fonction d’observation ne semble donc pas d´eterminant.

2.4.3 Les (( flux spectraux ))

2.4.3.1 D´efinition(s) du terme (( flux spectral ))

Un flux spectral est la somme ´echantillon fr´equentiel par ´echantillon fr´equentiel de la valeur absolue de la diff´erence entre deux spectres d’amplitude, entre deux enveloppes spectrales, ou entre un spectre d’amplitude et une enveloppe spectrale.

Les spectres d’amplitude sont calcul´es par fft (voir ci-dessous la section 2.4.3.2) ; les enveloppes spectrales `a partir de la mod´elisation ar (voir dessous la section 2.4.3.3), du cepstre (voir ci-dessous la section 2.4.3.4) ou des maximums locaux du spectre d’amplitude (voir la section 12.3.5, dans la partie III).

2.4.3.2 1oAvec les spectres d’amplitude

Nous calculons le spectre d’amplitude sur une portion pond´er´ee de largeur T du signal (T vaut quelques dizaines de millisecondes : c’est-`a-dire que tSIG vaut quelques centaines d’´echantillons), puis sur une portion pond´er´ee du signal d´ecal´ee de quelques millisecondes (c’est-`a-dire de Q ´echantillons) par rapport `a la premi`ere. Les spectres d’amplitude sont calcul´es pour tF F T ´echantillons fr´equentiels. Nous appelons le premier spectre d’amplitude

Sˆ1

et le second Sˆ2

. Nous avons donc Sˆ1(m) et Sˆ2(m) pour m variant de −tF F T 2 + 1 `a tF F T 2 . Nous normalisons les spectres d’amplitude

Sˆ1 et

Sˆ2

pour qu’ils aient la mˆeme ´energie comme nous l’indiquons page 13, avec a =−tF F T2 + 1 et b = tF F T

2 . Nous obtenons Sˆnorm 1 et Sˆnorm 2 .

Il s’agit de calculer : F = tF F T 2 X m=0 Sˆnorm 1 (m) Sˆnorm 2 (m)

Aux moments des transitions, c’est-`a-dire aux changements de notes, la fonction d’observation F , ou (( flux spectral )), croˆıt, puisque le signal n’est plus stationnaire.

2.4.3.3 2oAvec l’enveloppe spectrale bas´ee sur la mod´elisation ar

Introduction L’enveloppe spectrale d’un spectre d’amplitude est une fonction lisse enveloppant ses pics (voir la figure 2.15), correspondant chacun `a une sinuso¨ıde. Une petite variation de l’ampli-tude ou de la fr´equence (due `a un tr´emolo ou `a vibrato, entre autres) de ces sinuso¨ıdes ne modifie pas ´enorm´ement, d’une portion du signal `a la suivante, l’enveloppe spectrale, alors que le spectre d’amplitude lui est tr`es diff´erent. Les effets du vibrato et du tr´emolo, ainsi que ceux du bruit, sont donc moins importants sur les enveloppes spectrales que sur les spectres d’amplitude. Nous esp´erons en utilisant les enveloppes spectrales plutˆot que les spectres d’amplitude augmenter la robustesse de la fonction d’observation (( flux spectral )).

spectre

enveloppe spectrale

fe/2 0

d’amplitude

Fig. 2.15 – Spectre d’amplitude et enveloppe spectrale lui correspondant

Il existe plusieurs moyens permettant d’obtenir l’enveloppe spectrale d’un spectre d’amplitude. Tout d’abord il y a la mod´elisation auto-r´egressive (ar) : voir la section 2.2.6.1. Le choix de l’ordre des mod`eles pose un probl`eme : il ne doit pas ˆetre trop ´elev´e pour ne pas avoir une r´esonance trop importante pour les sinuso¨ıdes pr´esentes dans le signal. De plus, le temps de calcul devient rapidement tr`es grand quand l’ordre augmente. Cette m´ethode est celle qui a ´et´e impl´ement´ee dans le programme segmentation.

Mais nous pouvons aussi consid´erer le cepstre (voir ci-dessous la section 2.4.3.4), ou, encore, interpoler, lin´eairement ou d’une autre fa¸con, entre les pics les plus grands (le probl`eme ´etant de choisir les pics correspondant r´eellement `a des sinuso¨ıdes : voir la section 12.3 de la partie III) d’un spectre d’amplitude obtenu par transform´ee de Fourier ; etc.

M´ethode Ici, nous appelons la densit´e spectrale de puissance d´efinie dans la section 2.2.6.1, page 18, l’enveloppe spectrale.

Les deux formes de la fonction d’observation Il y a deux versions possibles de cette fonction d’observation :

• Nous calculons la valeur absolue de la d´eriv´ee de F1AR = tF F T 2 X m=0 S(m)ˆ SˆAR(m) , o`u Sˆ est le spectre d’amplitude calcul´e pour une portion du signal large de quelques dizaines de millisecondes et o`u ˆSAR est l’enveloppe spectrale calcul´ee pour la mˆeme portion. m est le num´ero d’ordre des ´echantillons fr´equentiels. Dans les zones o`u le signal est compos´e de sinuso¨ıdes (signal vois´e), la diff´erence F1AR entre le spectre d’amplitude et l’enveloppe spectrale est plus grande que dans les parties o`u il est transitoire (signal non vois´e).

• Cette version ressemble plus au flux spectral d´ecrit ci-dessus (voir la section 2.4.3.2). Il s’agit de calculer FAR 2 = tF F T 2 X m=0 SˆAR 1 (m)− ˆSAR 2 (m) , o`u ˆSAR 1 et ˆSAR

2 sont deux enveloppes spectrales ar calcul´ees pour deux portions successives du signal, d´ecal´ees de Q ´echantillons.

2.4.3.4 3oAvec l’enveloppe spectrale bas´ee sur le liftrage du cepstre

Cette m´ethode est similaire `a la m´ethode d´ecrite dans 2o(section 2.4.3.3). Elle diff`ere simplement par la technique utilis´ee pour calculer les enveloppes spectrales. Il y a deux versions possibles de la fonction d’observation :

• Nous calculons la d´eriv´ee de F1ceps= tF F T 2 X m=0 S(m)ˆ M (m)ˆ , o`u Sˆ

est le spectre d’ampli-tude calcul´e sur une portion du signal large de tSIG´echantillons et o`u

Mˆ

est le spectre d’am-plitude reconstruit apr`es liftrage (voir la section 24.2.2.4 de la partie V pour une pr´esentation du cepstre et du liftrage) calcul´e sur la mˆeme portion. m est le num´ero d’ordre des ´echantillons fr´equentiels.

• Cette version ressemble plus au flux spectral d´ecrit dans 2.4.3.2. Il s’agit de calculer F2ceps= tF F T 2 X m=0 Mˆ1(m) Mˆ2(m) , o`u Mˆ1 et Mˆ2

sont deux spectres d’amplitude reconstruits apr`es liftrage calcul´es pour deux portions successives du signal, d´ecal´ees de Q ´echantillons.

2.4.3.5 Une fonction d’observation `a plusieurs dimensions

Nous pouvons d´ecouper les spectres d’amplitude ou les enveloppes spectrales en plusieurs bandes de fr´equence. Alors, nous normalisons en ´energie chacune de ces bandes ind´ependamment des autres. Nous calculons le (( flux spectral )) pour chacune de ces bandes. Nous avons la possibilit´e :

• De d´ecouper les spectres d’amplitude ou les enveloppes spectrales en B bandes de tailles ´egales.

• De les d´ecouper en B bandes de tailles croissant lin´eairement. Les fr´equences centrales des bandes de fr´equence peuvent ˆetre dispos´ees logarithmiquement, de telle mani`ere que nous suivions une ´echelle Bark/Mels (voir [ZF81] par exemple).

• De les d´ecouper en deux bandes, la position de la c´esure c ´etant `a entrer en param`etre, ou `a d´eterminer automatiquement, le but ´etant de d´eterminer dans quelle bande de fr´equences le signal est plutˆot stable et dans quelle bande de fr´equences il correspond plutˆot `a du bruit (voir la section 2.4.2.2).

Ceci n’a pas ´et´e impl´ement´e dans le programme segmentation. Le nombre de param`etres libres augmenterait d’une unit´e. Il faudrait ajouter B, le nombre de bandes consid´er´ees, ou c la position de la c´esure : nous n’avons pas essay´e au cours de cette th`ese de d´eterminer la position optimale de la c´esure. Il s’agit de perspectives.

2.4.3.6 Les param`etres libres Ils sont au nombre de 4. Ce sont :

• tSIG: la taille des portions de signal.

• Suivant la m´ethode consid´er´ee pour calculer le (( flux spectral )) : 1ola taille tF F T de la fft

2oet/ou l’ordre P de la mod´elisation ar

3oet/ou tF F T et l’endroit o`u nous coupons le cepstre (voir la section 24.2.2.4, le seuil SC)

• Q : l’´ecart temporel entre les deux portions successives s’il y a lieu. Pour les m´ethodes avec les enveloppes spectrales (2oet 3o), selon la version du (( flux spectral )) utilis´ee, il n’y a pas forc´ement besoin de Q.

• La fenˆetre de pond´eration quand il y a lieu (pour 1oet 3o).

L’ordre des mod`eles ar est choisi petit, de l’ordre de 6. Q est tel que l’´ecart temporel entre les deux fenˆetres soit de l’ordre de 5 millisecondes.

2.4.3.7 Conclusion

Cette fonction d’observation a ´et´e utilis´ee dans le but de mettre en ´evidence avant tout les variations du contenu fr´equentiel. Plusieurs bandes de fr´equence seraient `a utiliser pour deux raisons. D’abord, une ´evolution lente de l’´energie, sans changement de hauteur, agit surtout sur les hautes fr´equences : les harmoniques de num´eros d’ordre ´elev´es sortent du bruit ou disparaissent dans le bruit. Ensuite, `a ´energie et `a hauteur restant constantes, le bruit, pour les harmoniques de num´eros d’ordre ´elev´es, d’amplitudes souvent petites, est important, ce qui rend le flux spectral inutilisable pour ces fr´equences : c’est-`a-dire que nous obtenons les mˆemes valeurs pour le flux spectral dans les zones stables et aux moments des transitions. Cette raison explique que nous ayons consid´er´e les enveloppes spectrales.