FR2988894A1 - Method for detection of voice to detect presence of word signals in disturbed signal output from microphone, involves comparing detection function with phi threshold for detecting presence of absence of fundamental frequency - Google Patents

Method for detection of voice to detect presence of word signals in disturbed signal output from microphone, involves comparing detection function with phi threshold for detecting presence of absence of fundamental frequency Download PDF

Info

Publication number
FR2988894A1
FR2988894A1 FR1252915A FR1252915A FR2988894A1 FR 2988894 A1 FR2988894 A1 FR 2988894A1 FR 1252915 A FR1252915 A FR 1252915A FR 1252915 A FR1252915 A FR 1252915A FR 2988894 A1 FR2988894 A1 FR 2988894A1
Authority
FR
France
Prior art keywords
sdi
ddi
frame
function
voice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1252915A
Other languages
French (fr)
Other versions
FR2988894B1 (en
Inventor
Karim Maouche
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adeunis RF SA
Original Assignee
Adeunis RF SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adeunis RF SA filed Critical Adeunis RF SA
Priority to FR1252915A priority Critical patent/FR2988894B1/en
Publication of FR2988894A1 publication Critical patent/FR2988894A1/en
Application granted granted Critical
Publication of FR2988894B1 publication Critical patent/FR2988894B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals

Abstract

The method involves performing digitalization and cutting of sound effects in an acoustic signal in a succession of temporal frames. The temporal frames are sampled so as to obtain a set of parameters of a vector. The vector is allowed to translate acoustic contents of the frames with a number of sampling points. A square difference function (d-tau), a square sum function (s-tau), and a normalization factor (Qi) are calculated for each frame. A detection function is compared with a phi threshold for detecting the presence or absence of a fundamental frequency of a typical speech signal. Independent claims are also included for the following: (1) a computer program comprising instructions for performing a method for detection of voice (2) a recording medium with instructions for performing the method for detection of voice.

Description

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. 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 35 n y a pas de parole et que l'on se trouve dans une période de silence, le débit 2 9 88894 2 de codage baisse significativement, ce qui en moyenne, sur tout le signal, permet d'atteindre des débits relativement faibles. Il existe ainsi beaucoup de procédés de détection d'activité de la voix mais ces derniers restent limités dans le cadre d'un environnement bruité 5 voire très bruité, car ils 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 10 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 15 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 20 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 25 même signal décalé. 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. Une première méthode de détection de la fréquence fondamentale met en oeuvre les étapes suivantes : 30 i) numérisation et découpage du signal acoustique bruité en une suite de trames temporelles ; ii) échantillonnage des trames temporelles de manière à obtenir, par trame i, un vecteur de paramètres {A}, ce vecteur de paramètres traduisant le contenu acoustique de la trame i avec un nombre N de points d'échantillonnage ; 35 iii) recherche, pour chaque trame i, du maximum de la fonction d'auto-corrélation R(t) définie par la relation suivante : 3 R(t) = N-1-i < < max(t) . 1 N x(n)x(n +-c) , n=0 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. 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 oeuvre les étapes i) et ii) précitées, puis les deux étapes suivantes : iv) calcul, pour chaque trame i, d'une fonction différence D(c) définie par la relation suivante : N-1-r 1 D(r) = -N lx(n) - x(n + '01 , 0 < i < max(r) , n=0 où I I est l'opérateur valeur absolue ; y) recherche, pour chaque trame i, du minimum de la fonction différence D(c) , cette fonction différence étant minimale au voisinage de la fréquence fondamentale et de ses multiples ; vi) comparaison de ce minimum avec un seuil pour en déduire la décision de 15 présence de voix ou non. Par rapport à la fonction d'auto-corrélation R(t) , la fonction différence D(c) 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 20 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 oeuvre les étapes i) et ii) précitées, puis les deux étapes suivantes : vii) calcul, pour chaque trame i, en considérant une fenêtre de traitement de longueur H où H<N, de la fonction différence carrée MT) définie par la 25 relation : \ Clt(T) = Eit+tH-1(Xi - Xi+T) , viii) recherche, pour chaque trame i, du minimum de la fonction différence carrée MT), cette fonction différence carrée étant minimale au voisinage de la fréquence fondamentale et de ses multiples ; ix) 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 clt(r) en calculant une fonction 5 différence carrée normalisée da-c) répondant à la relation suivante : 1, si T = 0 di (T) = 1 sinon d t (T) dt(i) 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 10 environnement très bruité. 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. 15 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 bruité issu d'un microphone, comportant les étapes successives suivantes : a) numérisation et découpage du signal acoustique bruité en une suite de 20 trames temporelles ; b) échantillonnage des trames temporelles de manière à obtenir, par trame i, un vecteur de paramètres {A}, ce vecteur de paramètres traduisant le contenu acoustique de la trame i avec un nombre N de points d'échantillonnage ; ledit procédé étant remarquable en ce qu'il comprend en outre les étapes 25 suivantes : c) calcul, pour chaque trame i, en considérant une fenêtre de traitement de longueur H où H<N, des trois fonctions suivantes : - une fonction différence carrée clt(r) définie par la relation : \ dt(T) = Eit+tH-1(Xi - Xi+T) , 30 - une fonction somme carrée st(r) définie par la relation : St(T) = Etirl(Xi Xj')2 , et - un coefficient de normalisation Q; ; d) comparaison, pour chaque trame i, du minimum d'une fonction de détection d't'(r) avec un seuil cp prédéterminé pour détecter la présence ou non d'une 5 fréquence fondamentale Fo caractéristique d'un signal de parole, en considérant que la fonction de détection d't'(r) répond à la relation suivante : dter) dt"(t) = St(T) Qi Ainsi, la fonction de détection d't'(r) constitue une normalisation de la fonction différence carrée dt(r) qui est différente de la normalisation réalisée 10 par la fonction différence carrée normalisée da-c) précitée. Avec la fonction différence carrée normalisée da-c), la détection des signaux de parole n'est pas optimale. En effet, la mauvaise détection des signaux de parole mis en oeuvre avec la fonction différence carrée normalisée da-c) vient du fait que, pour chaque trame, la fonction différence 15 carrée normalisée da-c) présente parfois des minimums recherchés qui ne vont pas en-dessous du seuil prédéterminé dans les zones de bruit à faible RSB (Rapport Signal sur Bruit). Il est bien entendu envisageable d'augmenter ce seuil pour améliorer la détection de voix, mais ce seuil ne serait pertinent que pour le signal acoustique traité et, pour un autre signal acoustique dans un 20 autre environnement bruité, il faudrait modifier à nouveau ce seuil pour s'adapter à la situation, ce qui est peu applicable avec des terminaux de communication en mouvement et/ou qui évoluent dans des environnements mouvants en terme de bruit. A contrario, avec la nouvelle normalisation mis en oeuvre avec le 25 procédé conforme à l'invention, la courbe des minimums de la fonction de détection d't'(r) sera d'autant plus faible que le bruit est fort. C'est cette nouvelle normalisation qui donne au procédé de détection cette capacité de réaction vis-à-vis du niveau de bruit. Cela est d'autant meilleur que le seuil par rapport auquel la décision de présence/absence de voix est prise est constant 30 et ne varie pas en fonction du signal utile de parole et du bruit. En conclusion, la nouvelle fonction de détection d't'(r) offre un taux de détection beaucoup plus important qu'avec la fonction différence carrée normalisée da-c) connue. The present invention relates to a voice detection method for detecting the presence of speech signals in a noisy acoustic signal from a microphone. It relates more particularly to a voice detection method used in a single-sensor wireless audio communication system. The invention is in the specific field of voice activity detection, generally referred to as "VAD" for Voice Activity Detection, which consists of detecting speech, in other words speech signals, in an acoustic signal derived from a microphone. The invention finds a preferred, but not limiting, application with a multi-user wireless audio communication system, of the type of time-division or full-duplex communication system, between several autonomous communication terminals, that is to say ie without connection to a transmission base or network, and simple to use, that is to say without intervention of a technician to establish communication. Such a communication system, in particular known from the documents W010149864 A1, WO10149875 A1 and EP1843326 A1, is conventionally used in a noisy or very noisy environment, for example in a marine environment, in the context of a show or a sporting event. indoor or outdoor, on a construction site, etc. The detection of voice activity generally consists in delimiting, by means of quantifiable criteria, the beginning and end of words and / or sentences in a noisy acoustic signal, in other words in a given audio stream. Such detection finds applications in areas such as speech coding, noise reduction or speech recognition. The implementation of a method for detecting the voice in the processing chain of an audio communication system makes it possible in particular not to transmit an acoustic or audio signal during the periods of silence. Therefore, the surrounding noise will not be transmitted during these periods, for the sake of improving the audio rendering of the communication. For example, in the context of speech coding, it is known to employ voice activity detection to encode the audio signal in a full manner only when the "VAD" method indicates activity. As a result, when there is no speech and there is a period of silence, the coding rate drops significantly, which on average, over the entire signal, makes it possible to achieve relatively low flow rates. There are thus many methods of detecting voice activity but these are limited in the context of a noisy environment or very noisy because they give poor results when the speech signal is tainted noise. Among the known voice activity detection methods, some implement a detection of the fundamental frequency characteristic of a speech signal. In the case of a speech signal, referred to as a signal or voiced sound, the signal has indeed a so-called fundamental frequency, generally called "pitch", which corresponds to the vibrational frequency of the vocal cords of the speaker, and which generally extends between 70 and 400 Hertz. The evolution of this fundamental frequency determines the melody of speech and its extent depends on the speaker, his habits but also his physical and mental state. Thus, to perform the detection of a speech signal, it is known to assume that such a speech signal is quasi-periodic and that, as a result, a correlation or a difference with the signal itself but The offset will have maximums or minima in the vicinity of the fundamental frequency and its multiples. The paper "YIN, a fundamental frequency estimator for speech and music," by Alain De Cheveigne and Hideki Kawahara, Journal of the Acoustical Society of America, Vol. 111, No. 4, pp. 1917-1930, April 2002, proposes and develops a method based on the difference between the signal and the same shifted signal. Several methods described below are based on the detection of the fundamental frequency of the speech or pitch signal. A first method of detecting the fundamental frequency uses the following steps: i) digitizing and cutting the noisy acoustic signal in a series of time frames; ii) sampling the time frames so as to obtain, by frame i, a vector of parameters {A}, this vector of parameters translating the acoustic content of the frame i with a number N of sampling points; Iii) searching, for each frame i, for the maximum of the autocorrelation function R (t) defined by the following relation: R (t) = N-1-i <<max (t). 1 N x (n) x (n + -c), n = 0 This first method using the autocorrelation function does not give satisfaction, however, when there is noise. Moreover, the autocorrelation function suffers from the presence of maxima that do not correspond to the fundamental frequency or its multiples, but to sub-multiples of it. A second fundamental frequency detection method implements the aforementioned steps i) and ii), then the following two steps: iv) calculation, for each frame i, of a difference function D (c) defined by the following relation : N-1-r 1 D (r) = -N lx (n) -x (n + '01, 0 <i <max (r), n = 0 where II is the absolute value operator; y) search for each frame i, the minimum of the difference function D (c), this difference function being minimal in the vicinity of the fundamental frequency and its multiples; vi) comparison of this minimum with a threshold to deduce the decision of presence of voice or not. Compared to the autocorrelation function R (t), the difference function D (c) has the advantage of offering a lower computational load, thus making this second method more interesting for real-time applications. However, this second method also does not give complete satisfaction when there is noise. A third fundamental frequency detection method implements the aforementioned steps i) and ii), then the following two steps: vii) calculation, for each frame i, considering a treatment window of length H where H <N, of the square difference function MT) defined by the relation: Clt (T) = EI + tH-1 (Xi - Xi + T), viii) search, for each frame i, of the minimum of the difference function square MT) , this square difference function being minimal in the vicinity of the fundamental frequency and its multiples; ix) comparison of this minimum with a threshold to deduce the decision of presence of voice or not. A known improvement of this third method consists in normalizing the square difference function clt (r) by calculating a normalized square difference function da-c) corresponding to the following relation: 1, if T = 0 di (T) = 1 otherwise dt (T) dt (i) Although with better noise immunity and better detection results in this setting, this third method has limitations in terms of voice detection, especially in low noise areas. RSB (Signal to Noise Ratio) characteristics of a very noisy environment. The present invention aims to provide a voice detection method that provides a detection of speech signals contained in a noisy acoustic signal, particularly in noisy environments or very noisy. To this end, it proposes a voice detection method for detecting the presence of speech signals in a noisy acoustic signal from a microphone, comprising the following successive steps: a) digitizing and cutting the noisy acoustic signal in a sequence of 20 time frames; b) sampling the time frames so as to obtain, by frame i, a vector of parameters {A}, this vector of parameters translating the acoustic content of the frame i with a number N of sampling points; said method being remarkable in that it further comprises the following steps: c) calculating, for each frame i, considering a processing window of length H where H <N, of the three following functions: - a square difference function clt (r) defined by the relation: \ dt (T) = Eit + tH-1 (Xi - Xi + T), 30 - a sum-square function st (r) defined by the relation: St (T) = Etirl ( Xi Xj ') 2, and - a normalization coefficient Q; ; d) comparing, for each frame i, the minimum of a detection function of t '(r) with a predetermined threshold cp for detecting the presence or absence of a fundamental frequency Fo characteristic of a speech signal, considering that the detection function of t '(r) corresponds to the following relation: dter) dt "(t) = St (T) Qi Thus, the detection function of t' (r) constitutes a normalization of the square difference function dt (r) which is different from the normalization performed by the above-mentioned standard square difference function da-c) With the standard square difference function da-c), the detection of the speech signals is not optimal Indeed, the poor detection of the speech signals implemented with the standardized square difference function da-c) results from the fact that, for each frame, the normalized square difference function da-c) sometimes has desired minimums which do not go below the predetermined threshold in the noise zones with low SNR (Signal to Noise Ratio). It is of course conceivable to increase this threshold to improve voice detection, but this threshold would be relevant only for the acoustic signal processed and, for another acoustic signal in another noisy environment, this threshold should be modified again. to adapt to the situation, which is not very applicable with communication terminals in motion and / or which evolve in shifting environments in terms of noise. On the other hand, with the new standardization implemented with the method according to the invention, the curve of the minimums of the detection function of t '(r) will be all the lower as the noise is strong. It is this new standardization that gives the detection method this reaction capacity vis-à-vis the noise level. This is all the better as the threshold relative to which the decision of presence / absence of voice is taken is constant and does not vary according to the useful speech signal and the noise. In conclusion, the new detection function of t '(r) offers a much higher detection rate than with the known standard square difference function da-c).

