Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR IMPLEMENTING A SPEECH VERIFICATION SYSTEM FOR USE IN A NOISY ENVIRONMENT
Document Type and Number:
WIPO Patent Application WO/2000/016312
Kind Code:
A1
Abstract:
A method for implementing a speech verification system for use in a noisy environment comprises the steps of generating a confidence index for an utterance using a speech verifier (416), and controlling the speech verifier (416) with a processor (228), wherein the utterance contains frames of sound energy. The speech verifier (416) includes a noise suppressor (610), a pitch detector (612), and a confidence determiner (614). The noise suppressor (610) suppresses noise in each frame in the utterance by summing a frequency spectrum for each frame with frequency spectra of a selected number of previous frames to produce a spectral sum (710). The pitch detector (612) applies a spectral comb window (810) to each spectral sum (820) to produce correlation values (830) for each frame in the utterance. The pitch detector (612) also applies an alternate spectral comb window (910) to each spectral sum (820) to produce alternate correlation values (930) for each frame in the utterance. The confidence determiner (614) evaluates the correlation values (830) to produce a frame confidence measure for each frame in the utterance. The confidence determiner (614) then uses the frame confidence measures to generate the confidence index for the utterance, which indicates whether the utterance is or is not speech.

Inventors:
WU DUANPEI
TANAKA MIYUKI
OLORENSHAW LEX
Application Number:
PCT/US1999/020078
Publication Date:
March 23, 2000
Filing Date:
September 02, 1999
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SONY ELECTRONICS INC (US)
International Classes:
G10L11/02; (IPC1-7): G10L17/00
Foreign References:
US5913187A1999-06-15
US5781883A1998-07-14
US5966438A1999-10-12
US5794187A1998-08-11
US5757937A1998-05-26
US5640490A1997-06-17
US5839101A1998-11-17
US5920834A1999-07-06
Attorney, Agent or Firm:
Koerner, Gregory J. (Suite B Cupertino, CA, US)
Download PDF:
Claims:
WHATIS CLAIMED IS :
1. system for speech of an utterance, comprising : a speech verifier (416) configured to generate a confidence index for said utterance ; and a processor (228) coupled to said system to control said speech verifier (416).
2. system of claim 1, said utterance contains frames of sound energy.
3. The system of claim 2, wherein said speech verifier (416) includes a noise suppressor (610), a pitch detector (612), and a confidence determiner (614).
4. The system of claim 3, wherein said noise suppressor (610) reduces noise in a frequency spectrum for each of said frames in said utterance.
5. system of claim 4, wherein each of said corresponds to a frame set that includes a selected number of previous frames, and wherein said noise suppressor (612) sums frequency spectra of each frame set to produce a spectral sum (710) each of said frames in said utterance.
6. The system of claim 5, wherein said spectral sum (710) each of said frames is calculated according to a formula : where Zn is said spectral sum (710) a frame n, Xi (ßik) an adjusted frequency spectrum for a frame i for i equal n through nN+ 1, ßi is frame set scale for said frame i for i equal to n through nN+ 1, N is a selected total number of frames in said frame set.
7. The system of claim 6, wherein said frame set scale for said frame i for i equal to n through nN+ 1 selected so that a difference between said frequency spectrum for said frame n of said utterance and a frequency spectrum for said frame nN+1 said utterance is minimized.
8. The system of claim 5, wherein said pitch detector (612) generates correlation values (830) for each of said frames in said utterance and determines an optimumfrequency for each of said frames in said utterance.
9. The system of claim 5, said pitch detector (612) generates correlation values (830) by applying a spectral comb window (810) said spectral sum (820) for each of said frames in said utterance, and determines an optimum frequency index that corresponds to a maximum of said correlation values (830).
10. The system of claim 9, wherein said pitch detector (612) generates said correlation values (830) according to a formula : where Pn are said correlation values (830) for a frame n, W (ik) is said spectral comb window (810), Zn is said spectral sum (820) for said frame n, Ko is a lower frequency index, Ki an upper frequency index, and Ni a selected number of teeth of said spectral comb window (810).
11. The system of claim 8, wherein said pitch detector (612) generates alternate correlation values (930) for each of said frames in said utterance and determines an optimum alternate frequency for each of said frames in said utterance.
12. The system of claim 8, wherein said pitch detector (612) generates alternate correlation values (930) by applying an alternate spectral comb window (910) said spectral sum (820) for each of said frames in said utterance, determines an optimum alternate frequency index that corresponds to a maximum of said alternate correlation values (930).
13. The system of claim 11, wherein said pitch detector (612) generates said alternate correlation values (930) by a formula : where P'n are said alternate correlation values (930) for a frame n, W (ik) is a spectral comb window (810), Zn is said spectral sum (820) for said frame n, Ko is a lower frequency index, Ki an upper frequency index, and Nj a selected number of teeth of said spectral comb window (810).
14. The system of claim 11, wherein said confidence determiner (614) determines a frame confidence measure for each of said frames in said utterance by analyzing a maximum peak of said correlation values (1010) for each of said frames.
15. The system of claim 11, wherein said confidence determiner (614) determines a frame confidence measure for each of said frames in said utterance according to a formula : 1 if RnQ >y andh"=1 0 otherwise where cn said frame confidence measure for a frame n, Rn a peak ratio for said frame n, hn is a harmonic index for said frame n, y a predetermined constant, and Q is an inverse of a width of said maximum peak of said correlation values (1010) at a halfmaximum point.
16. The system of claim 15, wherein said peak ratio is determined according to a formula : R peak avg s2 p peak where Rn said peak for said frame n, Ppeak said maximum of said correlation values (1010), andPavg an average of said correlation values (1010).
17. The system of claim 15, wherein said harmonic index is determined by a formula : h 01 if knt*= kn* = 0 otherwise where hn said harmonic index for said frame n, kn'* said optimum alternate frequency index for said frame n, and kn* is optimum frequency index for said frame n.
18. system of claim 14, wherein said confidence determiner (614) determines said confidence index for said utterance according to a formula : lf C Cfor any n in the utterance 0 otherwise where C is said confidence index for said utterance, cn said frame confidencemeasure for a frame n, cn1 a frame confidence measure for a frame n1, and Cn2 is frame confidence measure for a frame n2.
19. The system of claim 3, wherein said speech verifier (416) further comprises a preprocessor that generates a frequency spectrum each of said frames in said utterance.
20. The system of claim 19, wherein said preprocessor applies a Fast Fourier Transform to each of said frames in said utterance to generate said frequencyspectrum for each of said frames in said utterance.
21. A method for speech verification of an utterance, comprising steps of: generating a confidence index for said utterance by using a speech verifier(416) ; and controlling said speech verifier (416) with a processor (228).
22. The method of claim 21, said utterance contains frames of sound energy.
23. The method of claim 22, wherein said speech verifier (416) includes a noisesuppressor (610), a pitch detector (612), and a confidence determiner (614).
24. The method of claim further comprising the step of suppressing noisein a frequency spectrum for each of said frames in said utterance using said noise suppressor (610).
25. The method of claim 24, wherein each of said frames in said utterance corresponds to a frame set that includes a selected number of previous frames, and wherein said noise suppressor (610) frequency spectra of each frame set to produce a spectral sum (710) each of said frames in said utterance.
26. The method of claim 25, wherein said spectral sum (710) each of said frames in said utterance is calculated according to a formula : where Zn is said spectral sum (710) for a frame n, Xi (ßik) an adjusted frequency spectrum for a frame i for i equal to n through nN+1, pi a frame set scale for said frame i for i equal to n through nN+ 1, N is a selected total number of frames in said frame set.
27. The method of claim 26, wherein frame set scale for said frame i fori equal to n through nN+ 1 selected so that a difference between said frequency spectrum for said frame n of said utterance and a frequency spectrum for said frame nN+ 1 said utterance is minimized.
28. The method of claim 25, further comprising the steps of generating correlation values (830) for each of said frames in said utterance and determining an optimum frequency index for each of said frames in said utterance using said pitch detector (612).
29. The method of claim 25, wherein said pitch detector (612) generates correlation values (830) by applying a spectral comb window (810) said spectral sum (820) for each of said frames in said utterance, and determines an optimum frequency that corresponds to a maximum of said correlation values (830).
30. The method of claim 29, wherein said pitch detector (612) generates said correlation values (830) according to a formula : where Pn are said correlation values (830) for a frame n, W (ik) is said spectral comb window (810), Zn is said spectral sum (820) for said frame n, Ko is a lower frequency index, Ki an upper frequency index, and N 1 a selected number of teeth of said spectral comb window (810).
31. method of claim 28, further comprising the steps of generating alternate correlation values (930) for each of said frames in said utterance and determining an optimum alternate frequency index for each of said frames in said utterance using said pitch detector (612).
32. The method of claim 28, wherein said pitch detector (612) generates alternate correlation values (930) by applying an alternate spectral comb window (910) to said spectral sum (820) for each of said frames in said utterance, and determines an optimum alternate frequency index that corresponds to a maximum said alternate correlation values (930).
33. The method of claim 31, wherein said pitch detector (612) generates said alternate correlation values (930) by a formula : where P'n are said alternate correlation values (930) for a frame n, W (ik) is a spectral comb window (810), Zn is said spectral sum (820) for said frame n, Ko is a lower frequency index, Ki an upper frequency index, and Ni a selected number of teeth of said spectral comb window (810).
34. The method of claim 31, comprising the step of determining a frame confidence measure for each of said frames in said utterance by analyzinga maximum peak of said correlation values for each of said frames using said confidence determiner (614).
35. The method of claim 31, said confidence determiner (614) determines a frame confidence measure for each of said frames in said utterance according to a formula : f ifR. Q >y andhn = 1 c = ! otherwise where cn said frame confidence measure for a frame n, Rn is a peak ratio for said frame n, hn is a harmonic index for said frame n, y a predetermined constant, and Q is an inverse of a width of said maximum peak of said correlation values (1010) at a halfmaximum point.
36. The method of claim 35, wherein said peak ratio is determined according to a formula : P D Ppeak Pavg R = peak where Rn said peak ratio for said frame n, Ppeak is maximum of said correlation values (1010), and Pavg an average of said correlation values (1010).
37. The method of claim 35, wherein said harmonic index is determined by a formula : 1 if kn'* = kn * han 0 otherwise where hn said harmonic index for said frame n, kn'* said optimum alternate frequency index for said frame n, and kn* is said optimum frequency index for said frame n.
38. The method of 34, wherein said confidence determiner (614) determines said confidence index for said utterance according to a formula : I if en = C.I = Cn2 = 1, C 4 for n in the utterance 0 otherwise where C is said confidence index for said utterance, cn said frame confidencemeasure for a frame n, Cnl a frame confidence measure for a frame n1, and Cn2 is frame confidence measure for a frame n2.
39. The method of claim 23, further comprising the step of generating a frequencyspectrum for each of said frames in said utterance using a pre processor.
40. The method of claim 39, wherein said preprocessor applies a Fast Fourier Transform to each of said frames in said utterance to generate said frequencyspectrum for each of said frames in said utterance.
41. The system of claim 3, wherein said system is coupled to a voice activated electronic system.
42. The system of claim 41, wherein said voiceactivated electronic system is implemented in an automobile.
43. A system for speech verification of an utterance, said utterance containing frames of sound energy, said system comprising : a speech verifier (416) configured to generate a confidence index for said utterance, said speech verifier (416) including a noise suppressor (610) that suppresses noise in a frequency spectrum for each of said frames, a pitch detector (612) that determines correlation values (830) for each of said frames, and a confidence determiner (614) that determines said confidence index using said correlation values (830) ; and a processor (228) coupled to said system to control said speech verifier (416).
44. A computerreadable medium comprising program instructions for speech verification of an utterance by performing the steps of : generating a confidence index for said utterance using a speech verifier (416); and controlling said speech verifier (416) with a processor (228).
45. The computerreadable of claim 44, wherein said speech verifier (416) includes a noise suppressor (610), pitch detector (612), and a confidence determiner (614).
46. An apparatus for speech verification of an utterance, comprising : means for generating a confidence index for said utterance using a speech verifier (416) ; and means for controlling said speech verifier (416) with a processor (228).
Description:
METHOD FOR IMPLEMENTING A SPEECH VERIFICATION SYSTEM FOR USE IN A NOISY ENVIRONMENT CROSS-REFERENCE TO RELATED APPLICATION This application related to, and claims in, U. S. Provisional Patent Application No. 60/099, 739, entitled"Speech Verification Method For Isolated Word Speech Recognition, "filed September 10, 1998.

