首页 / 专利库 / 广播 / 音频信号 / 语音信号 / PROCÉDÉ DE DÉTECTION DE LA VOIX

PROCÉDÉ DE DÉTECTION DE LA VOIX

阅读:192发布:2021-04-13

专利汇可以提供PROCÉDÉ DE DÉTECTION DE LA VOIX专利检索,专利查询,专利分析的服务。并且The invention relates to a voice detection method which makes it possible to detect the presence of voice signals in an noisy acoustic signal x(t) from a microphone, comprising the following consecutive steps: calculating a detection function FD(τ) based on calculating a difference function D(τ) varying in accordance with the shift τ on an integration window with length W starting at the time t0, with: a step of adapting the threshold in said current interval, in accordance with values calculated from the acoustic signal x(t) established in said current interval; searching for the minimum of the detection function FD(τ) and comparing said minimum with a threshold, for (τ) varying in a predetermined time interval referred to as current interval so as to detect the possible presence of a fundamental frequency F
0 that is characteristic of a voice signal in said current interval.,下面是PROCÉDÉ DE DÉTECTION DE LA VOIX专利的具体信息内容。

REVENDICATIONS
1 . Procédé de détection de la voix permettant de détecter la présence de signaux de parole dans un signal acoustique x(t) bruité issu d'un microphone, comportant les étapes successives suivantes :
- une étape préalable d'échantillonnage comprenant un découpage du signal acoustique x(t) en un signal acoustique discret {xj composé d'une suite de vecteurs associés à des trames i temporelles de longueur N, N correspondant au nombre de points d'échantillonnage, où chaque vecteur traduit le contenu acoustique de la trame i associée et est composé des N échantillons X(M)N+I , x (i- i )N+2, XiN-i , XiN, i entier positif ;
- une étape de calcul d'une fonction de détection FD(x) basée sur le calcul d'une fonction différence D(x) variant en fonction du décalage τ sur une fenêtre d'intégration de longueur W débutant au temps tO, avec :
D(T) - x(n + τ) | où 0 < τ < max (τ) ;
où cette étape de calcul de la fonction de détection FD(x) consiste en un calcul d'une fonction de détection discrète FDi(x) associée aux trames i ;
- une étape d'adaptation du seuil dans ledit intervalle courant, en fonction de valeurs calculées à partir du signal acoustique x(t) établies dans ledit intervalle courant,
où cette étape d'adaptation du seuil consiste à, pour chaque trame i, adapter un seuil Ω, propre à la trame i en fonction de valeurs de référence calculées à partir des valeurs des échantillons du signal acoustique discret {xj dans ladite trame i ;
- une étape de recherche du minimum de la fonction de détection FD(x) et comparaison de ce minimum avec un seuil, pour x variant dans un intervalle de temps déterminé dit intervalle courant pour détecter la présence ou non d'une fréquence fondamentale F 0 caractéristique d'un signal de parole dans ledit intervalle courant,
où cette étape de recherche du minimum de la fonction de détection FD(x) et la comparaison de ce minimum avec un seuil sont réalisées en recherchant, sur chaque trame i, le minimum rr(i) de la fonction de détection discrète FDi(x) et en comparant ce minium rr(i) avec un seuil Ω, propre à la trame i ; et dans lequel l'étape d'adaptation des seuils Ω, pour chaque trame i comporte les étapes suivantes :
a) - on subdivise la trame i comprenant N points d'échantillonnage en T sous- trames de longueur L, où N est un multiple de T afin que la longueur L=N/T soit entière, et de sorte que les échantillons du signal acoustique discret {xj dans une sous-trame d'indice j de la trame i comprennent les L échantillons suivants :
X(ii )N+(ji )L + 1 , X(ii )N + ( j -i )L+2, X(ii)N+jL , j entier positif compris entre 1 et T ;
b) - on calcule les valeurs maximales li du signal acoustique discret {xj dans chaque sous-trame d'indice j de la trame i, avec :
nrii = max {X(Î-I )N+OI )L + I , X(Î-I )N+OI )L+2, X(Î-I )N+JL};
c) - on calcule au moins une valeur de référence Ref,j, MRef,j propre à la sous- trame j de la trame i, la ou chaque valeur de référence Ref,j, MRefij par sous- trame j étant calculée à partir de la valeur maximale nriij dans la sous-trame j de la trame i ;
d) - on établit la valeur du seuil Ω, propre à la trame i en fonction de toutes les valeurs de référence Refij, MRefij calculées dans les sous-trames j de la trame i. 2. Procédé de détection selon la revendication 1 , dans lequel la fonction de détection FD(x) correspond à la fonction différence ϋ(τ) .
3. Procédé de détection selon la revendication 1 , dans lequel la fonction de détection FD(x) correspond à la fonction différence normalisée DN(x) calculée à partir de la fonction différence D(x) comme suit :
DN (T) = 1 si x = 0 ,
DN (T) = Λ Ι Ρ( Τ τ) si τ≠ 0 ; où le calcul de la fonction différence normalisée DN(x) consiste en un calcul d'une fonction différence normalisée discrète DNi(x) associée aux trames i, où :
DN j (x) = 1 si x = 0 , DN j (x) = 1 7 Ρ ' (τ) si τ≠ 0 .
4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel la fonction différence discrète Di(x) relative à la trame i est calculée comme suit :
- on subdivise la trame i en K sous-trames de longueur H, avec par exemple
^ m 3.x ^
K = où LJ représente l'opérateur d'arrondi en partie entière, de
HJ
sorte que les échantillons du signal acoustique discret {xj dans une sous-trame d'indice p de la trame i comprennent les H échantillons :
X(ii )N + ( P -i )H + 1 , X(ii )N+(pi )H+2, X(ii )N +P H , P entier positif compris entre 1 et K ;
- pour chaque sous-trame d'indice p, on calcule la fonction différence dd p (x) suivante :
- on calcule la fonction différence discrète Di(x) relative à la trame i comme la somme des fonctions différence dd p (Y) des sous-trames d'indice p de la trame i, soit :
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel, lors de l'étape c), on réalise les sous-étapes suivantes sur chaque trame i :
c1 )-on calcule les enveloppes lissées des maximum dans chaque sous- trame d'indice j de la trame i, avec :
ï jj = A m ij _ 1 + (1 - A)m jj , où λ est un coefficient prédéfini compris entre 0 et 1 ;
c2)-on calcule les signaux de variation dans chaque sous-trame d'indice j de la trame i, avec :
Δ, j = rti j j— ï j j = λ (rti j j— ; et où au moins une valeur de référence dite principale Refij par sous-trame j est calculée à partir du signal de variation dans la sous-trame j de la trame i.
6. Procédé selon la revendication 5, dans lequel, lors de l'étape c) et à la suite de la sous-étape c2), on réalise les sous-étapes suivantes sur chaque trame i :
c3)-on calcule les maximums de variation Sjj dans chaque sous-trame d'indice j de la trame i, où Sjj correspond au maximum du signal de variation A \ i calculé sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j, ladite longueur Lm étant variable selon que la sous-trame j de la trame i correspond à une période de silence ou de présence de parole ;
c4)-on calcule les écarts de variation δ, , , dans chaque sous-trame d'indice j de la trame i, avec :
¾j = Δ υ " s i,i ;
et où on calcule, pour chaque sous-trame j de la trame i, deux valeurs de référence principales Refi j à partir respectivement du signal de variation A \ i et de l'écart de variation δ, ,
7. Procédé selon la revendication 6, dans lequel, lors de l'étape c) et à la suite de la sous-étape c4), on réalise une sous-étape c5) de calcul des signaux de variation normalisés A' li et des écarts de variation normalisés ô'i dans chaque sous-trame d'indice j de la trame i, comme suit : l'J rn.- rn
r _ j_ _ m i,j-™i,j- s i,j
J m j m j
et où, pour chaque sous-trame j d'une trame i, le signal de variation normalisé A'i j et l'écart de variation normalisé 5'i j constituent chacun une valeur de référence principale Ref, , , de sorte que, lors de l'étape d), on établit la valeur du seuil Ω, propre à la trame i en fonction du couple ( '^, δ', , ,) des signaux de variation normalisés A' li et des écarts de variation normalisés 5'i j dans les sous-trames j de la trame i .
8. Procédé selon la revendication 7, dans laquelle, lors de l'étape d), la valeur du seuil Ω, propre à la trame i est établie en partitionnant l'espace défini par la valeur du couple (Α'^, δ', , ,), et en examinant la valeur du couple (Α'^, δ', , ,) sur une ou plusieurs sous-trames successives selon la zone de valeur du couple (A'ij, ô'ij).
9. Procédé selon l'une quelconque des revendications 6 à 8, dans lequel, lors de la sous-étape c3), la longueur Lm de la fenêtre glissante répond aux équations suivantes :
- Lm = LO si la sous-trame j de la trame i correspond à une période de silence ;
- Lm = L1 si la sous-trame j de la trame i correspond à une période de présence de parole ;
avec L1 < L0, et notamment avec L1 =k1 .L et L0=k0.L, L étant la longueur des sous-trame d'indice j et kO, k1 étant des entiers positifs.
10. Procédé selon la revendication 6, dans lequel, lors de la sous-étape c3), pour chaque calcul du maximum de variation s, , , dans la sous-trame j de la trame i, la fenêtre glissante de longueur Lm est en retard de Mm trames de longueur N vis-à-vis de ladite sous-trame j.
1 1 . Procédé selon les revendications 7 et 10, dans lequel, lors de la sous- étape c3), on calcule également les maximums de variation normalisés s'i dans chaque sous-trame d'indice j de la trame i, où s'i correspond au maximum du signal de variation normalisé A' li calculé sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j, où :
et où chaque maximum de variation normalisé s'ij est calculée selon une méthode de minimisation comprenant les étapes itératives suivantes :
- calcul de s' i(j = max {s'^ ; A'j_ MmJ } et s' i(j = max {s'^ ; A , i _ Mm j }
- si rem(i, Lm) = 0, où rem est l'opérateur reste de la division entière de deux entiers, alors :
'ij = max {s'y.! ; A'j_ MmJ },
avec s' 0 1 = 0 et s' 0 1 = 0 ; et dans lequel, lors de l'étape c4), on calcule les écarts de variation normalisés 5'i j dans chaque sous-trame d'indice j de la trame i, comme suit :
12. Procédé selon l'une quelconque des revendications 5 à 1 1 , dans lequel, lors de l'étape c), on réalise une sous-étape c6) dans laquelle on calcule les maximums de maximale q, j dans chaque sous-trame d'indice j de la trame i, où q, j correspond au maximum de la valeur maximale ms j calculée sur une fenêtre glissante de longueur fixe Lq antérieure à ladite sous-trame j, où la fenêtre glissante de longueur Lq est en retard de Mq trames de longueur N vis- à-vis de ladite sous-trame j, et où une autre valeur de référence dite secondaire MRefi par sous-trame j correspond audit maximum de maximale q, j dans la sous-trame j de la trame i . 13. Procédé selon l'une quelconque des revendications 5 à 12, dans lequel, lors de l'étape d), le seuil Ω, propre à la trame i est découpée en plusieurs sous-seuils Ω, , , propres à chaque sous-trame j de la trame i, et la valeur de chaque sous-seuil Ω^ est au moins établie en fonction de la ou des valeurs de référence Refi j , MRefi j calculées dans la sous-trame j de la trame i correspondante.
14. Procédé selon les revendications 7 et 13, dans lequel, lors de l'étape d), on établit la valeur de chaque seuil Ω, , , propre à la sous-trame j de trame i en comparant les valeurs du couple (Δ', , ,, δ', , ,) avec plusieurs couples de seuils fixes, la valeur de chaque seuil Ω^ étant sélectionnée parmi plusieurs valeurs fixes en fonction des comparaisons du couple (Δ', , ,, δ', , ,) avec lesdits couples de seuils fixes.
15. Procédé selon l'une quelconque des revendications 5 à 14, dans lequel, lors de l'étape d), on réalise une procédure dite de décision comprenant les sous-étapes suivantes, pour chaque trame i :
- pour chaque sous-trame j de la trame i, on établit un indice de décision DECi(j) qui occupe soit un état « 1 » de détection d'un signal de parole soit un état « 0 » de non détection d'un signal de parole ; - on établit une décision temporaire VAD(i) basée sur la comparaison des indices de décision DEC,(j) avec des opérateurs « OU » logiques, de sorte que la décision temporaire VAD(i) occupe un état « 1 » de détection d'un signal de parole si au moins l'un desdits indices de décision DEC,(j) occupe cet état « 1 » de détection d'un signal de parole.
16. Procédé selon les revendications 13 et 15, dans lequel, lors de la procédure de décision, on réalise les sous-étapes suivantes, pour chaque trame i :
- on mémorise une valeur maximale de seuil Lastmax qui correspond à la valeur variable d'un seuil de comparaison pour l'amplitude du signal acoustique discret {xj en-dessous duquel on considère que le signal acoustique ne comprend pas de signal de parole, cette valeur variable étant déterminé durant la dernière trame d'indice k qui précède ladite trame i et dans laquelle la décision temporaire VAD(k) occupait un état « 1 » de détection d'un signal de parole ;
- on mémorise une valeur maximale moyenne A qui correspond à la valeur maximale moyenne du signal acoustique discret {xj dans la sous-trame j de la trame i calculée comme suit :
où ay correspond au maximum du signal acoustique discret {xj contenu dans une trame formée par la sous-trame j de la trame i et par au moins une ou plusieurs sous-trames successives qui précèdent ladite sous-trame j ; et
Θ est un coefficient prédéfini compris entre 0 et 1 avec θ < λ ;
- on établit la valeur de chaque sous-seuil Q li en fonction de la comparaison entre ladite valeur maximale de seuil Lastmax et des valeurs maximales moyennes et Aj.i considérées sur deux sous-trames j et j-1 successives.
17. Procédé selon la revendication 16, dans lequel, lors de la procédure de décision, on réactualise la valeur maximale de seuil Lastmax à chaque fois que le procédé a considéré qu'une sous-trame p d'une trame k contient un signal de parole, en mettant en œuvre la procédure suivante : - la détection d'un signal de parole dans la sous-trame p de la trame k fait suite à une période d'absence de parole, et dans ce cas Lastmax prend la valeur actualisée [a (A k , p + LastMax)], où a est un coefficient prédéfini compris entre 0 et 1 , et par exemple compris entre 0,2 et 0,7 ;
- la détection d'un signal de parole dans la sous-trame p de la trame k fait suite à une période de présence de parole, et dans ce cas Lastmax prend la valeur actualisée A k , p si A k , p > Lastmax.
18. Procédé selon les revendications 16 ou 17, dans lequel, on établit la valeur du seuil Ω, en fonction de ladite valeur maximale Lastmax en se basant sur la comparaison entre :
- la valeur maximale de seuil Lastmax ; et
- les valeurs [KpA j ] et [Kp. Α, , ,.ι], où Kp est un coefficient fixe de pondération compris entre 1 et 2.
19. Procédé selon l'une quelconque des revendications précédentes, comportant en outre une phase dite de blocage comprenant une étape de basculement d'un état de non détection d'un signal de parole à un état de détection d'un signal de parole après avoir détecté la présence d'un signal de parole sur N P trames i temporelles successives.
20. Procédé selon l'une quelconque des revendications précédentes, comportant en outre une phase dite de blocage comprenant une étape de basculement d'un état de détection d'un signal de parole à un état de non détection d'un signal de parole après avoir détecté aucune présence d'un signal voisé sur N A trames i temporelles successives.
21 . Procédé selon l'une quelconque des revendications 19 et 20, comportant en outre une étape d'interruption de la phase de blocage dans des zones de décision intervenant en fin de mots et dans une situation non-bruitée, lesdites zones de décision étant détectées en analysant le minimum rr(i) de la fonction de détection discrète FDi(x).
22. Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions de code aptes à commander l'exécution des étapes du procédé de détection de la voix selon l'une quelconque des revendications précédentes lorsqu'il est exécuté par un processeur.
23. Support d'enregistrement de données sur lequel est stocké le programme d'ordinateur selon la revendication 22.
24. Mise à disposition d'un programme d'ordinateur selon la revendication 22 sur un réseau de télécommunication en vue de son téléchargement.
说明书全文

Procédé de détection de la voix

La présente invention se rapporte à un procédé de détection de la voix permettant de détecter la présence de signaux de parole dans un signal acoustique bruité issu d'un microphone.

Elle se rapporte plus particulièrement à un procédé de détection de la voix utilisé dans un système de communication audio sans fil mono-capteur.

L'invention se situe dans le domaine spécifique de la détection d'activité de la voix, généralement appelé « VAD » pour Voice Activity Détection, qui consiste à détecter la parole, autrement dit des signaux de parole, dans un signal acoustique issu d'un microphone.

L'invention trouve une application privilégiée, mais non limitative, avec un système de communication audio sans fils multi-utilisateurs, du type système de communication par multiplexage temporel ou full-duplex, entre plusieurs terminaux de communication autonomes, c'est-à-dire sans raccordement à une base de transmission ou à un réseau, et simple d'utilisation, c'est-à-dire sans intervention d'un technicien pour établir la communication.

Un tel système de communication, notamment connu des documents WO10149864 A1 , WO10149875 A1 et EP1843326 A1 , est classiquement employé dans un environnement bruité voire très bruité, par exemple en milieu marin, dans le cadre d'un spectacle ou d'un événement sportif en salle ou en extérieur, sur un chantier, etc.

La détection d'activité de la voix consiste généralement à délimiter au moyen de critères quantifiables, les débuts et fin de mots et/ou de phrases dans un signal acoustique bruité, autrement dit dans un flux audio donné. Une telle détection trouve des applications dans des domaines comme le codage de parole, la réduction de bruit ou encore la reconnaissance de parole.

La mise en œuvre d'un procédé de détection de la voix dans la chaîne de traitement d'un système de communication audio permet en particulier de ne pas transmettre de signal acoustique ou audio durant les périodes de silence. De ce fait, le bruit environnant ne sera pas transmis pendant ces périodes, dans un souci d'améliorer le rendu audio de la communication ou pour réduire le débit de transmission. Par exemple, dans le cadre du codage de parole, il est connu d'employer la détection d'activité de la voix pour coder le signal audio de façon pleine que lorsque le procédé « VAD » indique de l'activité. De ce fait, lorsqu'il nya pas de parole et que l'on se trouve dans une période de silence, le débit de codage baisse significativement, ce qui en moyenne, sur tout le signal, permet d'atteindre des débits plus faibles.

II existe ainsi beaucoup de procédés de détection d'activité de la voix mais ces derniers présentent des performances médiocres ou ne fonctionnent pas du tout dans le cadre d'un environnement bruité voire très bruité, tel que dans un environnement de rencontre sportive (en extérieur ou en intérieur) avec des arbitres qui doivent communiquer en audio et sans fil. En effet, les procédés connus de détection d'activité de la voix donnent de mauvais résultats lorsque le signal de parole est entaché de bruit.

Parmi les procédés de détection d'activité de la voix connus, certains mettent en œuvre une détection de la fréquence fondamentale caractéristique d'un signal de parole, comme divulgué notamment dans le document FR 2 988 894. Dans le cas d'un signal de parole, dit signal ou son voisé, le signal présente en effet une fréquence dite fondamentale, généralement appelée « pitch », qui correspond à la fréquence de vibration des cordes vocales de la personne qui parle, et qui s'étend généralement entre 70 et 400 Hertz. L'évolution de cette fréquence fondamentale détermine la mélodie de la parole et son étendue dépend du locuteur, de ses habitudes mais aussi de son état physique et mental.

Ainsi, pour réaliser la détection d'un signal de parole, il est connu de partir du principe qu'un tel signal de parole est quasi-périodique et que, de ce fait, une corrélation ou une différence avec le signal lui-même mais décalé présentera des maximums ou des minimums au voisinage de la fréquence fondamentale et de ses multiples.

Le document « YIN, a fundamental frequency estimator for speech and music », par Alain De Cheveigne et Hideki Kawahara, Journal of the Acoustical Society of America, Vol. 1 1 1 , No. 4, pp. 1917-1930, Avril 2002, propose et développe une méthode basée sur la différence entre le signal et le même signal décalé temporellement.

Plusieurs méthodes décrites ci-après sont basées sur la détection de la fréquence fondamentale du signal de parole ou pitch dans un signal acoustique x(t) bruité. Une première méthode de détection de la fréquence fondamentale met en œuvre la recherche du maximum de la fonction d'auto-corrélation R(T) définie par la relation suivante :

R(x) = (n)x(n + τ) , 0 < τ < max(i) .

Cette première méthode employant la fonction d'auto-corrélation ne donne cependant pas satisfaction dès lors qu'il y a présence de bruit relativement important. De plus la fonction d'auto-corrélation souffre de la présence de maximums qui ne correspondent pas à la fréquence fondamentale ou à ses multiples, mais à des sous-multiples de celle-ci.

Une deuxième méthode de détection de la fréquence fondamentale met en œuvre la recherche du minium de la fonction différence D(x) définie par la relation suivante :

D (T) = x(n + τ) | , 0 < τ < max(x) ,

où II est l'opérateur valeur absolue, cette fonction différence étant minimale au voisinage de la fréquence fondamentale et de ses multiples, puis la comparaison de ce minimum avec un seuil pour en déduire la décision de présence de voix ou non.

Par rapport à la fonction d'auto-corrélation R(T) , la fonction différence ϋ(τ) possède l'avantage d'offrir une charge de calcul plus faible, rendant ainsi cette deuxième méthode plus intéressante pour des applications en temps réel . Cependant, cette deuxième méthode ne donne pas non plus entière satisfaction dès lors qu'il y a présence de bruit.

Une troisième méthode de détection de la fréquence fondamentale met en œuvre le calcul, en considérant une fenêtre de traitement de longueur H où H<N, de la fonction différence carrée d t (x) définie par la relation :

Puis on poursuit avec la recherche du minimum de la fonction différence carrée d

t (x), cette fonction différence carrée étant minimale au voisinage de la fréquence fondamentale et de ses multiples, et enfin la comparaison de ce minimum avec un seuil pour en déduire la décision de présence de voix ou non. Une amélioration connue de cette troisième méthode consiste à normaliser la fonction différence carrée d

t (x) en calculant une fonction différence carrée normalisée ά^(τ) répondant à la relation suivante : inon

Bien que présentant une meilleure immunité au bruit et donnant, dans ce cadre, de meilleurs résultats de détection, cette troisième méthode présente des limites en termes de détection de voix, en particulier dans des zones de bruit à faible RSB (Rapport Signal sur Bruit) caractéristiques d'un environnement très bruité.

L'état de la technique peut également être illustré par l'enseignement de la demande de brevet FR 2 825 505 qui met en œuvre la troisième méthode de détection de la fréquence fondamentale précitée, pour l'extraction de cette fréquence fondamentale. Dans cette demande de brevet, la fonction différence carrée normalisée dj-Cr) peut être comparée à un seuil pour déterminer cette fréquence fondamentale - ce seuil pouvant être fixe ou varier en fonction du décalage temporel τ - et cette méthode présente les inconvénients précités associés à cette troisième méthode.

Il est aussi connu d'employer un procédé de détection de la voix mettant en œuvre la détection d'une fréquence fondamentale, du document « Pitch détection with average magnitude différence function using adaptive threshold algorithm for estimating shimmer and jitter », par Hae Young Kim et al., Engineering In Medicine And Biology Society, 1998, Proceedings of the 20 th Annual International Conférence of the IEEE, vol.6, 29 octobre 1998, pages 3162-6164, XP010320717. Dans ce document est décrit un procédé consistant à chercher le minimum d'une fonction d'auto-corrélation, en mettant en œuvre une comparaison avec un seuil adaptatif qui est fonction de valeurs minimales et maximales du signal dans la trame courante. Cette adaptation du seuil est cependant très limitée. En effet, dans une situation d'un signal audio avec différentes valeurs de rapport signal sur bruit mais avec la même amplitude de signal, le seuil serait le même pour toutes les situations sans que celui-ci ne change en fonction du niveau de bruit, pouvant ainsi entraîner des coupures en début de phrase, voire des non détections de la voix, lorsque le signal à détecter est une voix, en particulier dans un contexte ou le bruit est un bruit de spectateurs diffus de telle façon qu'il ne ressemble pas du tout à un signal de parole.

La présente invention a pour but de proposer un procédé de détection de la voix qui offre une détection des signaux de parole contenus dans un signal acoustique bruité, en particulier dans des environnements bruités voire très bruités.

Elle propose plus particulièrement un procédé de détection de la voix qui est très adapté pour la communication (notamment entre arbitres) à l'intérieur d'un stade où le bruit est relativement très fort en niveau et est fortement non stationnaire, avec des étapes de détection qui évitent surtout les mauvaises ou fausses détections (généralement appelées « tonches ») dues aux chants des spectateurs, instruments à vent, tambours, musiques et sifflets.

A cet effet, elle propose un procédé de détection de la voix permettant de détecter la présence de signaux de parole dans un signal acoustique x(t) bruité issu d'un microphone, comportant les étapes successives suivantes :

- une étape préalable d'échantillonnage comprenant un découpage du signal acoustique x(t) en un signal acoustique discret {xj composé d'une suite de vecteurs associés à des trames i temporelles de longueur N, N correspondant au nombre de points d'échantillonnage, où chaque vecteur traduit le contenu acoustique de la trame i associée et est composé des N échantillons X(M )N+I , X(ii )N+2, XiN-i , XÏN, i entier positif ;

- une étape de calcul d'une fonction de détection FD(x) basée sur le calcul d'une fonction différence D(x) variant en fonction du décalage τ sur une fenêtre d'intégration de longueur W débutant au temps tO, avec :

D(T)

- x(n + τ) | où 0 < τ < max (τ) ;

où cette étape de calcul de la fonction de détection FD(x) consiste en un calcul d'une fonction de détection discrète FDi(x) associée aux trames i ;

- une étape d'adaptation du seuil dans ledit intervalle courant, en fonction de valeurs calculées à partir du signal acoustique x(t) établies dans ledit intervalle courant, et notamment des valeurs maximales dudit signal acoustique x(t), où cette étape d'adaptation du seuil consiste à, pour chaque trame i, adapter un seuil Ω, propre à la trame i en fonction de valeurs de référence calculées à partir des valeurs des échantillons du signal acoustique discret {xj dans ladite trame i ;

- une étape de recherche du minimum de la fonction de détection FD(x) et comparaison de ce minimum avec un seuil, pour τ variant dans un intervalle de temps déterminé dit intervalle courant pour détecter la présence ou non d'une fréquence fondamentale F 0 caractéristique d'un signal de parole dans ledit intervalle courant ;

où cette étape de recherche du minimum de la fonction de détection FD(x) et la comparaison de ce minimum avec un seuil sont réalisées en recherchant, sur chaque trame i, le minimum rr(i) de la fonction de détection discrète FDi(x) et en comparant ce minium rr(i) avec un seuil Ω, propre à la trame i ;

et dans lequel l'étape d'adaptation des seuils Ω, pour chaque trame i comporte les étapes suivantes :

a) - on subdivise la trame i comprenant N points d'échantillonnage en T sous- trames de longueur L, où N est un multiple de T afin que la longueur L=N/T soit entière, et de sorte que les échantillons du signal acoustique discret {xj dans une sous-trame d'indice j de la trame i comprennent les L échantillons suivants :

X(ii )N+(ji )L + 1 , X(ii )N + ( j -i )L+2, X(ii )N+jL , j entier positif compris entre 1 et T ;

b) - on calcule les valeurs maximales li du signal acoustique discret {xj dans chaque sous-trame d'indice j de la trame i, avec :

nrii = max {X(Î-I )N+OI )L + I , X(Î-I )N+OI )L+2, X(Î-I )N+JL};

c)- on calcule au moins une valeur de référence Ref,j, MRef,j propre à la sous- trame j de la trame i, la ou chaque valeur de référence Ref,j, MRefij par sous- trame j étant calculée à partir de la valeur maximale rriij dans la sous-trame j de la trame i ;

