EP1116216A1 - Procede et dispositif de detection d'activite vocale - Google Patents
Procede et dispositif de detection d'activite vocaleInfo
- 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
Links
- 230000000694 effects Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000001514 detection method Methods 0.000 claims description 17
- 230000003595 spectral effect Effects 0.000 claims description 12
- 238000009499 grossing Methods 0.000 claims description 10
- 230000007774 longterm Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 230000007423 decrease Effects 0.000 claims description 5
- 230000007704 transition Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- WJCNZQLZVWNLKY-UHFFFAOYSA-N thiabendazole Chemical compound S1C=NC(C=2NC3=CC=CC=C3N=2)=C1 WJCNZQLZVWNLKY-UHFFFAOYSA-N 0.000 description 11
- 238000012360 testing method Methods 0.000 description 7
- 230000001755 vocal effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 108010094028 Prothrombin Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- AGVAZMGAQJOSFJ-WZHZPDAFSA-M cobalt(2+);[(2r,3s,4r,5s)-5-(5,6-dimethylbenzimidazol-1-yl)-4-hydroxy-2-(hydroxymethyl)oxolan-3-yl] [(2r)-1-[3-[(1r,2r,3r,4z,7s,9z,12s,13s,14z,17s,18s,19r)-2,13,18-tris(2-amino-2-oxoethyl)-7,12,17-tris(3-amino-3-oxopropyl)-3,5,8,8,13,15,18,19-octamethyl-2 Chemical compound [Co+2].N#[C-].[N-]([C@@H]1[C@H](CC(N)=O)[C@@]2(C)CCC(=O)NC[C@@H](C)OP(O)(=O)O[C@H]3[C@H]([C@H](O[C@@H]3CO)N3C4=CC(C)=C(C)C=C4N=C3)O)\C2=C(C)/C([C@H](C\2(C)C)CCC(N)=O)=N/C/2=C\C([C@H]([C@@]/2(CC(N)=O)C)CCC(N)=O)=N\C\2=C(C)/C2=N[C@]1(C)[C@@](C)(CC(N)=O)[C@@H]2CCC(N)=O AGVAZMGAQJOSFJ-WZHZPDAFSA-M 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- -1 iminO Chemical class 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection 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 ⁇
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Soundproofing, Sound Blocking, And Sound Damping (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
On détecte une activité vocale dans un signal de parole numérique, dans au moins une bande de fréquences, par exemple au moyen d'un automate de détection dont l'état est contrôlé en fonction d'une analyse énergétique du signal. Le contrôle de cet automate, ou plus généralement la décision d'activité vocale, comprend une comparaison, dans la bande de fréquences, de deux versions différentes du signal de parole dont l'une au moins est une version débruitée.
Description
PROCEDE ET DISPOSITIF DE DETECTION D'ACTIVITE VOCALE
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...
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.
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.
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.
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.
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.
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.
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.
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.
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 :
- 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 ;
- la figure 2 est un schéma synoptique d'un exemple de détecteur d'activité vocale selon l'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,
- 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 ;
- la figure 6 est un diagramme d'un automate de détection mis en œuvre dans le détecteur de la 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
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écutives
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és
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.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ème
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 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
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 sinon
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 longue
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.τι , La
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.
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 :
. . ^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
étapes 182 à 184, les composantes spectrales Ëp2>n,i sont calculées selon
Êp2ιn,i = max(Êpn)i ; β2i .Bn_τ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)
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)
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 1
(par exemple λq = 0,99999) choisie à l'étape 203 si E2 n : > Δ. E2ιn-ι,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 :
Ëι,n,j = λ. Ë1 ιn.1 + (1-λ).E1 n j
Ë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.
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 parole
(représentées par des hachures).
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'étape
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.
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.
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.
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.
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. Le
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.
TABLEAU 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'énergie
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.
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 :
Sn,i = max(snιi - .Bn_1|i ; β.Bn_1ι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 à
256 :
Êpn j = max(snιi - f(p).Bn_1]i ; β.Bn_1ι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 : et
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.
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
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'automate
de détection, qui utilise une mesure M. donnée par Mj (étape
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 spectrale
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 1
/******************************************************************* ****** description
* NSS module:
* signal power before VAD
*
******************************************************************* ******/
/* *
* included files
* */ tinclude <assert.h>
#include "private.h"
/* *
* private
* */
Word32 power ( ordlβ module, Wordlβ beta, Wordlβ thd, Wordlβ val) ;
/* 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&OUT */ Wordlβ *alpha,
/* 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;
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;
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()
} 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);
P2[vad] = L_add(P2[vad] , pwr); move32 () ; } } else { for (subband = start; subband <= stop; subband++) { ord32 pwr;
Wordlβ shift;
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);
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 ( ) ; } } } }
*.
* power */
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 ;
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 ;
} return (power) ;
AN N EXE 2
/* ****************************************************************** ******
* description
* . , , ,
* NSS module:
* VAD *
*******************************************************************
******
/* *
* included files
* */
#include <assert.h>
#include "private.h"
#include "simutool.h"
/* *
* private
* */
#define DELTA_P (1.6 * 1024]
#define D_NOISE (.2 * 1024)
#define D_SIGNAL (.2 * 1024)
#define SNR_SIGNAL (.5 * 1024)
#define SNR NOISE (.2 * 1024)
'* *
* voice_activity_detector */ void voice_activity_detector
(
/* IN */ ord32 *P1, ord32 *P2, ordlβ frame_counter,
/* IN&OUT */ ord32 *Pls, Word32 *P2s, ordlβ *internal_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++) {
Wordlβ snr, d;
Wordlβ logPl, logPls;
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;
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() ;
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 () ;
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 ; }
logPl = logfix (PI [vad] ) ; movelβO; logPls = logfix (Pis [vad] ) ; movelβO
d = subdogPl, logP2); movelβO; snr = sub(logPl, logPls); movelβO;
ProbeFixlβO'd", &d, 1, 1.); ProbeFixlβ ("_snr", &snr, 1, 1.);
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;
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;
} goto LABEL_END_VAD;
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;
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;
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 ≈ SIGNAL; movelβO;
}
} else if(noise != 0) {
*state = NOISE; movel6()
}
Claims
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.
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.
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 ).
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.
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.
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.
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 (λ).
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.
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 valeur
(λ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.
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.
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'énergie
(E2 n :) de la version débruitée du signal de parole dans ladite bande de fréquences.
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.
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.
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.
15. Support informatique, sur lequel est enregistré un programme selon la revendication 14.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9910128A FR2797343B1 (fr) | 1999-08-04 | 1999-08-04 | Procede et dispositif de detection d'activite vocale |
FR9910128 | 1999-08-04 | ||
PCT/FR2000/002220 WO2001011605A1 (fr) | 1999-08-04 | 2000-08-02 | Procede et dispositif de detection d'activite vocale |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1116216A1 true EP1116216A1 (fr) | 2001-07-18 |
Family
ID=9548882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00956596A Withdrawn EP1116216A1 (fr) | 1999-08-04 | 2000-08-02 | Procede et dispositif de detection d'activite vocale |
Country Status (5)
Country | Link |
---|---|
US (1) | US7003452B1 (fr) |
EP (1) | EP1116216A1 (fr) |
AU (1) | AU6848400A (fr) |
FR (1) | FR2797343B1 (fr) |
WO (1) | WO2001011605A1 (fr) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2825826B1 (fr) * | 2001-06-11 | 2003-09-12 | Cit Alcatel | Procede pour detecter l'activite vocale dans un signal, et codeur de signal vocal comportant un dispositif pour la mise en oeuvre de ce procede |
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 |
EP1845520A4 (fr) * | 2005-02-02 | 2011-08-10 | Fujitsu Ltd | Méthode de traitement de signal et dispositif de traitement de signal |
DE102007048973B4 (de) * | 2007-10-12 | 2010-11-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Erzeugen eines Multikanalsignals mit einer Sprachsignalverarbeitung |
KR101317813B1 (ko) * | 2008-03-31 | 2013-10-15 | (주)트란소노 | 노이지 음성 신호의 처리 방법과 이를 위한 장치 및 컴퓨터판독 가능한 기록매체 |
EP2362389B1 (fr) * | 2008-11-04 | 2014-03-26 | Mitsubishi Electric Corporation | Suppresseur de bruit |
CN102044242B (zh) * | 2009-10-15 | 2012-01-25 | 华为技术有限公司 | 语音激活检测方法、装置和电子设备 |
SI3493205T1 (sl) * | 2010-12-24 | 2021-03-31 | Huawei Technologies Co., Ltd. | Postopek in naprava za adaptivno zaznavanje glasovne aktivnosti v vstopnem avdio signalu |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3243232A1 (de) * | 1982-11-23 | 1984-05-24 | Philips Kommunikations Industrie AG, 8500 Nürnberg | Verfahren zur erkennung von sprachpausen |
FR2631147B1 (fr) * | 1988-05-04 | 1991-02-08 | Thomson Csf | Procede et dispositif de detection de signaux vocaux |
US4975657A (en) * | 1989-11-02 | 1990-12-04 | Motorola Inc. | Speech detector for automatic level control systems |
US6427134B1 (en) * | 1996-07-03 | 2002-07-30 | British Telecommunications Public Limited Company | Voice activity detector for calculating spectral irregularity measure on the basis of spectral difference measurements |
FR2768547B1 (fr) * | 1997-09-18 | 1999-11-19 | Matra Communication | Procede de debruitage d'un signal de parole numerique |
FR2768544B1 (fr) * | 1997-09-18 | 1999-11-19 | Matra Communication | Procede de detection d'activite vocale |
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 |
-
1999
- 1999-08-04 FR FR9910128A patent/FR2797343B1/fr not_active Expired - Fee Related
-
2000
- 2000-08-02 WO PCT/FR2000/002220 patent/WO2001011605A1/fr not_active Application Discontinuation
- 2000-08-02 EP EP00956596A patent/EP1116216A1/fr not_active Withdrawn
- 2000-08-02 AU AU68484/00A patent/AU6848400A/en not_active Abandoned
- 2000-08-02 US US09/806,756 patent/US7003452B1/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
See references of WO0111605A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO2001011605A1 (fr) | 2001-02-15 |
US7003452B1 (en) | 2006-02-21 |
FR2797343A1 (fr) | 2001-02-09 |
AU6848400A (en) | 2001-03-05 |
FR2797343B1 (fr) | 2001-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1789956B1 (fr) | Procede de traitement d'un signal sonore bruite et dispositif pour la mise en oeuvre du procede | |
EP1830349B1 (fr) | Procédé de débruitage d'un signal audio | |
CA2436318C (fr) | Procede et dispositif de reduction de bruit | |
EP2586133B1 (fr) | Contrôle d'une boucle de rétroaction de mise en forme de bruit dans un codeur de signal audionumérique | |
EP2153438B1 (fr) | Post-traitement de reduction du bruit de quantification d'un codeur, au decodage | |
WO1999014738A1 (fr) | Procede de debruitage d'un signal de parole numerique | |
FR2771542A1 (fr) | Procede de filtrage frequentiel applique au debruitage de signaux sonores mettant en oeuvre un filtre de wiener | |
EP2936488B1 (fr) | Atténuation efficace de pré-échos dans un signal audionumérique | |
EP1016071B1 (fr) | Procede et dispositif de detection d'activite vocale | |
EP2347411B1 (fr) | Attenuation de pre-echos dans un signal audionumerique | |
EP1116216A1 (fr) | Procede et dispositif de detection d'activite vocale | |
EP0490740A1 (fr) | Procédé et dispositif pour l'évaluation de la périodicité et du voisement du signal de parole dans les vocodeurs à très bas débit. | |
FR2882458A1 (fr) | Procede de mesure de la gene due au bruit dans un signal audio | |
EP3192073A1 (fr) | Discrimination et atténuation de pré-échos dans un signal audionumérique | |
EP0534837B1 (fr) | Procédé de traitement de la parole en présence de bruits acoustiques utilisant la sous traction spectrale non-linéaire et les modèles de Markov cachés | |
EP1016073B1 (fr) | Procede et dispositif de debruitage d'un signal de parole numerique | |
EP1021805B1 (fr) | Procede et disposition de conditionnement d'un signal de parole numerique | |
EP0714088A1 (fr) | Détection d'activité vocale | |
EP2515300B1 (fr) | Procédé et système de réduction du bruit | |
FR2905489A1 (fr) | Procede d'estimation de phase pour la modelisation sinusoidale d'un signal numerique. | |
WO2009010672A2 (fr) | Limitation de distorsion introduite par un post-traitement au decodage d'un signal numerique | |
BE1020218A3 (fr) | Procede pour ameliorer la resolution temporelle des informations fournies par un filtre compose et dispositif correspondant. | |
WO2002093553A1 (fr) | Estimation de periodes fondamentales de sources concurrentes multiples notamment de son |
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 |