The related applications arecommonly assigned.

BACKGROUNDOF THE INVENTION 1. of the Invention This invention relates generally to electronic speech recognition systems and relates more particularly to a method for implementing a speech verification system for use in a noisy environment.

2. Description of the Background Art Implementing an effective and efficient method for system users to interface with electronic devices a significant of system designers and manufacturers. Voice-controlled operation of electronic devices is a desirable interface for many system users. For example, voice- controlled operation allows a user to perform other tasks simultaneously.

For instance, a person may operate a vehicle and operate an electronic organizer by voice control at the same time. Hands-free operation of electronic may also be desirable for users who have physical limitations or other special requirements.

Hands-free operation of electronic devices be implemented by various speech-activated electronic systems.Speech-activated electronic systems thus advantageously allow users to interface with electronic devices

in situations where it would be inconvenient or potentially hazardous to utilize a traditional input device.

Speech-activated systems may be used in a variety of noisy environments, for instance industrial facilities, manufacturing facilities, commercial vehicles, and passenger vehicles. A significant amount of noise in an environment may interfere with and degrade the performance and effectiveness of speech-activated System designers and manufacturers typically seek to develop speech-activated that provide reliable performance in noisy environments.

In a noisy environment, sound energy detected by a speech-activated system may contain speech and a significant amount of noise. In such an environment, the speech may be masked by the noise and be undetected.