Selon une caractéristique, le coefficient de normalisation Qi calculé lors de l'étape c) est défini par la relation suivante : Qi = Enx (T) st (T) Selon une autre caractéristique, l'étape c) comporte les sous-5 étapes suivantes : c.1) détermination d'un intervalle de recherche de délais temporels [mint, maxi] ; c.2) calcul d'une matrice d'indices pour les délais A répondant à la relation suivante : maxt ( 2 ) + ((0 : maxt - 1)/2) A = maxt ( 2 ((1 : maxc)/2) 10 où: - ( ) représente un opérateur d'arrondi, notamment un opérateur d'arrondi au plus proche ; - (0 : maxt - 1) = (0 1 2 ... (maxt - 2)(maxt - 1)) ; et - (1 : maxt) = (1 2 ... (maxt - 1)(maxt)) c.3) détermination, pour chaque trame courante i et sur des intervalles de 15 temps successifs de longueur H, d'une matrice de la fonction différence carrée ddi et d'une matrice de la fonction somme carrée sdi, lesdites matrices ddi et sdi étant organisées avec un nombre de lignes nRows et un nombre de colonnes nCols et définies par les éléments génériques suivants : ddi(k,1) = en-2-0(xi(A(0,1) + kH + m) - xi(0(1,1) + kH + m))2 ; et 20 sdi(k,l) = en-2-0(xi(A(0,1) + kH + m) + xi(0(1,1) + kH + m))2 , où k correspond à l'indice de ligne et I correspond à l'indice de colonne ; c.4) calcul, pour chaque trame courante i et chaque ligne I, d'un vecteur différence Ddi(I) et d'un vecteur somme Sdi(I) répondant aux relations suivantes : 25 Ddi(1) = U_Rrs-1 ddi(k,1) ; et Sdi(1) = sdi(k,1) ; Selon une autre caractéristique, l'étape c) comporte la sous-étape c.5) de calcul, pour chaque trame courante i, d'un coefficient de normalisation Qi répondant à la relation suivante : Qi = E1 Cois-1 sdi(1) De manière avantageuse, la sous-étape c.1) est réalisée en : - définissant un intervalle de recherche fréquentiel [minFo ; maxFo] autour de la fréquence fondamentale Fo ; puis - calculant l'intervalle de recherche de délais temporels [mint, maxi] avec les 5 relations suivantes : mint = I Fe I et maxi = [ e tmaxF01 I minFF e 10 où : - Fe correspond à la fréquence d'échantillonnage de la séquence considérée mis en oeuvre lors de l'étape b) ; - J représente l'opérateur d'arrondi en partie entière ; et - 1 représente l'opérateur d'arrondi en partie entière par excès. Pour la recherche de la fréquence fondamentale Fo, il est en effet avantageux de définir un intervalle de recherche [minFo, maxFo] auquel correspond l'intervalle de recherche de délais temporels [mint, max-c]. Par exemple, [minFo, maxFo] = [70, 400] Hz qui donnera, pour une fréquence 15 d'échantillonnage Fe = 8 kHz, un intervalle [mint, maxi] = [20, 115]. Dans une réalisation particulière, lors de la sous-étape c.3), le nombre de lignes nRows et le nombre de colonnes nCols sont définis par les relations suivantes : - nRows = N-maxi et H 20 - nCols = max-c, où I_ J représente l'opérateur d'arrondi en partie entière. Avantageusement, pour nRows >2, la sous-étape c.4) est réalisée en : i) déterminant, pour la première trame courante, le vecteur différence Ddi(I) et 25 le vecteur somme Sdi(I), où : Dd1(1) = ddi(k,l) et Sd1(1) = URco)ws-1 sdi(k,l) ; puis en ii) déterminant, pour les trames suivantes, les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I) par application des relations suivantes : 30 Ddi+i (1) = Ddi(1) - r1(1,1) + ri+1(nRows,1) ; et Sdi+1(1) = Sdi(1) - ni (1,1) + ni+1(nRows,1) ; . où : - ri(m, I) correspond à la ligne d'indice m de la matrice de la fonction différence carrée dd; ; et - ni(m, I) correspond à la ligne d'indice m de la matrice de la fonction somme carrée sdi. According to one characteristic, the normalization coefficient Qi calculated during step c) is defined by the following relation: Qi = Enx (T) st (T) According to another characteristic, step c) comprises the sub-steps following: c.1) determination of a time delay search interval [mint, maxi]; c.2) calculation of an index matrix for the delays A corresponding to the following relation: maxt (2) + ((0: maxt - 1) / 2) A = maxt (2 ((1: maxc) / 2) where: - () represents a rounding operator, in particular a rounding operator at the nearest, - (0: maxt - 1) = (0 1 2 ... (maxt - 2) (maxt - 1 ) and - (1: maxt) = (1 2 ... (maxt - 1) (maxt)) c.3) determination, for each current frame i and over successive time intervals of length H, d a matrix of the square difference function ddi and of a matrix of the square sum function sdi, said matrices ddi and sdi being organized with a number of rows nRows and a number of columns nCols and defined by the following generic elements: ddi ( k, 1) = en-2-0 (xi (A (0,1) + kH + m) - xi (0 (1,1) + kH + m)) 2; and 20 sdi (k, l) = en-2-0 (xi (A (0,1) + kH + m) + xi (0 (1,1) + kH + m)) 2, where k is 1 line index and I corresponds to the column index; c.4) calculating, for each current frame i and each line I, a difference vector Ddi (I) and a sum vector Sdi (I) corresponding to the following relations: Ddi (1) = U_Rrs-1 ddi (k, 1); and Sdi (1) = sdi (k, 1); According to another characteristic, step c) comprises the substep c.5) of calculation, for each current frame i, of a normalization coefficient Qi corresponding to the following relation: Qi = E1 Cois-1 sdi (1 Advantageously, the sub-step c.1) is performed by: - defining a frequency search interval [minFo; maxFo] around the fundamental frequency Fo; then - calculating the time delay search interval [mint, maxi] with the following 5 relations: mint = I Fe I and maxi = [e tmaxF01 I minFF e 10 where: - Fe corresponds to the sampling frequency of the sequence considered implemented during step b); J represents the operator of rounding in full part; and - 1 represents the operator of rounding in whole part by excess. For the search of the fundamental frequency Fo, it is indeed advantageous to define a search interval [minFo, maxFo] which corresponds to the time delay search interval [mint, max-c]. For example, [minFo, maxFo] = [70, 400] Hz which will give, for a sampling frequency Fe = 8 kHz, an interval [mint, maxi] = [20, 115]. In a particular embodiment, during the sub-step c.3), the number of rows nRows and the number of columns nCols are defined by the following relations: - nRows = N-maxi and H 20 - nCols = max-c, where I_J represents the full rounded operator. Advantageously, for nRows> 2, the substep c.4) is performed by: i) determining, for the first current frame, the difference vector Ddi (I) and the sum vector Sdi (I), where: Dd1 ( 1) = ddi (k, l) and Sd1 (1) = URco) ws-1 sdi (k, l); then ii) determining, for the following frames, the difference vectors Ddi (I) and the sum vectors Sdi (I) by applying the following relations: Ddi + i (1) = Ddi (1) - r1 (1.1 ) + ri + 1 (nRows, 1); and Sdi + 1 (1) = Sdi (1) - ni (1,1) + n + 1 (nRows, 1); . where: - ri (m, I) corresponds to the index line m of the matrix of the square difference function dd; ; and - ni (m, I) corresponds to the index line m of the matrix of the square sum function sdi.