d)- on établit la valeur du seuil Ω, propre à la trame i en fonction de toutes les valeurs de référence Ref,j, MRefij calculées dans les sous-trames j de la trame i. Ainsi, ce procédé est basé sur le principe d'un seuil adaptatif, qui sera relativement bas pendant les périodes de bruit ou de silence et relativement haut pendant les périodes de parole. De ce fait, les fausses détections seront minimisées et la parole sera détectée correctement avec un minimum de coupures en début et fin de mots. Avec le procédé selon l'invention, on considère les valeurs maximales ms j établies dans les sous- trames j pour prendre la décision (voix ou absence de voix) sur la trame i entière.

Selon une première possibilité, la fonction de détection FD(x) correspond à la fonction différence D(x).

Selon une seconde possibilité, la fonction de détection FD(x) correspond à la fonction différence normalisée DN(x) calculée à partir de la fonction différence D(x) comme suit :

DN(T) = 1 si x = 0 ,

DN(T) = Λ Ι Ρ( τ τ) si τ≠ 0 ; où le calcul de la fonction différence normalisée DN(T) consiste en un calcul d'une fonction différence normalisée discrète DN^x) associée aux trames i, où :

DN j (x) = 1 si x = 0 ,

DN j (x) = Λ Ι Di T (T) si τ≠ 0 .