This result is unacceptable for reliable performance of the speech-activated system.

Alternatively, sound energy detected by the speech-activated system may contain only noise. The noise may be of such a character that the speech-activated system identifies the noise as speech. This result reduces the effectiveness of the speech-activated system, and is also unacceptable for reliable performance. Verifying that a detected signal is actually speech increases the effectiveness and reliability of speech-activated systems.

Therefore, for all the foregoing reasons, implementing effective and efficient for a system user to interface with electronic devices remains a significant consideration of system designers and manufacturers.

SUMMARYOF THE INVENTION In accordance with the present invention, a method disclosed for implementing a speech verification system for use in a noisy environment.

In one embodiment, the invention includes the steps of generating a confidenceindex for an utterance using a speech verifier, and controlling the speech verifier with a processor. The speech verifier includes a noise suppressor, a pitch detector, and a confidence determiner.

The utterance preferably includes frames of sound energy, and a pre- processor generates a frequency spectrum for each frame n in the utterance.

The noise suppressor suppresses noise the frequency spectrum for each frame n in the utterance. Each frame n has a corresponding frame set that includes frame n and a selected number of previous frames. The noise suppressor suppresses noise in the frequency spectrum for each frame by summing together the spectra of frames in the corresponding frame set to generate a spectral sum. Spectra of frames in a frame set are but not identical. Prior to generating the spectral sum, the noise suppressor aligns the frequencies of each spectrum in the frame set with the spectrum ofa base frame of the frame set.

The pitch detector applies a spectral comb window to each spectral sum to produce correlation values for each frame in the utterance. The frequency that corresponds to the maximum correlation is selected as the optimum frequency index. The pitch detector also applies an alternate spectral comb window to each spectral sum to produce alternate correlation values for each frame in the utterance. The frequency that corresponds to the maximum alternate correlation value is selected as the optimum alternate frequency index.

