EP1116216A1 - Method and device for detecting voice activity - Google Patents

Method and device for detecting voice activity

Info

Publication number
EP1116216A1
EP1116216A1 EP00956596A EP00956596A EP1116216A1 EP 1116216 A1 EP1116216 A1 EP 1116216A1 EP 00956596 A EP00956596 A EP 00956596A EP 00956596 A EP00956596 A EP 00956596A EP 1116216 A1 EP1116216 A1 EP 1116216A1
Authority
EP
European Patent Office
Prior art keywords
versions
energy
speech signal
signal
vad
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.)
Withdrawn
Application number
EP00956596A
Other languages
German (de)
French (fr)
Inventor
Stéphane LUBIARZ
Edouard Hinard
François CAPMAN
Philip Lockwood
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.)
Nortel Networks France SAS
Original Assignee
Matra Nortel Communications SAS
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 Matra Nortel Communications SAS filed Critical Matra Nortel Communications SAS
Publication of EP1116216A1 publication Critical patent/EP1116216A1/en
Withdrawn legal-status Critical Current

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

Definitions

  • the present invention relates to digital techniques for processing speech signals. It relates more particularly to techniques using voice activity detection in order to carry out differentiated processing depending on whether the signal supports voice activity or not.
  • the digital techniques in question come from various fields: speech coding for transmission or storage, speech recognition, noise reduction, echo cancellation ...
  • the main difficulty with voice activity detection methods is the distinction between voice activity and the noise that accompanies the speech signal.
  • Document WO99 / 1 737 describes a method for detecting voice activity in a digital speech signal processed by successive frames, in which a priori denoising of the speech signal of each frame is carried out on the basis of noise estimates obtained during the processing of one or more previous frames, and the energy variations of the noise-suppressed signal are analyzed a priori to detect a degree of vocal activity in the frame.
  • the fact of detecting voice activity on the basis of an a priori denoised signal appreciably improves the performance of this detection when the surrounding noise is relatively high.
  • An object of the present invention is to propose another type of analysis allowing detection of vocal activity robust to the noise which can accompany the speech signal.
  • a method for detecting voice activity in a digital speech signal in at least one frequency band according to which the voice activity is detected on the basis of an analysis comprising a comparison, in said frequency band, of two different versions of the speech signal, at least one of which is a denoised version obtained by taking into account estimates of the noise included in the signal.
  • This process can be performed over the entire frequency band of the signal, or in sub-bands, depending on the needs of the application using the voice activity detection.
  • Speech activity can be detected binary for each band, or measured by a continuously varying parameter that can result from comparing the two different versions of the speech signal.
  • the comparison typically relates to respective energies, evaluated in said frequency band, of the two different versions of the speech signal, or to a monotonic function of these energies.
  • Another aspect of the present invention relates to a device for detecting voice activity in a speech signal, comprising signal processing means arranged to implement a method as defined above.
  • the invention also relates to a computer program, loadable in a memory associated with a processor, and comprising portions of code for implementing a method as defined above during the execution of said program. by the processor, as well as to a computer medium, on which such a program is recorded.
  • FIG. 1 is a block diagram of a signal processing chain using a voice activity detector according to the invention
  • FIG. 2 is a block diagram of an example of voice activity detector according to the invention.
  • FIGS. 3 and 4 are flow diagrams of signal processing operations carried out in the detector of FIG. 2,
  • FIG. 5 is a graph showing an example of evolution of energies calculated in the detector of Figure 2 and illustrating the principle of voice activity detection
  • FIG. 6 is a diagram of a detection automaton implemented in the detector of Figure 2;
  • FIG. 7 is a block diagram of another embodiment of a voice activity detector according to the invention.
  • - Figure 8 is a flow chart of signal processing operations performed in the detector of Figure 7;
  • - Figure 9 is a graph of a function used in the operations of Figure 8
  • the device of FIG. 1 processes a digital speech signal s
  • the signal processing chain represented produces decisions of voice activity ⁇ n . usable in a manner known per se by application units, not shown, providing functions such as speech coding, speech recognition, noise reduction, echo cancellation Decisions ⁇ n .
  • a windowing module 10 puts the signal s in the form of successive windows or frames of index n, each consisting of a number N of digital signal samples Conventionally, these frames may have mutual overlaps
  • N 256 samples at a frequency d 8 kHz F e sampling, with Hamming weighting in each window, and 50% overlap between consecutive windows
  • the signal frame is transformed in the frequency domain by a module 11 applying a conventional fast Fou ⁇ er transform (TFR) algorithm to calculate the module of the signal spectrum.
  • TFR fast Fou ⁇ er transform
  • the frequency resolution available at the output of the fast Fou ⁇ er transform is not used, but a lower resolution, determined by a number I of frequency sub-bands covering the band [0, F e / 2] of the signal
  • a module 12 calculates the respective means of the spectral components S nf of the speech signal by sub-bands, for example by a uniform weighting such that s - 1 y 'nf
  • This averaging decreases the fluctuations between the sub-bands by averaging the contributions of the noise in these sub-bands, which will decrease the variance of the noise estimator. In addition, this averaging makes it possible to reduce the complexity of the system.
  • the averaged spectral components S n are addressed to a voice activity detection module 15 and to a noise estimation module 16
  • B n the long-term estimate of the noise component produced by the module 16 relative to frame n and subband i
  • these estimates can represent a long-term average, or even a minimum of the component S n , over a sliding window long enough
  • FIGS. 2 to 6 illustrate a first embodiment of the voice activity detector 15
  • a denoising module 18 performs, for each frame n and each sub-band i, the operations corresponding to steps 180 to 187 of FIG. 3, to produce two noisy versions ⁇ p-
  • This denoising is operated by nonlinear spectral subtraction
  • the first version Ep ⁇ n is denoised so as to be not less than, in the spectral domain, a ⁇ 1 fraction, of the long-term estimate B n . ⁇ ⁇ ,
  • the first version Ep ⁇ n is denoised so as to be not less than, in the spectral domain, a ⁇ 1 fraction, of the long-term estimate B n . ⁇ ⁇ , The
  • is denoised so as not to be less, in the spectral domain, than a fraction ⁇ 2, of the long-term estimate B n . ⁇ -
  • the fractions ⁇ 1 j and ⁇ 2 j (such as ⁇ 1 j > ⁇ 2 ; ) can be dependent or independent of the sub-band i.
  • Preferred values correspond for ⁇ 1 j to an attenuation of 10 dB, and for ⁇ 2 j to an attenuation of 60 dB, ie ⁇ 1 s ⁇ 0.3 and ⁇ 2 s ⁇ 0.001.
  • step 180 the module 18 calculates, with the resolution of the sub-bands i, the frequency response Hp nj of the a priori denoising filter, according to:
  • ⁇ p n Hp n ⁇ .S nt .
  • ⁇ p2 ⁇ n, i max ( ⁇ p n) i ; ⁇ 2 i .B n _ ⁇ 1 ⁇ j).
  • the voice activity detector 15 in FIG. 2 comprises a module 19 which calculates the energies of the noisy versions of the signal ⁇ p-j n and ⁇ p2 nj , respectively included in m frequency bands designated by the index j (1 ⁇ j ⁇ m, m> 1).
  • the module 19 calculates the energies per band: imax (j)
  • This smoothing window can be an exponential window defined by a forgetting factor ⁇ between 0 and 1.
  • the exponential smoothing with the forgetting factor ⁇ is then conventionally carried out in step 205 according to:
  • ⁇ , n , j ⁇ . ⁇ 1 ⁇ n . 1 + (1- ⁇ ) .E 1 nj
  • the forgetting factor ⁇ q very close to 1 means that the smoothed energies do not follow the increases in sudden energies due to speech.
  • the factor ⁇ q remains, however, slightly less than 1 to avoid errors caused by an increase in background noise which can occur during a fairly long period of speech.
  • the module 21 for controlling the automata relating to the different index bands j calculates the parameters d n : and snr n j in step
  • the new state ⁇ n : of the automaton relating to the band j depends on the previous state ⁇ -, .., -. , d n : and snr n :, for example as shown in the diagram in Figure 6.
  • the thresholds ⁇ 1 ⁇ .2 ;, ⁇ 3 ⁇ and ⁇ 4 can be optimized separately for each of the frequency bands j. It is also possible for the module 21 to cause the automata for different bands.
  • the output of the voice activity detector 15 concerns the entire signal band.
  • the two appendices to the present description show a source code in C ++ language, with a representation of the data in fixed point, corresponding to an implementation of the example of method of detection of voice activity described above.
  • This source code is to translate this source code into executable code, to save it in a program memory associated with an appropriate signal processing processor, and to have it executed by this processor on the input signals. of the detector.
  • the function a_priori_signal_power presented in appendix 1 corresponds to the operations incumbent on the modules 18 and 19 of the voice activity detector 15 of figure 2.
  • the function voice_activity_detector presented in appendix 2 corresponds to the operations incumbent on modules 20 and 21 of this detector.
  • the denoising module 25 of the voice activity detector 15 delivers a single denoised version ⁇ p n , of the speech signal, so that the module 26 calculates the energy
  • various denoising methods can be - in applied by the module 25.
  • the denoising is operated by non-linear spectral subtraction with a noise overestimation coefficient dependent on a quantity p related to the ratio signal-to-noise.
  • steps 250 to 252 a preliminary denoising is carried out for each sub-band of index i according to:
  • S n , i max (s n ⁇ i - . B n _ 1
  • i ; ⁇ . B n _ 1 ⁇ i), the preliminary overestimation coefficient being for example ⁇ 2, and the fraction ⁇ possibly corresponding to noise attenuation of the order of 10 dB.
  • the quantity p is taken equal to the ratio S ' nj / S nj in step 253.
  • ⁇ p nj max (s n ⁇ i - f (p) .B n _ 1] i ; ⁇ .B n _ 1 ⁇ i).
  • the voice activity detector 15 considered with reference to FIG. 7 uses, in each frequency band of index j (and / or in full band), a detection automaton with two states, silence or speech.
  • E 2 n calculated by module 26 are respectively those contained in the components S n ; of the speech signal and those contained in the noisy components ⁇ p nj calculated on the different bands as indicated in step 260 of FIG. 8.
  • This lower bound E 2min j can in particular correspond to a minimum value, on a sliding window, of the energy E 2 n ; of the denoised version of the speech signal in the frequency band considered.
  • this minimum energy E 2 min serves as a minor for the module 28 for controlling the automaton
  • the automaton can be a simple binary automaton using a threshold A., possibly depending on the band considered if M> A., the output bit ⁇ n . of the detector represents a state of silence for the band j, and if M. ⁇ A., it represents a state of speech
  • the module 28 could deliver a non-binary measurement of the vocal activity, represented by a decreasing function of M.
  • the minor E 2m ⁇ n . used in step 280 could be calculated using an exponential window, with a forgetting factor II could also be represented by the energy on the band j of the quantity ⁇ B n _-
  • the analysis carried out to decide on the presence or absence of vocal activity relates directly to energies of different versions of the speech signal.
  • the comparisons could relate to a monotonic function of these energies, for example a logarithm, or on a quantity having a behavior analogous to energies according to the vocal activity (for example the power) ANNEX 1
  • Word32 power (ordl ⁇ module, Wordl ⁇ beta, Wordl ⁇ thd, Wordl ⁇ val);
  • vad param. vads [vad].
  • first_subband_for_power; int stop param. ads [vad].
  • ⁇ pwr power (module, param.beta_a_prioril, long_term_nois e [subband], E [subband]);
  • pwr L_shr (pwr, shift);
  • Word32 power (Wordl ⁇ module, Wordl ⁇ beta, Wordl ⁇ thd, ordl ⁇ val)
  • vad 0; vad ⁇ param. vad_number; vad ++) ⁇
  • L_Extract (L_sub (Pl [vad], Pis [vad]), & hil, &lol); • L_Extract (L_sub (P2 [vad], P2s [vad]), & hi2, &lo2); test (); if (sub (sub (logP2, logP2s), DELTA_P) ⁇ 0) ⁇
  • Pls [vad] L_add (Pls [vad], L_shr (Mpy_32_16 (hil, law, 0x6 ⁇ ), 4)); move32 ();
  • P2s [vad] L_add (P2s [vad], L_shr (Mpy_32_16 (hi2, lo2, 0x6 ⁇ ), 4)); move32 (); ⁇ else ⁇
  • Plsfvad] L_add (Pls [vad], L_shr (Mpy_32_16 (hil, law, 0x6 8db), 13)); move32 ();
  • P2s [vad] L_add (P2s [vad], L_shr (Mpy_32_16 (hi2, lo2, 0x6 8db), 13)); move32 (); ⁇ else ⁇