En effet, les matrices ddi et sdi possèdent les propriétés d'invariance suivantes : ri+1(1,1) ri(2, 1) dd n+1(2,1) ri(3, 1) [ddi(2: nRows, 1)1 ri+i (nRows, 1) ' et i+i = ri+i(nRows - 1,1) (nRows, 1) ri+i (nRows, 1) ri+1(nRows,1)_ ni+1(1, 1) ni (2, 1) ni+1(2, 1) ni(3, 1) - - ni+ (nRows - 1,1) ni (nRows, 1) ni+i(nRows, 1) ni+i (nRows, 1) sdi+1 = [sdi (2: nRows, 1)1 [ ni+i (nRows, 1) [ ' où : - ddi(2: nRows,1) est une matrice extraite de la matrice ddi associée à la 10 trame d'indice i, comportant les lignes 2 à nRows de cette dernière, - sdi(2: nRows,1) est une matrice extraite de la matrice sdi associée à la trame d'indice i, comportant les lignes 2 à nRows de cette dernière. On en déduit donc l'équation suivante : nRows nRows Ddi+1(1) = ri+i(k, 1) = ri(k, 1) + ri+i(nRows, 1) k=1 k=2 nRows ri(k, 1) - ri(1, 1) + ri+i(nRows, 1) k=1 = Ddi(1) - ri(1,1) + ri+i(nRows, 1) , 15 De même, en suivant un raisonnement similaire, on en déduit l'autre équation : Sdi+1(1) = Sdi(1) - ni(1, 1) + ni+i(nRows, 1) ; Ainsi, il n'est plus nécessaire de calculer tous les éléments des 20 matrices ddi et sdi, puis de procéder à la somme de leurs lignes pour calculer les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I). Au lieu de cela, il suffit de partir des vecteurs Ddi(I) et Sdi(I), puis de mettre à jour les vecteurs Ddi(I) et Sdi(I) en appliquant les deux équations précédentes qui passe par, d'une part, le calcul des lignes r1+1(nRows,1) et ni+1(nRows,1) et, d'autre part, la sauvegarde à l'itération précédente de r1(1,1) et n1(1,1). Selon un premier algorithme, l'étape d) comporte les sous-étapes suivantes : d.1) calcul, pour chaque trame courante i et chaque ligne I, d'une fonction de détection Dni(I) répondant à la relation suivante : Dni(1) = Ddi(1)/[Qi Sdi(1)] d.2) calcul, pour chaque trame courante i, d'un minimum rr(i) de la fonction de détection Dni(I), avec la relation suivante : rr(i) = min(Dni(mier : maxi)) ; d.3) comparaison, pour chaque trame courante i, du minimum rr(i) avec le seuil prédéterminé cp pour détecter la présence ou non d'un signal voisé, avec : - si le minimum rr(i) est inférieur ou égal au seuil cp, alors la trame i est considérée comme présentant un signal de parole ; - si le minimum rr(i) est supérieur au seuil cp, alors la trame i est considérée comme ne présentant pas de signal de parole. Selon un second algorithme, l'étape d) est réalisée en comparant, pour chaque trame courante i et en faisant varier l'indice de colonne I entre mint et max-c, le vecteur différence Ddi(I) avec la fonction [(p.Q.Sdi(1)] pour 20 détecter la présence ou non d'un signal voisé, avec : - si Ddi(I) < [(p.Q.Sdi(1)], alors la trame i est considérée comme présentant un signal de parole ; - si Ddi(I) > [(p.Q.Sdi(1)], alors la trame i est considérée comme ne présentant pas de signal de parole. 25 Ce second algorithme est avantageux par rapport au premier algorithme précité, car il évite les divisions nécessaires pour le calcul de la fonction de détection Dni(I) et il évite le calcul du minimum global rr(i). Dans un mode de réalisation particulier, lequel l'étape b) comporte des étapes supplémentaires consistant à calculer, pour chaque trame i, une 30 énergie ei de la trame i et ensuite comparer cette énergie ei avec un seuil d'énergie Ô, de sorte que : - si l'énergie ei de la trame i est inférieure au seuil d'énergie Ô, alors la trame i est considérée comme ne présentant pas de signal de parole ; et - si l'énergie ei de la trame i est supérieure au seuil d'énergie Ô, alors les étapes c) et d) sont mis en oeuvre pour cette trame i pour détecter la présence 5 ou non d'un signal de parole. Dans ce mode de réalisation, lorsque l'énergie ei de la trame i est faible, le procédé estime une absence de signal de parole, et ce sans passer par le calcul algorithmique complet des étapes c) et d) du procédé. Une première estimation de l'énergie ei est : ei = lx(i-i)N+kl - k=1 10 Une seconde estimation de l'énergie ei est, en alternative tout aussi efficace que la première : ei = Er_o Sd, (I) , où M est un entier prédéfini, par exemple avec M=5 ou 6. De manière avantageuse, le procédé comporte en outre une étape de basculement d'un état de non détection d'un signal de parole à un état de 15 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. Ainsi, le procédé comporte une machine d'état 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 20 avec présence de voix. De même, le procédé comporte en outre 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. 25 Ainsi, le procédé comporte une machine d'état 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 NA trames successives sans voix. Sans ces étapes de basculement, le procédé risque de couper 30 ponctuellement le siganl 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. Indeed, the matrices ddi and sdi have the following invariance properties: ri + 1 (1,1) ri (2, 1) dd n + 1 (2,1) ri (3, 1) [ddi (2: nRows, 1) 1 ri + i (nRows, 1) 'and i + i = ri + i (nRows - 1,1) (nRows, 1) ri + i (nRows, 1) ri + 1 (nRows, 1) _ ni + 1 (1, 1) ni (2, 1) ni + 1 (2, 1) ni (3, 1) - - ni + (nRows - 1,1) ni (nRows, 1) ni + i (nRows , 1) ni + i (nRows, 1) sdi + 1 = [sdi (2: nRows, 1) 1 [ni + i (nRows, 1) ['where: - ddi (2: nRows, 1) is a matrix extracted from the matrix ddi associated with the frame of index i, comprising the lines 2 to nRows of the latter, - sdi (2: nRows, 1) is a matrix extracted from the matrix sdi associated with the index frame i , with lines 2 to nRows of the latter. We thus deduce the following equation: nRows nRows Ddi + 1 (1) = ri + i (k, 1) = ri (k, 1) + ri + i (nRows, 1) k = 1 k = 2 nRows ri (k, 1) - ri (1, 1) + ri + i (nRows, 1) k = 1 = Ddi (1) - ri (1,1) + ri + i (nRows, 1), Similarly, following a similar reasoning, we deduce the other equation: Sdi + 1 (1) = Sdi (1) - ni (1, 1) + ni + i (nRows, 1); Thus, it is no longer necessary to calculate all the elements of matrices ddi and sdi, then to proceed with the sum of their lines to calculate the difference vectors Ddi (I) and the sum vectors Sdi (I). Instead, it is enough to start from the vectors Ddi (I) and Sdi (I), then to update the vectors Ddi (I) and Sdi (I) by applying the two previous equations that pass by, of a on the other hand, the calculation of the rows r1 + 1 (nRows, 1) and ni + 1 (nRows, 1) and, on the other hand, the backup at the previous iteration of r1 (1,1) and n1 (1,1 ). According to a first algorithm, step d) comprises the following sub-steps: d.1) calculating, for each current frame i and each line I, a detection function Dni (I) corresponding to the following relation: Dni (1) = Ddi (1) / [Qi Sdi (1)] d.2) computation, for each current frame i, of a minimum rr (i) of the detection function Dni (I), with the following relation : rr (i) = min (Dni (min: max)); d.3) comparing, for each current frame i, the minimum rr (i) with the predetermined threshold cp to detect the presence or absence of a voiced signal, with: - if the minimum rr (i) is less than or equal to threshold cp, then the frame i is considered to have a speech signal; if the minimum rr (i) is greater than the threshold cp, then the frame i is considered as having no speech signal. According to a second algorithm, step d) is performed by comparing, for each current frame i and by varying the column index I between mint and max-c, the difference vector Ddi (I) with the function [(pQ Sdi (1)] to detect the presence or absence of a voiced signal, with: - if Ddi (I) <[(pQSdi (1)], then the frame i is considered to have a speech signal; if Ddi (I)> [(pQSdi (1)], then the frame i is considered as not having a speech signal This second algorithm is advantageous with respect to the first algorithm mentioned above, since it avoids the divisions necessary for the calculation of the detection function Dni (I) and it avoids the computation of the global minimum rr (i) In a particular embodiment, which step b) comprises additional steps of calculating, for each frame i, an energy ei of the frame i and then compare this energy ei with an energy threshold δ, so that: - if the energy e i of the frame i is below the energy threshold δ, then the frame i is considered as not having a speech signal; and if the energy ei of the frame i is greater than the energy threshold δ, then steps c) and d) are implemented for this frame i to detect the presence or absence of a speech signal. In this embodiment, when the energy ei of the frame i is small, the method estimates an absence of speech signal, without going through the complete algorithmic calculation of steps c) and d) of the method. A first estimate of the energy ei is: ei = lx (ii) N + kl - k = 1 A second estimate of the energy ei is, as an alternative, just as effective as the first: ei = Er_o Sd, (I ), where M is a predefined integer, for example with M = 5 or 6. Advantageously, the method further comprises a step of switching from a non-detection state of a speech signal to a detection state. of a speech signal after detecting the presence of a speech signal on Np successive time frames. Thus, the method comprises a state machine of the hangover type configured in such a way that the transition from a voiceless situation to a situation with voice presence occurs only after successive Np frames 20 with presence of voices. Similarly, the method further comprises a step of switching from a detection state of a speech signal to a non-detection state of a speech signal after detecting no presence of a voiced signal on NA frames i successive times. Thus, the method includes a hangover type state machine configured such that the transition from a voice-present situation to a voiceless situation occurs only after NA successive voiceless frames. Without these tilting steps, the process may cut the acoustic siganl punctually during the sentences or even in the middle of the spoken words. To remedy this, these failover steps implement a blocking or hangover step on a given series of frames.

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. The invention also relates to a computer program comprising code instructions able to control the execution of the steps of the voice detection method as defined above when executed by a processor.

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 10 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 oeuvre non limitatif, faite en référence aux figures annexées dans lesquelles : 15 - la figure 1 est une vue schématique d'un système de détection de la voix permettant de mettre en oeuvre le procédé conforme à l'invention ; - la figure 2 est une vue schématique d'une boucle de limitation mis en oeuvre par un module de blocage de décision ou module hangover ; - la figure 3 illustre un signal acoustique de base intégrant une série de 20 neuf phrases venant de neuf locuteurs différents et séparées par des zones de silence ; - la figure 4 illustre un signal acoustique bruité correspondant au signal acoustique de base de la figure 3 auquel est rajouté du bruit blanc avec des RSB (Rapport Signal sur Bruit) différents ; 25 - la figure 5 illustre un signal de détection résultant d'un procédé de « VAD » utilisant l'algorithme standard G729 ; - la figure 6 illustre un signal de détection résultant d'un procédé de détection conforme à l'invention ; - la figure 7 illustre une courbe de la fonction différence carrée 30 normalisée da-c), avec une ligne de seuil (en haut), et un signal de détection résultant (en bas) ; et - la figure 8 illustre une courbe de la fonction de détection d't' (r) utilisée pour le procédé conforme à l'invention, avec une ligne de seuil (en haut), et un signal de détection résultant (en bas). 35 La description du procédé de détection de la voix est faite en référence à la figure 1 qui illustre schématiquement un système 1 de détection de la voix permettant de mettre en oeuvre les différentes étapes nécessaires à la détection de la présence de signaux de parole dans un signal acoustique bruité x(t) issu d'un microphone unique opérant dans un milieu bruité. Ce système 1 comprend une unité de conversion 2 qui assure les 5 étapes suivantes : a) numérisation et découpage du signal acoustique bruité x(t) en une suite de trames temporelles ; b) échantillonnage des trames temporelles de manière à obtenir, par trame i, un vecteur de paramètres {xi}, ce vecteur de paramètres {xi} traduisant le 10 contenu acoustique de la trame i avec un nombre N de points d'échantillonnage. 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. 15 Le système 1 comprend, en sortie de l'unité de conversion 2, une unité de traitement numérique 3 qui réalise la détection, dans chaque trame temporelle i, de la voix. Cette unité de traitement numérique 3 comporte un module de calcul 4 qui réalise l'étape c) de calcul des trois fonctions suivantes, pour 20 chaque trame i et en considérant une fenêtre de traitement de longueur H où H<N : - une fonction différence carrée MT) définie par la relation : dt(r) = EttP-1(xi - Xj')2 , - une fonction somme carrée st(T) définie par la relation : 25 st(T) = EttP-1(x; + Xj')2 , et - un coefficient de normalisation Qi défini par la relation suivante : Qi (T) St (T) Cette unité de traitement numérique 3 comporte, en sortie du module de calcul 4, un module de détection de la voix 5 qui réalise l'étape d) 30 de comparaison du minimum rr(i) d'une fonction de détection d't'(r) avec un seuil cp prédéterminé pour détecter la présence ou non d'une fréquence fondamentale Fo (ou « pitch ») caractéristique d'un signal de parole, en considérant que la fonction de détection d't'(r) répond à la relation suivante : d't'er) = st(r) Qi Ce module de détection de la voix 5 délivre ainsi en sortie un signal de sortie So prenant deux valeurs d'état suivant le résultat de la comparaison : - si le minimum rr(i) est inférieur ou égale au seuil cp, alors le module 5 estime qu'un pitch a été détecté et donc la trame i est considérée comme présentant 5 un signal de parole, ainsi le module de détection de la voix 5 délivre un signal de sortie So prenant la valeur « 1 » pour la détection de voix ; - si le minimum rr(i) est supérieur au seuil cp, alors le module 5 estime qu'aucun pitch n'a été détecté et donc la trame i est considérée comme ne présentant pas de signal de parole, ainsi le module de détection de la voix 5 délivre un 10 signal de sortie So prenant la valeur « 0 » pour la non détection de voix. La suite de la description porte sur l'organisation des calculs lors de l'étape c) mise en oeuvre par le module 4, avec plusieurs sous-étapes c.1) à c.6). Dans une première sous-étape c.1), on définit un intervalle de 15 recherche fréquentiel [minFo ; maxFo] autour de la fréquence fondamentale Fo que l'on souhaite détecter, auquel correspond un intervalle de recherche de délais temporels [mint, maxi] avec les relations suivantes : mint = I Fe et maxi = r Fe 1 I minFo tmaxFol où : - Fe correspond à la fréquence d'échantillonnage de la séquence 20 considérée mis en oeuvre lors de l'étape b) ; - J représente l'opérateur d'arrondi en partie entière ; et - 1 représente l'opérateur d'arrondi en partie entière par excès. Par exemple, [minFo, maxFo] = [70, 400] Hz qui donnera, pour une fréquence d'échantillonnage Fe de 8 kHz un intervalle [mint, max-c] = [20, 115]. 25 Il est par ailleurs à noter que l'on peut restreindre le domaine des retards A en réduisant l'intervalle de recherche de la fréquence fondamentale Fo, à savoir l'intervalle [minFo, maxFo]. Cela aura aussi pour effet de réduire le nombre de calculs. Dans une deuxième-sous étape c.2) on calcule une matrice 30 d'indices pour les délais 0 répondant à la relation suivante : dt (T) 0= maxt ( 2 + ((0 : maxt - 1)/2) maxt ( 2 ((1 : max-c)/2) où: - ( ) représente un opérateur d'arrondi au plus proche ; - (0 : maxt - 1) = (0 1 2 ... (maxt - 2)(maxt - 1)) ; et - (1 : maxt) = (1 2 ... (maxt - 1)(maxt)) En reprenant l'exemple précédent, la matrice est comme suit : [58 59 59 60 60 --- 114 115 1151 0= 1-57 57 56 56 55 --- 1 1 0 -I De cette façon, les calculs de la fonction différence carrée clt(r) se feront sur la base des éléments des première et deuxième ligne de la matrice A. Ainsi, la première colonne donnera les indices de départ à partir desquels, la fonction différence carrée clt(r) sera accumulée. Dans une troisième sous-étape c.3), on détermine, pour chaque 10 trame courante i et sur des intervalles de temps successifs de longueur H : - une matrice de la fonction différence carrée ddi associée à la fonction différence carrée clt(r) ; et - une matrice de la fonction somme carrée sdi associée à la fonction somme carrée st(T). 15 Ces deux matrices ddi et sdi sont organisées avec un nombre de lignes nRows et un nombre de colonnes nCols définis par les relations suivantes : N-maxi - nRows = H et - nCols = maxt, 20 où I_ J représente l'opérateur d'arrondi en partie entière. Ces deux matrices ddi et sdi sont définies par les éléments génériques suivants : - ddi(k,1) = en-2-0(xi(A(0,1) + kH + m) - xi(0(1,1) + kH + m))2 ; et - sdi(k,1) = en-2-0(xi(A(0,1) + kH + m) + xi(0(1,1) + kH + m))2 , 25 où k correspond à l'indice de ligne et I correspond à l'indice de colonne. Dans une quatrième sous-étape c.4), on calcule, pour chaque trame courante i et chaque ligne I : - un vecteur différence Ddi(I) associée à la fonction différence carrée clt(r) ; et - un vecteur somme Sdi(I) associée à la fonction somme carrée st(r). Ces deux vecteurs Ddi(I) et Sdi(I) répondant aux relations suivantes : - Ddi(1) = URrs-1 ddi(k, 1) ; et 5 - Sdi(1) = URrs-1 sdi(k, 1). Pour le calcul des matrices ddi et sdi, il existe une première possibilité qui consiste à calculer et stocker, temporairement, l'ensemble de leurs éléments génériques, ce qui peut être prohibitif en terme de temps de calcul et de capacité mémoire. 10 Il existe cependant une seconde possibilité qui permet d'éviter le calcul de tous les éléments génériques de ces matrices ddi et sdi, tout en restant strictement équivalent d'un point de vue mathématique au résultat final. Cette seconde possibilité profite des propriétés d'invariance suivantes constatées pour ces matrices ddi et sdi : 15 n+1(1,1) n(2,1) ri+1(2,1) n(3,1) ri_Ei (nRows - 1,1) - n_Ei (nRows,1) ri (nRows,1) n_F1(nRows,1)_ ddi+1 = [ ddi (2 : nRows,1)1 n+1(nRows,1) et ni+1(1,1) ni (2,1) ni+1 (2,1) ni (3,1) - - ni+i(nRows - 1,1) ni (nRows,1) ni+1(nRows,1) ni_Ei (nRows,1) sdi+1 = [sdi (2 : nRows,1)1 (nRows,1) où : - ri(m, I) correspond à la ligne d'indice m de la matrice de la fonction différence carrée dd; ; et 20 - ni(m, I) correspond à la ligne d'indice m de la matrice de la fonction somme carrée sdi. - ddi (2 : nRows, 1) est une matrice extraite de la matrice ddi associée à la trame d'indice i, comportant les lignes 2 à nRows de cette dernière, - sdi (2 : nRows, 1) est une matrice extraite de la matrice sdi associée à la 25 trame d'indice i, comportant les lignes 2 à nRows de cette dernière. Comme détaillé ci-dessus, on en déduit donc les deux relations suivantes : - Ddi+1(1) = Ddi(1) - ri(1,1) + ri+1(nRows,1) (El ) - Sdi+i (1) = Sdi(1) - ni(1,1) + ni+1(nRows,1) (E2) Ainsi, il n'est plus nécessaire de calculer tous les éléments génériques des matrices ddi et sdi, puis de procéder à la somme de leurs 5 lignes pour calculer les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I). Au lieu de cela, il suffit de mettre en oeuvre les étapes suivantes : i) déterminer, pour la première trame courante, le vecteur différence Ddi(I) et le vecteur somme Sdi(I), où : Dcl, (1) = ddi(k,l) et Sd1(1) = sdi(k,l) ; 10 puis ii) déterminer, pour les trames suivantes, les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I) par application des relations (El) et (E2) précitées, ce qui consiste à mettre à jour les vecteurs Ddi(I) et Sdi(I) en appliquant les deux équations (El) et (E2), ce qui passe par, d'une part, le calcul des lignes 15 ri+1(nRows,1) et ni+1(nRows,1) et, d'autre part, la sauvegarde à l'itération précédente de ri(1,1) et ni(1,1). Il est cependant à noter que cette réduction de complexité reste utile tant que nRows > 2. Pour nRows = 2, il faut calculer les matrices ddi et sdi directement. 20 Dans une cinquième sous-étape c.5), on calcule, pour chaque trame courante i, le coefficient de normalisation Qi répondant à la relation suivante : Qi = La suite de la description porte sur l'organisation des calculs lors de l'étape d) mise en oeuvre par le module 5, avec deux algorithmes de calcul 25 distincts. Selon un premier algorithme, l'étape d) comporte les sous-étapes suivantes : d.1) calcul, pour chaque trame courante i et chaque ligne I, d'une fonction de détection Dni(I) répondant à la relation suivante : 30 Dni(1) = Ddi(1)/[Qi . Sdi(1)] ; d.2) calcul, pour chaque trame courante i, d'un minimum rr(i) de la fonction de détection Dni(I), avec la relation suivante : rr(i) = min(Dni(mint : maxi)) ; d.2) comparaison, pour chaque trame courante i, du minimum rr(i) avec le seuil prédéterminé cp pour détecter la présence ou non d'un signal voisé, avec : - si rr(i) cp, alors la trame i est considérée comme présentant un signal de parole et le module de détection de la voix 5 délivre un signal de sortie So prenant la valeur « 1 » ; - si rr(i) > cp, alors la trame i est considérée comme ne présentant pas de signal de parole et le module de détection de la voix 5 délivre un signal de sortie So prenant la valeur « 0 ». The invention further relates to a recording data recording medium on which is stored a computer program as defined above. Another object of the invention is to provide a computer program as defined above over a telecommunication network for downloading. Other features and advantages of the present invention will appear on reading the detailed description below, of an example of non-limiting implementation, with reference to the appended figures in which: FIG. 1 is a view schematic of a voice detection system for implementing the method according to the invention; FIG. 2 is a schematic view of a limitation loop implemented by a decision blocking module or hangover module; FIG. 3 illustrates a basic acoustic signal incorporating a series of nine sentences from nine different speakers and separated by zones of silence; FIG. 4 illustrates a noisy acoustic signal corresponding to the basic acoustic signal of FIG. 3 to which is added white noise with different SNRs (Signal to Noise Ratio); FIG. 5 illustrates a detection signal resulting from a "VAD" method using the standard algorithm G729; FIG. 6 illustrates a detection signal resulting from a detection method according to the invention; FIG. 7 illustrates a curve of the normalized square difference function da-c), with a threshold line (top), and a resultant detection signal (bottom); and FIG. 8 illustrates a curve of the detection function of t '(r) used for the method according to the invention, with a threshold line (at the top), and a resultant detection signal (at the bottom). . The description of the voice detection method is made with reference to FIG. 1, which schematically illustrates a voice detection system 1 making it possible to implement the various steps necessary for detecting the presence of speech signals in a voice detector. noisy acoustic signal x (t) from a single microphone operating in a noisy environment. This system 1 comprises a conversion unit 2 which provides the following 5 steps: a) digitizing and cutting the noisy acoustic signal x (t) into a series of time frames; b) sampling the time frames so as to obtain, by frame i, a vector of parameters {xi}, this vector of parameters {xi} translating the acoustic content of the frame i with a number N of sampling points. For example, the noisy acoustic signal x (t) is cut into frames of 240 or 256 samples, which at a sampling frequency Fe of 8 kHz corresponds to time frames of 30 or 32 milliseconds. The system 1 comprises, at the output of the conversion unit 2, a digital processing unit 3 which carries out the detection, in each time frame i, of the voice. This digital processing unit 3 comprises a calculation module 4 which performs step c) of calculating the following three functions, for each frame i and considering a processing window of length H where H <N: - a difference function square MT) defined by the relation: dt (r) = EttP-1 (xi-Xj ') 2, - a sum-square function st (T) defined by the relation: st (T) = EttP-1 (x; + Xj ') 2, and - a normalization coefficient Qi defined by the following relation: Qi (T) St (T) This digital processing unit 3 comprises, at the output of the calculation module 4, a voice detection module 5 which performs step d) of comparing the minimum rr (i) of a detection function of t '(r) with a predetermined threshold cp for detecting the presence or absence of a fundamental frequency Fo (or " pitch ") characteristic of a speech signal, considering that the detection function of t '(r) responds to the following relation: of t'er) = st (r) Qi This module of voice detection 5 thus delivers an output signal So taking two state values according to the result of the comparison: if the minimum rr (i) is less than or equal to the threshold cp, then the module 5 estimates that a pitch has been detected and therefore the frame i is considered to have a speech signal, so the voice detection module 5 delivers an output signal So taking the value "1" for the voice detection; if the minimum rr (i) is greater than the threshold cp, then the module 5 estimates that no pitch has been detected and therefore the frame i is considered as not having a speech signal, so the detection module of the voice 5 delivers an output signal So taking the value "0" for non-detection of voice. The remainder of the description relates to the organization of the calculations during step c) implemented by module 4, with several substeps c.1) to c.6). In a first substep c.1), a frequency search interval [minFo; maxFo] around the fundamental frequency Fo that one wishes to detect, which corresponds to a time interval of search time [mint, maxi] with the following relations: mint = I Fe and maxi = r Fe 1 I minFo tmaxFol where: - Fe corresponds to the sampling frequency of the sequence 20 considered implemented during step b); J represents the operator of rounding in full part; and - 1 represents the operator of rounding in whole part by excess. For example, [minFo, maxFo] = [70, 400] Hz which will give, for a sampling frequency Fe of 8 kHz an interval [mint, max-c] = [20, 115]. It should also be noted that the delay domain A can be restricted by reducing the search interval of the fundamental frequency Fo, namely the interval [minFo, maxFo]. This will also reduce the number of calculations. In a second-sub-step c.2), a matrix 30 of indices is calculated for the deadlines 0 corresponding to the following relation: dt (T) 0 = maxt (2 + ((0: maxt-1) / 2) maxt (2 ((1: max-c) / 2) where: - () represents a rounding operator to the nearest - (0: maxt - 1) = (0 1 2 ... (maxt - 2) ( maxt - 1)); and - (1: maxt) = (1 2 ... (maxt - 1) (maxt)) Using the previous example, the matrix is as follows: [58 59 59 60 60 - - 114 115 1151 0 = 1-57 57 56 56 55 --- 1 1 0 -I In this way, the calculations of the square difference function clt (r) will be done on the basis of the elements of the first and second lines of the matrix A. Thus, the first column will give the starting indices from which the square difference function clt (r) will be accumulated In a third substep c.3), it is determined for each current frame i and on successive time intervals of length H: a matrix of the square difference function ddi associated with the function square difference clt (r); and - a matrix of the square sum function sdi associated with the square sum function st (T). These two matrices ddi and sdi are organized with a number of lines nRows and a number of columns nCols defined by the following relations: N-maxi-nRows = H and - nCols = maxt, where I_J represents the operator of rounded in whole part. These two matrices ddi and sdi are defined by the following generic elements: - ddi (k, 1) = en-2-0 (xi (A (0,1) + kH + m) - xi (0 (1,1) + kH + m)) 2; and - sdi (k, 1) = en-2-0 (xi (A (0,1) + kH + m) + xi (0 (1,1) + kH + m)) 2, where k corresponds to the line index and I corresponds to the column index. In a fourth substep c.4), for each current frame i and each line I: - a difference vector Ddi (I) associated with the square difference function clt (r) is calculated; and a sum vector Sdi (I) associated with the square sum function st (r). These two vectors Ddi (I) and Sdi (I) correspond to the following relations: - Ddi (1) = URrs-1 ddi (k, 1); and 5 - Sdi (1) = URrs-1 sdi (k, 1). For the calculation of matrices ddi and sdi, there is a first possibility which consists in calculating and storing, temporarily, all of their generic elements, which can be prohibitive in terms of calculation time and memory capacity. There is, however, a second possibility which makes it possible to avoid the calculation of all the generic elements of these matrices ddi and sdi, while remaining strictly equivalent from a mathematical point of view to the final result. This second possibility takes advantage of the following invariance properties found for these matrices ddi and sdi: n + 1 (1,1) n (2,1) ri + 1 (2,1) n (3,1) ri_Ei (nRows - 1,1) - n_Ei (nRows, 1) ri (nRows, 1) n_F1 (nRows, 1) _ddi + 1 = [ddi (2: nRows, 1) 1 n + 1 (nRows, 1) and ni + 1 (1,1) ni (2,1) ni + 1 (2,1) ni (3,1) - - ni + i (nRows - 1,1) ni (nRows, 1) ni + 1 (nRows, 1) ni_Ei (nRows, 1) sdi + 1 = [sdi (2: nRows, 1) 1 (nRows, 1) where: - ri (m, I) corresponds to the index line m of the matrix of the function square difference dd; ; and 20 - ni (m, I) corresponds to the index line m of the matrix of the square sum function sdi. ddi (2: nRows, 1) is a matrix extracted from the matrix ddi associated with the frame of index i, comprising the lines 2 to nRows of the latter, - sdi (2: nRows, 1) is a matrix extracted from the matrix sdi associated with the frame of index i, comprising the lines 2 to nRows of the latter. As detailed above, we deduce the two following relations: - Ddi + 1 (1) = Ddi (1) - ri (1,1) + ri + 1 (nRows, 1) (El) - Sdi + i (1) = Sdi (1) - ni (1,1) + ni + 1 (nRows, 1) (E2) Thus, it is no longer necessary to calculate all the generic elements of matrices ddi and sdi, then to proceed to the sum of their 5 lines to calculate the difference vectors Ddi (I) and the sum vectors Sdi (I). Instead, it suffices to carry out the following steps: i) determining, for the first current frame, the difference vector Ddi (I) and the sum vector Sdi (I), where: Dcl, (1) = ddi (k, l) and Sd1 (1) = sdi (k, l); And then ii) determining, for the following frames, the difference vectors Ddi (I) and the sum vectors Sdi (I) by application of the relations (E1) and (E2) mentioned above, which consists in updating the vectors Ddi ( I) and Sdi (I) by applying the two equations (E1) and (E2), which passes, on the one hand, the calculation of the lines ri + 1 (nRows, 1) and ni + 1 (nRows, 1) and, on the other hand, the backup at the previous iteration of ri (1,1) and ni (1,1). It should be noted, however, that this reduction in complexity remains useful as long as nRows> 2. For nRows = 2, the matrices ddi and sdi must be calculated directly. In a fifth substep c.5), for each current frame i, the normalization coefficient Qi corresponding to the following relation is calculated: Qi = The remainder of the description relates to the organization of the calculations during the step d) implemented by the module 5, with two distinct calculation algorithms. According to a first algorithm, step d) comprises the following sub-steps: d.1) computation, for each current frame i and each line I, of a detection function Dni (I) corresponding to the following relation: Dni (1) = Ddi (1) / [Qi. Sdi (1)]; d.2) calculating, for each current frame i, a minimum rr (i) of the detection function Dni (I), with the following relation: rr (i) = min (Dni (mint: max)); d.2) comparing, for each current frame i, the minimum rr (i) with the predetermined threshold cp to detect the presence or absence of a voiced signal, with: - if rr (i) cp, then the frame i is considered to have a speech signal and the voice detection module 5 delivers an output signal So taking the value "1"; if rr (i)> cp, then the frame i is considered as having no speech signal and the voice detection module 5 delivers an output signal So taking the value "0".