The confidence determiner evaluates the correlation values to produce a frame confidence measure for each frame the utterance. First, confidence determiner calculates a harmonic index for each frame. The harmonic index indicates whether the spectral sum for each frame contains peaks at more than one frequency. Next, the confidence determiner

evaluates a maximum peak of the correlation values for each frame to determine a frame confidence measure for each frame.

The confidence determiner then uses the frame measures to generate the confidence index for the utterance, which indicates whether the utterance is speech or not speech. The present invention thus efficiently and effectively implements a speech verification system for use in a noisy environment.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is an exemplary waveform diagram for one embodiment of noisy speech energy ; FIG. 1 is an exemplary waveform diagram for one embodiment of speech energy without noise energy ; FIG. 1 is an exemplary waveform diagram for one embodiment of noise energy without speech energy ; FIG. 2 is a block diagram for one embodiment of a computer system, according to the present invention ; FIG. 3 is a block diagram for one embodiment of the memory of FIG. 2, according to the present invention ; FIG. 4 is a block diagram for one embodiment of the speech detector of FIG. 3, according to the present invention ; FIG.5 is a diagram for one embodiment of frames of speech energy, according to the present invention ; FIG. 6 is a block diagram for one embodiment the speech verifier of FIG. 4, according to the present invention ; FIG. 7 is a diagram for one embodiment of frequency spectra for three adjacent frames of speech energy and a spectral sum, according to the present invention ; FIG. 8 is a diagram for one embodiment of a comb window, a spectral sum, and correlation values, according to the present invention ;

FIG. 9 is a diagram for one embodiment of an alternate comb window, a spectral sum, and alternate correlation values, according to the present invention; FIG. 10 is a diagram for one embodiment of correlation values, according to the present invention ; FIG. 11 (a) is a flowchart of initial method steps for speech verification, including noise suppression and pitch detection, according to one embodiment of the present invention ; and FIG. 11 is a flowchart of further method steps for speech verification, including confidence determination, according to one embodiment of the present invention.

DETAILEDDESCRIPTION OF THE PREFERRED EMBODIMENT The present relates to an improvement in speech recognition systems. The following description is presented to enable one of ordinary skillin the art to make and use the invention and is provided in the context ofa patent application and its requirements. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiment shown, but is to be accorded the widest scope consistent with the principles and features described herein.

The present invention includes the steps of generating a confidence index for an utterance using a speech verifier, and controlling the speech verifierwith a processor, wherein the utterance contains frames of sound energy. The speech verifier preferably includes a noise suppressor, a pitch detector, and a confidence determiner. The noise suppressor suppresses noise in each frame of the utterance by summing a frequency spectrum for each frame with frequency spectra of a selected number of previous frames to produce a spectral sum. The pitch detector applies a spectral comb to each spectral sum to produce correlation values for each frame of the utterance. The pitch also applies an alternate spectral comb to each spectral sum to produce alternate correlation values for each frame of the utterance. The confidence determiner evaluates the correlation values to produce a frame confidence measure for each frame in the utterance. The confidence determiner then uses the frame confidence measures to generate the confidence index for the utterance, which indicates whether the utterance is speech or not speech.

Referring now to FIG. 1 an exemplary waveform diagram for one embodiment of noisy speech energy 112 is shown. Endpoints 120 and 122 identify the beginning and end of a spoken utterance, respectively. FIG. 1 (b)

shows an exemplary waveform diagram for one embodiment of speech energy 114 without noise energy. Similarly, FIG. 1 shows an exemplary waveform diagram for one embodiment of noise energy 116 without speech energy.

Noisyspeech 112 of FIG. 1 is typically comprised of speech energy 114 and noise energy 116.

Referring now to FIG. 2, a block diagram for one embodiment of a computer system 210 shown, according to the present invention. The FIG.

2 embodiment includes a sound sensor 212, an amplifier 216, an analog-to- digital converter 220, a central processing unit (CPU) 228, a memory 230, and an input/output interface 232.

Sound sensor 212 detects sound energy and converts the detected sound energy into an analog speech signal that is provided via line 214 to amplifier 216. Amplifier 216 amplifies the received analog speech signal and provides the amplified analog speech signal to analog-to-digital 220 via line 218. Analog-to-digital converter 220 then converts the amplified analog speech signal into corresponding digital speech data at a sampling rate of 16 kilohertz. Analog-to-digital converter 220 then provides the digital speech data via line 222 to system bus 224.

CPU 228 may then access the digital speech data on system bus 224 and responsively analyze and process the digital speech data to perform speech detection according to software instructions in memory 230. The operation of CPU 228 and the software instructions in memory 230 are further discussed below in conjunction with FIGS. 3-11. After the speech data is processed, CPU 228 may then provide the results of the speech detection analysis to other devices (not shown) via input/output interface 232.

Referring now to FIG. 3, a block diagram for one embodiment of the memory 230 of FIG. 2 is shown, according to the present invention. Memory 230 may alternately comprise various storage-device configurations, including random access memory (RAM) and storage devices such as floppy discs or hard disc drives. In the FIG. 3 embodiment, memory 230 includes,

but is not limited to, a speech detector 310, frame scale registers 312, frame set scale registers 314, spectral sum registers 316, frequency index registers 318, correlation value registers 320, harmonic index and peak ratio registers 322, and frame confidence registers 324.

