FR 3014237 A1 20150605 FR 1361922 A 20131202 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 5 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 Detection, qui consiste à détecter la parole, autrement dit des signaux de parole, dans un signal acoustique issu d'un microphone. 10 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 15 d'utilisation, c'est-à-dire sans intervention d'un technicien pour établir la communication. Un tel système de communication, notamment connu des documents W010149864 A1, W010149875 Al et EP1843326 A1, est classiquement employé dans un environnement bruité voire très bruité, par 20 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 25 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 oeuvre 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 30 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 » 35 indique de l'activité. De ce fait, lorsqu'il n y a 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. Il 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 oeuvre une détection de la fréquence fondamentale caractéristique d'un signal de parole. 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. 111, 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 30 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 oeuvre la recherche du maximum de la fonction d'auto-corrélation R(t) définie par la relation suivante : N-1-i 1 R(t) = N x(n)x(n +-c) , De manière avantageuse, lors de l'étape d), on établit la valeur de chaque seuil Qu propre à la sous-trame j de la trame i en comparant les valeurs du couple (A'i j, j) avec plusieurs couples de seuils fixes, la valeur de chaque seuil Qu étant sélectionnée parmi plusieurs valeurs fixes en fonction des comparaisons du couple (A'i j, 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'i j, j) en zones de décisions. De manière complémentaire, on établit la valeur de chaque seuil 10 Qu propre à la sous-trame j de trame i également en réalisant une comparaison du couple (A'i j, j) sur une ou plusieurs sous-trames successives selon la zone initiale du couple (A'i j, j). Les conditions de tests de positionnement de la valeur du couple j, j) dépendent de la détection de parole lors de la trame précédente et le 15 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 Qu propre à la sous-trame j de trame i en comparant : - les valeurs du couple (A'i j, j) (les valeurs de référence principales Refi j) 20 avec plusieurs couples de seuils fixes ; - les valeurs de q;,; (la valeur de référence secondaire MRefi j) avec plusieurs autres seuils fixes. Ainsi, le mécanisme de décision basé sur la comparaison du couple (A'i j, j) avec des couples de seuils fixes, est complété par une autre 25 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 30 DECi(j) qui occupe soit un état « 1 » de détection d'un signal de parole soit un état « 0 » de 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 DECi(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 DECi(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 oeuvre 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 {A} 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 Au qui correspond à la valeur 20 maximale moyenne du signal acoustique discret {A} dans la sous-trame j de la trame i calculée comme suit : Ai4 = 0 + (1 - où ai correspond au maximum du signal acoustique discret {A} 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 25 0 est un coefficient prédéfini compris entre 0 et 1 avec 0 Lastmax. 20 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 Ak,p lorsqu'on aura Ak,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 25 suit une zone de silence : la valeur Lastmax vaudra [a (Ak,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é. 30 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 Au et du signal acoustique discret. En effet, des voix lointaines pourraient être captées avec le 35 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 Au et Aij_i , 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 Cl à une valeur minimale très basse, lorsque le signal sera en dessous du seuil. Cette condition pour établir la valeur du seuil Cl en fonction de la 10 valeur maximale de seuil Lastmax est avantageusement basée sur la comparaison entre : - la valeur maximale de seuil Lastmax ; et - les valeurs [Kp.Ad et [Kp. où Kp est un coefficient fixe de pondération compris entre 1 et 2. 15 De cette manière, on compare la valeur maximale de seuil Lastmax avec les valeurs maximales moyennes du signal acoustique discret {xi} dans les sous-trame j et j-1 (Au et Ai,o) 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 20 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 Np trames i 25 temporelles successives. Ainsi, le procédé met en oeuvre 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 Np trames successives avec présence de voix. 30 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 NA trames i temporelles successives. Ainsi, le procédé met en oeuvre une étape du type hangover 35 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 NA 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 oeuvre 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 FDi(r). 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(r), où la fonction de détection discrète FDi(r) correspond soit à la fonction différence discrète Di(u) soit à la fonction différence normalisée discrète DNi(r). 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 25 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 30 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 35 apparaîtront à la lecture de la description détaillée ci-après, d'un exemple de mise en oeuvre 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 oeuvre 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 Ofix et, en bas, une représentation du signal acoustique discret {xi} 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 S2i et, en bas, une représentation du signal acoustique discret {xi} et du signal de sortie DFi. 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 {xi} 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(i-1)N+1, X(i-1)N+2, XiN-1, XiN, 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 Fe 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(u) 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 , K = H ou L J représente l'opérateur d'arrondi en partie entière, de sorte que les échantillons du signal acoustique discret {A} dans une sous-5 trame d'indice p de la trame i comprennent les H échantillons suivants : X0_1)j^j+(p-1)H + 1, X(i-1)N+(p-1)H+2, - - - , X(i-1)N+pH , p entier positif compris entre 1 et K ; puis - pour chaque sous-trame d'indice p, on calcule la fonction différence ddp(T) suivante : 10 dd x-, (T) = .(i-1)N+pH = (i-1)N+(p-1)H+11 Xi - Xi +11 ' - on calcule la fonction différence discrète Di(u) relative à la trame i comme la somme des fonctions différence ddp(r) des sous-trames d'indice p de la trame i, soit : Di(T) = EpK=iddp(T) . 15 Il est également possible que l'étape 102 comprennent également le calcul d'une fonction différence normalisée discrète DNi(r) à partir de la fonction différence discrète Di(u) , comme suit : DNi(T) = Si T = 0 , DNi(C) = Di(t) Si T # 0 . OIT) 4-1 Di O) 20 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 {A} dans 25 une sous-trame d'indice j de la trame i comprennent les L échantillons suivants : X(i4)N+(jj-1)L + 1, X(i-1)N+(jj-1)L+2, - - - , X(i-1)N+jL , j entier positif compris entre 1 et T ; b)- on calcule les valeurs maximales mu du signal acoustique discret {xi} dans chaque sous-trame d'indice j de la trame i, avec : 30 mi,l = max 1, X(i-1)N+(j-1)L+2, - - - , X(i-1)N+jLE 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 rrii,i dans chaque sous-trame d'indice j de la trame i, définis pas : mi = + (1 - , où À est un coefficient prédéfini compris entre 0 et 1. Puis, dans une étape 105, on calcule les signaux de variation Ai dans chaque sous-trame d'indice j de la trame i, définis par : Ai,i = mi,i mi,i = À (mi ,i Ensuite, dans une étape 106, on calcule les signaux de variation normalisés A'i j définis par : mij- mi ,1 mi ,1 Ensuite, dans une étape 107, on calcule les maximums de variation s;,; dans chaque sous-trame d'indice j de la trame i, où s;,; correspond au maximum du signal de variation Ai j 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 = LO si la sous-trame j de la trame i correspond à une période de 20 silence ; - Lm = L1 si la sous-trame j de la trame i correspond à une période de présence de parole ; avec L1 LO, 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 25 maximums de maximale q; ,j selon une méthode de minimisation comprenant les étapes itératives suivantes : - calcul de qi j = max ; mi_Mq,j } et qi J = max ; mi_Mq,j } - si rem(i, Lq) = 0, où rem est l'opérateur reste de la division entière de deux entiers, alors : 30 qi j = max {114_1 ; mi_Mq,j mi-Mm4 30142 3 7 20 - finsi avec q0,1 = 0 et chu = O. Ensuite, dans une étape 110, on établit les valeurs de seuils Cl propres à chaque trame i, parmi plusieurs valeurs fixes Cla, Ob, Oc, etc. De 5 manière plus fine, on établit les valeurs des sous-seuils Ou propres à chaque sous-trame j de la trame i, le seuil étant découpée en plusieurs sous-seuils Ou. A titre d'exemple, chaque seuil ou sous-seuil Ou prend une valeur fixe choisie parmi six valeurs fixes Cla, Ob, Oc, S2d, Ste, 0f, ces valeurs fixes étant par exemple comprises entre 0,05 et 1, et notamment entre 0,1 et 0,7. 10 Chaque seuil ou sous-seuil Ou est fixé à une valeur fixe fla, Ob, Oc, 0d, Ste, Of par la mise en oeuvre de deux analyses : - première analyse : la comparaison des valeurs du couple (A'i j, j) 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;,; dans la 15 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 : 20 - 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 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 DECi(j) avec des opérateurs « OU » logiques, de sorte que 25 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 DECi(j) occupe cet état « 1 » de détection d'un signal de parole, autrement dit on a la relation suivante : VAD(i) = DEC;(1) + DEC;(2) + + DECi(T), où "+" est l'opérateur « OU ». Ainsi, en fonction des comparaisons faites lors des première et 30 deuxième analyses, et en fonction de l'état de la décision temporaire VAD(i), on fixe le seuil Cl à l'une des valeurs fixes Cla, Ob, Oc, S2d, Ste, Of et on en déduit la décision finale en comparant le minimum rr(i) avec le seuil Cl fixé à l'une des ses valeurs fixes (voir description ci-après). Dans beaucoup de cas, les fausses détections (ou tonches) 35 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 {A} 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 15 maximale moyenne Au qui correspond à la valeur maximale moyenne du signal acoustique discret {A} dans la sous-trame j de la trame i calculée comme suit : Ai4 = 0 + (1 - où ai correspond au maximum du signal acoustique discret {A} 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 20 0 est un coefficient prédéfini compris entre 0 et 1 avec 0 Lastmax. Puis, dans l'étape 110 décrite précédemment, on rajoute une condition basée sur la valeur maximale de seuil Lastmax pour fixer le seuil Cl. 30142 3 7 22 Pour chaque trame i, cette condition est basée sur la comparaison entre : - la valeur maximale de seuil Lastmax, et - les valeurs [Kp.Ad et [Kp. où Kp est un coefficient fixe de pondération 5 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 10 si l'utilisateur/locuteur abaisse l'amplitude de sa voix de manière significative. Ensuite, dans une étape 111, on calcule, pour chaque trame courante i, le minimum rr(i) d'une fonction de détection discrète FDi(r), où la fonction de détection discrète FDi(r) correspond soit à la fonction différence discrète Di(u) soit à la fonction différence normalisée discrète DNi(r). Enfin, dans une dernière étape 112, on compare, pour chaque trame courante i, ce minimum rr(i) avec le seuil Cl propre à la trame i, pour détecter la présence ou non d'un signal de parole (oui signal voisé), avec : - si rr(i) Cl, 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 » 20 (autrement dit, la décision finale pour la trame i est « présence de voix dans la trame i ») ; - si rr(i) > Cl, 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 25 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 113 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 113 de 30 blocage de décision visant à renforcer la décision de présence/absence de voix par la mise en oeuvre 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 Np 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 NA trames i temporelles successives. Ainsi, cette étape 113 de blocage permet de délivrer en sortie un 5 signal de décison de la détection de la voix Dv 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 Dv bascule d'un état « 1 » à un état « 0 » si et seulement si le signal de sortie DF; prend la valeur « 0 » sur NA 10 trames i temporelles successives ; et - le signal de décison de la détection de la voix Dv bascule d'un état « 0 » à un état « 1 » si et seulement si le signal de sortie DF; prend la valeur « 1 » sur Np trames i temporelles successives. En référence à la figure 2, si on suppose que l'on parte d'un état 15 « Dv=1 », on bascule vers un état « Dv=O » si le signal de sortie DF; prend la valeur « 0 » sur NA trames successives, sinon l'état reste à « Dv=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 « Dv=O », on bascule vers un état « Dv=1 » si le signal de sortie DF; prend la valeur « 1 » sur Np trames successives, sinon 20 l'état reste à « Dv=O ». La décision finale s'applique aux premiers H échantillons de la trame traitée. De préférence NA est supérieur à Np, avec par exemple NA=100 et Np=3, car il vaut mieux risquer de détecter du silence plutôt que de couper une conversation. 25 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 {A}, avec en ordonnées 30 l'amplitude et en abscisse les échantillons. Ce signal acoustique discret {A} 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 {A} traduit un environnement représentatif d'une communication entre personnes (comme des arbitres) à 35 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(r) sélectionnée. Sur la figure 3 (en haut), la fonction minimum rr(i) est comparée à 5 un seuil fixe Ofix 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) Ofix et un état « 0 » si rr(i) > Ofix. Sur la figure 4 (en haut), la fonction minimum rr(i) est comparée à un seuil adaptatif Cl calculé selon les étapes décrites précédemment en 10 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) Cl 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 15 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 20 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 oeuvre évoqué ci-dessus ne 25 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(T) peuvent par exemple être utilisés. 30 REVENDICATIONS1. 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 5 microphone, comportant les étapes successives suivantes : - calcul d'une fonction de détection FD(T) basée sur le calcul d'une fonction différence D(c) variant en fonction du décalage T sur une fenêtre d'intégration de longueur W débutant au temps tO, avec : D(r) - Et0+W-1lx(n) - x(n + T)I où 0 T max (T) ; n=t0 10 - recherche du minimum de la fonction de détection FD(T) et comparaison de ce minimum avec un seuil, pour T variant dans un intervalle de temps déterminé dit intervalle courant pour détecter la présence ou non d'une fréquence fondamentale Fo caractéristique d'un signal de parole dans ledit intervalle courant ; 15 ledit procédé étant caractérisé en ce qu'il comporte, avant l'étape de recherche et de comparaison, 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). 20 2. Procédé de détection selon la revendication 1, dans lequel la fonction de détection FD(T) correspond à la fonction différence D(c). 3. Procédé de détection selon la revendication 1, dans lequel la fonction 25 de détection FD(T) correspond à la fonction différence normalisée DN(T) calculée à partir de la fonction différence D(c) comme suit : DN(T) = 1 Si T = , DN(T) = D(T) Si T # O . (11T)T-1 Da) 30 4. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape préalable d'échantillonnage comprenant un découpage du signal acoustique x(t) en un signal acoustique discret {A} composé d'une suite de vecteurs associés à des trames i temporelles de longueur N, Ncorrespondant 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(i-1)N+1, X(i-1)N+2, --- XiN-1, XiN, i entier positif, de sorte que : - le calcul de la fonction de détection FD(T) consiste en un calcul d'une 5 fonction de détection discrète FDi(r) associée aux trames i ; - l'adaptation du seuil consiste à, pour chaque trame i, adapter un seuil Cl propre à la trame i en fonction de valeurs de référence calculées à partir des valeurs des échantillons du signal acoustique discret {xi} dans ladite trame i ; - la recherche du minimum de la fonction de détection FD(T) et la 10 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(r) et en comparant ce minium rr(i) avec le seuil Cl propre à la trame i. 5. Procédé selon la revendication 4, dans lequel la fonction différence 15 discrète Di(u) relative à la trame i est calculée comme suit : - on subdivise la trame i en K sous-trames de longueur H, avec par exemple [N-m H ax (T)1 où K = ou I_ J représente l'opérateur d'arrondi en partie entière, de sorte que les échantillons du signal acoustique discret {xi} dans une sous-trame d'indice p de la trame i comprennent les H échantillons : 20 x(i_i)N+(p-i)H +1, X(i-1)N+(p-1)H+2, ... , X(i-1)N+pH , p entier positif compris entre 1 et K ; - pour chaque sous-trame d'indice p, on calcule la fonction différence ddp(r) suivante : (T) = .0-1)N+pH dd v LJJ=(i-1)N+(p-1)H+11)(i Xi+TI - on calcule la fonction différence discrète Di(u) relative à la trame i comme la 25 somme des fonctions différence ddp(c) des sous-trames d'indice p de la trame i, soit : Di (T) = EpK=iddp (T) . 6. Procédé selon les revendications 3 et 5, dans le calcul de la fonction 30 différence normalisée DN(T) consiste en un calcul d'une fonction différence normalisée discrète DNi(r) associée aux trames i, où :DNi(T) = 1 Si T , DNi(T) = i Di(t) Si T 0 . rD'a) 7. Procédé selon l'une quelconque des revendications 4 à 6, dans lequel 5 l'étape d'adaptation des seuils Cl 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 {A} dans 10 une sous-trame d'indice j de la trame i comprennent les L échantillons suivants : X0_1)N+(j-1)L + 1, X(i-1)N+(j-1)L+2, - - - , X(i-1)N-FjL , j entier positif compris entre 1 et T ; b)- on calcule les valeurs maximales mu du signal acoustique discret {A} dans chaque sous-trame d'indice j de la trame i, avec : 15 mi,l = max {x(i-1)N-F(0)L + 1, X(i-1)N-F(j-1)L+2, - - - , X(i-1)N+jLE c)- on calcule au moins une valeur de référence Refij, MRefi j propre à la sous-trame j de la trame i, la ou chaque valeur de référence Refij, MRefi j par sous-trame j étant calculée à partir de la valeur maximale mu dans la sous-trame j de la trame i ; 20 d)- on établit la valeur du seuil Cl propre à la trame i en fonction de toutes les valeurs de référence Refij, MRefi j calculées dans les sous-trames j de la trame i. 8. Procédé selon la revendication 7, dans lequel, lors de l'étape c), on 25 réalise les sous-étapes suivantes sur chaque trame i : c1)-on calcule les enveloppes lissées des maximum rrii,i dans chaque sous-trame d'indice j de la trame i, avec : mi j = + (1 - , où À est un coefficient prédéfini compris entre 0 et 1 ; 30 c2)-on calcule les signaux de variation Di ,j dans chaque sous-trame d'indice j de la trame i, avec : Ai,i = mi,i mi,i = ;et où au moins une valeur de référence dite principale Refi j par sous-trame j est calculée à partir du signal de variation Ai j dans la sous-trame j de la trame i. 9. Procédé selon la revendication 8, dans lequel, lors de l'étape c) et à 5 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 s;,; dans chaque sous-trame d'indice j de la trame i, où s;,; correspond au maximum du signal de variation Ai j calculé sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j, ladite 10 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 b;,; dans chaque sous-trame d'indice j de la trame i, avec : Si4 = Ai4 - si4 ; 15 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 Ai j et de l'écart de variation b;,;. 10. Procédé selon la revendication 9, dans lequel, lors de l'étape c) et à 20 la suite de la sous-étape c4), on réalise une sous-étape c5) de calcul des signaux de variation normalisés A'i j et des écarts de variation normalisés Es'i dans chaque sous-trame d'indice j de la trame i, comme suit : 25 et où, pour chaque sous-trame j d'une trame i, le signal de variation normalisé j et l'écart de variation normalisé b';,; constituent chacun une valeur de référence principale Refi j de sorte que, lors de l'étape d), on établit la valeur du seuil Cl propre à la trame i en fonction du couple (A'i j, j) des signaux de variation normalisés A'i j et des écarts de variation normalisés b';,; dans les 30 sous-trames j de la trame i. 1,1 m1,1 " 30142 3 7 29 11. Procédé selon la revendication 10, dans laquelle, lors de l'étape d), la valeur du seuil Cl propre à la trame i est établie en partitionnant l'espace défini par la valeur du couple (0';,j, j), et en examinant la valeur du couple (0';,j, j) sur une ou plusieurs sous-trames successives selon la zone de valeur du couple (0';,j, j). 12. Procédé selon l'une quelconque des revendications 9 à 11, 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 13. Procédé selon la revendication 10, dans lequel, lors de la sous-étape c3), pour chaque calcul du maximum de variation si j dans la sous-trame j de la trame i, la fenêtre glissante de longueur Lm est en retard de Mm trames de 20 longueur N vis-à-vis de ladite sous-trame j. 14. Procédé selon les revendications 10 et 13, dans lequel, lors de la sous-étape c3), on calcule également les maximums de variation normalisés s'; ,j dans chaque sous-trame d'indice j de la trame i, où s';,j correspond au 25 maximum du signal de variation normalisé 0';,j calculé sur une fenêtre glissante de longueur Lm antérieure à ladite sous-trame j, où : -= Sij et où chaque maximum de variation normalisé s'; ,j est calculée selon une 30 méthode de minimisation comprenant les étapes itératives suivantes : - calcul de = max ;~~i-Mm,j} et = max ;~~i-Mm,j} - si rem(i, Lm) = 0, où rem est l'opérateur reste de la division entière de deux entiers, alors : Sij = max ;i-mm,i avec s'0,1 = 0 et g'0,1 = 0 ; et dans lequel, lors de l'étape c4), on calcule les écarts de variation normalisés j dans chaque sous-trame d'indice j de la trame i, comme suit : = - 15. Procédé selon l'une quelconque des revendications 8 à 14, dans lequel, lors de l'étape c), on réalise une sous-étape c6) dans laquelle on calcule les maximums de maximale q;,; dans chaque sous-trame d'indice j de la trame i, où q;,; correspond au maximum de la valeur maximale mu 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;,; dans la sous-trame j de la trame i. 16. Procédé selon l'une quelconque des revendications 8 à 15, dans lequel, lors de l'étape d), le seuil Cl propre à la trame i est découpée en plusieurs sous-seuils Qu propres à chaque sous-trame j de la trame i, et la valeur de chaque sous-seuil Qu 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. 17. Procédé selon les revendications 10 et 16, dans lequel, lors de l'étape d), on établit la valeur de chaque seuil Qu propre à la sous-trame j de trame i en comparant les valeurs du couple (A'i j, j) avec plusieurs couples de seuils fixes, la valeur de chaque seuil Qu étant sélectionnée parmi plusieurs valeurs fixes en fonction des comparaisons du couple (A'i j, j) avec lesdits couples de seuils fixes. 18. Procédé selon l'une quelconque des revendications 8 à 17, 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 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 DECi(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 DECi(j) occupe cet état « 1 » de détection d'un signal de parole. 19. Procédé selon les revendications 16 et 18, 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 {A} 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 Au qui correspond à la valeur maximale moyenne du signal acoustique discret {A} dans la sous-trame j de la trame i calculée comme suit : Ai4 = 0 Ai4_1 + (1 - où ai correspond au maximum du signal acoustique discret {A} contenu dans une trame formée par la sous-trame j de la trame i et par au moins une ou 25 plusieurs sous-trames successives qui précèdent ladite sous-trame j ; et 0 est un coefficient prédéfini compris entre 0 et 1 avec 0 20. Procédé selon la revendication 19, dans lequel, lors de la procédure de décision, on réactualise la valeur maximale de seuil Lastmax à chaque foisque le procédé a considéré qu'une sous-trame p d'une trame k contient un signal de parole, en mettant en oeuvre 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 5 valeur actualisée [a (Ak,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 Ak,p si Ak,p > Lastmax. 10 21. Procédé selon les revendications 19 ou 20, dans lequel, on établit la valeur du seuil Cl en fonction de ladite valeur maximale Lastmax en se basant sur la comparaison entre : - la valeur maximale de seuil Lastmax ; et 15 - les valeurs [Kp.Aii] et [Kp. Ai,0], où Kp est un coefficient fixe de pondération compris entre 1 et 2. 22. Procédé selon l'une quelconque des revendications 4 à 21, comportant en outre une phase dite de blocage comprenant une étape de 20 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 Np trames i temporelles successives. 23. Procédé selon l'une quelconque des revendications 4 à 22, 25 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 NA trames i temporelles successives. 30 24. Procédé selon l'une quelconque des revendications 22 et 23, 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(r). 35 25. 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. 26. Support d'enregistrement de données sur lequel est stocké le programme d'ordinateur selon la revendication 25. 27. Mise à disposition d'un programme selon la revendication 25 sur un 10 réseau de télécommunication en vue de son téléchargement.