Le second algorithme vise à réduire la complexité et donc la charge de calcul par rapport au premier algorithme, en évitant d'avoir à réaliser les divisions nécessaires pour calculer la fonction de détection Dni(I), et en évitant d'avoir à recherche le minimum rr(i). A cet effet, selon ce second algorithme, l'étape d) est réalisée en 15 comparant, pour chaque trame courante i et en faisant varier l'indice de colonne I entre mint et max-r, le vecteur différence Ddi(I) avec la fonction [cp.Q;.Sdi(1)] pour détecter la présence ou non d'un signal voisé, avec : - si Ddi(I) < [cp.Q;.Sd;(I)], alors la trame i est considérée comme présentant un signal de parole et le module de détection de la voix 5 délivre un signal de 20 sortie So prenant la valeur « 1 » ; - si Ddi(I) > [cp.Q;.Sd;(I)], alors la trame i est considérée comme ne présentant pas de signal de parole et le module de détection de la voix 5 délivre un signal de sortie So prenant la valeur « 0 ». Ce second algorithme met ainsi en oeuvre la boucle de calcul 25 suivante : Pour 1 = mint : maxt Si Dd(1) < (y) Qi ) Sdi(1) So = 1 , break 30 finsi finPour Un premier perfectionnement consiste à introduire un module de limitation 6 dans l'unité de traitement numérique 3, par exemple en parallèle du module de calcul 4, qui met en oeuvre une première étape de calcul, pour 35 chaque trame i, d'une énergie ei de la trame i. Une première estimation de l'énergie ei est : N ei = IX(i-1)N+kl - k=1 Une seconde estimation de l'énergie ei est, en alternative tout aussi efficace que la première : ei = Er_o Sd, (I) , où M est un entier prédéfini, par exemple avec M=5 ou 6. Ce module de limitation 6 réalise ensuite une comparaison de cette 5 énergie ei avec un seuil d'énergie b pour prendre l'une des deux décisions suivantes : - si ei Ô, alors la trame i est considérée comme ne présentant pas de signal de parole et alors le module de limitation 6 délivre un signal de limitation SL à destination du module de détection de la voix 5 pour que ce dernier délivre un 10 signal de sortie So prenant la valeur « 0 », évitant ainsi de réaliser tous les calculs des étapes c) et d) pour conclure à l'absence de voix ; et - si ei > Ô, alors le module de limitation 6 délivre un signal de non limitation SNL à destination du module de calcul 4 pour que les étapes c) et d) soient intégralement mis en oeuvre pour cette trame i pour détecter la présence ou 15 non d'un signal de parole. Un second perfectionnement consiste à introduire un module de blocage de décision 7 (ou module hangover), en sortie du module de détection de la voix 5, pour éviter les coupures de son dans une phrase et pendant la prononciation des mots, ce module de blocage de décision 7 visant à renforcer 20 la décision de présence/absence de voix par la mise en oeuvre des étapes suivantes, schématisées par la figure 2 : - 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 ; 25 - 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, ce module de blocage de décision 7 délivre en sortie un signal de décison de la détection de la voix Dv qui prend la valeur « 1 » 30 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 So prend la valeur « 0 » sur NA trames i temporelles successives ; et - le signal de décison de la détection de la voix Dv bascule d'un état « 0 » à un 5 état « 1 » si et seulement si le signal de sortie So 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 « Dv=1 », on bascule vers un état « Dv=O » si le signal de sortie So prend la valeur « 0 » sur NA trames successives, sinon l'état reste à « Dv=1 » (Ni 10 représentant le numéro de la trame). 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 So prend la valeur « 1 » sur Np trames successives, sinon 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 15 et Np=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 des essais de détection de voix mis en en oeuvre avec des procédés connus et avec le procédé conforme à l'invention. 20 La figure 3 illustre un signal acoustique de base SACO intégrant une série de neuf phrases P1 à P9 venant de neuf locuteurs différents et séparées par des zones de silence. La figure 4 illustre un signal acoustique bruité SAC correspondant au signal acoustique de base SACO auquel est rajouté du bruit blanc avec des RSB 25 (Rapport Signal sur Bruit) différents : - pour les phrases Pl, P2 et P3, le RSB rajouté est de 12 dBs ; - pour les phrases P4, P5 et P6, le RSB rajouté est de 4 dBs ; et - pour les phrases P7, P8 et P9, le RSB rajouté est de 8 dBs. En premier lieu, on compare les résultats entre le procédé de 30 « VAD » utilisant l'algorithme standard G729 mis en oeuvre dans le domaine de la téléphonie mobile (Figure 5) et le procédé conforme à l'invention (Figure 6), pour la détection de la parole sur le signal acoustique bruité SAC ; le signal acoustique de base SACO est également illustré sur les figures 5 et 6 pour pouvoir établir si la détection est efficace pour chacun des procédés. The second algorithm aims to reduce the complexity and therefore the computational load compared to the first algorithm, avoiding having to perform the necessary divisions to calculate the detection function Dni (I), and avoiding having to search the minimum rr (i). For this purpose, according to this second algorithm, step d) is performed by comparing, for each current frame i and by varying the column index I between mint and max-r, the difference vector Ddi (I) with the function [cp.Q; .Sdi (1)] to detect the presence or absence of a voiced signal, with: - if Ddi (I) <[cp.Q; .Sd; (I)], then the frame i is considered to have a speech signal and the voice detection module 5 outputs an output signal S0 taking the value "1"; if Ddi (I)> [cp.Q; .Sd; (I)], then the frame i is considered as not having a speech signal and the voice detection module 5 delivers an output signal So taking the value "0". This second algorithm thus implements the following calculation loop: For 1 = mint: maxt If Dd (1) <(y) Qi) Sdi (1) S0 = 1, break 30 so end For a first improvement consists in introducing a limitation module 6 in the digital processing unit 3, for example in parallel with the calculation module 4, which implements a first calculation step, for each frame i, of an energy ei of the frame i. A first estimate of the energy ei is: N ei = IX (i-1) N + kl - k = 1 A second estimate of the energy ei is, as an alternative just as effective as the first: ei = Er_o Sd, (I), where M is a predefined integer, for example with M = 5 or 6. This limiting module 6 then performs a comparison of this energy ei with an energy threshold b to take one of the following two decisions if ei 0, then the frame i is considered as not having a speech signal and then the limiting module 6 delivers a limitation signal SL to the voice detection module 5 so that the latter delivers a signal 10. output signal So taking the value "0", thus avoiding performing all the calculations of steps c) and d) to conclude that there is no voice; and if ei> δ, then the limitation module 6 delivers a non-limiting signal SNL to the calculation module 4 so that the steps c) and d) are fully implemented for this frame i to detect the presence or 15 no of a speech signal. A second improvement consists in introducing a decision blocking module 7 (or hangover module), at the output of the voice detection module 5, to avoid the interruption of sound in a sentence and during the pronunciation of the words, this blocking module decision 7 to strengthen the decision of presence / absence of voice by implementing the following steps, schematized in Figure 2: - switching from a state of non-detection of a speech signal to a detection state a speech signal after detecting the presence of a speech signal on Np successive time frames; Switching from a detection state of a speech signal to a non-detection state of a speech signal after detecting no presence of a voiced signal on NA successive time frames. Thus, this decision blocking module 7 outputs a decison signal of the detection of the voice Dv which takes the value "1" corresponding to a decision of the detection of the voice and the value "0" corresponding to a decison of the non-detection of the voice, where: the decision signal of the detection of the voice Dv switches from a state "1" to a state "0" if and only if the output signal So takes the value " 0 "over NA successive time frames i; and the decision signal of the voice detection Dv switches from a state "0" to a state "1" if and only if the output signal So takes the value "1" over Np successive time frames i. With reference to FIG. 2, assuming that one starts from a state "Dv = 1", one switches to a state "Dv = O" if the output signal So takes the value "0" on NA frames successive, otherwise the state remains at "Dv = 1" (Ni 10 representing the number of the frame). Similarly, if we assume that we start from a state "Dv = O", we switch to a state "Dv = 1" if the output signal So takes the value "1" over Np successive frames, otherwise the state remains at "Dv = O". The final decision applies to the first H samples of the processed frame. Preferably NA is greater than Np, with for example NA = 100 and Np = 3, because it is better to risk detecting silence rather than cutting a conversation. The remainder of the description relates to voice detection tests implemented with known methods and with the method according to the invention. FIG. 3 illustrates a basic SACO acoustic signal incorporating a series of nine sentences P1 to P9 coming from nine different speakers and separated by zones of silence. FIG. 4 illustrates a noisy acoustic signal SAC corresponding to the basic acoustic signal SACO to which white noise is added with different SNRs (Signal to Noise Ratio): for the sentences P1, P2 and P3, the added SNR is 12 dBs; for the sentences P4, P5 and P6, the RSB added is 4 dBs; and - for the sentences P7, P8 and P9, the added RSB is 8 dBs. Firstly, the results are compared between the "VAD" method using the standard algorithm G729 implemented in the field of mobile telephony (FIG. 5) and the method according to the invention (FIG. detection of speech on the noisy acoustic signal SAC; the basic acoustic signal SACO is also illustrated in Figures 5 and 6 to be able to establish if the detection is effective for each of the processes.

Sur la figure 5, on note que le procédé « VAD » utilisant l'algorithme standard G729 délivre un signal de détection SDN particulièrement peu efficace, en estimant détecter de la voix dans des zones de silence. Sur la figure 6, on note que le procédé conforme à l'invention 5 délivre un signal de détection SDINV particulièrement efficace en détectant toutes les phrases tout en excluant les zones de silence. Le procédé conforme à l'invention est donc bien meilleur dans la détection de la parole. En second lieu, on compare les résultats entre le procédé de détection de la fréquence fondamentale utilisant la fonction différence carrée 10 normalisée da-c) précitée (Figure 7) et le procédé conforme à l'invention (Figure 8), pour la détection de la parole sur le signal acoustique bruité SAC ; le signal acoustique de base SAD° est également illustré sur les figures 7 et 8 pour pouvoir établir si la détection est efficace pour chacun des procédés. Sur la figure 7 sont illustrés la courbe CDCN de la fonction différence 15 carrée normalisée da-c), avec la ligne Ls du seuil cp, ainsi que le signal de détection SDDCN résultant. On note que le procédé utilisant la fonction différence carrée normalisée da-c) ne détecte pas les phrases P4 et P6 et que les phrases P5, P7, P8 et P9 sont mal détectées. Sur la figure 8 sont illustrés la courbe CDINV de la fonction de 20 détection d't'(r) utilisée pour le procédé conforme à l'invention, avec la ligne Ls du seuil cp, ainsi que le signal de détection SDINV résultant. Avec le procédé conforme à l'invention, la courbe des minimums rr(i) sera d'autant plus faible que le bruit est fort. C'est ce calcul de la courbe CDINV de la fonction de détection d't'(r) qui donne au procédé conforme à 25 l'invention cette capacité de réaction vis-à-vis du niveau de bruit. Cela est d'autant meilleur que le seuil cp par rapport auquel la décision de présence/absence de voix est prise est constant et ne varie pas en fonction du signal utile de parole et du bruit. Bien entendu l'exemple de mise en oeuvre évoqué ci-dessus ne 30 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 d't'(r) peuvent par exemple être utilisés. 35 In FIG. 5, it is noted that the "VAD" method using the standard algorithm G729 delivers a particularly inefficient SDN detection signal, estimating that it detects the voice in zones of silence. In FIG. 6, it is noted that the method in accordance with the invention delivers a particularly efficient SDINV detection signal by detecting all the sentences while excluding the silence zones. The method according to the invention is therefore much better in the detection of speech. Second, the results are compared between the fundamental frequency detection method using the above-mentioned normalized square difference function da-c) (FIG. 7) and the method according to the invention (FIG. speech on the noisy acoustic signal SAC; the basic acoustic signal SAD ° is also illustrated in Figures 7 and 8 to be able to establish if the detection is effective for each of the processes. In FIG. 7 are illustrated the CDCN curve of the normalized square difference function da-c), with the line Ls of the threshold cp, as well as the resulting detection signal SDDCN. It is noted that the method using the normalized square difference function da-c) does not detect the sentences P4 and P6 and that the sentences P5, P7, P8 and P9 are poorly detected. FIG. 8 illustrates the CDINV curve of the detection function of t '(r) used for the method according to the invention, with the line Ls of the threshold cp, as well as the resulting SDINV detection signal. With the method according to the invention, the minimum curve rr (i) will be even lower than the noise is strong. It is this calculation of the CDINV curve of the detection function of t '(r) which gives the process according to the invention this reaction capacity vis-à-vis the noise level. This is all the better that the threshold cp with respect to which the decision of presence / absence of voice is taken is constant and does not vary according to the useful speech signal and the noise. Of course the implementation example mentioned above is not limiting in nature and further improvements and details can be made to the process according to the invention without departing from the scope of the invention or other algorithms for calculating the detection function of t '(r) may for example be used. 35

