EP0047589B1 - Method and apparatus for detecting speech in a voice channel signal - Google Patents
Method and apparatus for detecting speech in a voice channel signal Download PDFInfo
- Publication number
- EP0047589B1 EP0047589B1 EP81303695A EP81303695A EP0047589B1 EP 0047589 B1 EP0047589 B1 EP 0047589B1 EP 81303695 A EP81303695 A EP 81303695A EP 81303695 A EP81303695 A EP 81303695A EP 0047589 B1 EP0047589 B1 EP 0047589B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- sample
- magnitude
- signal
- speech
- producing
- 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.)
- Expired
Links
- 238000000034 method Methods 0.000 title claims description 23
- 230000004044 response Effects 0.000 claims description 11
- 238000012935 Averaging Methods 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 2
- 206010019133 Hangover Diseases 0.000 description 27
- 230000005540 biological transmission Effects 0.000 description 13
- 238000001514 detection method Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Images
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
- This invention relates to a method of, and a speech detector for, detecting the presence of speech signals in a sampled voice channel signal.
- Speech detectors are used in a variety of speech transmission systems in which speech transmission paths are established in response to the detection of speech activity on a voice channel.
- One such system is a digital speech interpolation (DSI) transmission system, such as the system described and claimed in E.P.A. 47588 corresponding to Canadian Patent Application No. 359,965 filed September 9, 1980, entitled "Mitigation of Noise Signal Contrast in a Digital Speech Interpolation Transmission System", which conveniently embodies the speech detector of this invention.
- DSI digital speech interpolation
- a speech detector should ideally be highly sensitive to the presence of speech signals while at the same time remaining insensitive to non-speech signals such as noise.
- a difficulty arises in distinguishing, quickly and accurately, between speech signals, particularly at low levels, and noise.
- the speech detector should be able to detect speech signals at low levels in order to avoid excessive clipping of speech signals at the start of speech utterances, but at the same time should not respond to noise alone, even at relatively. high levels, because this would undesirably increase the activity of the DSI transmission.
- Patent 4,057,690 issued November 8, 1977 discloses an arrangement in which segments of the envelope of a voice channel signal are compared with one another over different time domains in order to distinguish between speech signals and noise.
- these arrangements do not fully satisfy the requirements, of a speech detector in a DSI transmission system, of distinguishing between low levels of speech and noise and avoiding clipping of the speech signals at the start of speech utterances, and accordingly a need still exists for an improved speech detection arrangement which satisfies these requirements.
- an object of this invention is to provide an improved method of, and speech detector for, detecting the presence of speech signals in a sampled voice channel signal.
- the speech detection is effected in two separate parts, associated with the production of the first and second signals respectively.
- the first threshold is set to be above anticipated noise levels, so that the first signal state is produced only at relatively high levels of speech signals, which high levels exceed the first threshold level and accordingly can not be noise.
- the second threshold level is adaptively adjusted to be a little above the level of noise on the relevant channel. When the sample signal magnitude rises above this second threshold level, the second signal state is produced immediately. If, as at the start of a speech utterance, the signal magnitude continues to increase in successive samples, the second signal state continues to be produced for these samples. If on the other hand, the signal magnitude falls again the second signal state is no longer produced and the second threshold level is adaptively adjusted.
- this arrangement provides a rapid detection of speech signals at low levels at the start of speech utterances.
- the method preferably includes the steps of:- in response to the first signal state, producing a fourth signal state for a first predetermined number of consecutive samples commencing with the current sample; and in response to the second signal state, producing a fifth signal state for a second number of consecutive samples commencing with the current sample; wherein the signal representing presence of speech is produced in the presence of either the fourth signal state or the fifth signal state.
- the second number of consecutive samples is desirably varied in dependence upon the reliability with which the second signal state is produced for each sample, in order that a speech indication signal is not produced for a long hangover period in response to a spurious noise signal which has resulted in the production of the second signal state.
- the method preferably also includes the step of determining said second number in dependence upon previous sample magnitudes, said second number being increased by a predetermined amount, up to a maximum number, for each sample in respect of which the second signal state is produced, and being decreased by a predetermined amount at least for each sample whose magnitude is not greater than the magnitude of the preceding sample.
- hangover period which is associated with the production of the second signal state is gradually increased, up to a maximum period, as the reliability of speech signal detection increases due to successive increases in the signal level in successive samples.
- the hangover period associated with the production of the first signal state need not be variable because this first signal state is only produced for relatively high signal levels for which the reliability of the speech signal indication is very high.
- the method preferably further includes the steps of:- whenever the magnitude of a sample exceeds that of the preceding sample, and in respect of the preceding sample the fifth signal state was produced but the second signal state was not produced, producing the second signal state for the current sample if its magnitude does not exceed the second threshold level but exceeds a third threshold level; and setting the third threshold level equal to the magnitude of the preceding sample whenever the second signal state was produced for the preceding sample and the magnitude of the current sample is not greater than the magnitude of the preceding sample.
- each signal sample is constituted by an average of a plurality of individual samples of the voice channel signal, the method of doing this comprising the step of producing each signal sample by removing d.c. offsets from and averaging a plurality of individual samples of the voice channel signal.
- the averaging is particularly easy to achieve in a DSI transmission system of the type described in our co-pending Patent Application No. EP-A-47588, already referred to, in which updating of the speech decision for each channel takes place only once every superframe, each superframe comprising a plurality of frames each including a sample of each voice signal channel.
- the invention also extends to a speech detector comprising one or more read-only memories programmed and arranged to carry out the method recited above.
- the present invention still further provides a method of detecting the presence of speech in a sampled voice channel signal, characterised by the steps of:- setting a threshold (TL), to a level which is greater than and is dependent upon the magnitude (T) of the current sample, whenever the magnitude (T) of the current sample is not greater than that (TP) of the preceding sample; and providing an indication of the presence of speech whenever the magnitude (T) of the current sample is greater than that (TP) of the preceding sample and exceeds said threshold level (TL).
- TL threshold
- the speech detector described below with reference to Figures 1 to 3 is intended for use in a DSI transmission system of the type described in our co-pending Patent Application No. EP-A-47588 already referred to, in which once in each superframe a speech decision is updated for each of a plurality of voice signal channels in respect of each of which there is an individual sample contained in each of a plurality of frames forming the superframe.
- a speech decision is updated for each of a plurality of voice signal channels in respect of each of which there is an individual sample contained in each of a plurality of frames forming the superframe.
- the speech detector includes two independent parts, which are referred to herein as the level detector 601 and the slope detector 602, whose outputs are combined in an OR gate 603 to produce for each channel a speech decision which is stored in a 48-channel decision store 604, to the output of which a speech decision output line 110 is connected.
- Each of the detectors 601 and 602 is supplied with a 7-bit average T, produced by the circuit described below with reference to Figure 4, on lines 115, and is enabled in the fourteenth frame of each superframe to up-date the speech decision for each channel.
- each of the detectors 601 and 602 comprises a read-only memory.
- the speech detector is required to be able to detect speech signals at low levels in order to avoid excessive clipping of speech signals at the start of speech utterances, but at the same time is required not to respond to relatively high levels of noise alone because this would undesirably increase the activity of the DSI transmission.
- the speech detector is designed to exploit differences in the characteristics of noise and speech signals, namely that (a) speech signals usually have a higher level than noise, and (b) whereas noise is continuous, speech signals occur in bursts with the signal level progressively increasing at the start of each burst. It is to this end that the speech detector comprises the two detectors 601 and 602.
- Each of the detectors 601 and 602 classifies each channel as being in one of three states, namely speech, hangover, and silence.
- states are denoted by the value of an index, M for the level detector and K for the slope detector, each index having the value 0 for silence, 1 for speech, and 2 for hangover.
- the hangover state is a temporary state which a channel is deemed to be in immediately following the speech state, and is provided to avoid speech clipping after intersyllabic pauses in speech.
- a channel which previously was declared as being in the speech state, but in respect of which speech is no longer detected is deemed to be in the hangover state and an initial hangover count is set. If speech is still not detected in successive superframes, then this hangover count is decremented until it reaches zero, when the channel is declared silent.
- the initial hangover count is fixed in the level detector but is variable in the slope detector, as is further explained below.
- the level detector 601 consists of three parts, namely a comparator 605, a hangover and control unit 606, and a decision store 607.
- the comparator 605 compares the average T with a fixed threshold TF which is above the highest possible noise level. The result of this comparison is supplied to the unit 606.
- the unit 606 determines the state of the channel in dependence upon this comparison and the channel's previous state as stored in the store 607, and stores the current state of the channel, and any hangover count which is applicable, in the store 607.
- the unit 606 supplies a logic 1 on the output line 608 if the channel is determined as being in either the speech or the hangover state.
- the slope detector 602 consists of a delay unit 609, comparators 610, a hangover, control, and threshold generator unit 611, and a decision and threshold store 612.
- the delay unit 609 provides a delay of 1 superframe for the average T to provide a previous average TP via lines 613 to the comparators 610.
- the comparators 610 compare the current average T with the previous average TP, a threshold TL, and a threshold TH and supply the comparison results to the unit 611.
- the thresholds TL and TH are variable thresholds which are stored for each individual channel in the store 612.
- the unit 611 determines the state of the channel in dependence upon the comparison results and the channel's previous state as stored in the store 612, generates new thresholds TL and TH if necessary, and stores the current state of the channel, together with any new hangover count and thresholds TL and TH, in the store 612.
- the unit 611 supplies a logic 1 on the output line 614 if the channel is determined as being in either the speech or the hangover state.
- the threshold TL is set to BT+D, i.e. T+5 in Figure 3.
- the previous value of K is then interrogated in a block 716, and because in the case of each of these points the previous value of K is zero, C is set to zero in a block 717 and K remains unchanged.
- K 0 (silence). It can be seen that the threshold TL is adaptively adjusted during this period, so that this threshold is generally a little above the level of noise present on the particular channel.
- the interrogation 710 has a positive result
- the subsequent interrogation 711 has a negative result
- the resultant interrogation 712 has a positive result because now T>TL, so that K is set to 1 (speech) in block 718 in Figure 2.
- K is set to 1 (speech) in block 718 in Figure 2.
- the interrogation 710 and the resultant interrogation 711 both have positive results.
- the thresholds TL and TH being reset and C being decreased by 1 to 26.
- the threshold TL is reset and C is reduced by 1.
- the level detector 601 provides a reliable detection of the presence of speech each time that the average T exceeds the fixed threshold TF, and that after each such detection the speech decision on the line 110 is maintained for a fixed hangover period of 32 superframes, to maintain the decision during intersyllabic pauses in speech.
- the slope detector 602 provides a less reliable but much earlier detection of the start of speech bursts, as at the point 809, to produce the speech decision on the line 110 as quickly as possible and hence to avoid excessive clipping of speech signals at the start of speech bursts.
- the hangover period of the slope detector is not immediately set to the maximum as in the level detector; but instead is increased only gradually to avoid excessively increasing the activity of the DSI transmission.
- the average T at the point 809 could alternatively be due to noise transients instead of the start of speech, in which case the line 801 would not rise after this point.
- the value T is itself an average taken over the duration of one superframe, and the threshold TL is adaptively adjusted to be above the average noise level of the channel, so that the slope detector is relatively insensitive to noise transients.
- Figure 4 illustrates in the form of a block diagram a d.c. offset remover and averaging circuit which serves to produce a 7-bit offset removed average T for each channel on the lines 115, from 8-bit individual signal samples of the channels supplied thereto on lines 102.
- the offset remover consists of an 8-bit subtractor 401, a 16-bit up/down counter 402, and a 48-channel by 16-bit store 403.
- the averaging circuit consists of a 12-bit adder 404, a 48- channel by 12-bit store 405, a buffer 406 having a clear input CL, and a 48-channel by 7- bit store 407 having a write-enable input WE. Each of the stores is addressed in turn for each channel via an address bus which is not shown.
- the offset remover serves to produce on lines 409 for each channel a 7-bit magnitude signal from which long-term d.c. offsets have been removed, and to this end the offset remover in operation reaches an equilibrium state in which for each channel a 16-bit offset value of the channel is stored in the store 403.
- the stored offset value of the channel is loaded from the store 403 into the counter 402 and is available at the counter output.
- the 8 most significant bits of the offset value are applied via lines 410 to the subtractor 401, which subtracts the offset value bits from the current sample of the channel to produce the 7-bit magnitude signal on the lines 409 and a sign bit on a further output line 411.
- This line 411 is connected to an up/down counting control input U/D of the counter 402 and causes the count of the counter to be increased or decreased by 1 depending on the polarity of the sign bit on the line 411.
- the counter 402 thus produces a new, modified, 16-bit offset value for the channel at its output, and this new value is written into the store 403 in place of the previous offset value for the channel. This sequence is repeated for subsequent channels in each frame.
- the equilibrium state reached is such that for each channel the numbers of positive and negative sign bits produced on the line 411 are equal.
- the stored offset value of each channel varies, only the 8 most significant bits of this are subtracted from the channel information, and in fact 256 sign bits of one polarity are required in order to change the subtracted offset value bits by one step.
- the averaging circuit serves to produce, for each channel, the 7-bit average T on the lines 115.
- the average T on the lines 115 is actually a fraction of 27/32 of the actual average of the signals on the lines 409.
- this average T is updated in the thirteenth frame of each superframe by signal applied via a line 414 to the input CL of the buffer 406 and the input WE of the store 407, to write a new average T into the store 407 and to clear the buffer 406.
- the output of the adder 404 is stored in the store 405.
- the adder output is equal to the sum of the 7-bit magnitude signal of the particular channel, present on the lines 409, and a 12-bit cumulative sum for the particular channel present on lines 412.
- the cumulative sum for the channel is the previously stored sum for the channel which was stored in the store 405, which is clocked through the buffer 406 in each frame except the thirteenth frame of each superframe when, as described above, the buffer 406 is cleared to reduce the cumulative sum to zero.
- the 12-bit cumulative sum produced at the output of the store 405 is equal to the sum of the offset-removed magnitude signals for that channel during the preceding 27 frames. Only the 7 most significant bits of this sum are written into the store 407 to achieve a division of the sum by a factor of 32; hence the average T is 27/32 of the actual average. This minor difference does not adversely affect the operation of the speech detector.
- the speech detector of the invention can obviously be used in conjunction with other forms of such circuit or without any preceding offset remover and averaging circuit.
- the speech detector can be used in other applications than that described, and can be provided in respect of any number of voice channel signals.
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)
- Time-Division Multiplex Systems (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Description
- This invention relates to a method of, and a speech detector for, detecting the presence of speech signals in a sampled voice channel signal.
- Speech detectors are used in a variety of speech transmission systems in which speech transmission paths are established in response to the detection of speech activity on a voice channel. One such system is a digital speech interpolation (DSI) transmission system, such as the system described and claimed in E.P.A. 47588 corresponding to Canadian Patent Application No. 359,965 filed September 9, 1980, entitled "Mitigation of Noise Signal Contrast in a Digital Speech Interpolation Transmission System", which conveniently embodies the speech detector of this invention.
- A speech detector should ideally be highly sensitive to the presence of speech signals while at the same time remaining insensitive to non-speech signals such as noise. A difficulty arises in distinguishing, quickly and accurately, between speech signals, particularly at low levels, and noise. In a DSI transmission system, for example, the speech detector should be able to detect speech signals at low levels in order to avoid excessive clipping of speech signals at the start of speech utterances, but at the same time should not respond to noise alone, even at relatively. high levels, because this would undesirably increase the activity of the DSI transmission.
- Various forms of speech detector have been devised in order to distinguish more reliably between speech signals and noise. For example, Fariello U.S. Patent No. 3,878,337 issued April 15, 1975 discloses an arrangement in which a predetermined sequence of the sign of successive samples of a voice channel signal is detected to provide an indication of speech. LaMarche et al U.S. Patent No. 4,028,496 issued June 7, 1977, discloses an arrangement in which the detection sensitivity and noise rejection are improved by accumulating weighted differences between signal samples and their short-term running average. Furthermore, Vagliani et al U.S. Patent 4,057,690 issued November 8, 1977 discloses an arrangement in which segments of the envelope of a voice channel signal are compared with one another over different time domains in order to distinguish between speech signals and noise. However, these arrangements do not fully satisfy the requirements, of a speech detector in a DSI transmission system, of distinguishing between low levels of speech and noise and avoiding clipping of the speech signals at the start of speech utterances, and accordingly a need still exists for an improved speech detection arrangement which satisfies these requirements.
- Accordingly, an object of this invention is to provide an improved method of, and speech detector for, detecting the presence of speech signals in a sampled voice channel signal.
- According to this invention there is provided a method of detecting the presence of speech signals in a sampled voice channel signal, comprising producing a first signal state (M=1) whenever the magnitude (T) of a signal sample exceeds a first threshold level (TF), characterized by the steps of:-
- comparing the magnitude (T) of each sample with that (TP) of the preceding sample;
- whenever the magnitude (T) of a sample is not greater than that (TP) of the preceding sample, setting a second threshold (TL) to a level which is greater than and is dependent upon the magnitude (T) of the current sample;
- whenever the magnitude (T) of a sample is greater than that (TP) of the preceding sample, producing a second signal state (K=1) if the magnitude (T) of the current sample exceeds the second threshold level (TL); and
- in response to each of the first and the second signal states (M=1, K=1), producing a signal, representing the presence of speech, at least for the current sample.
- Thus in accordance with this invention the speech detection is effected in two separate parts, associated with the production of the first and second signals respectively. The first threshold is set to be above anticipated noise levels, so that the first signal state is produced only at relatively high levels of speech signals, which high levels exceed the first threshold level and accordingly can not be noise. The second threshold level is adaptively adjusted to be a little above the level of noise on the relevant channel. When the sample signal magnitude rises above this second threshold level, the second signal state is produced immediately. If, as at the start of a speech utterance, the signal magnitude continues to increase in successive samples, the second signal state continues to be produced for these samples. If on the other hand, the signal magnitude falls again the second signal state is no longer produced and the second threshold level is adaptively adjusted.
- Thus this arrangement provides a rapid detection of speech signals at low levels at the start of speech utterances.
- In order that the signal, representing the presence of speech is not terminated during short pauses in speech such as occur between syllables, so-called hangover periods are desirably provided to maintain the signal representing presence of speech for a number of samples following the last sample which causes the signal to be produced. To this end, the method preferably includes the steps of:- in response to the first signal state, producing a fourth signal state for a first predetermined number of consecutive samples commencing with the current sample; and in response to the second signal state, producing a fifth signal state for a second number of consecutive samples commencing with the current sample; wherein the signal representing presence of speech is produced in the presence of either the fourth signal state or the fifth signal state.
- The second number of consecutive samples is desirably varied in dependence upon the reliability with which the second signal state is produced for each sample, in order that a speech indication signal is not produced for a long hangover period in response to a spurious noise signal which has resulted in the production of the second signal state. Accordingly, the method preferably also includes the step of determining said second number in dependence upon previous sample magnitudes, said second number being increased by a predetermined amount, up to a maximum number, for each sample in respect of which the second signal state is produced, and being decreased by a predetermined amount at least for each sample whose magnitude is not greater than the magnitude of the preceding sample.
- Thus the hangover period which is associated with the production of the second signal state is gradually increased, up to a maximum period, as the reliability of speech signal detection increases due to successive increases in the signal level in successive samples. The hangover period associated with the production of the first signal state need not be variable because this first signal state is only produced for relatively high signal levels for which the reliability of the speech signal indication is very high.
- Due to fluctuating signal levels, it can occur that successive signal samples of a magnitude below the first threshold level initially rise at the start of a speech utterance, then fall slightly so that the second threshold level is set to a higher value and the second signal state is not produced, and then rise again to a value which is above the previous values for which the second signal state was produced but which is below the new, higher, second threshold level. It is desirable that the second signal state also be produced in these circumstances. Accordingly, the method preferably further includes the steps of:- whenever the magnitude of a sample exceeds that of the preceding sample, and in respect of the preceding sample the fifth signal state was produced but the second signal state was not produced, producing the second signal state for the current sample if its magnitude does not exceed the second threshold level but exceeds a third threshold level; and setting the third threshold level equal to the magnitude of the preceding sample whenever the second signal state was produced for the preceding sample and the magnitude of the current sample is not greater than the magnitude of the preceding sample.
- In order to reduce the influence of spurious noise signals and d.c. offsets on the speech detector, preferably each signal sample is constituted by an average of a plurality of individual samples of the voice channel signal, the method of doing this comprising the step of producing each signal sample by removing d.c. offsets from and averaging a plurality of individual samples of the voice channel signal. The averaging is particularly easy to achieve in a DSI transmission system of the type described in our co-pending Patent Application No. EP-A-47588, already referred to, in which updating of the speech decision for each channel takes place only once every superframe, each superframe comprising a plurality of frames each including a sample of each voice signal channel.
- It will be appreciated that the steps of the method of this invention can be carried out by individual components such as comparators, stores, and gates, or by one or more programmed read-only memories.
- Accordingly, the invention also extends to a speech detector comprising one or more read-only memories programmed and arranged to carry out the method recited above.
- Furthermore, the invention extends to a speech detector for detecting the presence of speech signals in a sample voice channel signal, comprising means for producing a first signal state (M=1) whenever the magnitude (T) of a signal sample exceeds a first threshold level (TF), characterized in that the speech detector comprises:-
- means for generating a second threshold (TL);
- means for delaying each sample until the next sample arrives;
- means for comparing the magnitude (T) of each sample with that (TP) of the preceding sample delayed by said delaying means;
- means responsive to said comparing means determining that the magnitude (T) of a sample is not greater than that (TP) of the preceding sample, for setting the second threshold (TL) in response to this determination to a level which is greater than and is dependent upon the magnitude (T) of the current sample;
- means responsive to said comparing means determining that the magnitude (T) of a sample is greater than that (TP) of the preceding sample, for producing in response to this determination a second signal state (K=1) if the magnitude (T) of the current sample exceeds the second threshold level (TL); and
- means responsive to each of the first and second signal states (M=1, K=1) for producing a signal, representing the presence of speech, at least for the current sample.
- The present invention still further provides a method of detecting the presence of speech in a sampled voice channel signal, characterised by the steps of:- setting a threshold (TL), to a level which is greater than and is dependent upon the magnitude (T) of the current sample, whenever the magnitude (T) of the current sample is not greater than that (TP) of the preceding sample; and providing an indication of the presence of speech whenever the magnitude (T) of the current sample is greater than that (TP) of the preceding sample and exceeds said threshold level (TL).
- The invention will be further understood from the following description of a preferred embodiment thereof with reference to the accompanying drawings, in which:-
- Figure 1 illustrates in the form of a block diagram a speech detector for use in a DSI transmission system;
- Figure 2 shows a flow chart in explanation of the operation of the speech detector;
- Figure 3 is a signal level diagram illustrating the operation of the speech detector; and
- Figure 4 illustrates an offset remover and averaging circuit for supplying offset-removed and averaged signal samples to the speech detector.
- The speech detector described below with reference to Figures 1 to 3 is intended for use in a DSI transmission system of the type described in our co-pending Patent Application No. EP-A-47588 already referred to, in which once in each superframe a speech decision is updated for each of a plurality of voice signal channels in respect of each of which there is an individual sample contained in each of a plurality of frames forming the superframe. In the present case, it is assumed that in each superframe there are 27 frames each comprising 48 voice channel signal samples each of 8 bits.
- Referring to Figure 1, which shows the speech detector in the form of a block diagram, it will be seen that the speech detector includes two independent parts, which are referred to herein as the
level detector 601 and theslope detector 602, whose outputs are combined in an ORgate 603 to produce for each channel a speech decision which is stored in a 48-channel decision store 604, to the output of which a speechdecision output line 110 is connected. Each of thedetectors lines 115, and is enabled in the fourteenth frame of each superframe to up-date the speech decision for each channel. In its preferred form, each of thedetectors detectors - Each of the
detectors value 0 for silence, 1 for speech, and 2 for hangover. Thus M=1 indicates that the level detector declares that the particular channel is carrying speech. - The hangover state is a temporary state which a channel is deemed to be in immediately following the speech state, and is provided to avoid speech clipping after intersyllabic pauses in speech. In each detector, a channel which previously was declared as being in the speech state, but in respect of which speech is no longer detected, is deemed to be in the hangover state and an initial hangover count is set. If speech is still not detected in successive superframes, then this hangover count is decremented until it reaches zero, when the channel is declared silent. The initial hangover count is fixed in the level detector but is variable in the slope detector, as is further explained below.
- Referring again to Figure 1, the
level detector 601 consists of three parts, namely acomparator 605, a hangover andcontrol unit 606, and adecision store 607. In frame 14 in each superframe, for each channel, thecomparator 605 compares the average T with a fixed threshold TF which is above the highest possible noise level. The result of this comparison is supplied to theunit 606. Theunit 606 determines the state of the channel in dependence upon this comparison and the channel's previous state as stored in thestore 607, and stores the current state of the channel, and any hangover count which is applicable, in thestore 607. Theunit 606 supplies alogic 1 on theoutput line 608 if the channel is determined as being in either the speech or the hangover state. - The
slope detector 602 consists of a delay unit 609,comparators 610, a hangover, control, andthreshold generator unit 611, and a decision andthreshold store 612. The delay unit 609 provides a delay of 1 superframe for the average T to provide a previous average TP vialines 613 to thecomparators 610. In frame 14 in each superframe, for each channel, thecomparators 610 compare the current average T with the previous average TP, a threshold TL, and a threshold TH and supply the comparison results to theunit 611. The thresholds TL and TH are variable thresholds which are stored for each individual channel in thestore 612. Theunit 611 determines the state of the channel in dependence upon the comparison results and the channel's previous state as stored in thestore 612, generates new thresholds TL and TH if necessary, and stores the current state of the channel, together with any new hangover count and thresholds TL and TH, in thestore 612. Theunit 611 supplies alogic 1 on theoutput line 614 if the channel is determined as being in either the speech or the hangover state. - Thus it will be seen that the speech decision on the
line 110 is present for each channel, i.e. the channel is deemed to be carrying speech, unless both the level detector and the slope detector declare the channel to be silent, i.e. both M=0 and K=0. - The operation of the speech detector will be further understood from the following description with reference to Figures 2 and 3. In Figures 2 B, D, and G are integers, H is the hangover count in the level detector, HM is a maximum value of H, C is the hangover count in the slope detector, CM is a maximum value of C, and the other symbols have the meanings already described. For the illustration in Figure 3 it has been assumed that B=1, D=5, G=4, and CM=HM=31. Each of Figures 2 and 3 relates to only one of the 48 channels, all the channels being treated in the same manner. Figure 3 illustrates the average T for the channel as a
line 801 on which each point represents the value of T in one superframe, and also illustrates the resultant values of M, H, TL, TH, K, and C. It is initially assumed that M=K=C=0. Successive points on theline 801 are identified byreferences 802 through 834. - Considering firstly the operation of the level detector, for each of the
points 802 through 821 T$TF (interrogation 701 in Figure 2) and the previously stored value of M is zero (interrogation 702 in Figure 2) so that in Figure 2 thebranch 703 is reached and M remains zero (silence). For each of thepoints 822 through 827 T>TF, so that, regardless of the previously stored value of M, M is set to 1 (speech) inblock 704 in Figure 2. Forpoint 828 the result of theinterrogation 701 is negative, so that the value of M is interrogated at block 702 in Figure 2. The previously stored value of M is 1, so thatblock 705 in Figure 2 is reached, M being set to 2 (hangover) and H being set to HM=31. For each ofpoints 829 through 834 the result of theinterrogation 701 is negative and the previously stored value of M, interrogated in block 702, is 2 so that in Figure 2 the value of H is interrogated atblock 706. For these points H40, so that H is decremented each time atblock 707 in Figure 2 and M is unchanged. Unless T again exceeds TF, this decrementing continues in successive superframes until H=0, wheninterrogation 706 has a positive result so thatblock 708 is reached in which M is set to zero (silence). - Considering now the operation of the slope detector, after reading the value T in each superframe (block 709 in Figure 2), this value is compared with the previous value TP (
interrogation 710 in Figure 2). If T>TP, as atpoints block 711 of Figure 2. For each of thepoints points block 713 is effected as to whether K=0. For each of these points the result of this interrogation is positive, so that in ablock 714 the previous value of C is increased by G=4, K remaining unchanged. - For each of the
points interrogation 710 is negative, so that in ablock 715 the threshold TL is set to BT+D, i.e. T+5 in Figure 3. The previous value of K is then interrogated in ablock 716, and because in the case of each of these points the previous value of K is zero, C is set to zero in ablock 717 and K remains unchanged. Thus for all of thepoints 803 to 808 K=0 (silence). It can be seen that the threshold TL is adaptively adjusted during this period, so that this threshold is generally a little above the level of noise present on the particular channel. - For the
point 809 theinterrogation 710 has a positive result, thesubsequent interrogation 711 has a negative result, and theresultant interrogation 712 has a positive result because now T>TL, so that K is set to 1 (speech) inblock 718 in Figure 2. For each of the points 810 through 813 theinterrogation 710 and theresultant interrogation 711 both have positive results. Thus for each of thepoints 809 through 813 C is increased by G=4 in ablock 719; this gradual increasing of C, and hence the hangover period which will subsequently occur, reflects the increasing reliability of the speech decision reached initially at thepoint 809. C is in each case compared with CM=31 in aninterrogation 720; for each of these points the result of this interrogation is negative so that no further action is taken. - For the point 814 T<TP, so that the threshold TL is again reset in
block 715. In this case the previous value of K interrogated inblock 716 is 1, so that in ablock 721 the threshold TH is set to the previous average value TP and K is set to 2 (hangover). Subsequently in a block 722 C is decreased by 1 to 23. For the point 815 T>TP, K≠1, T;t> TL, and KtO, so that an interrogation T>TH? (block 723 in Figure 2) is reached whose result is positive. Accordingly, K is set to 1 inblock 718 and C is increased inblock 719. This recognizes thepoint 815 as comprising speech; this recognition is based on the fact that previously the lower-level point 813 was identified as comprising speech, so that the relatively higher-level point 815 is also assumed to comprise speech. - The
point 816 results in a hangover decision (K=2) in the same manner as for the point 814, the thresholds TL and TH being reset and C being decreased by 1 to 26. For the point 817 Tinterrogation 716 is reached and reveals that K=2, so that in an interrogation 724 C is assessed and, since it is not zero, is decreased by one in theblock 722. - For the point 818 T>TP, K4=1, TITL, KtO, and Tj> TH, so that C is interrogated in a
block 725 and, not being zero, is decreased by 1 in ablock 726, K remaining unchanged. Thepoint 819 and thepoints 820 through 825 result in the same circumstances as thepoints 809 and 810 through 813 respectively, except that for each of thepoints 820 through 825 increasing C inblock 719 results in the interrogation C>CM? inblock 720 having a positive result, so that for each of these points C is set to CM=31 in ablock 727. At thepoint 826 both of the thresholds TL and TH are reset in the same manner as at thepoints 814 and 816, and a hangover decision (K=2) is reached so that C is reduced by one. In the same manner as for thepoint 817, at each of thepoints 827 through 834 the threshold TL is reset and C is reduced by 1. Unless theline 801 again crosses the threshold TL or TH, this reduction of C continues in successive superframes until C=0, when one of theinterrogations blocks - It can be seen, therefore, that the
level detector 601 provides a reliable detection of the presence of speech each time that the average T exceeds the fixed threshold TF, and that after each such detection the speech decision on theline 110 is maintained for a fixed hangover period of 32 superframes, to maintain the decision during intersyllabic pauses in speech. On the other hand, theslope detector 602 provides a less reliable but much earlier detection of the start of speech bursts, as at thepoint 809, to produce the speech decision on theline 110 as quickly as possible and hence to avoid excessive clipping of speech signals at the start of speech bursts. As this detection is less reliable, the hangover period of the slope detector is not immediately set to the maximum as in the level detector; but instead is increased only gradually to avoid excessively increasing the activity of the DSI transmission. For example, the average T at thepoint 809 could alternatively be due to noise transients instead of the start of speech, in which case theline 801 would not rise after this point. In this case although the slope detector would reach the incorrect decision K=1 (speech) for thepoint 809, this decision would be maintained only for the short hangover period of 8 superframes so that the DSI transmission activity would be only slightly increased. In any event, as described below, the value T is itself an average taken over the duration of one superframe, and the threshold TL is adaptively adjusted to be above the average noise level of the channel, so that the slope detector is relatively insensitive to noise transients. - Figure 4 illustrates in the form of a block diagram a d.c. offset remover and averaging circuit which serves to produce a 7-bit offset removed average T for each channel on the
lines 115, from 8-bit individual signal samples of the channels supplied thereto onlines 102. The offset remover consists of an 8-bit subtractor 401, a 16-bit up/downcounter 402, and a 48-channel by 16-bit store 403. The averaging circuit consists of a 12-bit adder 404, a 48- channel by 12-bit store 405, abuffer 406 having a clear input CL, and a 48-channel by 7-bit store 407 having a write-enable input WE. Each of the stores is addressed in turn for each channel via an address bus which is not shown. - The offset remover serves to produce on
lines 409 for each channel a 7-bit magnitude signal from which long-term d.c. offsets have been removed, and to this end the offset remover in operation reaches an equilibrium state in which for each channel a 16-bit offset value of the channel is stored in thestore 403. In each frame, for each channel, the stored offset value of the channel is loaded from thestore 403 into thecounter 402 and is available at the counter output. The 8 most significant bits of the offset value are applied vialines 410 to thesubtractor 401, which subtracts the offset value bits from the current sample of the channel to produce the 7-bit magnitude signal on thelines 409 and a sign bit on afurther output line 411. Thisline 411 is connected to an up/down counting control input U/D of thecounter 402 and causes the count of the counter to be increased or decreased by 1 depending on the polarity of the sign bit on theline 411. Thecounter 402 thus produces a new, modified, 16-bit offset value for the channel at its output, and this new value is written into thestore 403 in place of the previous offset value for the channel. This sequence is repeated for subsequent channels in each frame. - In the long term, the equilibrium state reached is such that for each channel the numbers of positive and negative sign bits produced on the
line 411 are equal. Although the stored offset value of each channel varies, only the 8 most significant bits of this are subtracted from the channel information, and in fact 256 sign bits of one polarity are required in order to change the subtracted offset value bits by one step. - The averaging circuit serves to produce, for each channel, the 7-bit average T on the
lines 115. In fact, in order to simplify implementation of the circuit the average T on thelines 115 is actually a fraction of 27/32 of the actual average of the signals on thelines 409. For each channel, this average T is updated in the thirteenth frame of each superframe by signal applied via aline 414 to the input CL of thebuffer 406 and the input WE of thestore 407, to write a new average T into thestore 407 and to clear thebuffer 406. - For each channel in each frame of the superframe, the output of the
adder 404 is stored in thestore 405. The adder output is equal to the sum of the 7-bit magnitude signal of the particular channel, present on thelines 409, and a 12-bit cumulative sum for the particular channel present onlines 412. The cumulative sum for the channel is the previously stored sum for the channel which was stored in thestore 405, which is clocked through thebuffer 406 in each frame except the thirteenth frame of each superframe when, as described above, thebuffer 406 is cleared to reduce the cumulative sum to zero. - In the thirteenth frame of each superframe, therefore, for each channel the 12-bit cumulative sum produced at the output of the
store 405 is equal to the sum of the offset-removed magnitude signals for that channel during the preceding 27 frames. Only the 7 most significant bits of this sum are written into thestore 407 to achieve a division of the sum by a factor of 32; hence the average T is 27/32 of the actual average. This minor difference does not adversely affect the operation of the speech detector. - Whilst a particular offset remover and averaging circuit has been described above, the speech detector of the invention can obviously be used in conjunction with other forms of such circuit or without any preceding offset remover and averaging circuit. Similarly, the speech detector can be used in other applications than that described, and can be provided in respect of any number of voice channel signals.
Claims (13)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA359968 | 1980-09-09 | ||
CA000359968A CA1147071A (en) | 1980-09-09 | 1980-09-09 | Method of and apparatus for detecting speech in a voice channel signal |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0047589A1 EP0047589A1 (en) | 1982-03-17 |
EP0047589B1 true EP0047589B1 (en) | 1984-06-13 |
Family
ID=4117844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP81303695A Expired EP0047589B1 (en) | 1980-09-09 | 1981-08-13 | Method and apparatus for detecting speech in a voice channel signal |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0047589B1 (en) |
JP (1) | JPS5781733A (en) |
CA (1) | CA1147071A (en) |
DE (1) | DE3164171D1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1137240A (en) * | 1980-09-09 | 1982-12-07 | Northern Telecom Limited | Method of and apparatus for echo detection in voice channel signals |
EP0092611B1 (en) * | 1982-04-27 | 1987-07-08 | Koninklijke Philips Electronics N.V. | Speech analysis system |
DE3243231A1 (en) * | 1982-11-23 | 1984-05-24 | Philips Kommunikations Industrie AG, 8500 Nürnberg | METHOD FOR DETECTING VOICE BREAKS |
EP0140249B1 (en) * | 1983-10-13 | 1988-08-10 | Texas Instruments Incorporated | Speech analysis/synthesis with energy normalization |
JPS619700A (en) * | 1984-06-25 | 1986-01-17 | シャープ株式会社 | Voice feature extraction system |
GB2379148A (en) * | 2001-08-21 | 2003-02-26 | Mitel Knowledge Corp | Voice activity detection |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3712959A (en) * | 1969-07-14 | 1973-01-23 | Communications Satellite Corp | Method and apparatus for detecting speech signals in the presence of noise |
US4052568A (en) * | 1976-04-23 | 1977-10-04 | Communications Satellite Corporation | Digital voice switch |
-
1980
- 1980-09-09 CA CA000359968A patent/CA1147071A/en not_active Expired
-
1981
- 1981-08-13 EP EP81303695A patent/EP0047589B1/en not_active Expired
- 1981-08-13 DE DE8181303695T patent/DE3164171D1/en not_active Expired
- 1981-09-08 JP JP56140449A patent/JPS5781733A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
DE3164171D1 (en) | 1984-07-19 |
EP0047589A1 (en) | 1982-03-17 |
CA1147071A (en) | 1983-05-24 |
JPH0311139B2 (en) | 1991-02-15 |
JPS5781733A (en) | 1982-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4357491A (en) | Method of and apparatus for detecting speech in a voice channel signal | |
US4052568A (en) | Digital voice switch | |
US4945566A (en) | Method of and apparatus for determining start-point and end-point of isolated utterances in a speech signal | |
US4410763A (en) | Speech detector | |
US5617508A (en) | Speech detection device for the detection of speech end points based on variance of frequency band limited energy | |
US4028496A (en) | Digital speech detector | |
EP0077574B1 (en) | Speech recognition system for an automotive vehicle | |
ES2211057T3 (en) | SYSTEM AND METHOD FOR ADJUSTMENT OF THE NOISE THRESHOLD USED TO DETECT VOCAL ACTIVITY IN NON-STATIONAL NOISE ENVIRONMENTS. | |
US4401849A (en) | Speech detecting method | |
US6088670A (en) | Voice detector | |
US5579431A (en) | Speech detection in presence of noise by determining variance over time of frequency band limited energy | |
US3712959A (en) | Method and apparatus for detecting speech signals in the presence of noise | |
US4700392A (en) | Speech signal detector having adaptive threshold values | |
JPS6011849B2 (en) | Offset compensation circuit | |
US4008375A (en) | Digital voice switch for single or multiple channel applications | |
US4001505A (en) | Speech signal presence detector | |
US4543537A (en) | Method of and arrangement for controlling the gain of an amplifier | |
WO2006104576A2 (en) | Adaptive voice mode extension for a voice activity detector | |
CA1150413A (en) | Speech endpoint detector | |
EP0047589B1 (en) | Method and apparatus for detecting speech in a voice channel signal | |
EP0047590A2 (en) | Method of and apparatus for echo detection in voice channel signals | |
US4469916A (en) | Method and apparatus for detecting signalling and data signals on a telephone channel | |
USRE32172E (en) | Endpoint detector | |
EP0770254B1 (en) | Transmission system and method for encoding speech with improved pitch detection | |
JPS5834986B2 (en) | Adaptive voice detection circuit |
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 |
|
AK | Designated contracting states |
Designated state(s): DE FR GB IT NL SE |
|
17P | Request for examination filed |
Effective date: 19820426 |
|
ITF | It: translation for a ep patent filed | ||
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Designated state(s): DE FR GB IT NL SE |
|
REF | Corresponds to: |
Ref document number: 3164171 Country of ref document: DE Date of ref document: 19840719 |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 19900731 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: SE Payment date: 19900807 Year of fee payment: 10 Ref country code: FR Payment date: 19900807 Year of fee payment: 10 |
|
ITTA | It: last paid annual fee | ||
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 19900831 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 19900927 Year of fee payment: 10 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Effective date: 19910813 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Effective date: 19910814 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Effective date: 19920301 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee | ||
NLV4 | Nl: lapsed or anulled due to non-payment of the annual fee | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Effective date: 19920430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Effective date: 19920501 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST |
|
EUG | Se: european patent has lapsed |
Ref document number: 81303695.1 Effective date: 19920306 |