In FIG. 3 embodiment, detector 310 a series of software modules that are executed by CPU 228 to analyze and detect speech data, and which are further described below in conjunction with FIGS. 4-11.

In alternate embodiments, speech detector 310 readily be implemented using various other software and/or hardware configurations.

Adjacent frame scale registers 312, frame set scale registers 314, spectral sum registers 316, frequency index registers 318, correlation value registers 320, harmonic index and peak ratio registers 322, and frame confidenceregisters 324 contain respective variable values that are calculated and utilized by speech detector 310 implement the speech verificationmethod of the present invention. The utilization and functionality of adjacent frame scale registers 312, frame set scale registers 314, spectral sum registers 316, frequency index registers 318, correlation value registers 320, harmonic index and peak ratio registers 322, and frame confidenceregisters 324 are further discussed below in conjunction with FIGS. 6-11.

Referringnow to FIG. 4, a block diagram for one embodiment of the speech detector 310 FIG. 3 is shown, according to the present invention.

Speech detector 310 but is not limited to, a feature extractor 410, an endpoint detector 412, a pre-processor 414, a speech verifier 416, and a recognizer418.

Analog-to-digitalconverter 220 (FIG. 2) provides digital speech data to feature extractor 410 via system bus 224. Feature extractor 410 responsively generates vectors, which are to recognizer 418 viapath 420 Feature 410 further responsively generates speech energy to endpoint detector 412 via path 422. Endpoint detector 412 analyzes the speech energy and responsively determines endpoints of an utterance represented by the speech energy. The endpoints indicate the

beginning and end of the utterance in time. Endpoint detector 412 then provides the endpoints to recognizer 418 via path 424.

Analog-to-digital converter 220 also provides speech data to pre-processor 414. In the FIG. 4 embodiment, pre-processor 414 applies a low-pass filter with a cut-off frequency of 2 kilohertz (kHz) to the digital speech data. Pre-processor 414 then down-samples the filtered digital data from 16 kHz to 4 kHz. In other words, pre-processor 414 discards three out ofevery four samples of the filtered digital data.

Pre-processor 414 next applies a 40 millisecond (ms) Hanning window to the digital speech data. Applying the 40 ms window to the digital speech data quantizes the digital speech data into portions of 40 ms in size to facilitate further analysis. Although a 40 ms Hanning window is disclosed, windows of other sizes and shapes are within the scope of the present invention.

Pre-processor 414 next applies a 1024 point Fast Fourier Transform (FFT)to the windowed digital data. Pre-processor 414 performs the FFT to produce a frequency spectrum for each frame of the digital speech data.

Frames are further discussed below in conjunction with FIG. 5.

Referring now to FIG. 5, a diagram for one embodiment of frames of speech energy is shown, according to the present invention. 5 includes speech energy 510 extends from time 550 to time 552, which is presented for purposes illustration. Speech energy 510 divided into equal-sized frames. In FIG. 5, each frame contains 10 milliseconds of speech data; however, frames of different lengths are within the scope of the present invention.

Each frame has a corresponding frame set that includes a selected number of previous frames. In FIG. 5, each frame set includes six frames ; however, a frame set may contain any number of frames. Frame set 530 includes frame 522 and five previous frames 512-520. Frame set 532 includes frame 524 and five previous frames 514-522. Frame set 534 includes frame 526 and five frames 516-524.

Returning now to FIG. 4, pre-processor 414 provides the frequency spectra (hereinafter spectra) produced by the FFT to speech 416 via path 426. Speech verifier 416 also receives endpoint data from endpoint detector 412 via path 428. Speech verifier 416 analyzes the spectra of frames that fall between endpoints. In other words, speech verifier 416 processes speech data corresponding to an utterance defined by endpoints.

Speech verifier 416 analyzes the spectra of frames in the utterance to determine a confidence index for the utterance. Speech verifier 416 provides the confidence index to recognizer 418 to indicate whether the utterance is or is not speech. Recognizer 418 provides verified speech data to system bus 224 for further processing by computer system 210.

Referringnow to FIG. 6, a block diagram for one embodiment of the speech verifier 416 of FIG. 4 is shown, according to the present invention.

Speech verifier 416 includes, but is not limited to, a noise suppressor 610, a pitch detector 612, and a confidence determiner 614. Noise suppressor 610 suppresses noise in the spectrum for each frame in the utterance. The functionality of noise suppressor 610 discussed below in conjunction with FIG. 7.

Pitch detector 612 implements a pitch detection process for each frame in the utterance. Pitch detector 612 is discussed further below in conjunction with FIGS. 8-11. determiner 614 determines the confidenceindex to verify that the utterance is speech. The functionality of confidence determiner 614 is discussed below in conjunction with FIGS. 10- 11.

Referring now to FIG. 7, a diagram of frequency spectra 712 through 716 for three adjacent frames of speech energy in an utterance and a spectral sum 710 shown, according to one embodiment of the present invention. FIG. 7, a frame set having three frames is shown for ease of discussion, however a frame set typically includes a greater number of frames.

As shown in FIG. 7, spectra of adjacent frames in an utterance are similar, but not identical. Peaks occur in each spectrum at integer multiples, or harmonics, of a fundamental frequency of the speech signal.

For example, spectrum 716 of frame n-2 has a fundamental frequency at fo.