Claims (16)

REVENDICATIONS1. 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, 5 comportant les étapes successives suivantes : a) numérisation et découpage du signal acoustique bruité en une suite de trames temporelles ; b) échantillonnage des trames temporelles de manière à obtenir, par trame i, un vecteur de paramètres {A}, ce vecteur de paramètres traduisant le contenu 10 acoustique de la trame i avec un nombre N de points d'échantillonnage ; c) calcul, pour chaque trame i, en considérant une fenêtre de traitement de longueur H où H<N, des trois fonctions suivantes : - une fonction différence carrée cit(r) définie par la relation : \ dt(T) = Eit+tH-1(Xi - Xi+T) , 15 - une fonction somme carrée st(T) définie par la relation : st(T) = Ettp-1(x, + Xi+T)2 , et - un coefficient de normalisation Q; ; d) comparaison du minimum d'une fonction de détection d't' (r) avec un seuil cp prédéterminé pour détecter la présence ou non d'une fréquence fondamentale 20 Fo caractéristique d'un signal de parole, en considérant que la fonction de détection d't' (-r) répond à la relation suivante : dt dt (t) = st (T) Qi REVENDICATIONS1. A voice detection method for detecting the presence of speech signals in a noisy acoustic signal from a microphone, comprising the following successive steps: a) digitizing and cutting the noisy acoustic signal into a series of time frames; b) sampling the time frames so as to obtain, by frame i, a vector of parameters {A}, this vector of parameters translating the acoustic content of the frame i with a number N of sampling points; c) calculating, for each frame i, considering a processing window of length H where H <N, of the three following functions: - a square difference function cit (r) defined by the relation: \ dt (T) = Eit + tH-1 (Xi - Xi + T), 15 - a square sum function st (T) defined by the relation: st (T) = Ettp-1 (x, + Xi + T) 2, and - a standardization coefficient Q; ; d) comparing the minimum of a detection function of t '(r) with a predetermined threshold cp for detecting the presence or absence of a fundamental frequency Fo characteristic of a speech signal, considering that the function of detection of t '(-r) corresponds to the following relation: dt dt (t) = st (T) Qi 2. Procédé de détection de la voix selon la revendication 1, dans lequel le coefficient de normalisation Qi calculé lors de l'étape c) est défini par la 25 relation suivante : = vmax (r)st(T) A voice detection method according to claim 1, wherein the normalization coefficient Qi calculated in step c) is defined by the following relationship: = vmax (r) st (T) 3. Procédé de détection de la voix selon les revendications 1 ou 2, dans lequel l'étape c) comporte les sous-étapes suivantes : 30 c.1) détermination d'un intervalle de recherche de délais temporels [mint, maxi] ;c.2) calcul d'une matrice d'indices pour les délais A répondant à la relation suivante : maxt ( 2 ) + ((0 : maxt - 1)/2) A = maxt ( 2 ((1 : maxc)/2) où: - ( ) représente un opérateur d'arrondi, notamment un opérateur d'arrondi au plus proche ; - (0 : maxt - 1) = (0 1 2 ... (maxt - 2)(maxt - 1)) ; et - (1 : maxt) = (1 2 ... (maxt - 1)(maxt)) c.3) détermination, pour chaque trame courante i et sur des intervalles de temps successifs de longueur H, d'une matrice de la fonction différence carrée ddi et d'une matrice de la fonction somme carrée sdi, lesdites matrices ddi et sdi étant organisées avec un nombre de lignes nRows et un nombre de colonnes nCols et définies par les éléments génériques suivants : ddi(k,1) = en-1-0(xi (A(0,1) + kH + m) - xi (A(1,1) + kH + m))2 ; et sdi(k,l) = en-2-0(xi(A(0,1) + kH + m) + xi (A(1,1) + kH + m))2 , où k correspond à l'indice de ligne et I correspond à l'indice de colonne ; c.4) calcul, pour chaque trame courante i et chaque ligne I, d'un vecteur différence Ddi(I) et d'un vecteur somme Sdi(I) répondant aux relations suivantes : Ddi(1) = Errs-1 ddi(k,l) ; et Sdi(1) = Errs-1 sdi(k,l) ; A voice detection method according to claims 1 or 2, wherein step c) comprises the following substeps: c.1) determining a time delay search interval [mint, maxi]; c.2) calculation of an index matrix for the delays A corresponding to the following relation: maxt (2) + ((0: maxt - 1) / 2) A = maxt (2 ((1: maxc) / 2) where: - () represents a rounding operator, in particular a rounding operator at the nearest, - (0: maxt - 1) = (0 1 2 ... (maxt - 2) (maxt - 1) ) and - (1: maxt) = (1 2 ... (maxt - 1) (maxt)) c.3) determination, for each current frame i and on successive time intervals of length H, of a matrix of the square difference function ddi and of a matrix of the square sum function sdi, said matrices ddi and sdi being organized with a number of rows nRows and a number of columns nCols and defined by the following generic elements: ddi (k, 1) = en-1-0 (xi (A (0,1) + kH + m) - xi (A (1,1) + kH + m)) 2; and sdi (k, l) = en-2-0 (xi (A (0,1) + kH + m) + xi (A (1,1) + kH + m)) 2, where k is the line index and I corresponds to the column index; c.4) calculating, for each current frame i and each line I, a difference vector Ddi (I) and a sum vector Sdi (I) corresponding to the following relations: Ddi (1) = Errs-1 ddi ( k, l); and Sdi (1) = Errs-1 sdi (k, l); 4. Procédé de détection de la voix selon les revendications 2 et 3, dans lequel l'étape c) comporte la sous-étape c.5) de calcul, pour chaque trame courante i, d'un coefficient de normalisation Qi répondant à la relation suivante : Qi = Erces-1 sdi(1) 4. Voice detection method according to claims 2 and 3, wherein step c) comprises the sub-step c.5) of calculation, for each current frame i, a normalization coefficient Qi corresponding to the following relation: Qi = Erces-1 sdi (1) 5. Procédé de détection de la voix selon les revendications 3 ou 4, dans lequel la sous-étape c.1) est réalisée en : - définissant un intervalle de recherche fréquentiel [minFo ; maxFo] autour de la fréquence fondamentale Fo ; puis - calculant l'intervalle de recherche de délais temporels [mint,max-c] avec les 30 relations suivantes :r minFeFe I 1 mint = I Fe I et maxt = tmaxF0 I où : - Fe correspond à la fréquence d'échantillonnage de la séquence considérée mis en oeuvre lors de l'étape b) ; - I J représente l'opérateur d'arrondi en partie entière ; et - F 1 représente l'opérateur d'arrondi en partie entière par excès. The voice detection method according to claim 3 or 4, wherein the substep c.1) is performed by: - defining a frequency search interval [minFo; maxFo] around the fundamental frequency Fo; then - calculating the time delay search interval [mint, max-c] with the following relations: r minFeFe I 1 mint = I Fe I and maxt = tmaxF0 I where: - Fe corresponds to the sampling frequency of the sequence considered implemented during step b); I J represents the operator of rounding in full part; and F 1 represents the operator of rounding in whole part by excess. 6. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 5, dans lequel, lors de la sous-étape c.3), le nombre de lignes nRows et le nombre de colonnes nCols sont définis par les relations 10 suivantes : - nRows = I N-maxi) et H - nCols = maxt, où I_ J représente l'opérateur d'arrondi en partie entière. 15 A voice detection method according to any one of claims 3 to 5, wherein in substep c.3) the number of nRows and the number of nCols are defined by the relationships. following: - nRows = I N-maxi) and H - nCols = maxt, where I_J represents the integral rounding operator. 15 7. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 6, dans lequel, pour nRows >2, la sous-étape c.4) est réalisée en : i) déterminant, pour la première trame courante, le vecteur différence Ddi(I) et le vecteur somme Sdi(I), où : 20 Dd1(1) = Er,Rrs-1 ddi(k, 1) et Sd1(1) = URco)ws-1 sdi (k, 1) ; puis en ii) déterminant, pour les trames suivantes, les vecteurs différence Ddi(I) et les vecteurs somme Sdi(I) par application des relations suivantes : Ddi+1(1) = Ddi(1) - ri(1, 1) + ri+i (nRows, 1) ; et 25 Sdi+1(1) = Sdi(1) - ni(1, 1) + ni+i(nRows, 1) ; où : - ri(m, I) correspond à la ligne d'indice m de la matrice de la fonction différence carrée dd; ; et - ni(m, I) correspond à la ligne d'indice m de la matrice de la fonction 30 somme carrée sdi. A voice detection method according to any one of claims 3 to 6, wherein, for nRows> 2, the sub-step c.4) is performed by: i) determining, for the first current frame, the difference vector Ddi (I) and the sum vector Sdi (I), where: Dd1 (1) = Er, Rrs-1 ddi (k, 1) and Sd1 (1) = URco) ws-1 sdi (k, 1 ); then ii) determining, for the following frames, the difference vectors Ddi (I) and the sum vectors Sdi (I) by applying the following relations: Ddi + 1 (1) = Ddi (1) - ri (1, 1) + ri + i (nRows, 1); and Sdi + 1 (1) = Sdi (1) - ni (1, 1) + n + 1 (nRows, 1); where: - ri (m, I) corresponds to the index line m of the matrix of the square difference function dd; ; and - ni (m, I) corresponds to the index line m of the matrix of the function sum square sdi. 8. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 7, dans lequel l'étape d) comporte les sous-étapes suivantes : d.1) calcul, pour chaque trame courante i et chaque ligne I, d'une fonction de 5 détection Dni(I) répondant à la relation suivante : Dni(1) = Ddi(1)/[Qi .Sdi(1)] d.2) calcul, pour chaque trame courante i, d'un minimum rr(i) de la fonction de détection Dni(I), avec la relation suivante : rr(i) = min(Dni(mier : maxi)) ; 10 d.3) comparaison, pour chaque trame courante i, du minimum rr(i) avec le seuil prédéterminé cp pour détecter la présence ou non d'un signal voisé, avec : - si le minimum rr(i) est inférieur ou égale au seuil cp, alors la trame i est considérée comme présentant un signal de parole ; - si le minimum rr(i) est supérieur au seuil cp, alors la trame i est considérée 15 comme ne présentant pas de signal de parole. 8. Voice detection method according to any one of claims 3 to 7, wherein step d) comprises the following substeps: d.1) computation, for each current frame i and each line I, d a detection function Dni (I) corresponding to the following relation: Dni (1) = Ddi (1) / [Qi .Sdi (1)] d.2) computation, for each current frame i, of a minimum rr (i) of the detection function Dni (I), with the following relation: rr (i) = min (Dni (min: max)); D.3) comparing, for each current frame i, the minimum rr (i) with the predetermined threshold cp to detect the presence or absence of a voiced signal, with: - if the minimum rr (i) is less than or equal to at the threshold cp, then the frame i is considered to have a speech signal; if the minimum rr (i) is greater than the threshold cp, then the frame i is considered as having no speech signal. 9. Procédé de détection de la voix selon l'une quelconque des revendications 3 à 7, dans lequel l'étape d) est réalisée en comparant, pour chaque trame courante i et en faisant varier l'indice de colonne I entre mint 20 et maxi, le vecteur différence Ddi(I) avec la fonction [(p.Q.Sdi(1)] pour détecter la présence ou non d'un signal voisé, avec : - si Ddi(I) < [(p.Q.Sdi(1)], alors la trame i est considérée comme présentant un signal de parole ; - si Ddi(I) > [(p.Q.Sdi(1)], alors la trame i est considérée comme ne présentant 25 pas de signal de parole. A voice detection method according to any one of claims 3 to 7, wherein step d) is performed by comparing, for each current frame i and varying the column index I between mint 20 and maxi, the difference vector Ddi (I) with the function [(pQSdi (1)] to detect the presence or absence of a voiced signal, with: - if Ddi (I) <[(pQSdi (1)], then the frame i is considered to have a speech signal, - if Ddi (I)> [(pQSdi (1)], then the frame i is considered to have no speech signal. 10. Procédé de détection de la voix selon l'une quelconque des revendications précédentes, dans lequel l'étape b) comporte des étapes supplémentaires consistant à calculer, pour chaque trame i, une énergie ei de 30 la trame i et ensuite comparer cette énergie ei avec un seuil d'énergie Ô, de sorte que : - si l'énergie ei de la trame i est inférieure au seuil d'énergie Ô, alors la trame i est considérée comme ne présentant pas de signal de parole ; et 2 9 88894 25 - si l'énergie ei de la trame i est supérieure au seuil d'énergie Ô, alors les étapes c) et d) sont mis en oeuvre pour cette trame i pour détecter la présence ou non d'un signal de parole. A voice detection method according to any one of the preceding claims, wherein step b) comprises additional steps of calculating, for each frame i, an energy ei of the frame i and then comparing that energy. ei with a threshold of energy Ô, so that: - if the energy ei of the frame i is lower than the energy threshold Ô, then the frame i is considered as not having a speech signal; and if the energy ei of the frame i is greater than the energy threshold δ, then steps c) and d) are implemented for this frame i to detect the presence or absence of a signal. of speech. 11. Procédé de détection de la voix selon les revendications 3 et 10, dans lequel l'énergie ei de la trame i est établie selon la relation suivante : ei = Er_o Sdi (I) , où M est un entier prédéfini. 11. A method of detecting the voice according to claims 3 and 10, wherein the energy ei of the frame i is established according to the following relation: ei = Er_o Sdi (I), where M is a predefined integer. 12. Procédé de détection de la voix selon l'une quelconque des revendications précédentes, comportant en outre 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 temporelles successives. A voice detection method according to any one of the preceding claims, further comprising a step of switching from a non-detection state of a speech signal to a detection state of a speech signal after having detected the presence of a speech signal on Np successive time frames i. 13. Procédé de détection de la voix selon l'une quelconque des revendications précédentes, comportant en outre 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. A voice detection method according to any one of the preceding claims, further comprising a step of switching from a detection state of a speech signal to a non-detection state of a speech signal after having detected no presence of a voiced signal on NA successive time frames i. 14. 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 1 à 13 lorsqu'il est exécuté par un processeur. 14. Computer program, characterized in that it comprises code instructions able to control the execution of the steps of the voice detection method according to any one of claims 1 to 13 when executed by a processor. 15. Support d'enregistrement de données sur lequel est stocké le programme d'ordinateur selon la revendication 14. 15. The data recording medium on which the computer program according to claim 14 is stored. 16. Mise à disposition d'un programme selon la revendication 14 sur un 30 réseau de télécommunication en vue de son téléchargement. 16. Provision of a program according to claim 14 on a telecommunication network for download.
FR1252915A 2012-03-30 2012-03-30 METHOD OF DETECTING THE VOICE Expired - Fee Related FR2988894B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1252915A FR2988894B1 (en) 2012-03-30 2012-03-30 METHOD OF DETECTING THE VOICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1252915A FR2988894B1 (en) 2012-03-30 2012-03-30 METHOD OF DETECTING THE VOICE