Dans une réalisation particulière, la fonction différence discrète DiC relative à la trame i est calculée comme suit :

on subdivise la trame i en K sous-trames de longueur H, avec par exemple

^ m 3.x ^ I

K = où LJ représente l'opérateur d'arrondi en partie entière, de

H

sorte que les échantillons du signal acoustique discret {xj dans une sous-trame d'indice p de la trame i comprennent les H échantillons :

X(ii )N+(pi )H + 1 , X(ii )N+(pi )H+2, X(ii )N +P H , P entier positif compris entre 1 et K ; - pour chaque sous-trame d'indice p, on calcule la fonction différence dd p (x) suivante :

_ x Χ ].+τ I

| ' - on calcule la fonction différence discrète Di(x) relative à la trame i comme la somme des fonctions différence dd

p (Y) des sous-trames d'indice p de la trame i, soit :

Selon une caractéristique, lors de l'étape c), on réalise les sous- étapes suivantes sur chaque trame i :

c1 )-on calcule les enveloppes lissées des maximum dans chaque sous- trame d'indice j de la trame i, avec :

ï jj = A m ij _ 1 + (1 - A)m jj , où λ est un coefficient prédéfini compris entre 0 et 1 ;

c2)-on calcule les signaux de variation

dans chaque sous-trame d'indice j de la trame i, avec :