Spectrum 714 of frame n-1 a similar shape and a different fundamental frequency, f o. 712 of frame n has a fundamental frequency f'o, which differs from the fundamental frequencies of spectra 714 and 716.

To suppress the noise in spectrum 712 for frame n, noise suppressor 610 sums spectrum 712 with all other spectra in the frame set corresponding to frame n to produce spectral sum 710. Noise suppressor 610 a spectral sum for each frame in the utterance by summing the spectrum of each frame with the spectra of the previous frames in each corresponding frame set. Spectral summation enhances the magnitude of the spectra at the harmonic frequencies. The magnitude of peaks in the spectra due to noise are not enhanced because noise in each frame is typicallynot correlated with noise in adjacent frames.

Beforea spectral sum is calculated, the fundamental frequencies of all the frames in a frame set are preferably aligned. In FIG. 7, the frequencies of spectrum 712 and spectrum 714 are preferably aligned with the frequencies ofspectrum 716, which is the spectrum of the base frame of the frame set for frame n.

Toalign the frequencies of the spectra, noise suppressor 610 first determines an adjacent frame alignment scale, a, for each frame. The adjacent frame alignment scale is used to compress or expand the frequency axis of a spectrum. The adjacent frame alignment scale is determined so that the differences between spectra of adjacent frames are minimized. The adjacent frame alignment scale may be expressed as

where an-i the adjacent frame alignment scale between adjacent frame spectra, Xn is the spectrum of frame n, and Xn-l (ak) the adjusted spectrum of adjacent frame n-1.

Noise suppressor 610 determines the value of an-l performing an exhaustivesearch within a small range of values for a, between 0.95 and 1. 05. For each value of a, noisesuppressor calculates a differencebetween the spectrum of frame n and the spectrum of frame n-1.

Thevalue of a results in the smallest difference (arg min) is selected as the adjacent frame alignment scale. Noise suppressor 610 preferably stores the adjacent frame alignment scale value for each frame in adjacent frame scale registers 312 (FIG. 3).

Noise suppressor 610 calculates a frame set scale to align all of the spectra of a frame set with the spectrum of the base frame of the frame set. In FIG. 7, spectrum 716 is the base frame of the frame set for frame n.