Publications (2)

Publication Number Publication Date
FR2988894A1 true FR2988894A1 (en) 2013-10-04
FR2988894B1 FR2988894B1 (en) 2014-03-21

Family

ID=46456737

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1252915A Expired - Fee Related FR2988894B1 (en) 2012-03-30 2012-03-30 METHOD OF DETECTING THE VOICE

Country Status (1)

Country Link
FR (1) FR2988894B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3014237A1 (en) * 2013-12-02 2015-06-05 Adeunis R F METHOD OF DETECTING THE VOICE

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2825505A1 (en) * 2001-06-01 2002-12-06 France Telecom METHOD FOR EXTRACTING THE BASIC FREQUENCY OF A SOUND SIGNAL BY MEANS OF A DEVICE IMPLEMENTING A SELF-CORRELATION ALGORITHM
FR2946175A1 (en) * 2009-05-29 2010-12-03 Voxler METHOD FOR DETECTING VOICE WORDS AND USE THEREOF IN A KARAOKE GAME

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2825505A1 (en) * 2001-06-01 2002-12-06 France Telecom METHOD FOR EXTRACTING THE BASIC FREQUENCY OF A SOUND SIGNAL BY MEANS OF A DEVICE IMPLEMENTING A SELF-CORRELATION ALGORITHM
FR2946175A1 (en) * 2009-05-29 2010-12-03 Voxler METHOD FOR DETECTING VOICE WORDS AND USE THEREOF IN A KARAOKE GAME

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHAHNAZ C ET AL: "A Pitch Detection Method for Speech Signals with Low Signal-to-Noise Ratio", SIGNALS, SYSTEMS AND ELECTRONICS, 2007. ISSSE '07. INTERNATIONAL SYMPOSIUM ON, IEEE, PI, 1 July 2007 (2007-07-01), pages 399 - 402, XP031129298, ISBN: 978-1-4244-1448-2 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3014237A1 (en) * 2013-12-02 2015-06-05 Adeunis R F METHOD OF DETECTING THE VOICE
WO2015082807A1 (en) * 2013-12-02 2015-06-11 Adeunis R F Voice detection method
US9905250B2 (en) 2013-12-02 2018-02-27 Adeunis R F Voice detection method