Δ, j = rti jj — ï j j = λ (rti jj — ïïïj j ^) ;

et où au moins une valeur de référence dite principale Refij par sous-trame j est calculée à partir du signal de variation

dans la sous-trame j de la trame i.

Ainsi, on considère les signaux de variation

des enveloppes lissées établies dans les sous-trames j pour prendre la décision (voix ou absence de voix) sur la trame i entière, fiabilisant la détection de la parole (ou voix).

Selon une autre caractéristique, lors de l'étape c) et à la suite de la sous-étape c2), on réalise les sous-étapes suivantes sur chaque trame i :

c3)-on calcule les maximums de variation Sjj dans chaque sous-trame d'indice j de la trame i, où Sjj correspond au maximum du signal de variation

calculé sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j, ladite longueur Lm étant variable selon que la sous-trame j de la trame i correspond à une période de silence ou de présence de parole ;

c4)-on calcule les écarts de variation δ,,, dans chaque sous-trame d'indice j de la trame i, avec :

¾j = Δ υ " s i,i ;

et où on calcule, pour chaque sous-trame j de la trame i, deux valeurs de référence principales Refi à partir respectivement du signal de variation

et de l'écart de variation 5i

j. Ainsi, on considère conjointement les signaux de variation et les écarts de variation 5i établies dans les sous-trames j pour choisir la valeur du seuil Ω, adaptatif et ainsi prendre la décision (voix ou absence de voix) sur la trame i entière, renforçant la détection de la parole. Autrement dit, on étudie le couple (Ai ; δ,

, ,) pour déterminer la valeur du seuil Ω, adaptatif.

Avantageusement, lors de l'étape c) et à la suite de la sous-étape c4), on réalise une sous-étape c5) de calcul des signaux de variation normalisés A' li et des écarts de variation normalisés ô'i dans chaque sous- trame d'indice j de la trame i, comme suit : l'J rn.- rn

r _ j_ _ m i,j-™i,j- s i,j

J m j m j

et où, pour chaque sous-trame j d'une trame i, le signal de variation normalisé A'i et l'écart de variation normalisé 5'ij constituent chacun une valeur de référence principale Ref, , , de sorte que, lors de l'étape d), on établit la valeur du seuil Ω, propre à la trame i en fonction du couple (Δ', , ,, δ', , ,) des signaux de variation normalisés A' li et des écarts de variation normalisés 5'ij dans les sous-trames j de la trame i .

De cette façon, on peut traiter la variation du seuil Ω, indépendamment des niveaux des signaux

et 5i en les normalisant avec le calcul des signaux normalisés A'

li et 5'ij. Ainsi, les seuils Ω, choisis à partir de ces signaux normalisés A'

li et 5'ij seront indépendants du niveau du signal acoustique discret {xj. Autrement dit, on étudie le couple (Δ',

, , ; ô'i ) pour déterminer la valeur du seuil Ω, adaptatif.