Aframe set scale, (3, calculated for each frame the frame set according tothe following : ßn 1 13n-1 ß) 1an 3n-N+1/in-N+2 (7n-N+l where (3n the frame set scale for frame n and N is the number of frames in the frame set. The frame set scale for each frame in the frame set is calculatedby setting the frame set scale for frame n equal to 1, then multiplyingthe frame set scale for each frame by the adjacent frame alignmentscale of the previous frame. Noise suppressor 610 preferably stores the frame set scale values for each frame in frame set scale registers 314.

Noise suppressor 610 sums together the spectra of each frame set using the frame set scale to align the spectra. sum 710 may be expressed as

where Zn is the spectral sum for frame n, Xi (pik) is aligned spectrum of frame i, for i equal to n to n-N+ 1, N is the number of frames in the frame set. Noise suppressor 610 the aligned spectrum X (pk) each frame in the frame set and then sums together the aligned spectra the frame set to produce the spectral sum Z (k). Noise suppressor 610 preferably stores the spectral sum for each frame in spectral sum registers 316 (FIG. 3).

As shown in FIG. 7, the frequencies of spectral sum 710 are aligned with the frequencies of spectrum 716. The magnitude of the spectrum for each frame n is enhanced at the harmonic frequencies and noise is suppressed. After noise suppressor 610 suppresses the noise for each frame n, pitch detector 612 performs a pitch detection process for each frame n, which is described below in conjunction with FIGS. 8 and 9.

Referring now to FIG. 8, a diagram of a comb window 810, spectral sum 820, and correlation values 830 are shown, according to one embodiment of the present invention. Pitch detector 612 preferably performs a pitch detection process for each frame in the utterance. Pitch detector 612 preferably detects pitch for each frame by calculatingcorrelation values between the spectral sum for each frame and a comb window.

In FIG. 8, comb window 810 shown, having teeth 812 at integer multiples of variable frequency index k. The amplitude of the teeth 812 decreases with increasing frequency, typically exponentially. Pitch detector 612 multiplies comb window 810 a logarithm of spectral sum 820 to generate correlation values 830 for each frame n in the utterance.

Correlation values 830 may be expressed as

where Pn are correlation values 830 for frame n, W (ik) is comb window 810, Zn is spectral sum 820 for frame n, Ko is a lower frequency index, Ki is an upper frequency index, and Ni the number of teeth 812 in comb window 810. the FIG. 8 correlation values 830, Ko=13, Ki=102, and Nl=5, other values for Ko, Ki, andNi within the scope of the present invention.

Pitch detector 612 multiplies comb window 810 the logarithm of the spectral sum 820 for each value of i i equal to 1 throughNi produce Ni and then sums the products together to produce a correlation value. Pitch detector 612 produces a correlation value for each k between Ko and Ki produce correlation values 830. Pitch detector 612 preferably stores correlation values 830 in correlation value registers 320 (FIG. 3).

Correlation values 830 have a maximum 832 at optimum frequency index kn*. maximum correlation value 832 typically occurs where the frequency index k of comb window 810 equal to the fundamental frequency of spectral sum 820, however, the maximum correlation value 832 may occur at a different frequency. Pitch detector 612 identifies frequency index that produces the maximum correlation value 832 as the optimum frequency index kn* optimum frequency index may be expressed as where kn* is optimum frequency index for frame n, and Pn are correlation values 830 for frame n. Pitch detector 612 determines the value of kn* selecting the frequency index k that produces the maximum value

832 of Pn Pitch detector 612 stores the optimum frequency index for each frame in frequency index registers 318 (FIG. 3).

Referring now to FIG. 9, a diagram of an alternate comb window 910, spectral sum 820, and alternate correlation values 930 are shown, according to one embodiment of the present invention. Pitch detector 612 may determine alternate correlation values 930 for each frame in the utterance to identify detected signals having only a single frequency component, which are not speech signals. If a detected signal contains sound energy having a single frequency, a spectral for that signal will have a peak at only one frequency.

Pitch detector 612 determines alternate correlation values 930 by multiplying alternate comb window 910 a logarithm of spectral sum 820 for each frame. Alternate comb window 910 similar to comb window 810 except that the amplitude of the first tooth 912 is zero. Alternate correlation values 930 may be expressed as where P'n are alternate correlation values 930 for frame n, W (ik) is comb window 810, (ik) is spectral sum 820 of frame n, Ko is the lower frequency index, Kl the upper frequency index, and Ni the number of teeth 812 in window 810. Beginning the FIG. 9 summation with i=2 effectively causes the first tooth of comb window 810 have an amplitude of zero, resulting in comb window 910. For the FIG. 9 alternate correlation values 930, Ko=13, Kl=102, andNl=5, other values for Ko, Ki, andNi within the scope of the present invention.

Pitch detector 612 multiplies comb window 810 the logarithm of the spectral sum 820 for each value of i i equal to 2 through Ni produce Nl-1 and then sums the products together to produce a correlation value. Pitch detector 612 produces a correlation value for each k between Ko

and Ki produce correlation values 930. Pitch detector 612 preferably stores alternate correlation values 930 in correlation value registers 320 (FIG. 3).

Pitch detector 612 then determines an optimum alternate frequency index, kn'*. optimum alternate frequency index is the frequency that corresponds to a maximum alternate correlation value 932. This may be expressed as where k'n* the optimum alternate frequency index for frame n, and Pn' (k) are alternate correlation values 930 for frame n. Pitch detector 612 determines the value of k'n* selecting the frequency index k that produces the maximum value 932 of Pn' (k).(k). detector 612 preferably stores the optimum alternate frequency index for each frame in frequency index registers 318 (FIG. 3).

Ifthe utterance has only one frequency component, the optimum alternate frequency index kn'* be different than the optimum frequency index kn*. if the utterance has more than one frequency component, the optimum alternate frequency index kn'* is typically identical to the optimum frequency index kn*. In words, maximum correlation value 832 and maximum correlation value 932 will occur at the same frequency if the utterance contains more than one frequency component. Speech verifier 416 may use this result to identify detected utterances having only one frequency component as not being speech.

Referring now to FIG. 10, a diagram of correlation values 1010 is shown, according to one embodiment of the present invention. Once pitch detector 612 determines the correlation values, alternate correlation values, optimum frequency index, and optimum alternate frequency index for each frame in an utterance, confidence determiner 614 determines a confidence index for the utterance.

Confidencedeterminer 614 determines whether each frame is or is not speech by analyzing the quality of a maximum peak 1012 correlation values 1010. The sharpness (height in relation to width) ofmaximum peak 1012 correlation values 1010 used as an indicator of the likelihood that the frame is speech. A sharp peak indicates that the frame is more likely speech.

Confidence determiner 614 first preferably determines a harmonic indexfor each frame n by comparing the optimum frequency index with the optimum alternate frequency index for each frame The harmonic index may be determined as follows : h if kn'* = kn * = n otherwise where hn the harmonic index for frame n, kn'* is the optimum alternate frequencyindex for frame n, and kn* is the optimum frequency index for frame n. A harmonic index equal to 1 that the frame contains more than one frequency component, and thus may be a speech signal. A harmonic index equal to 0 indicates that the frame contains only one frequencycomponent, and thus is not a speech signal. Confidence determiner 614 preferably stores the harmonic index for each frame in harmonic index and peak ratio registers 322 (FIG. 3).

Confidence determiner 614 next calculates a peak ratio, Rll, each frame as a measure of height of maximum peak 1012. peak ratio is calculated to normalize correlation values 1010 to variations in signal strength of the utterance. Confidence determiner calculates the peak ratio for each frame as follows :

where Rn the peak ratio for frame n, Ppeak is maximum correlation value 1014 frame n, and Pavg is average 1016 correlation values 1010 for frame n. Confidence determiner 614 preferably stores the peak ratio for each frame in harmonic index and peak ratio registers 322 (FIG. 3).

Confidencedeterminer 614 next preferably determines a frame confidencemeasure for each frame. Confidence determiner 614 determines the frame confidence measure as follows : 1 if RnQ y andh, l=l c (0 otherwise where cn the frame confidence measure for frame n, Rn is the peak ratio for frame n, hn the harmonic index for frame n, y a predetermined constant, and Q is an indicator of the sharpness of maximum peak 1012 correlation values 1010. value of Q preferably 1/w, w is a width 1018 of maximum peak 1012 one-half maximum value 1014. the product of the peak ratio and Q is greater than y the harmonic index is equal to 1, then the frame confidence measure for frame n is set equal to 1 to indicate that frame n is speech. In the FIG. 10 embodiment, y is equal to 0.05, however, other values for y within the scope of the present invention and may be determined experimentally. determiner 614 preferably stores the values of c. for frame in frame confidence registers 324 (FIG. 3).

In the FIG. 10 embodiment, confidence determiner 614 next determines a confidence index for the utterance using the frame confidence measures. Confidence determiner 614 may determine a confidence index for an utterance as follows :

0 l if Cn Cn-l Cn 2 1 for n in the utterance C =n0 otherwise where C is the confidence index for the utterance, cn the frame confidence measure for frame n, cn-i the frame confidence measure for frame n-1, and Con 2 inframe confidence measure for frame n-2. Confidence determiner 614 thus sets the confidence index C for an utterance equal to 1 the frame confidencemeasure is 1 for any three consecutive frames in the utterance, however, a different number of consecutive frames is within the scope of the present invention. A confidence index equal to 1 that the utterance is speech, and a confidence index equal to 0 indicates that the utterance is not speech. Confidence determiner 614 preferably provides the confidence index to recognizer 418 (FIG. 4) to indicate that the utterance is or is not speech.

Referring now to FIG. 11 a flowchart of initial method steps 1110 for speech verification, including noise suppression and pitch detection, is shown for an arbitrary frame n, according to one embodiment of the present invention. In step 1112, pre-processor 414 a frequency spectrum for frame n, and provides the spectrum to speech verifier 416. In step 1114, noise suppressor 610 speech verifier determines an adjacent frame scale for frame n, as described above in conjunction with FIG. 7.

Then, in step 1116, noise suppressor 610 frame set scales for the corresponding frame set of frame n, as described above in conjunction with FIG. 7. In step 1118, noise suppressor 610 a spectral sum for frame n by summing the aligned spectra of the frame set.

The spectral sum thus enhances the magnitude of the spectrum of frame n at the harmonic frequencies and effectively suppresses the noise in the spectrum.

Next, in step 1120, pitch detector 612 determines correlation values forframe n. Pitch detector 612 preferably determines the correlation values byapplying a comb window of variable teeth size to the spectral sum for frame n, as described above in conjunction with FIG. 8. Pitch detector 612 then determines an optimum frequency index kn* for frame n. The optimum frequency index is the frequency that produces the maximum correlation value.

In step 1122, pitch detector 612 may determine alternate correlation values for frame n. Pitch detector 612 determines the alternate correlation values by applying an alternate comb window to the spectral sum for frame n, as described above in conjunction with FIG. 9. Pitch detector 612 then determines an optimum frequency index kn'* for frame n. The optimum alternate frequency index is the frequency produces the maximum alternate correlation value. The method continues with step 1124, which is discussed below in conjunction with FIG. 11 (b).

Referring now to FIG. 11 a flowchart of further method steps 1110 for speech verification, including confidence determination, is shown for arbitrary frame n, according to one embodiment of the present invention. In step 1124, confidence determiner 614 compares the values of kn* and kn'* (FIG. 11 (a)). Ifkn* equal to kn'*, then the method continues with step 1128. If kan* ils notequal kn'*, then the method continues with step 1126.

In step 1128, confidence determiner 614 sets the harmonic index hn for frame n equal to 1. The FIG. 11 method then continues with step 1130. In step 1126, confidence determiner 614 sets the harmonic index for frame n equal to 0, and the method continues with step 1130.

In step 1130, confidence determiner 614 calculates a peak ratio for the correlation values for frame n. The peak ratio is calculated to normalize the magnitude of the peak of the correlation values, as described above in conjunction with FIG. 10. In step 1132, confidence determiner 614 evaluates the sharpness of the maximum of the correlation values. If the peak ratio times Q is greater than y and harmonic index for frame n

is equal to 1, in step 1136, the frame confidence measure for frame n is set equal to 1. If the peak ratio times Q is not greater than y the harmonic index for frame n is not equal to 1, then, in step 1134, frame confidence measure for frame n is set equal to 0. In the FIG. 11 embodiment, y is equal to 0. 05, however, other values for y within the scope of the present invention and may be determined experimentally.

In step 1138, confidence determiner 614 evaluates the frame confidencemeasure for frame n and the frame confidence measures for two immediately previous frames, however, a different number of previous frame is within the scope of the present invention. If the frame confidence measures for frame n and the two previous frames are all equal to 1, in step 1142, confidence determiner 614 sets the confidence index for the utterance containing frame n equal to 1, that the utterance is speech. If the frame confidence measures for frame n and the two previous frames are not all equal to 1, then, in step 1140, confidence determiner 614 sets the confidence index for the utterance containing frame n equal to 0, indicating that the utterance is not speech. The FIG. 11 and 11 method steps 1110 for speech verification are preferably performed for each frame in the utterance.

The invention has been explained above with reference to a preferred embodiment. Other embodiments will be apparent to those skilled in the art in light of this disclosure. For example, the present invention may readily be implemented using configurations and techniques other than those described in the preferred embodiment above. Additionally, the present invention may effectively be used in conjunction with systems other than the one described above as the preferred embodiment. Therefore, these and other variations the preferred embodiments are intended to be covered by the present invention, which is limited only by the appended claims.