Abstract

The invention concerns a method for detecting voice activity in a digital speech signal, in at least a frequency band, for example by means of a detecting automaton whereof the status is controlled on the basis of an energy analysis of the signal. The control of said automaton, or more generally the determination of voice activity, comprises a comparison, in the frequency band, of two different versions of the speech signal one of which at least is a noise-corrected version.

Description

PROCEDE ET DISPOSITIF DE DETECTION D'ACTIVITE VOCALE VOICE ACTIVITY DETECTION METHOD AND DEVICE
La présente invention concerne les techniques numériques de traitement de signaux de parole. Elle concerne plus particulièrement les techniques faisant appel à une détection d'activité vocale afin d'effectuer des traitements différenciés selon que le signal supporte ou non une activité vocale. Les techniques numériques en question relèvent de domaines variés : codage de la parole pour la transmission ou le stockage, reconnaissance de la parole, diminution du bruit, annulation d'écho...The present invention relates to digital techniques for processing speech signals. It relates more particularly to techniques using voice activity detection in order to carry out differentiated processing depending on whether the signal supports voice activity or not. The digital techniques in question come from various fields: speech coding for transmission or storage, speech recognition, noise reduction, echo cancellation ...
Les méthodes de détection d'activité vocale ont pour principale difficulté la distinction entre l'activité vocale et le bruit qui accompagne le signal de parole.The main difficulty with voice activity detection methods is the distinction between voice activity and the noise that accompanies the speech signal.
Le document WO99/1 737 décrit un procédé de détection d'activité vocale dans un signal de parole numérique traité par trames successives, dans lequel on procède à un débruitage a priori du signal de parole de chaque trame sur la base d'estimations du bruit obtenues lors du traitement d'une ou plusieurs trames précédentes, et on analyse les variations d'énergie du signal débruité a priori pour détecter un degré d'activité vocale de la trame. Le fait de procéder à la détection d'activité vocale sur la base d'un signal débruité a priori améliore sensiblement les performances de cette détection lorsque le bruit environnant est relativement important.Document WO99 / 1 737 describes a method for detecting voice activity in a digital speech signal processed by successive frames, in which a priori denoising of the speech signal of each frame is carried out on the basis of noise estimates obtained during the processing of one or more previous frames, and the energy variations of the noise-suppressed signal are analyzed a priori to detect a degree of vocal activity in the frame. The fact of detecting voice activity on the basis of an a priori denoised signal appreciably improves the performance of this detection when the surrounding noise is relatively high.
Dans les méthodes habituellement utilisées pour détecter l'activité vocale, les variations d'énergie du signal (direct ou débruité) sont analysées par rapport à une moyenne à long terme de l'énergie de ce signal, une augmentation relative de l'énergie instantanée suggérant l'apparition d'une activité vocale.In the methods usually used to detect vocal activity, the variations in signal energy (direct or noise-suppressed) are analyzed in relation to a long-term average of the energy of this signal, a relative increase in instantaneous energy. suggesting the appearance of vocal activity.
Un but de la présente invention est de proposer un autre type d'analyse permettant une détection d'activité vocale robuste au bruit pouvant accompagner le signal de parole.An object of the present invention is to propose another type of analysis allowing detection of vocal activity robust to the noise which can accompany the speech signal.
Selon l'invention, il est proposé un procédé de détection d'activité vocale dans un signal de parole numérique dans au moins une bande de fréquences, suivant lequel on détecte l'activité vocale sur la base d'une analyse comprenant une comparaison, dans ladite bande de fréquences, de deux versions différentes du signal de parole dont l'une au moins est une version débruitée obtenue en tenant compte d'estimations du bruit compris dans le signal. Ce procédé peut être exécuté sur toute la bande de fréquence du signal, ou par sous-bandes, en fonction des besoins de l'application utilisant la détection d'activité vocale.According to the invention, there is proposed a method for detecting voice activity in a digital speech signal in at least one frequency band, according to which the voice activity is detected on the basis of an analysis comprising a comparison, in said frequency band, of two different versions of the speech signal, at least one of which is a denoised version obtained by taking into account estimates of the noise included in the signal. This process can be performed over the entire frequency band of the signal, or in sub-bands, depending on the needs of the application using the voice activity detection.
L'activité vocale peut être détectée de manière binaire pour chaque bande, ou mesurée par un paramètre variant continûment et pouvant résulter de la comparaison entre les deux versions différentes du signal de parole.Speech activity can be detected binary for each band, or measured by a continuously varying parameter that can result from comparing the two different versions of the speech signal.
La comparaison porte typiquement sur des énergies respectives, évaluées dans ladite bande de fréquences, des deux versions différentes du signal de parole, ou sur une fonction monotone de ces énergies. Un autre aspect de la présente invention se rapporte à un dispositif de détection d'activité vocale dans un signal de parole, comprenant des moyens de traitement de signal agencés pour mettre en œuvre un procédé tel que défini ci-dessus.The comparison typically relates to respective energies, evaluated in said frequency band, of the two different versions of the speech signal, or to a monotonic function of these energies. Another aspect of the present invention relates to a device for detecting voice activity in a speech signal, comprising signal processing means arranged to implement a method as defined above.
L'invention se rapporte encore à un programme d'ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en œuvre d'un procédé tel que défini ci-dessus lors de l'exécution dudit programme par le processeur, ainsi qu'à un support informatique, sur lequel est enregistré un tel programme.The invention also relates to a computer program, loadable in a memory associated with a processor, and comprising portions of code for implementing a method as defined above during the execution of said program. by the processor, as well as to a computer medium, on which such a program is recorded.
D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels :Other features and advantages of the present invention will appear in the following description of nonlimiting exemplary embodiments, with reference to the appended drawings, in which:
- la figure 1 est un schéma synoptique d'une chaîne de traitement de signal utilisant un détecteur d'activité vocale selon l'invention ;- Figure 1 is a block diagram of a signal processing chain using a voice activity detector according to the invention;
- la figure 2 est un schéma synoptique d'un exemple de détecteur d'activité vocale selon l'invention ;- Figure 2 is a block diagram of an example of voice activity detector according to the invention;
- les figures 3 et 4 sont des organigrammes d'opérations de traitement de signal effectuées dans le détecteur de la figure 2,FIGS. 3 and 4 are flow diagrams of signal processing operations carried out in the detector of FIG. 2,
- la figure 5 est un graphique montrant un exemple d'évolution d'énergies calculées dans le détecteur de la figure 2 et illustrant le principe de la détection d'activité vocale ;- Figure 5 is a graph showing an example of evolution of energies calculated in the detector of Figure 2 and illustrating the principle of voice activity detection;
- la figure 6 est un diagramme d'un automate de détection mis en œuvre dans le détecteur de la figure 2 ;- Figure 6 is a diagram of a detection automaton implemented in the detector of Figure 2;
- la figure 7 est un schéma synoptique d'une autre réalisation d'un détecteur d'activité vocale selon l'invention ; - la figure 8 est un organigramme d'opérations de traitement de signal effectuées dans le détecteur de la figure 7 ; - la figure 9 est un graphique d'une fonction utilisée dans les opérations de la figure 8- Figure 7 is a block diagram of another embodiment of a voice activity detector according to the invention; - Figure 8 is a flow chart of signal processing operations performed in the detector of Figure 7; - Figure 9 is a graph of a function used in the operations of Figure 8
Le dispositif de la figure 1 traite un signal numérique de parole s La chaîne de traitement de signal représentée produit des décisions d'activité vocale δn . utilisables de façon connue en soi par des unités d'application, non représentées, assurant des fonctions telles que codage de la parole, reconnaissance de la parole, diminution du bruit, annulation d'écho Les décisions δn . peuvent comporter une résolution en fréquence (index j), ce qui permet d'enrichir des applications fonctionnant dans le domaine fréquentiel Un module de fenêtrage 10 met le signal s sous forme de fenêtres ou trames successives d'index n, constituées chacune d'un nombre N d'échantillons de signal numérique De façon classique, ces trames peuvent présenter des recouvrements mutuels Dans la suite de la présente description, on considérera, sans que ceci soit limitatif, que les trames sont constituées de N = 256 échantillons à une fréquence d'échantillonnage Fe de 8 kHz, avec une pondération de Hamming dans chaque fenêtre, et des recouvrements de 50 % entre fenêtres consécutivesThe device of FIG. 1 processes a digital speech signal s The signal processing chain represented produces decisions of voice activity δ n . usable in a manner known per se by application units, not shown, providing functions such as speech coding, speech recognition, noise reduction, echo cancellation Decisions δ n . can include a frequency resolution (index j), which enriches applications operating in the frequency domain A windowing module 10 puts the signal s in the form of successive windows or frames of index n, each consisting of a number N of digital signal samples Conventionally, these frames may have mutual overlaps In the following description, it will be considered, without this being limiting, that the frames consist of N = 256 samples at a frequency d 8 kHz F e sampling, with Hamming weighting in each window, and 50% overlap between consecutive windows
La trame de signal est transformée dans le domaine fréquentiel par un module 11 appliquant un algorithme classique de transformée de Fouπer rapide (TFR) pour calculer le module du spectre du signal Le module 11 délivre alors un ensemble de N = 256 composantes fréquentielles du signal de parole, notées Sn f, où n désigne le numéro de la trame courante, et f une fréquence du spectre discret Du fait des propriétés des signaux numériques dans le domaine fréquentiel, seuls les N/2 = 128 premiers échantillons sont utilisésThe signal frame is transformed in the frequency domain by a module 11 applying a conventional fast Fouπer transform (TFR) algorithm to calculate the module of the signal spectrum. The module 11 then delivers a set of N = 256 frequency components of the signal. speech, noted S nf , where n denotes the number of the current frame, and f a frequency of the discrete spectrum Due to the properties of digital signals in the frequency domain, only the N / 2 = 128 first samples are used
Pour calculer les estimations du bruit contenu dans le signal s, on n' utilise pas la résolution fréquentielle disponible en sortie de la transformée de Fouπer rapide, mais une résolution plus faible, déterminée par un nombre I de sous-bandes de fréquences couvrant la bande [0, Fe/2] du signal Chaque sous-bande i (1 < i < I) s'étend entre une fréquence inférieure f(ι-1 ) et une fréquence supérieure f(ι), avec f(0) = 0, et f(l) = Fe/2 Ce découpage en sous- bandes peut être uniforme (f(ι)-f(ι-1 ) = Fe/2I) Il peut également être non uniforme (par exemple selon une échelle de barks) Un module 12 calcule les moyennes respectives des composantes spectrales Sn f du signal de parole par sous-bandes, par exemple par une pondération uniforme telle que s - 1 y 'n.fTo calculate the estimates of the noise contained in the signal s, the frequency resolution available at the output of the fast Fouπer transform is not used, but a lower resolution, determined by a number I of frequency sub-bands covering the band [0, F e / 2] of the signal Each sub-band i (1 <i <I) extends between a lower frequency f (ι-1) and a higher frequency f (ι), with f (0) = 0, and f (l) = F e / 2 This sub-banding can be uniform (f (ι) -f (ι-1) = F e / 2I) It can also be non-uniform (for example according to a barks scale) A module 12 calculates the respective means of the spectral components S nf of the speech signal by sub-bands, for example by a uniform weighting such that s - 1 y 'nf
"'' f(')-f ),e[f(, >.f( ["'' f (') -f), e [f (,> .f ([
Ce moyennage diminue les fluctuations entre les sous-bandes en moyennant les contributions du bruit dans ces sous-bandes, ce qui diminuera la vaπance de l'estimateur de bruit En outre, ce moyennage permet de diminuer la complexité du systèmeThis averaging decreases the fluctuations between the sub-bands by averaging the contributions of the noise in these sub-bands, which will decrease the variance of the noise estimator. In addition, this averaging makes it possible to reduce the complexity of the system.
Les composantes spectrales moyennées Sn , sont adressées à un module 15 de détection d'activité vocale et à un module 16 d'estimation du bruit On note Bn , l'estimation à long terme de la composante de bruit produite par le module 16 relativement à la trame n et à la sous-bande iThe averaged spectral components S n are addressed to a voice activity detection module 15 and to a noise estimation module 16 We denote B n , the long-term estimate of the noise component produced by the module 16 relative to frame n and subband i
Ces estimations à long terme Bn , peuvent par exemple être obtenues de la manière décrite dans WO99/14737 On peut aussi utiliser un simple lissage au moyen d'une fenêtre exponentielle définie par un facteur d'oubli λB These long-term estimates B n , can for example be obtained in the manner described in WO99 / 14737 One can also use a simple smoothing by means of an exponential window defined by a forgetting factor λ B
B n,ι = λR B B n— 1,ι +(1-λR ° )> S n,ι avec λB égal à 1 si le détecteur d'activité vocale 15 indique que la sous-bande i porte une activité vocale, et égal à une valeur comprise entre 0 et 1 sinonB n, ι = λ R BB n— 1, ι + (1-λ R °)> S n, ι with λ B equal to 1 if the voice activity detector 15 indicates that the sub-band i carries an activity voice, and equal to a value between 0 and 1 otherwise
Bien entendu, il est possible d'utiliser d'autres estimations à long terme représentatives de la composante de bruit comprise dans le signal de parole, ces estimations peuvent représenter une moyenne à long terme, ou encore un minimum de la composante Sn , sur une fenêtre glissante suffisamment longueOf course, it is possible to use other long-term estimates representative of the noise component included in the speech signal, these estimates can represent a long-term average, or even a minimum of the component S n , over a sliding window long enough
Les figures 2 à 6 illustrent une première réalisation du détecteur d'activité vocale 15 Un module de débruitage 18 exécute, pour chaque trame n et chaque sous-bande i, les opérations correspondant aux étapes 180 à 187 de la figure 3, pour produire deux versions débruitées Êp-| n , , Êp2fn,ι du signal de parole Ce débruitage est opéré par soustraction spectrale non-linéaire La première version Êpη n , est débruitée de façon à ne pas être inférieure, dans le domaine spectral, à une fraction β1 , de l'estimation à long terme Bn.τι , LaFIGS. 2 to 6 illustrate a first embodiment of the voice activity detector 15 A denoising module 18 performs, for each frame n and each sub-band i, the operations corresponding to steps 180 to 187 of FIG. 3, to produce two noisy versions Êp- | n,, EP2 f n, ι d u speech signal This denoising is operated by nonlinear spectral subtraction The first version Ep η n, is denoised so as to be not less than, in the spectral domain, a β1 fraction, of the long-term estimate B n . τ ι, The
seconde version Êp2ιn,ι est débruitée de façon à ne pas être inférieure, dans le domaine spectral, à une fraction β2, de l'estimation à long terme Bn.τ-| , La quantité τ1 est un retard exprimé en nombre de trames, qui peut être fixe (par exemple τ1 = 1 ) ou variable. Il est d'autant faible qu'on est confiant dans la détection d'activité vocale. Les fractions β1j et β2j (telles que β1 j > β2;) peuvent être dépendantes ou indépendantes de la sous-bande i. Des valeurs préférées correspondent pour β1 j à une atténuation de 10 dB, et pour β2j à une atténuation de 60 dB, soit β1s ≈ 0,3 et β2s ≈ 0,001.second version Êp2 ιn, ι is denoised so as not to be less, in the spectral domain, than a fraction β2, of the long-term estimate B n . τ - | , The quantity τ1 is a delay expressed in number of frames, which can be fixed (by example τ1 = 1) or variable. It is all the more weak that one is confident in the detection of voice activity. The fractions β1 j and β2 j (such as β1 j > β2 ; ) can be dependent or independent of the sub-band i. Preferred values correspond for β1 j to an attenuation of 10 dB, and for β2 j to an attenuation of 60 dB, ie β1 s ≈ 0.3 and β2 s ≈ 0.001.
A l'étape 180, le module 18 calcule, avec la résolution des sous- bandes i, la réponse en fréquence Hpn j du filtre de débruitage a priori, selon :In step 180, the module 18 calculates, with the resolution of the sub-bands i, the frequency response Hp nj of the a priori denoising filter, according to:
. . ^n,i ~ αn-τ1,i-°n-τ1,i Pn,i = - ύn-τ2,i où τ2 est un retard entier positif ou nul et α'n i est un coefficient de surestimation du bruit. Ce coefficient de surestimation α'n -i peut être dépendant ou indépendant de l'index de trame n et/ou de l'index de sous-bande i. Dans une réalisation préférée, il dépend à la fois de n et i, et il est déterminé comme décrit dans le document WO99/14737. Un premier débruitage est effectué à l'étape 181 : Êpn = Hpn {.Sn t. Aux étapes 182 à 184, les composantes spectrales Êp-j n s sont calculées selon Êpι n i = max Êpn J ; β1j Bn_τi j), et aux. . ^ n, i ~ α n-τ1, i- ° n-τ1, i Pn, i = - ύ n-τ2, i where τ2 is a positive integer delay or zero and α ' ni is a noise overestimation coefficient. This overestimation coefficient α ' n - i can be dependent or independent of the frame index n and / or of the subband index i. In a preferred embodiment, it depends on both n and i, and it is determined as described in document WO99 / 14737. A first denoising is carried out in step 181: Êp n = Hp n { .S nt . In steps 182 to 184, the spectral components Êp-j ns are calculated according to Êpι ni = max Êp n J; β1j B n _ τ ij), and aux
étapes 182 à 184, les composantes spectrales Ëp2>n,i sont calculées selonsteps 182 to 184, the spectral components Ëp2 > n, i are calculated according to
Êp2ιn,i = max(Êpn)i ; β2i .Bn_τ1 ιj).Êp2 ιn, i = max (Êp n) i ; β2 i .B n _ τ1 ι j).
Le détecteur d'activité vocale 15 de la figure 2 comporte un module 19 qui calcule des énergies des versions débruitées du signal Êp-j n et Êp2 n j , respectivement comprises dans m bandes de fréquences désignées par l'index j (1 < j < m, m > 1 ). Cette résolution peut être la même que celle des sous- bandes définies par le module 12 (index i), ou une résolution moins fine pouvant aller jusqu'à l'ensemble de la bande utile [0, Fe/2] du signal (cas m = 1 ). A titre d'exemple, le module 12 peut définir 1 = 16 sous-bandes uniformes de la bande [0, Fe/2], et le module 19 peut conserver m = 3 bandes plus larges, chaque bande d'index j couvrant les sous-bandes d'index i allant de imin(j) à imax(j), avec imin(1 ) = 1 , imin(j+1) = imax(j) + 1 pour 1 ≤j < m, et imax(m) = I. A l'étape 190 (figure 3), le module 19 calcule les énergies par bande : imax(j)The voice activity detector 15 in FIG. 2 comprises a module 19 which calculates the energies of the noisy versions of the signal Êp-j n and Êp2 nj , respectively included in m frequency bands designated by the index j (1 <j < m, m> 1). This resolution can be the same as that of the sub-bands defined by the module 12 (index i), or a less fine resolution which can go up to the whole of the useful band [0, F e / 2] of the signal ( case m = 1). For example, the module 12 can define 1 = 16 uniform sub-bands of the band [0, F e / 2], and the module 19 can keep m = 3 wider bands, each index band j covering the sub-bands of index i going from imin (j) to imax (j), with imin (1) = 1, imin (j + 1) = imax (j) + 1 for 1 ≤j <m, and imax (m) = I. In step 190 (FIG. 3), the module 19 calculates the energies per band: imax (j)
El,n,J = Σ [f(i)-f(i-1)]-ÊPl n>| i=imin(j) imax(j) E2,n,j = ∑ [f(i)-f(i-D].Êp2 2 nιi i=iminO)El, n, J = Σ [f (i) -f (i-1)] - Ê Pl n> | i = imin (j) imax (j) E 2, n , j = ∑ [f (i) -f (iD] .Êp 2 2 nιi i = iminO)
Un module 20 du détecteur d'activité vocale 15 effectue un lissage temporel des énergies E1 n = et E2 n -, pour chacune des bandes d'index j, ce qui correspond aux étapes 200 à 205 de la figure 4. Le lissage de ces deux énergies est effectué au moyen d'une fenêtre de lissage déterminée en comparant l'énergie E2 n j de la version la plus débruitée à son énergie lissée précédemment calculée E2ιn-i,j . ou à une valeur de l'ordre de cette énergie lissée E2 n-l ,j (tests 200 et 201 ). Cette fenêtre de lissage peut être une fenêtre exponentielle définie par un facteur d'oubli λ compris entre 0 et 1. Ce facteur d'oubli λ peut prendre trois valeurs : l'une λr très proche de 0 (par exemple λr = 0) choisie à l'étape 202 si E2 n -, ≤ E2,n-l ,j ; 'a seconde λq très proche de 1A module 20 of the voice activity detector 15 performs a time smoothing of the energies E 1 n = and E 2 n -, for each of the bands of index j, which corresponds to steps 200 to 205 of FIG. 4. Smoothing of these two energies is carried out by means of a smoothing window determined by comparing the energy E 2 nj of the most denoised version with its previously calculated smoothed energy E2 ιn -i , j . or to a value of the order of this smoothed energy E2 nl , j (tests 200 and 201). This smoothing window can be an exponential window defined by a forgetting factor λ between 0 and 1. This forgetting factor λ can take three values: one λ r very close to 0 (for example λ r = 0 ) chosen in step 202 if E 2 n -, ≤ E2, nl, j; Has second λ q very close to 1
(par exemple λq = 0,99999) choisie à l'étape 203 si E2 n : > Δ. En-ι,j . Δ ©tant un coefficient plus grand que 1 ; et la troisième λp comprise entre 0 et λq (par exemple λp = 0,98) choisie à l'étape 204 si E2ιn-i,j < E2 n j < Δ. E2ιn,j - Le lissage exponentiel avec le facteur d'oubli λ est ensuite effectué classiquement à l'étape 205 selon :(for example λ q = 0.99999) chosen in step 203 if E 2 n :> Δ. E n-ι , j. Δ © being a coefficient greater than 1; and the third λ p between 0 and λ q (for example λ p = 0.98) chosen in step 204 if E2 ιn -i , j <E 2 nj <Δ. E2 ιn, j - The exponential smoothing with the forgetting factor λ is then conventionally carried out in step 205 according to:
Ëι,n,j = λ. Ë1 ιn.1 + (1-λ).E1 n j Ëι , n , j = λ. Ë 1 ιn . 1 + (1-λ) .E 1 nj
Ë2,n,j = λ. Ê2ιn-1 + (1-λ).E2 nj Un exemple de variation dans le temps des énergies E1 n =, E2 n : et des énergies lissées E-) n et E ιn est représenté sur la figure 5. On voit qu'on arrive à un bon suivi des énergies lissées lorsqu'on détermine le facteur d'oubli sur la base des variations de l'énergie E2 n ι correspondant à la version la plus débruitée du signal. Le facteur d'oubli λp permet de prendre en compte les augmentations de niveau du bruit de fond, les diminutions d'énergie étant suivies par le facteur d'oubli λr. Le facteur d'oubli λq très proche de 1 fait que les énergies lissées ne suivent pas les augmentations d'énergies brusques dues à la parole. Le facteur λq reste toutefois légèrement inférieur à 1 pour éviter les erreurs causées par une augmentation du bruit de fond pouvant survenir pendant une assez longue période de parole.Ë2 , n , j = λ. Ê 2ιn - 1 + (1-λ) .E 2 nj An example of variation over time of the energies E 1 n =, E 2 n : and of the smoothed energies E-) n and E ι n is shown in Figure 5 We see that we arrive at a good follow-up of the smoothed energies when we determine the forget factor on the basis of the variations of the energy E 2 n ι corresponding to the most denoised version of the signal. The forgetting factor λ p takes into account increases in the level of background noise, the energy decreases being followed by the forgetting factor λ r . The forgetting factor λ q very close to 1 means that the smoothed energies do not follow the increases in sudden energies due to speech. The factor λ q remains, however, slightly less than 1 to avoid errors caused by an increase in background noise which can occur during a fairly long period of speech.
L'automate de détection d'activité vocale est contrôlé notamment par un paramètre résultant d'une comparaison des énergies E1 n = et E2 n =. Ce paramètre peut notamment être le rapport dn = = E1 n ; 2 n :. On voit sur la figure 5 que ce rapport dn = permet de bien détecter les phases de paroleThe voice activity detection automaton is controlled in particular by a parameter resulting from a comparison of the energies E 1 n = and E 2 n =. This parameter can in particular be the ratio d n = = E 1 n ; 2 n :. It can be seen in FIG. 5 that this ratio d n = makes it possible to correctly detect the speech phases
(représentées par des hachures).(represented by hatching).
Le contrôle de l'automate de détection peut également utiliser d'autres paramètres, tels qu'un paramètre lié au rapport signal-sur-bruit : snrn : = E1 n :/Eι n , ce qui revient à prendre en compte une comparaison entre les énergies E1 n = et E1 ιn . Le module 21 de contrôle des automates relatifs aux différentes bandes d'index j calcule les paramètres dn : et snrnj à l'étapeThe detection automaton control can also use other parameters, such as a parameter linked to the signal-to-noise ratio: snr n : = E 1 n : / Eι n , which amounts to taking into account a comparison between the energies E 1 n = and E 1 ιn . The module 21 for controlling the automata relating to the different index bands j calculates the parameters d n : and snr n j in step
210, puis détermine l'état des automates. Le nouvel état δn : de l'automate relatif à la bande j dépend de l'état précédent δ-,.., -. , de dn : et de snrn :, par exemple comme indiqué sur le diagramme de la figure 6.210, then determines the state of the automata. The new state δ n : of the automaton relating to the band j depends on the previous state δ -, .., -. , d n : and snr n :, for example as shown in the diagram in Figure 6.
Quatre états sont possibles : δ: = 0 détecte le silence, ou absence de parole ; δ:=2 détecte la présence d'une activité vocale ; et les états δ: = 1 et δ: = 3 sont des états intermédiaires de montée et de descente. Lorsque l'automate est dans l'état de silence (δp^ : = 0), il y reste si dn j dépasse un premier seuil α1 ι, et il passe dans l'état de montée dans le cas contraire. Dans l'état de montée (δn_., = = 1), il revient dans l'état de silence si dn : dépasse un second seuil α2= ; et il passe dans l'état de parole dans le cas contraire. Lorsque l'automate est dans l'état de parole (δn_., : = 2), il y reste si snrn j dépasse un troisième seuil α3=, et il passe dans l'état de descente dans le cas contraire. Dans l'état de descente (δ-,.., = = 3), l'automate revient dans l'état de parole si snrn : dépasse un quatrième seuil α4=, et il revient dans l'état de silence dans le cas contraire. Les seuils α1 α.2;, α3ι et α4= peuvent être optimisés séparément pour chacune des bandes de fréquences j. II est également possible que le module 21 fasse interagir les automates relatifs aux différentes bandes.Four states are possible: δ: = 0 detects silence, or absence of speech; δ: = 2 detects the presence of voice activity; and the states δ: = 1 and δ: = 3 are intermediate states of ascent and descent. When the automaton is in the state of silence (δ p ^: = 0), it remains there if d nj exceeds a first threshold α1 ι, and it goes into the state of ascent otherwise. In the rising state (δ n _., = = 1), it returns to the silent state if d n : exceeds a second threshold α2 =; and it goes into the speaking state otherwise. When the automaton is in the speaking state (δ n _.,: = 2), it remains there if snr n j exceeds a third threshold α3 =, and it goes into the descending state otherwise. In the descent state (δ -, .., = = 3), the automaton returns to the speech state if snr n : exceeds a fourth threshold α4 =, and it returns to the state of silence in the opposite case. The thresholds α1 α.2 ;, α3ι and α4 = can be optimized separately for each of the frequency bands j. It is also possible for the module 21 to cause the automata for different bands.
En particulier, il peut forcer à l'état de parole les automates relatifs à chacune des sous-bandes dès lors que l'un d'entre eux se trouve dans l'état de parole. Dans ce cas, la sortie du détecteur d'activité vocale 15 concerne l'ensemble de la bande du signal.In particular, it can force the automata relating to each of the sub-bands into the speech state as soon as one of them is in the speech state. In this case, the output of the voice activity detector 15 concerns the entire signal band.
Les deux annexes à la présente description montrent un code source en langage C++, avec une représentation des données en virgule fixe, correspondant à une mise en œuvre de l'exemple de procédé de détection d'activité vocale décrit ci-dessus. Pour réaliser le détecteur, une possibilité est de traduire ce code source en code exécutable, de l'enregistrer dans une mémoire de programme associée à un processeur de traitement de signal approprié, et de le faire exécuter par ce processeur sur les signaux d'entrée du détecteur. La fonction a_priori_signal_power présentée en annexe 1 correspond aux opérations incombant aux modules 18 et 19 du détecteur d'activité vocale 15 de la figure 2. La fonction voice_activity_detector présentée en annexe 2 correspond aux opérations incombant aux modules 20 et 21 de ce détecteur.The two appendices to the present description show a source code in C ++ language, with a representation of the data in fixed point, corresponding to an implementation of the example of method of detection of voice activity described above. To make the detector, one possibility is to translate this source code into executable code, to save it in a program memory associated with an appropriate signal processing processor, and to have it executed by this processor on the input signals. of the detector. The function a_priori_signal_power presented in appendix 1 corresponds to the operations incumbent on the modules 18 and 19 of the voice activity detector 15 of figure 2. The function voice_activity_detector presented in appendix 2 corresponds to the operations incumbent on modules 20 and 21 of this detector.
Dans l'exemple particulier des annexes, les paramètres suivant ont été employés : τ1 = 1 ; τ2 = 0 ; β1j = 0,3 ; β2j = 0,001 ; m = 3 ; Δ = 4,953 ; λp = 0,98 ; λq = 0,99999 ; λr = 0 ; α1 j = ct2j = α = 1 ,221 ; α3j = 1 ,649. LeIn the particular example in the appendices, the following parameters have been used: τ1 = 1; τ2 = 0; β1 j = 0.3; β2 j = 0.001; m = 3; Δ = 4.953; λ p = 0.98; λ q = 0.99999; λ r = 0; α1 j = ct2 j = α = 1, 221; α3 j = 1, 649. The
Tableau I ci-après donne les correspondances entre les notations employées dans la précédente description et dans les dessins et celles employées dans l'annexe. Table I below gives the correspondences between the notations used in the previous description and in the drawings and those used in the appendix.
TABLEAU ITABLE I
Dans la variante de réalisation illustrée par la figure 7, le module de débruitage 25 du détecteur d'activité vocale 15 délivre une seule version débruitée Êpn , du signal de parole, pour que le module 26 en calcule l'énergieIn the variant embodiment illustrated in FIG. 7, the denoising module 25 of the voice activity detector 15 delivers a single denoised version Êp n , of the speech signal, so that the module 26 calculates the energy
E2 n : pour chaque bande j. L'autre version dont le module 26 calcule l'énergie est directement représentée par les échantillons non débruités Sn j.E 2 n : for each band j. The other version whose module 26 calculates the energy is directly represented by the non-denoised samples S nj .
Comme précédemment, diverses méthodes de débruitage peuvent être - i n appliquées par le module 25. Dans l'exemple illustré par les étapes 250 à 256 de la figure 8, le débruitage est opéré par soustraction spectrale non-linéaire avec un coefficient de surestimation du bruit dépendant d'une quantité p liée au rapport signal-sur-bruit. Aux étapes 250 à 252, un débruitage préliminaire est effectué pour chaque sous-bande d'index i selon :As before, various denoising methods can be - in applied by the module 25. In the example illustrated by steps 250 to 256 of FIG. 8, the denoising is operated by non-linear spectral subtraction with a noise overestimation coefficient dependent on a quantity p related to the ratio signal-to-noise. In steps 250 to 252, a preliminary denoising is carried out for each sub-band of index i according to:
Sn,i = max(snιi - .Bn_1|i ; β.Bn_i), le coefficient de surestimation préliminaire étant par exemple α = 2, et la fraction β pouvant correspondre à une atténuation du bruit de l'ordre de 10 dB. La quantité p est prise égale au rapport S'n j/Sn j à l'étape 253. Le facteur de surestimation f(p) varie de façon non-linéaire avec la quantité p, par exemple comme représenté sur la figure 9. Pour les valeurs de p les plus proches de 0 (p < p.,), le rapport signal-sur-bruit est faible, et on peut prendre un facteur de surestimation f(p) = 2. Pour les valeurs les plus élevées de p (p2 < p < 1 ), le bruit est faible et n'a pas besoin d'être surestimé (f(p)=1 ). Entre p1 et p2, f(p) décroît de 2 à 1 , par exemple linéairement. Le débruitage proprement dit, fournissant la version Êpn j , est effectué aux étapes 254 àS n , i = max (s nιi - . B n _ 1 | i ; β . B n _ i), the preliminary overestimation coefficient being for example α = 2, and the fraction β possibly corresponding to noise attenuation of the order of 10 dB. The quantity p is taken equal to the ratio S ' nj / S nj in step 253. The overestimation factor f (p) varies non-linearly with the quantity p, for example as shown in FIG. 9. For the p values closest to 0 (p <p.), the signal-to-noise ratio is low, and an overestimation factor f (p) = 2 can be taken. For the highest values of p ( p 2 <p <1), the noise is low and does not need to be overestimated (f (p) = 1). Between p 1 and p 2 , f (p) decreases from 2 to 1, for example linearly. The actual denoising, providing the Êp nj version, is carried out in steps 254 to
256 :256:
Êpn j = max(snιi - f(p).Bn_1]i ; β.Bn_i).Êp nj = max (s nιi - f (p) .B n _ 1] i ; β.B n _ i).
Le détecteur d'activité vocale 15 considéré en référence à la figure 7 utilise, dans chaque bande de fréquences d'index j (et/ou en pleine bande), un automate de détection à deux états, silence ou parole. Les énergies E1 n : etThe voice activity detector 15 considered with reference to FIG. 7 uses, in each frequency band of index j (and / or in full band), a detection automaton with two states, silence or speech. The energies E 1 n : and
E2 n : calculées par le module 26 sont respectivement celles contenues dans les composantes Sn ; du signal de parole et celles contenues dans les composantes débruitées Êpn j calculées sur les différentes bandes comme indiqué à l'étape 260 de la figure 8. La comparaison des deux versions différentes du signal de parole porte sur des différences respectives entre les énergies E1 n = et E2 nj et un minorant de l'énergie E2 n : de la version débruitée.E 2 n : calculated by module 26 are respectively those contained in the components S n ; of the speech signal and those contained in the noisy components Êp nj calculated on the different bands as indicated in step 260 of FIG. 8. The comparison of the two different versions of the speech signal relates to respective differences between the energies E 1 n = and E 2 n j and a lower bound of the energy E 2 n : of the denoised version.
Ce minorant E2min j peut notamment correspondre à une valeur minimale, sur une fenêtre glissante, de l'énergie E2 n ; de la version débruitée du signal de parole dans la bande de fréquences considérée. Dans ce cas, un module 27 stocke dans une mémoire de type premier entré - premier sorti (FIFO) les L valeurs les plus récentes de l'énergie E2 n . du signal débruité dans chaque bande j, sur une fenêtre glissante représentant par exemple de l'ordre de 20 trames, et délivre les énergies minimales E2m,n = min E2ιn_k,j This lower bound E 2min j can in particular correspond to a minimum value, on a sliding window, of the energy E 2 n ; of the denoised version of the speech signal in the frequency band considered. In this case, a module 27 stores in a first-in-first-out (FIFO) type memory the L most recent values of the energy E 2 n . of the denoised signal in each band j, on a sliding window representing for example of the order of 20 frames, and delivers the minimum energies E2 m , n = min E2 ιn _k , j
sur cette fenêtre (étape 270 de la figure 8) Dans chaque bande, cette énergie minimale E2mιn , sert de minorant pour le module 28 de contrôle de l'automateon this window (step 270 of FIG. 8) In each band, this minimum energy E 2 min , serves as a minor for the module 28 for controlling the automaton
de détection, qui utilise une mesure M. donnée par Mj (étape detection, which uses a measurement M. given by M j (step
280)280)
L'automate peut être un simple automate binaire utilisant un seuil A., dépendant éventuellement de la bande considérée si M > A., le bit de sortie δn . du détecteur représente un état de silence pour la bande j, et si M. < A., il représente un état de parole En variante, le module 28 pourrait délivrer une mesure non binaire de l'activité vocale, représentée par une fonction décroissante de M. En variante, le minorant E2mιn . utilisé à l'étape 280 pourrait être calculé à l'aide d'une fenêtre exponentielle, avec un facteur d'oubli II pourrait aussi être représenté par l'énergie sur la bande j de la quantité β Bn_-| , servant de plancher dans le débruitage par soustraction spectraleThe automaton can be a simple binary automaton using a threshold A., possibly depending on the band considered if M> A., the output bit δ n . of the detector represents a state of silence for the band j, and if M. <A., it represents a state of speech As a variant, the module 28 could deliver a non-binary measurement of the vocal activity, represented by a decreasing function of M. Alternatively, the minor E 2mιn . used in step 280 could be calculated using an exponential window, with a forgetting factor II could also be represented by the energy on the band j of the quantity β B n _- | , serving as a floor in denoising by spectral subtraction
Dans ce qui précède, l'analyse effectuée pour décider de la présence ou de l'absence d'activité vocale porte directement sur des énergies de versions différentes du signal de parole Bien entendu, les comparaisons pourraient porter sur une fonction monotone de ces énergies, par exemple un logarithme, ou sur une quantité ayant un comportement analogue aux énergies selon l'activité vocale (par exemple la puissance) ANNEXE 1In the foregoing, the analysis carried out to decide on the presence or absence of vocal activity relates directly to energies of different versions of the speech signal. Of course, the comparisons could relate to a monotonic function of these energies, for example a logarithm, or on a quantity having a behavior analogous to energies according to the vocal activity (for example the power) ANNEX 1
/******************************************************************* ****** description/ * *** * * ********* ** ** ** * *** * * ************** * ****** * **** * * ****** **** ** * ***** description
* NSS module:* NSS module:
* signal power before VAD* signal power before VAD
**
******************************************************************* ******/************************************************** ***************** ****** /
/* */ * *
* included files* included files
* */ tinclude <assert.h>* * / tinclude <assert.h>
#include "private.h"#include "private.h"
/* */ * *
* private* private
* */* * /
Word32 power ( ordlβ module, Wordlβ beta, Wordlβ thd, Wordlβ val) ;Word32 power (ordlβ module, Wordlβ beta, Wordlβ thd, Wordlβ val);
/* a_priori_signal_power */ void a_priori_signal_power/ * a_priori_signal_power * / void a_priori_signal_power
/* IN */ Wordlβ *E, ordlβ *internal_state, Wordlβ *max_noise, W ordlβ *long_term_noise, ordlβ *frequential_scale,/ * IN * / Wordlβ * E, ordlβ * internal_state, Wordlβ * max_noise, W ordlβ * long_term_noise, ordlβ * frequential_scale,
/* IN&OUT */ Wordlβ *alpha,/ * IN & OUT * / Wordlβ * alpha,
/* OUT */ ord32 *P1, ord32 *P2/ * OUT * / ord32 * P1, ord32 * P2
))
{ int vad; for(vad = 0; vad < param. ad_number; vad++) { int start = param. vads [vad] . first_subband_for_power; int stop = param. ads [vad] . last_subband; int subband; int uniform_subband; uniform subband = 1; for (subband ≈ start; subband <= stop; subband++) if (param. subband_size [subband] != param. subband size [start] ) uniform_subband = 0;{int vad; for (vad = 0; vad <param. ad_number; vad ++) {int start = param. vads [vad]. first_subband_for_power; int stop = param. ads [vad]. last_subband; int subband; int uniform_subband; uniform subband = 1; for (subband ≈ start; subband <= stop; subband ++) if (param. subband_size [subband]! = param. subband size [start]) uniform_subband = 0;
PI [vad] = 0; move32 () ; P2 [vad] = 0; move32 () ; test(); if (sub (internal_state [vad] , NOISE) == 0) { for (subband = start; subband <= stop; subband++) {PI [vad] = 0; move32 (); P2 [vad] = 0; move32 (); test(); if (sub (internal_state [vad], NOISE) == 0) {for (subband = start; subband <= stop; subband ++) {
Word32 pwr; ordlβ shift;Word32 pwr; ordlβ shift;
Wordlβ module;Wordlβ module;
Wordlβ alpha_long_term; alpha_long_term = shr (max_noise [subband] , 2); movelβO; test(); test(); if (su (alpha_long_term, long_term_noise [ subband] ) >= 0) { alpha [subband] = 0x7fff; movelβO; alpha_long_term = long_term_noise [subband] ; movelβO; } else if (sub (max_noise [subband] , long_term_noise [subban d]) < 0) { alpha [subband] = 0x2000; movelβO; alpha_long_term ≈ shr (long_term_noise [subband] , 2) ; mo vel6()Wordlβ alpha_long_term; alpha_long_term = shr (max_noise [subband], 2); movelβO; test(); test(); if (su (alpha_long_term, long_term_noise [subband])> = 0) {alpha [subband] = 0x7fff; movelβO; alpha_long_term = long_term_noise [subband]; movelβO; } else if (sub (max_noise [subband], long_term_noise [subban d]) <0) {alpha [subband] = 0x2000; movelβO; alpha_long_term ≈ shr (long_term_noise [subband], 2); mo vel6 ()
} else { alpha [subband] = div_s (alpha_long_term, long_term_noi se [subband] ) ; movelβO; } module = sub (E [subband] , shl (alpha long_term, 2)); movel} else {alpha [subband] = div_s (alpha_long_term, long_term_noi se [subband]); movelβO; } module = sub (E [subband], shl (alpha long_term, 2)); movel
if (uniform_subband) { shift = shl (frequential_scale [subband] , 1); movelβO; } else { shift = add (param. subband_shift [subband] , shl(frequen tial_scale [subband] , 1)); movelβO; } pwr = power (module, param. beta_a_prioril, long_term_nois e [subband] , long_term_noise [subband] ) ; pwr = L_shr(pwr, shift); PI [vad] = L_add(Pl [vad] , pwr); move32 O ; pwr = power (module, param. beta_a_priori2, long_term_nois e [subband] , long_term_noise [subband] ) ; pwr = L_shr(pwr, shift);if (uniform_subband) {shift = shl (frequential_scale [subband], 1); movelβO; } else {shift = add (param. subband_shift [subband], shl (frequen tial_scale [subband], 1)); movelβO; } pwr = power (module, param. beta_a_prioril, long_term_nois e [subband], long_term_noise [subband]); pwr = L_shr (pwr, shift); PI [vad] = L_add (Pl [vad], pwr); move32 O; pwr = power (module, param. beta_a_priori2, long_term_nois e [subband], long_term_noise [subband]); pwr = L_shr (pwr, shift);
P2[vad] = L_add(P2[vad] , pwr); move32 () ; } } else { for (subband = start; subband <= stop; subband++) { ord32 pwr;P2 [vad] = L_add (P2 [vad], pwr); move32 (); }} else {for (subband = start; subband <= stop; subband ++) {ord32 pwr;
Wordlβ shift;Wordlβ shift;
Wordlβ module;Wordlβ module;
Wordlβ alpha_long_term; alpha_long_term = mult (alpha [subband] , long_term_noise [s ubband] ) ; movelβO; module = sub (E [subband] , shl (alpha_long_term, 2)); movel 6(); if (uniform_subband) { shift = shl (frequential_scale [subband] , 1); movelβO; } else { shift = add (param. subband_shift [subband] , shl(frequen tial_scale [subband] , 1)); movelβO; } pwr = power (module, param.beta_a_prioril, long_term_nois e [subband], E [subband]); pwr = L_shr(pwr, shift);Wordlβ alpha_long_term; alpha_long_term = mult (alpha [subband], long_term_noise [s ubband]); movelβO; module = sub (E [subband], shl (alpha_long_term, 2)); movel 6 (); if (uniform_subband) {shift = shl (frequential_scale [subband], 1); movelβO; } else {shift = add (param. subband_shift [subband], shl (frequen tial_scale [subband], 1)); movelβO; } pwr = power (module, param.beta_a_prioril, long_term_nois e [subband], E [subband]); pwr = L_shr (pwr, shift);
PI [vad] = L_add(Pl [vad] , pwr); move32 () ; pwr = power (module, param. beta_a_priori2, long_term_nois e [subband], E [subband]); pwr = L_shr(pwr, shift);PI [vad] = L_add (Pl [vad], pwr); move32 (); pwr = power (module, param. beta_a_priori2, long_term_nois e [subband], E [subband]); pwr = L_shr (pwr, shift);
P2 [ vad] = L_add ( P2 [ vad] , pwr) ; move32 ( ) ; } } } }P2 [vad] = L_add (P2 [vad], pwr); move32 (); }}}}
*.*.
* power */* power * /
Word32 power (Wordlβ module, Wordlβ beta, Wordlβ thd, ordlβ val)Word32 power (Wordlβ module, Wordlβ beta, Wordlβ thd, ordlβ val)
{ ord32 power; testO; if (sub (module, mult(beta, thd)) <= 0) { ordlβ hi, lo; power = L_mult(val, val); move32 O ;{ord32 power; testo; if (sub (module, mult (beta, thd)) <= 0) {ordlβ hi, lo; power = L_mult (val, val); move32 O;
L_Extract (power, &hi, &lo) ; power = Mpy_32_16 (hi, lo, beta); move32();L_Extract (power, & hi, &lo); power = Mpy_32_16 (hi, lo, beta); move32 ();
L_Extract (power, &hi, &lo) ; power ≈ Mpy_32_16 (hi, lo, beta); move32(); } else { power = L_mult (module, module); move32 O ;L_Extract (power, & hi, &lo); power ≈ Mpy_32_16 (hi, lo, beta); move32 (); } else {power = L_mult (module, module); move32 O;
} return (power) ; AN N EXE 2} return (power); AN N EXE 2
/* ****************************************************************** ******/ * ******** * ******************** * ************ * ***** ****************** * *****
* description* description
* . , , ,*. ,,,
* NSS module:* NSS module:
* VAD ** VAD *
********************************************************************************************************************* *****************
************
/* */ * *
* included files* included files
* */* * /
#include <assert.h>#include <assert.h>
#include "private.h"#include "private.h"
#include "simutool.h"#include "simutool.h"
/* */ * *
* private* private
* */* * /
#define DELTA_P (1.6 * 1024]#define DELTA_P (1.6 * 1024]
#define D_NOISE (.2 * 1024)#define D_NOISE (.2 * 1024)
#define D_SIGNAL (.2 * 1024)#define D_SIGNAL (.2 * 1024)
#define SNR_SIGNAL (.5 * 1024)#define SNR_SIGNAL (.5 * 1024)
#define SNR NOISE (.2 * 1024)#define SNR NOISE (.2 * 1024)
'* *'* *
* voice_activity_detector */ void voice_activity_detector* voice_activity_detector * / void voice_activity_detector
((
/* IN */ ord32 *P1, ord32 *P2, ordlβ frame_counter,/ * IN * / ord32 * P1, ord32 * P2, ordlβ frame_counter,
/* IN&OUT */ ord32 *Pls, Word32 *P2s, ordlβ *internal_state,/ * IN & OUT * / ord32 * Pls, Word32 * P2s, ordlβ * internal_state,
/* OUT */ Wordlβ *state/ * OUT * / Wordlβ * state
))
{ int vad; int signal; int noise; signal = 0; movelβO; noise = 1; movelβO; for (vad = 0; vad < param. vad_number; vad++) {{int vad; int signal; int noise; signal = 0; movelβO; noise = 1; movelβO; for (vad = 0; vad <param. vad_number; vad ++) {
Wordlβ snr, d;Wordlβ snr, d;
Wordlβ logPl, logPls;Wordlβ logPl, logPls;
Wordlβ logP2, logP2s;Wordlβ logP2, logP2s;
logP2 = logfix(P2 [vad] ) ; movelβO; logP2s = logfix(P2s [vad] ) ; movelβO test(); if (L_sub (P2 [vad] , P2s[vad]) > 0) { Wordlβ hil, loi; ordlβ hi2, lo2;logP2 = logfix (P2 [vad]); movelβO; logP2s = logfix (P2s [vad]); movelβO test (); if (L_sub (P2 [vad], P2s [vad])> 0) {Wordlβ hil, loi; ordlβ hi2, lo2;
L_Extract (L_sub(Pl[vad] , Pis [vad] ) , &hil, &lol) ; L_Extract (L_sub (P2 [vad] , P2s [vad] ) , &hi2, &lo2); test () ; if (sub (sub (logP2, logP2s), DELTA_P) < 0) {L_Extract (L_sub (Pl [vad], Pis [vad]), & hil, &lol); L_Extract (L_sub (P2 [vad], P2s [vad]), & hi2, &lo2); test (); if (sub (sub (logP2, logP2s), DELTA_P) <0) {
Pls[vad] = L_add(Pls[vad] , L_shr (Mpy_32_16 (hil, loi, 0x6 βββ) , 4) ) ; move32() ;Pls [vad] = L_add (Pls [vad], L_shr (Mpy_32_16 (hil, law, 0x6 βββ), 4)); move32 ();
P2s[vad] = L_add(P2s[vad] , L_shr (Mpy_32_16 (hi2, lo2, 0x6 βββ) , 4) ) ; move32() ; } else {P2s [vad] = L_add (P2s [vad], L_shr (Mpy_32_16 (hi2, lo2, 0x6 βββ), 4)); move32 (); } else {
Plsfvad] = L_add(Pls[vad] , L_shr (Mpy_32_16 (hil, loi, 0x6 8db) , 13) ) ; move32 () ;Plsfvad] = L_add (Pls [vad], L_shr (Mpy_32_16 (hil, law, 0x6 8db), 13)); move32 ();
P2s[vad] = L_add(P2s[vad] , L_shr (Mpy_32_16 (hi2, lo2, 0x6 8db) , 13) ) ; move32 () ; } } else {P2s [vad] = L_add (P2s [vad], L_shr (Mpy_32_16 (hi2, lo2, 0x6 8db), 13)); move32 (); }} else {
Pis [vad] = PI [vad]; move32 () ; P2s[vad] = P2[vad]; move32 O ; }Worse [vad] = PI [vad]; move32 (); P2s [vad] = P2 [vad]; move32 O; }
logPl = logfix (PI [vad] ) ; movelβO; logPls = logfix (Pis [vad] ) ; movelβOlogPl = logfix (PI [vad]); movelβO; logPls = logfix (Pis [vad]); movelβO
d = subdogPl, logP2); movelβO; snr = sub(logPl, logPls); movelβO;d = subdogPl, logP2); movelβO; snr = sub (logPl, logPls); movelβO;
ProbeFixlβO'd", &d, 1, 1.); ProbeFixlβ ("_snr", &snr, 1, 1.);ProbeFixlβO'd ", & d, 1, 1.); ProbeFixlβ (" _snr ", & snr, 1, 1.);
Wordlβ pp;Wordlβ pp;
ProbeFixlβO'pl", SlogPl, 1, 1.); ProbeFixlβ("p2", &logP2, 1, 1.); ProbeFixlβO'pls", SlogPls, 1, 1. ) ; ProbeFixlβ("p2s", &logP2s, 1, 1.); pp = logP2 - logP2s; ProbeFixlβC'dp", &pp, 1, 1.); test () ; if (sub (internal_state [vad] , NOISE) == 0) goto LABEL_NOISE; testO; if (sub (internal_state [vad] , ASCENT) == 0) goto LABEL_ASCENT; testO; if (sub (internal_state [vad] , SIGNAL) == 0) goto LABEL_SIGNAL; testO; if (sub (internal_state [vad] , DESCENT) == 0) goto LABEL_DESCENT;ProbeFixlβO'pl ", SlogPl, 1, 1.); ProbeFixlβ (" p2 ", & logP2, 1, 1.); ProbeFixlβO'pls", SlogPls, 1, 1.); ProbeFixlβ ("p2s", & logP2s, 1, 1.); pp = logP2 - logP2s; ProbeFixlβC'dp ", & pp, 1, 1.); test (); if (sub (internal_state [vad], NOISE) == 0) goto LABEL_NOISE; testo; if (sub (internal_state [vad], ASCENT) == 0) goto LABEL_ASCENT; testo; if (sub (internal_state [vad], SIGNAL) == 0) goto LABEL_SIGNAL; testo; if (sub (internal_state [vad], DESCENT) == 0) goto LABEL_DESCENT;
LABEL_NOISE: testO; if (sub (d, D_NOISE) < 0) { internal_state [vad] = ASCENT; movelβO; } goto LABEL_END_VAD;LABEL_NOISE: testO; if (sub (d, D_NOISE) <0) {internal_state [vad] = ASCENT; movelβO; } goto LABEL_END_VAD;
LABEL_ASCENT: testO; if (sub (d, D_SIGNAL) < 0) { internal_state [vad] = SIGNAL; movelβO; signal = 1; movelβO; noise = 0; movelβO; } else { internal_state [vad] = NOISE; movelβO;LABEL_ASCENT: testO; if (sub (d, D_SIGNAL) <0) {internal_state [vad] = SIGNAL; movelβO; signal = 1; movelβO; noise = 0; movelβO; } else {internal_state [vad] = NOISE; movelβO;
} goto LABEL_END_VAD;} goto LABEL_END_VAD;
LABEL_SIGNAL: testO; if (sub (snr, SNR_SIGNAL) < 0) { internal_state [vad] = DESCENT; movelβO; } else { signal = 1; movelβO;LABEL_SIGNAL: testO; if (sub (snr, SNR_SIGNAL) <0) {internal_state [vad] = DESCENT; movelβO; } else {signal = 1; movelβO;
} noise = 0; movel6(); goto LABEL_END_VAD;} noise = 0; movel6 (); goto LABEL_END_VAD;
LABEL_DESCENT: testO; if (sub (snr, SNR_NOISE) < 0) { internal_state [vad] = NOISE; movel6(); } else { internal_state[vad] = SIGNAL; movelβO; signal = 1; movelβO; noise = 0; movelβO;LABEL_DESCENT: testO; if (sub (snr, SNR_NOISE) <0) {internal_state [vad] = NOISE; movel6 (); } else {internal_state [vad] = SIGNAL; movelβO; signal = 1; movelβO; noise = 0; movelβO;
} goto LABEL_END_VAD;} goto LABEL_END_VAD;
LABEL END VAD:LABEL END VAD:
}}
*state = TRANSITION; movelβO; testO; testO; if (signal != 0) { testO; if (sub (frame_counter, param. init_frame_nurtιber) >= 0) { fo (vad = 0; vad < param. vad_number; vad++) { internal_state[vad] = SIGNAL; movelβO;* state = TRANSITION; movelβO; testo; testo; if (signal! = 0) {testO; if (sub (frame_counter, param. init_frame_nurtιber)> = 0) {fo (vad = 0; vad <param. vad_number; vad ++) {internal_state [vad] = SIGNAL; movelβO;
}}
*state ≈ SIGNAL; movelβO;* state ≈ SIGNAL; movelβO;
} } else if(noise != 0) { } } else if (noise! = 0) {
*state = NOISE; movel6()* state = NOISE; movel6 ()
} }