De manière avantageuse, lors de l'étape d), la valeur du seuil Ω, propre à la trame i est établie en partitionnant l'espace défini par la valeur du couple (A'i , ô'i ), et en examinant la valeur du couple (Α'^, δ', , ,) sur une ou plusieurs (par exemple entre une et trois) sous-trames successives selon la zone de valeur du couple (Α'^, ô'i ).

Ainsi, la procédure de calcul du seuil Ω, se base sur une partition expérimentale de l'espace défini par la valeur du couple (Α'^, δ', , ,). A cela s'adjoint un mécanisme de décision qui scrute la valeur du couple (Α'^, ô'i ) sur une, deux ou plus sous-trames successives selon la zone de valeur du couple. Les conditions de tests de positionnement de la valeur du couple (Α'^, ô'i ) dépendent surtout de la détection de parole lors de la trame précédente et le mécanisme de scrutation sur les une, deux ou plus sous-trames successives utilise aussi un partitionnement expérimental .

Selon une caractéristique, lors de la sous-étape c3), la longueur Lm de la fenêtre glissante répond aux équations suivantes :

- Lm = LO si la sous-trame j de la trame i correspond à une période de silence ;

- Lm = L1 si la sous-trame j de la trame i correspond à une période de présence de parole ;

avec L1 < L0, et notamment avec L1 =k1 .L et L0=k0.L, L étant la longueur des sous-trame d'indice j et kO, k1 étant des entiers positifs.

Selon une autre caractéristique, lors de la sous-étape c3), pour chaque calcul du maximum de variation Sjj dans la sous-trame j de la trame i, la fenêtre glissante de longueur Lm est en retard de Mm trames de longueur N vis-à-vis de ladite sous-trame j.

Selon une autre caractéristique, on réalise les perfectionnements suivants :

- lors de la sous-étape c3), on calcule également les maximums de variation normalisés s', , , dans chaque sous-trame d'indice j de la trame i, où s', , , correspond au maximum du signal de variation normalisé A' li calculé sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j, où :

et où chaque maximum de variation normalisé s'i est calculée selon une méthode de minimisation comprenant les étapes itératives suivantes :

- calcul de s' i(j = max {s'^ ; A , i _ Mm j } et s' i(j = max {s'^ ; A , i _ Mm j }

- si rem(i, Lm) = 0, où rem est l'opérateur reste de la division entière de deux entiers, alors :

s'ij = max {s'y.! ; A'j_ MmJ },

¾ = A' i _ MmJ

avec s' 0 1 = 0 et s' 0 1 = 0 ; et - lors de l'étape c4), on calcule les écarts de variation normalisés 5', j dans chaque sous-trame d'indice j de la trame i, comme suit :

De manière avantageuse, lors de l'étape c), on réalise une sous- étape c6) dans laquelle on calcule les maximums de maximale q, j dans chaque sous-trame d'indice j de la trame i, où q, j correspond au maximum de la valeur maximale η¾ calculée sur une fenêtre glissante de longueur fixe Lq antérieure à ladite sous-trame j, où la fenêtre glissante de longueur Lq est en retard de Mq trames de longueur N vis-à-vis de ladite sous-trame j, et où une autre valeur de référence dite secondaire MRefi j par sous-trame j correspond audit maximum de maximale q, j dans la sous-trame j de la trame i .

Ainsi, pour éviter d'avantage les fausses détections, il est avantageux de prendre en compte également ce signal q, j (valeur de référence secondaire MRefi j = qi j ) qui est calculé d'une façon similaire au calcul du signal Sij précité, mais qui opère sur les valeurs maximales m, , , au lieu d'opérer sur les signaux de variation A, j ou sur les signaux de variation normalisés A'i j .

Dans un mode de réalisation particulier, lors de l'étape d), le seuil Ω, propre à la trame i est découpé en plusieurs sous-seuils Ω, , , propres à chaque sous-trame j de la trame i, et la valeur de chaque sous-seuil Ω, , , est au moins établie en fonction de la ou des valeurs de référence Refi j , MRefi j calculées dans la sous-trame j de la trame i correspondante.

Ainsi, on a Ω, = {Ω, , ι ; Ω, ,2 ; ... ; Ω, , τ} , traduisant le découpage du seuil Ω, en plusieurs sous-seuils Ω^ propres aux sous-trames j, apportant une finesse supplémentaire dans l'établissement du seuil Ω, adaptatif.

De manière avantageuse, lors de l'étape d), on établit la valeur de chaque seuil Ω^ propre à la sous-trame j de la trame i en comparant les valeurs du couple (A'i j , 5', j ) avec plusieurs couples de seuils fixes, la valeur de chaque seuil Q\j étant sélectionnée parmi plusieurs valeurs fixes en fonction des comparaisons du couple (A'. j , 5', j ) avec lesdits couples de seuils fixes.

Ces couples de seuils fixes sont par exemple déterminés expérimentalement par une répartition de l'espace des valeurs (A'. j , 5', j ) en zones de décisions. De manière complémentaire, on établit la valeur de chaque seuil Qi j propre à la sous-trame j de trame i également en réalisant une comparaison du couple (A'i , δ', , ,) sur une ou plusieurs sous-trames successives selon la zone initiale du couple (Δ', , ,, δ', , ,).

Les conditions de tests de positionnement de la valeur du couple

(A'i , ô'i ) dépendent de la détection de parole lors de la trame précédente et le mécanisme de comparaison sur la ou les sous-trames successives utilise aussi un partitionnement expérimental.

Bien entendu, il est également envisageable que l'on établisse la valeur de chaque seuil Ω, , , propre à la sous-trame j de trame i en comparant :

- les valeurs du couple (Δ', , ,, δ', , ,) (les valeurs de référence principales Ref, , ,) avec plusieurs couples de seuils fixes ;

- les valeurs de q, , , (la valeur de référence secondaire MRefi ) avec plusieurs autres seuils fixes.

Ainsi, le mécanisme de décision basé sur la comparaison du couple (A'i , ô'i ) avec des couples de seuils fixes, est complété par une autre mécanisme de décision basée sur la comparaison de q, , , avec des autres seuils fixes.

Avantageusement, lors de l'étape d), on réalise une procédure dite de décision comprenant les sous-étapes suivantes, pour chaque trame i :

- pour chaque sous-trame j de la trame i, on établit un indice de décision DECi(j) qui occupe soit un état « 1 » de détection d'un signal de parole soit un état « 0 » de non détection d'un signal de parole ;

- on établit une décision temporaire VAD(i) basée sur la comparaison des indices de décision DEC,(j) avec des opérateurs « OU » logiques, de sorte que la décision temporaire VAD(i) occupe un état « 1 » de détection d'un signal de parole si au moins l'un desdits indices de décision DEC,(j) occupe cet état « 1 » de détection d'un signal de parole.

Ainsi, pour éviter les détections tardives (coupures de mots en début de détection), la décision finale (voix ou absence de voix) est prise à la suite de cette procédure de décision en s'appuyant sur la décision temporaire VAD(i) qui est elle-même prise sur la trame i entière, en mettant en œuvre un opérateur « OU » logique sur les décisions prises dans les sous-trames j, et de préférence dans des sous-trames j successives sur un horizon court et fini à partir du début de la trame i. Lors de cette procédure de décision, on peut réaliser les sous- étapes suivantes, pour chaque trame i :