Also Published As

Publication number Publication date
FR2988894B1 (en) 2014-03-21

Similar Documents

Publication Publication Date Title
EP1154405B1 (en) Method and device for speech recognition in surroundings with varying noise levels
AU2016262636B2 (en) Decoder for generating a frequency enhanced audio signal, method of decoding, encoder for generating an encoded signal and method of encoding using compact selection side information
CN110097870B (en) Voice processing method, device, equipment and storage medium
WO2010112728A1 (en) Method and device for classifying background noise contained in an audio signal
FR2743238A1 (en) TELECOMMUNICATION DEVICE RESPONDING TO VOICE ORDERS AND METHOD OF USING THE SAME
WO2002021515A1 (en) Transmission error concealment in an audio signal
EP2089877A1 (en) Voice activity detection system and method
EP2772916B1 (en) Method for suppressing noise in an audio signal by an algorithm with variable spectral gain with dynamically adaptive strength
EP1051703B1 (en) Method for decoding an audio signal with transmission error correction
EP3078027B1 (en) Voice detection method
FR2977439A1 (en) WINDOW WINDOWS IN ENCODING / DECODING BY TRANSFORMATION WITH RECOVERY, OPTIMIZED IN DELAY.
WO2003048711A2 (en) Speech detection system in an audio signal in noisy surrounding
EP2795618B1 (en) Method of detecting a predetermined frequency band in an audio data signal, detection device and computer program corresponding thereto
EP3192073B1 (en) Discrimination and attenuation of pre-echoes in a digital audio signal
EP3138095B1 (en) Improved frame loss correction with voice information
WO2006075078A1 (en) Method and device for carrying out optimal coding between two long-term prediction models
CN110444194B (en) Voice detection method and device
EP1197952A1 (en) Coding method of the prosody for a very low bit rate speech encoder
EP3627510A1 (en) Filtering of an audio signal acquired by a voice recognition system
FR2988894A1 (en) Method for detection of voice to detect presence of word signals in disturbed signal output from microphone, involves comparing detection function with phi threshold for detecting presence of absence of fundamental frequency
FR2681715A1 (en) METHOD FOR PROCESSING SPEECH IN THE PRESENCE OF ACOUSTIC NOISE: METHOD OF NON - LINEAR SPECTRAL SUBTRACTION.
CN115472174A (en) Sound noise reduction method and device, electronic equipment and storage medium
FR3023646A1 (en) UPDATING STATES FROM POST-PROCESSING TO A VARIABLE SAMPLING FREQUENCY ACCORDING TO THE FRAMEWORK
FR2627887A1 (en) SPEECH RECOGNITION SYSTEM AND METHOD OF FORMING MODELS THAT CAN BE USED IN THIS SYSTEM
CN113689886B (en) Voice data emotion detection method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

ST Notification of lapse

Effective date: 20171130