Claims

R E V E N D I C A T I O N S
1. Procédé de détection d'activité vocale dans un signal de parole numérique (s) dans au moins une bande de fréquences, caractérisé en ce qu'on détecte l'activité vocale sur la base d'une analyse comprenant une comparaison, dans ladite bande de fréquences, de deux versions différentes du signal de parole dont l'une au moins est une version débruitée obtenue en tenant compte d'estimations du bruit compris dans le signal.1. Method for detecting voice activity in a digital speech signal (s) in at least one frequency band, characterized in that the voice activity is detected on the basis of an analysis comprising a comparison, in said frequency band, of two different versions of the speech signal, at least one of which is a denoised version obtained by taking into account estimates of the noise included in the signal.
2. Procédé selon la revendication 1 , dans lequel ladite comparaison porte sur des énergies respectives (E1 n =, E2 n ;), évaluées dans ladite bande de fréquences, des deux versions différentes du signal de parole, ou sur une fonction monotone desdites énergies.2. Method according to claim 1, in which said comparison relates to respective energies (E 1 n =, E 2 n ;), evaluated in said frequency band, of the two different versions of the speech signal, or on a monotonic function of said energies.
3. Procédé selon la revendication 1 ou 2, dans lequel ladite analyse comprend en outre un lissage temporel de l'énergie (E1 n :) d'une desdites versions du signal de parole, et une comparaison entre l'énergie de ladite version et l'énergie lissée ( E-j n ).3. Method according to claim 1 or 2, wherein said analysis further comprises a time smoothing of the energy (E 1 n :) of one of said versions of the speech signal, and a comparison between the energy of said version and the smoothed energy (Ej n ).
4. Procédé selon la revendication 3, dans lequel la comparaison entre l'énergie de ladite version (E1 n =) et l'énergie lissée ( E1 n ) contrôle les transitions d'un automate de détection d'activité vocale d'un état de parole vers un état de silence, tandis que la comparaison des deux versions différentes du signal de parole contrôle les transitions de l'automate de détection de l'état de silence vers l'état de parole.4. Method according to claim 3, in which the comparison between the energy of said version (E 1 n =) and the smoothed energy (E 1 n ) controls the transitions of a voice activity detection automaton of a state of speech towards a state of silence, while the comparison of the two different versions of the speech signal controls the transitions of the automaton of detection of the state of silence towards the state of speech.
5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel les deux versions différentes du signal de parole sont deux versions débruitées par soustraction spectrale non-linéaire, une première des deux versions (Êp-i n ) étant débruitée de façon à ne pas être inférieure, dans le domaine spectral, à une première fraction (β1 s) d'une estimation à long terme (Bn j) représentative d'une composante de bruit comprise dans le signal de parole, et la seconde des deux versions (Êp2,n,i) étant débruitée de façon à ne pas être inférieure, dans le domaine spectral, à une seconde fraction (β2j) de ladite estimation à long terme, plus petite que la première fraction. 5. Method according to any one of claims 1 to 4, in which the two different versions of the speech signal are two versions denoised by non-linear spectral subtraction, a first of the two versions (Êp-i n ) being denoised so not to be less, in the spectral domain, than a first fraction (β1 s ) of a long-term estimate (B n j) representative of a noise component included in the speech signal, and the second of the two versions (EP2, n, i) e as denoised so as to be not less than, in the spectral domain, a second fraction (β2 j) of said long-term estimate, smaller than the first fraction.
6. Procédé selon la revendication 5, dans lequel on effectue un lissage temporel de l'énergie de chacune des deux versions du signal de parole, au moyen d'une fenêtre de lissage déterminée en comparant l'énergie (E2 n j) de la seconde des deux versions à l'énergie lissée ( E^n ) de la seconde des deux versions.6. Method according to claim 5, in which a time smoothing of the energy of each of the two versions of the speech signal is carried out, by means of a smoothing window determined by comparing the energy (E 2 nj ) of the second of the two smoothed energy versions (E ^ n) of the second of the two versions.
7. Procédé selon la revendication 6, dans lequel la fenêtre de lissage est une fenêtre exponentielle définie par un facteur d'oubli (λ).7. The method of claim 6, wherein the smoothing window is an exponential window defined by a forgetting factor (λ).
8. Procédé selon la revendication 7, dans lequel le facteur d'oubli (λ) a une valeur (λr) sensiblement nulle lorsque l'énergie (E2 n j) de la seconde des deux versions est inférieure à une valeur de l'ordre de l'énergie lissée ( E2ιn ) de la seconde des deux versions.8. The method of claim 7, wherein the forgetting factor (λ) has a value (λ r ) substantially zero when the energy (E 2 nj ) of the second of the two versions is less than a value of the order of the smoothed energy (E2 ιn ) of the second of the two versions.
9. Procédé selon la revendication 8, dans lequel le facteur d'oubli (λ) a une première valeur (λq) sensiblement égale à 1 lorsque l'énergie (E2 n j) de la seconde des deux versions est supérieure à ladite valeur de l'ordre de l'énergie lissée multipliée par un coefficient (Δ) plus grand que 1 , et une seconde valeur9. The method of claim 8, wherein the forgetting factor (λ) has a first value (λ q ) substantially equal to 1 when the energy (E 2 nj ) of the second of the two versions is greater than said value of the order of the smoothed energy multiplied by a coefficient (Δ) greater than 1, and a second value
p) comprise entre 0 et ladite première valeur lorsque l'énergie de la seconde des deux versions est supérieure à ladite valeur de l'ordre de l'énergie lissée et inférieure à ladite valeur de l'ordre de l'énergie lissée multipliée par ledit coefficient.p ) between 0 and said first value when the energy of the second of the two versions is greater than said value on the order of smoothed energy and less than said value on the order of multiplied smoothed energy by said coefficient.
10. Procédé selon l'une quelconque des revendications 5 à 9, dans lequel les première et seconde fractions (β1 jt β2j) correspondent sensiblement à des atténuations de 10 dB et de 60 dB, respectivement.10. Method according to any one of claims 5 to 9, in which the first and second fractions (β1 jt β2 j ) correspond substantially to attenuations of 10 dB and 60 dB, respectively.
11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel la comparaison des deux versions différentes du signal de parole porte sur des différences respectives entre les énergies (E1 n E2 n ι) de ces deux versions dans ladite bande de fréquences et un minorant (E2min j) de l'énergie11. Method according to any one of claims 1 to 10, in which the comparison of the two different versions of the speech signal relates to respective differences between the energies (E 1 n E 2 n ι) of these two versions in said band. of frequencies and a decrease (E 2min j ) of the energy
(E2 n :) de la version débruitée du signal de parole dans ladite bande de fréquences. (E 2 n :) of the denoised version of the speech signal in said frequency band.
12. Procédé selon la revendication 11 , dans lequel l'une des deux versions différentes du signal de parole est une version non débruitée du signal de parole.The method according to claim 11, wherein one of the two different versions of the speech signal is an un denoised version of the speech signal.
13. Dispositif de détection d'activité vocale dans un signal de parole, comprenant des moyens de traitement de signal (15) agencés pour mettre en œuvre un procédé selon l'une quelconque des revendications 1 à 12.13. Device for detecting voice activity in a speech signal, comprising signal processing means (15) arranged to implement a method according to any one of claims 1 to 12.
14. Programme d'ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 12 lors de l'exécution dudit programme par le processeur.14. Computer program, loadable in a memory associated with a processor, and comprising portions of code for the implementation of a method according to any one of claims 1 to 12 during the execution of said program by the processor.
15. Support informatique, sur lequel est enregistré un programme selon la revendication 14. 15. IT support, on which is recorded a program according to claim 14.
EP00956596A 1999-08-04 2000-08-02 Method and device for detecting voice activity Withdrawn EP1116216A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9910128 1999-08-04
FR9910128A FR2797343B1 (en) 1999-08-04 1999-08-04 VOICE ACTIVITY DETECTION METHOD AND DEVICE
PCT/FR2000/002220 WO2001011605A1 (en) 1999-08-04 2000-08-02 Method and device for detecting voice activity