- on mémorise une valeur maximale de seuil Lastmax qui correspond à la valeur variable d'un seuil de comparaison pour l'amplitude du signal acoustique discret {xj en-dessous duquel on considère que le signal acoustique ne comprend pas de signal de parole, cette valeur variable étant déterminé durant la dernière trame d'indice k qui précède ladite trame i et dans laquelle la décision temporaire VAD(k) occupait un état « 1 » de détection d'un signal de parole ;

- on mémorise une valeur maximale moyenne qui correspond à la valeur maximale moyenne du signal acoustique discret {xj dans la sous-trame j de la trame i calculée comme suit :

où ay correspond au maximum du signal acoustique discret {xj contenu dans une trame k formée par la sous-trame j de la trame i et par au moins une ou plusieurs sous-trames successives qui précèdent ladite sous-trame j ; et

Θ est un coefficient prédéfini compris entre 0 et 1 avec θ < λ

- on établit la valeur de chaque sous-seuil Q li en fonction de la comparaison entre ladite valeur maximale de seuil Lastmax et des valeurs maximales moyennes A,, et A .i considérées sur deux sous-trames j et j-1 successives.

Dans beaucoup de cas, les fausses détections arrivent avec une amplitude inférieure à celle du signal de parole (le microphone étant situé à côté de la bouche de la personne qui communique). Ainsi, cette procédure de décision vise à éliminer encore plus les mauvaises détections en mémorisant la valeur maximale de seuil Lastmax du signal de parole réactualisé dans la dernière période d'activation et les valeurs maximales moyennes Ajj et Α,,.ι qui correspondent à la valeur maximale moyenne du signal acoustique discret {xj dans les sous-trames j et j-1 de la trame i. En prenant en compte ces valeurs (Lastmax, A et A .-i), on rajoute une condition au niveau de l'établissement du seuil Ω, adaptatif.

II est important que la valeur de Θ soit choisie comme étant inférieure au coefficient λ pour ralentir les fluctuations de Ay . Lors de la procédure de décision mentionnée ci-dessus, on réactualise la valeur maximale de seuil Lastmax à chaque fois que le procédé a considéré qu'une sous-trame p d'une trame k contient un signal de parole, en mettant en œuvre la procédure suivante :

- la détection d'un signal de parole dans la sous-trame p de la trame k fait suite à une période d'absence de parole, et dans ce cas Lastmax prend la valeur actualisée [a (A k , p + LastMax)], où a est un coefficient prédéfini compris entre 0 et 1 , et par exemple compris entre 0,2 et 0,7 ;

- la détection d'un signal de parole dans la sous-trame p de la trame k fait suite à une période de présence de parole, et dans ce cas Lastmax prend la valeur actualisée A k , p si A k , p > Lastmax.

La mise à jour de la valeur Lastmax se fait ainsi uniquement durant les périodes d'activation du procédé (autrement dit les périodes de détection de la voix). Dans une situation de détection de parole, la valeur Lastmax vaudra A k ,p lorsqu'on aura A k , p > LastMax. Cependant, il est important que cette mise à jour soit faite comme suit lors de l'activation de la première sous-trame p qui suit une zone de silence : la valeur Lastmax vaudra [a (A k , p + LastMax)].

Ce mécanisme d'actualisation de la valeur maximale de seuil Lastmax permet au procédé de détecter la voix de l'utilisateur même si celui-ci a réduit l'intensité de sa voix (autrement dit parle moins fort) par rapport à la dernière fois où le procédé a détecté qu'il avait parlé.

Autrement dit, pour améliorer encore plus l'élimination des fausses détections, on réalise un traitement fin dans lequel la valeur maximale de seuil Lastmax est variable et est comparée aux valeurs maximales moyennes et .1 du signal acoustique discret.

En effet, des voix lointaines pourraient être captées avec le procédé, car de telles voix présentent des fréquences fondamentales susceptibles d'être détectées, tout comme la voix de l'utilisateur. Pour faire en sorte que les voix lointaines, qui peuvent être gênantes dans plusieurs cas d'utilisation, ne soient pas prises en compte par le procédé, on considère un traitement au cours duquel on compare la valeur maximale moyenne du signal (sur deux trames successives), en l'occurrence et Α,,.-ι , avec Lastmax qui constitue un seuil variable selon l'amplitude de la voix de l'utilisateur mesurée à la dernière activation. Ainsi, on fixe la valeur du seuil Ω, à une valeur minimale très basse, lorsque le signal sera en dessous du seuil. Cette condition pour établir la valeur du seuil Ω, en fonction de la valeur maximale de seuil Lastmax est avantageusement basée sur la comparaison entre :

- la valeur maximale de seuil Lastmax ; et

- les valeurs [KpA j ] et [Kp. Α, , ,.ι], où Kp est un coefficient fixe de pondération compris entre 1 et 2.

De cette manière, on compare la valeur maximale de seuil Lastmax avec les valeurs maximales moyennes du signal acoustique discret {xj dans les sous-trame j et j-1 (A, , , et Α, , ,.ι) pondérés d'un coefficient de pondération Kp compris entre 1 et 2, pour renforcer la détection. Cette comparaison se fait uniquement quand la trame précédente n'a pas donné lieu à une détection de voix.

De manière avantageuse, le procédé comporte en outre une phase dite de blocage comprenant une étape de basculement d'un état de non détection d'un signal de parole à un état de détection d'un signal de parole après avoir détecté la présence d'un signal de parole sur N P trames i temporelles successives.

Ainsi, le procédé met en œuvre une étape du type hangover configurée de telle façon que la transition d'une situation sans voix à une situation avec présence de voix ne se fait qu'au bout de N P trames successives avec présence de voix.

De même, le procédé comporte en outre une phase dite de blocage comprenant une étape de basculement d'un état de détection d'un signal de parole à un état de non détection d'un signal de parole après avoir détecté aucune présence d'un signal voisé sur N A trames i temporelles successives.

Ainsi, le procédé met en œuvre une étape du type hangover configurée de telle façon que la transition d'une situation avec présence de voix à une situation sans voix ne se fait qu'au bout de N A trames successives sans voix.

Sans ces étapes de basculement, le procédé risque de couper ponctuellement le signal acoustique pendant les phrases ou même au milieu des mots prononcés. Pour remédier à cela, ces étapes de basculement mettent en œuvre une étape de blocage ou de hangover sur une série donnée de trames. Selon une possibilité de l'invention, le procédé comprend une étape d'interruption de la phase de blocage dans des zones de décision intervenant en fin de mots et dans une situation non-bruitée, lesdites zones de décision étant détectées en analysant le minimum rr(i) de la fonction de détection discrète FDÎ(T) .

Ainsi, la phase de blocage est interrompue à la fin d'une phrase ou mot lors d'une détection particulière dans l'espace de décision. Cette interruption ne survient que dans une situation non ou peu bruitée. A ce titre, le procédé prévoit d'isoler une zone de décision particulière qui ne survient qu'en fin de mots et dans une situation non-bruitée. Pour renforcer la décision de détection de cette zone, le procédé utilise aussi le minimum rr(i) de la fonction de détection discrète FDi(x), où la fonction de détection discrète FDi(x) correspond soit à la fonction différence discrète Di(x) soit à la fonction différence normalisée discrète DN Î (T) . De ce fait, la voix sera coupée plus rapidement en fin de parole, conférant ainsi au système une meilleure qualité audio.

L'invention a également pour objet un programme d'ordinateur comprenant des instructions de code aptes à commander l'exécution des étapes du procédé de détection de la voix tel que défini ci-dessus lorsqu'il est exécuté par un processeur.

L'invention a en outre pour objet un support d'enregistrement de données d'enregistrement sur lequel est stocké un programme d'ordinateur tel que défini ci-dessus.

L'invention a pour autre objet une mise à disposition d'un programme d'ordinateur tel que défini ci-dessus sur un réseau de télécommunication en vue de son téléchargement.

D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description détaillée ci-après, d'un exemple de mise en œuvre non limitatif, faite en référence aux figures annexées dans lesquelles :

- la figure 1 est un schéma synoptique du procédé conforme à l'invention ;

- la figure 2 est une vue schématique d'une boucle de limitation mis en œuvre par une étape de blocage de décision dite étape du type hangover ; - la figure 3 illustre le résultat d'un procédé de détection de la voix utilisant un seuil fixe avec, en haut, une représentation de la courbe du minimum rr(i) de la fonction de détection et de la ligne de seuil fixe Qfix et, en bas, une représentation du signal acoustique discret {xj et du signal de sortie DF, ;

- la figure 4 illustre le résultat d'un procédé de détection de la voix conforme à l'invention en utilisant un seuil adaptatif avec, en haut, une représentation de la courbe du minimum rr(i) de la fonction de détection et de la ligne de seuil adaptatif Qi et, en bas, une représentation du signal acoustique discret {xj et du signal de sortie DF,.

La description du procédé de détection de la voix est faite en référence à la figure 1 qui illustre schématiquement la succession des différentes étapes nécessaires à la détection de la présence de signaux de parole (ou voix) dans un signal acoustique bruité x(t) issu d'un microphone unique opérant dans un milieu bruité.

Le procédé commence par une étape 101 préalable d'échantillonnage comprenant un découpage du signal acoustique x(t) en un signal acoustique discret {xj composé d'une suite de vecteurs associés à des trames i temporelles de longueur N, N correspondant au nombre de points d'échantillonnage, où chaque vecteur traduit le contenu acoustique de la trame i associée et est composé des N échantillons X(M )N+I , X(M )N+2, XÏN-I , Î N, i entier positif:

A titre d'exemple, le signal acoustique bruité x(t) est découpé en trames de 240 ou 256 échantillons, ce qui à une fréquence d'échantillonnage F e de 8 kHz correspond à des trames temporelles de 30 ou 32 millisecondes.

Le procédé se poursuit avec une étape 102 de calcul d'une fonction différence discrète Di (x) relative à la trame i est calculée comme suit :

- on subdivise chaque trame i en K sous-trames de longueur H, avec la relation suivante :

N-max (τ) I

K = J représente l'opérateur d'arrondi en partie entière,

H

de sorte que les échantillons du signal acoustique discret {xj dans une sous- trame d'indice p de la trame i comprennent les H échantillons suivants :

X(ii )N+( P -i )H + 1 , X(ii )N+(pi )H+2, X(ii )N +P H , P entier positif compris entre 1 et K ; puis - pour chaque sous-trame d'indice p, on calcule la fonction différence dd p (x) suivante :

- on calcule la fonction différence discrète Di(x) relative à la trame i comme la somme des fonctions différence dd p (Y) des sous-trames d'indice p de la trame i, soit :

Il est également possible que l'étape 102 comprennent également le calcul d'une fonction différence normalisée discrète DN^x) à partir de la fonction différence discrète Di(x) , comme suit :

DN j (x) = 1 si x = 0 ,

DN j (x) = 1 7 Di T (T) si τ≠ 0 .

Le procédé se poursuit avec une étape 103 dans laquelle, pour chaque trame i :

- on subdivise la trame i comprenant N points d'échantillonnage en T sous- trames de longueur L, où N est un multiple de T afin que la longueur L=N/T soit entière, et de sorte que les échantillons du signal acoustique discret {xj dans une sous-trame d'indice j de la trame i comprennent les L échantillons suivants :

X(ii )N + ( j -i )L + i , X(ii )N + ( j -i )L+2, X(ii )N+jL , j entier positif compris entre 1 et T ;

b)- on calcule les valeurs maximales η¾ du signal acoustique discret {xj dans chaque sous-trame d'indice j de la trame i, avec :

nrii = max {X(Î-I )N+OI )L + I , X(Î-I )N+OI )L+2, X(Î-I )N+JL};

A titre d'exemple, on subdivise chaque trame i de longueur 240 (soit N=240) en quatre sous-trame j de longueurs 60 (soit T=4, et L=60).

Ensuite, dans une étape 104, on calcule les enveloppes lissées des maximum dans chaque sous-trame d'indice j de la trame i, définis pas : ï jj = A m ij _ 1 + (1 - A)m jj , où λ est un coefficient prédéfini compris entre 0 et 1 .

Puis, dans une étape 105, on calcule les signaux de variation Δ,,, dans chaque sous-trame d'indice j de la trame i, définis par :

A jj = rti jj — ï jj = λ (m — ïïï ij _ 1 ). Ensuite, dans une étape 106, on calcule les signaux de variation normalisés A' li définis par : l'j m tj m tj

Ensuite, dans une étape 107, on calcule les maximums de variation Sij dans chaque sous-trame d'indice j de la trame i, où s,,, correspond au maximum du signal de variation

calculé sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j. Lors de cette étape 106, la longueur Lm est variable selon que la sous-trame j de la trame i correspond à une période de silence ou de présence de parole, avec :

- Lm = L0 si la sous-trame j de la trame i correspond à une période de silence ;

- Lm = L1 si la sous-trame j de la trame i correspond à une période de présence de parole ;

avec L1 < L0. A titre d'exemple, L1 =k1 .L et L0=k0.L, L étant pour rappel la longueur des sous-trame d'indice j et kO, k1 étant des entiers positifs avec k1 <k0. En outre, la fenêtre glissante de longueur Lm est en retard de Mm trames de longueur N vis-à-vis de ladite sous-trame j.

Durant cette étape 106, on calcule également les maximums de variation normalisés s'ij dans chaque sous-trame d'indice j de la trame i, où :

Il est envisageable de calculer les maximums de variation normalisés s'ij selon une méthode de minimisation comprenant les étapes itératives suivantes :

- calcul de s'y = max {s'y_ ! ; A'j_ Mmj } et s'y = max {s'y_ ! ; A'j_ Mmj } - si rem(i, Lm) = 0, où rem est l'opérateur reste de la division entière de deux entiers, alors :

s'y = max {s'y. ! ; A' j _ MmJ }, s'ij = A'i_ Mm ,j

- fmsi

avec s' 0 1 = 0 et s' 0 1 = 0. Ensuite, dans une étape 108, on calcule les écarts de variation δ,,, dans chaque sous-trame d'indice j de la trame i, définis par :

δΜ = Δ υ " s i,i-

Dans cette même étape 108, on calcule les écarts de variation normalisés ô'i dans chaque sous-trame d'indice j de la trame i, définis par :

Ensuite, dans une étape 109, on calcule les maximums de maximale q,j dans chaque sous-trame d'indice j de la trame i, où q,,, correspond au maximum de la valeur maximale ms j calculée sur une fenêtre glissante de longueur fixe Lq antérieure à ladite sous-trame j, où la fenêtre glissante de longueur Lq est en retard de Mq trames de longueur N vis-à-vis de ladite sous- trame j. Avantageusement, Lq > L0, et notamment Lq=kq.L avec kq un entier positif et kq > kO. De plus, on a Mq > Mm.

Durant cette étape 109, il est envisageable de calculer les maximums de maximale q,j selon une méthode de minimisation comprenant les étapes itératives suivantes :

- calcul de q i(j = max {q^ ; m j _ MqJ } et q u = max {q^ ; m j _ MqJ }

- si rem(i, Lq) = 0, où rem est l'opérateur reste de la division entière de deux entiers, alors :

q i(j = max ; m j _ MqJ }, q i( j = mi- Mm ,j

- fmsi

avec q 0 1 = 0 et q 0 1 = 0.

Ensuite, dans une étape 1 10, on établit les valeurs de seuils Ω, propres à chaque trame i, parmi plusieurs valeurs fixes Qa, Qb, Qc, etc. De manière plus fine, on établit les valeurs des sous-seuils Ω,,, propres à chaque sous-trame j de la trame i, le seuil Q, étant découpée en plusieurs sous-seuils Qi . A titre d'exemple, chaque seuil Q, ou sous-seuil Qij prend une valeur fixe choisie parmi six valeurs fixes Qa, Qb, Qc, Qd, Qe, Qf, ces valeurs fixes étant par exemple comprises entre 0,05 et 1 , et notamment entre 0,1 et 0,7.

Chaque seuil Q, ou sous-seuil Qi est fixé à une valeur fixe Qa, Qb, Qc, Qd, Qe, Qf par la mise en œuvre de deux analyses : - première analyse : la comparaison des valeurs du couple (Δ',,,, δ',,,) dans la sous-trame d'indice j de la trame i avec plusieurs couples de seuils fixes ;

- deuxième analyse : la comparaison des maximums de maximale q,j dans la sous-trame d'indice j de la trame i avec des seuils fixes.

A la suite de ces deux analyses, une procédure dite de décision donnera la décision finale sur la présence de la voix dans la trame i. Cette procédure de décision comprend les sous-étapes suivantes, pour chaque trame i :

- pour chaque sous-trame j de la trame i, on établit un indice de décision DECi(j) qui occupe soit un état « 1 » de détection d'un signal de parole soit un état « 0 » de non détection d'un signal de parole ;

- on établit une décision temporaire VAD(i) basée sur la comparaison des indices de décision DEC,(j) avec des opérateurs « OU » logiques, de sorte que la décision temporaire VAD(i) occupe un état « 1 » de détection d'un signal de parole si au moins l'un desdits indices de décision DEC,(j) occupe cet état « 1 » de détection d'un signal de parole, autrement dit on a la relation suivante :

VAD(i) = DECi(1 ) + DECi(2) + ... + DECi(T), où "+" est l'opérateur « OU ».

Ainsi, en fonction des comparaisons faites lors des première et deuxième analyses, et en fonction de l'état de la décision temporaire VAD(i), on fixe le seuil Ω, à l'une des valeurs fixes Qa, Qb, Qc, Qd, Qe, Qf et on en déduit la décision finale en comparant le minimum rr(i) avec le seuil Ω, fixé à l'une des ses valeurs fixes (voir description ci-après).

Dans beaucoup de cas, les fausses détections (ou tonches) arrivent avec une amplitude inférieure à celle du signal de parole, le microphone étant situé à côté de la bouche de l'utilisateur. En tenant compte de ce fait, il est envisageable d'éliminer encore plus les fausses détections en mémorisant la valeur maximale de seuil Lastmax déduit du signal de parole dans la dernière période d'activation du « VAD » et en ajoutant une condition dans le procédé basée sur cette valeur maximale de seuil Lastmax.

Ainsi, dans l'étape 109 décrite précédemment, on rajoute la mémorisation de la valeur maximale de seuil Lastmax qui correspond à la valeur variable (ou actualisé) d'un seuil de comparaison pour l'amplitude du signal acoustique discret {xj en-dessous duquel on considère que le signal acoustique ne comprend pas de signal de parole, cette valeur variable étant déterminé durant la dernière trame d'indice k qui précède ladite trame i et dans laquelle la décision temporaire VAD(k) occupait un état « 1 » de détection d'un signal de parole.

Dans cette étape 109, on mémorise également une valeur maximale moyenne qui correspond à la valeur maximale moyenne du signal acoustique discret {xj dans la sous-trame j de la trame i calculée comme suit :

où ay correspond au maximum du signal acoustique discret {xj contenu dans la trame théorique k formée par la sous-trame j de la trame i et par au moins une ou plus sous-trames successives qui précèdent ladite sous-trame j ; et Θ est un coefficient prédéfini compris entre 0 et 1 avec θ < λ

Dans cette étape 109, on réactualise la valeur maximale de seuil

Lastmax à chaque fois que le procédé a considéré qu'une sous-trame p d'une trame k contient un signal de parole, en mettant en œuvre la procédure suivante :

- la détection d'un signal de parole dans la sous-trame p de la trame k fait suite à une période d'absence de parole, et dans ce cas Lastmax prend la valeur actualisée [a (A k , p + LastMax)], où a est un coefficient prédéfini compris entre 0 et 1 , et par exemple compris entre 0,2 et 0,7 ;

- la détection d'un signal de parole dans la sous-trame p de la trame k fait suite à une période de présence de parole, et dans ce cas Lastmax prend la valeur actualisée A k , p si A k , p > Lastmax.

Puis, dans l'étape 1 10 décrite précédemment, on rajoute une condition basée sur la valeur maximale de seuil Lastmax pour fixer le seuil Ω,.

Pour chaque trame i, cette condition est basée sur la comparaison entre :

- la valeur maximale de seuil Lastmax, et

- les valeurs [Kp.A ] et [Kp. Α , ,.-ι], où Kp est un coefficient fixe de pondération compris entre 1 et 2.

Il est également envisageable d'abaisser la valeur maximale de seuil Lastmax après une période de temporisation donnée (par exemple fixée entre quelques secondes et quelques dizaines de secondes) entre la trame i et la dernière trame d'indice k précitée, afin d'éviter la non détection de la parole si l'utilisateur/locuteur abaisse l'amplitude de sa voix de manière significative. Ensuite, dans une étape 1 1 1 , on calcule, pour chaque trame courante i, le minimum rr(i) d'une fonction de détection discrète FDi(x), où la fonction de détection discrète FDi(x) correspond soit à la fonction différence discrète Di(x) soit à la fonction différence normalisée discrète DN Î (T) .

Enfin, dans une dernière étape 1 12, on compare, pour chaque trame courante i, ce minimum rr(i) avec le seuil Ω, propre à la trame i, pour détecter la présence ou non d'un signal de parole (oui signal voisé), avec :

- si rr(i) < Ω,, alors la trame i est considérée comme présentant un signal de parole et le procédé délivre un signal de sortie DF, prenant la valeur « 1 » (autrement dit, la décision finale pour la trame i est « présence de voix dans la trame i ») ;

- si rr(i) > Ω,, alors la trame i est considérée comme ne présentant pas de signal de parole et le procédé délivre un signal de sortie DF, prenant la valeur « 0 » (autrement dit, la décision finale pour la trame i est « absence de voix dans la trame i »).

En référence aux figures 1 et 2, il est envisageable d'apporter un perfectionnement au procédé, en introduisant une étape supplémentaire 1 13 de blocage de décision (ou étape de hangover), pour éviter les coupures de son dans une phrase et pendant la prononciation des mots, cette étape 1 13 de blocage de décision visant à renforcer la décision de présence/absence de voix par la mise en œuvre des deux étapes suivantes :

- basculement d'un état de non détection d'un signal de parole à un état de détection d'un signal de parole après avoir détecté la présence d'un signal de parole sur N P trames i temporelles successives ;

- basculement d'un état de détection d'un signal de parole à un état de non détection d'un signal de parole après avoir détecté aucune présence d'un signal voisé sur N A trames i temporelles successives.

Ainsi, cette étape 1 13 de blocage permet de délivrer en sortie un signal de décison de la détection de la voix D v qui prend la valeur « 1 » correspondant à une décision de la détection de la voix et la valeur « 0 » correspondant à une décison de la non détection de la voix, où :

- le signal de décison de la détection de la voix D v bascule d'un état « 1 » à un état « 0 » si et seulement si le signal de sortie DF, prend la valeur « 0 » sur N A trames i temporelles successives ; et - le signal de décison de la détection de la voix D v bascule d'un état « 0 » à un état « 1 » si et seulement si le signal de sortie DF, prend la valeur « 1 » sur N P trames i temporelles successives.

En référence à la figure 2, si on suppose que l'on parte d'un état « D v =1 », on bascule vers un état « D v =0 » si le signal de sortie DF, prend la valeur « 0 » sur N A trames successives, sinon l'état reste à « D v =1 » (Ni représentant le numéro de la trame au début de la série). De même, si on suppose que l'on parte d'un état « D v =0 », on bascule vers un état « D v =1 » si le signal de sortie DF, prend la valeur « 1 » sur N P trames successives, sinon l'état reste à « D v =0 ».

La décision finale s'applique aux premiers H échantillons de la trame traitée. De préférence N A est supérieur à N P , avec par exemple N A =100 et N P =3, car il vaut mieux risquer de détecter du silence plutôt que de couper une conversation.

La suite de la description porte sur deux résultats de détection de voix obtenus avec un procédé classique utilisant un seuil fixe (Figure 3) et avec le procédé conforme à l'invention utilisant un seuil adaptatif (Figure 4).

Sur les figures 3 et 4 (en bas), on note que les deux procédés travaillent sur le même signal acoustique discret {xj, avec en ordonnées l'amplitude et en abscisse les échantillons. Ce signal acoustique discret {xj présente une seule zone de présence de parole « PAR », et de nombreuses zones de présence de bruits parasites tels que musique, tambours, cris de foule et sifflets. Ce signal acoustique discret {xj traduit un environnement représentatif d'une communication entre personnes (comme des arbitres) à l'intérieur d'un stade ou d'un gymnase où le bruit est relativement très fort en niveau et est fortement non stationnaire.

Sur les figures 3 et 4 (en haut), on note que les deux procédés exploitent la même fonction rr(i) correspondant pour rappel au minimum de la fonction de détection discrète FDi(x) sélectionnée.

Sur la figure 3 (en haut), la fonction minimum rr(i) est comparée à un seuil fixe Qfix sélectionné de manière optimale pour assurer la détection de la voix. Sur la figure 3 (en bas), on note la forme du signal de sortie DF, qui occupe un état « 1 » si rr(i) < Qfix et un état « 0 » si rr(i) > Qfix.

Sur la figure 4 (en haut), la fonction minimum rr(i) est comparée à un seuil adaptatif Q, calculé selon les étapes décrites précédemment en référence à la figure 1 . Sur la figure 4 (en bas), on note la forme du signal de sortie DF, qui occupe un état « 1 » si rr(i) < Ω, et un état « 0 » si rr(i) > Ω,.

On note sur la figure 3 que le procédé conforme à l'invention permet une détection de la voix dans la zone de présence de parole « PAR » avec le signal de sortie DF, qui occupe un état « 1 », et que ce même signal de sortie DF, occupe plusieurs fois un état « 1 » dans les autres zones où la parole est pourtant absente, ce qui correspond par des fausses détections non désirées avec le procédé classique.

Par contre, on note sur la figure 4 que le procédé conforme à l'invention permet une détection optimale de la voix dans la zone de présence de parole « PAR » avec le signal de sortie DF, qui occupe un état « 1 », et que ce même signal de sortie DF, occupe un état « 0 » dans les autres zones où la parole est absente. Ainsi, le procédé conforme à l'invention assure une détection de la voix avec une forte réduction du nombre de fausses détections.

Bien entendu l'exemple de mise en œuvre évoqué ci-dessus ne présente aucun caractère limitatif et d'autres améliorations et détails peuvent être apportés au procédé selon l'invention, sans pour autant sortir du cadre de l'invention où d'autres algorithmes de calcul de la fonction de détection FD(x) peuvent par exemple être utilisés.

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