Publications (1)

Publication Number Publication Date
EP1116216A1 true EP1116216A1 (en) 2001-07-18

Family

ID=9548882

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00956596A Withdrawn EP1116216A1 (en) 1999-08-04 2000-08-02 Method and device for detecting voice activity

Country Status (5)

Country Link
US (1) US7003452B1 (en)
EP (1) EP1116216A1 (en)
AU (1) AU6848400A (en)
FR (1) FR2797343B1 (en)
WO (1) WO2001011605A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2825826B1 (en) * 2001-06-11 2003-09-12 Cit Alcatel METHOD FOR DETECTING VOICE ACTIVITY IN A SIGNAL, AND ENCODER OF VOICE SIGNAL INCLUDING A DEVICE FOR IMPLEMENTING THIS PROCESS
US7143028B2 (en) * 2002-07-24 2006-11-28 Applied Minds, Inc. Method and system for masking speech
US20050228673A1 (en) * 2004-03-30 2005-10-13 Nefian Ara V Techniques for separating and evaluating audio and video source data
JP4519169B2 (en) * 2005-02-02 2010-08-04 富士通株式会社 Signal processing method and signal processing apparatus
DE102007048973B4 (en) * 2007-10-12 2010-11-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating a multi-channel signal with voice signal processing
KR101317813B1 (en) * 2008-03-31 2013-10-15 (주)트란소노 Procedure for processing noisy speech signals, and apparatus and program therefor
CN102132343B (en) * 2008-11-04 2014-01-01 三菱电机株式会社 Noise suppression device
CN102044242B (en) 2009-10-15 2012-01-25 华为技术有限公司 Method, device and electronic equipment for voice activation detection
ES2860986T3 (en) * 2010-12-24 2021-10-05 Huawei Tech Co Ltd Method and apparatus for adaptively detecting a voice activity in an input audio signal

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3243232A1 (en) * 1982-11-23 1984-05-24 Philips Kommunikations Industrie AG, 8500 Nürnberg METHOD FOR DETECTING VOICE BREAKS
FR2631147B1 (en) * 1988-05-04 1991-02-08 Thomson Csf METHOD AND DEVICE FOR DETECTING VOICE SIGNALS
US4975657A (en) * 1989-11-02 1990-12-04 Motorola Inc. Speech detector for automatic level control systems
CN1225736A (en) * 1996-07-03 1999-08-11 英国电讯有限公司 Voice activity detector
FR2768547B1 (en) * 1997-09-18 1999-11-19 Matra Communication METHOD FOR NOISE REDUCTION OF A DIGITAL SPEAKING SIGNAL
FR2768544B1 (en) * 1997-09-18 1999-11-19 Matra Communication VOICE ACTIVITY DETECTION METHOD
US6549586B2 (en) * 1999-04-12 2003-04-15 Telefonaktiebolaget L M Ericsson System and method for dual microphone signal noise reduction using spectral subtraction
US6717991B1 (en) * 1998-05-27 2004-04-06 Telefonaktiebolaget Lm Ericsson (Publ) System and method for dual microphone signal noise reduction using spectral subtraction
US6453289B1 (en) * 1998-07-24 2002-09-17 Hughes Electronics Corporation Method of noise reduction for speech codecs
US6453285B1 (en) * 1998-08-21 2002-09-17 Polycom, Inc. Speech activity detector for use in noise reduction system, and methods therefor
US6591234B1 (en) * 1999-01-07 2003-07-08 Tellabs Operations, Inc. Method and apparatus for adaptively suppressing noise
US6453291B1 (en) * 1999-02-04 2002-09-17 Motorola, Inc. Apparatus and method for voice activity detection in a communication system
US6604071B1 (en) * 1999-02-09 2003-08-05 At&T Corp. Speech enhancement with gain limitations based on speech activity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0111605A1 *

Also Published As

Publication number Publication date
WO2001011605A1 (en) 2001-02-15
AU6848400A (en) 2001-03-05
FR2797343B1 (en) 2001-10-05
FR2797343A1 (en) 2001-02-09
US7003452B1 (en) 2006-02-21

Similar Documents

Publication Publication Date Title
EP1830349B1 (en) Method of noise reduction of an audio signal
CA2436318C (en) Noise reduction method and device
EP1789956A1 (en) Method of processing a noisy sound signal and device for implementing said method
EP2586133B1 (en) Controlling a noise-shaping feedback loop in a digital audio signal encoder
EP2153438B1 (en) Post-processing for reducing quantification noise of an encoder during decoding
WO1999014738A1 (en) Method for suppressing noise in a digital speech signal
FR2771542A1 (en) FREQUENTIAL FILTERING METHOD APPLIED TO NOISE NOISE OF SOUND SIGNALS USING A WIENER FILTER
EP1849157B1 (en) Method of measuring annoyance caused by noise in an audio signal
EP1016071B1 (en) Method and apparatus for detecting speech activity
EP1116216A1 (en) Method and device for detecting voice activity
EP3192073B1 (en) Discrimination and attenuation of pre-echoes in a digital audio signal
EP0490740A1 (en) Method and apparatus for pitch period determination of the speech signal in very low bitrate vocoders
EP2347411B1 (en) Pre-echo attenuation in a digital audio signal
EP0714088B1 (en) Voice activity detection
EP1021805B1 (en) Method and apparatus for conditioning a digital speech signal
FR2768546A1 (en) Frame by frame noise removal for use with digital speech signal
EP2515300B1 (en) Method and system for noise reduction
EP1895433A1 (en) Method of phase estimation for sinusoidal modelling of a digital signal
WO2009010672A2 (en) Limitation of distortion introduced by a post-processing step during digital signal decoding
BE1020218A3 (en) METHOD FOR IMPROVING THE TEMPORAL RESOLUTION OF INFORMATION PROVIDED BY A COMPOUND FILTER AND CORRESPONDING DEVICE THEREFOR.
WO2002093553A1 (en) Estimation of fundamental periods of multiple concurrent sources in particular of sound

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010327

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NORTEL NETWORKS FRANCE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20070301