Mobile speech recognition with explicit tone features

A computer-implemented method for digital speech processing, including (1) receiving, at a server computer, digital speech data from a computing device, the digital speech data comprising data points sampled at respective time points; (2) computing, by the server computer, a tonal feature of the digital speech data, the tonal feature comprising information encoding fundamental frequencies at the respective time points; (3) computing, by the server computer, a logarithm of the tonal feature at the respective time points; and (4) processing, by the server computer, the logarithm of the tonal feature based on a characterization of the digital speech data at the respective time points.

FIELD

This specification generally relates to speech signal processing.

BACKGROUND

Unlike speech in the English language, speech in the Mandarin Chinese language employs tonal variations to provide lexical disambiguation for the same phonetic pronunciation. There are generally four tones in Mandarin Chinese speech: a high level tone, a rising tone, a dipping tone, and a falling tone. Each tone is characterized by a corresponding tonal contour.

SUMMARY

In general, one aspect of the subject matter described in this specification may be embodied in methods that include the actions of processing segments of digital speech data differently, depending on whether a given segment of digital speech data is characterized as voiced data or unvoiced data. In one aspect, a server computer computes the tonal feature of the digital speech data. If the a server computer determines that the given segment of the digital speech data encodes voiced data, the server computer will first compute a logarithm of the tonal feature and will then compute the first order differential of the computed tonal feature. If, however, the server computer determines that the given segment of the digital speech data encodes unvoiced data, the server computer will generate random or pseudo-random noise instead of computing the first order derivative of a logarithm. When consecutive segments of digital speech data have been processed in the above manner, the server computer can smooth or interpolate the processed segments to generate an output. The output may feed downstream processes of speech recognition or speaker identification.

As used in this specification, voiced data represents voiced speech or sound for which the vocal cords vibrate during the pronunciation and the vibration can be felt in the throat. Unvoiced data, by contrast, represents unvoiced speech or sound for which the vocal cords do not vibrate during the pronunciation and no vibrations can be felt at the throat.

In general, another aspect of the subject matter described in this specification may be embodied in methods that include the actions of receiving, by a server computer, digital speech data from a computing device, the digital speech data including data points sampled at respective time points; computing, by the server computer, a tonal feature of the digital speech data, the tonal feature including information encoding the fundamental frequencies of the digital speech data at the respective time points; computing, by the server computer, a logarithm of the tonal feature at the respective time points; and processing, by the server computer, the logarithm of the tonal feature based on a characterization of the digital speech data at the respective time points.

Processing the logarithm may include: computing, for the respective time points at which the digital speech data is characterized as voiced data, a first order derivative of the logarithm of the tonal feature; providing, for the respective time points at which the digital speech data is characterized as voiced data, a perturbation; and generating an output that includes the first order derivative and the perturbation.

The methods may further include: processing the output by a smoothing operation, or an interpolation operation. The interpolation operation may include, for example. a bilinear interpolation, a cubic interpolation, or a spline interpolation.

Based on the processed output, the methods may proceed further by performing feature extraction of the digital speech data. The feature extraction can include a tone detection, a pitch detection, a harmonic detection, a subharmonic detection, or combinations thereof. The feature extraction results may be incorporated into a database of speech data. The database may be consulted when the server computer processes later acquired speech data. The later acquired speech data may be from speakers different from the speaker of the received digital speech data.

The perturbation used as a substitute for unvoiced data may be characterized by a Gaussian random noise with a characteristic standard deviation on the order of about 0.1. The unvoiced data may correspond to a region in the digital speech data where the tonal feature is computed to be substantially zero. The unvoiced data may correspond to consonant. In contrast, the voiced data correspond to vowels.

In general, another aspect of the subject matter described in this specification may be embodied in a computer-readable medium comprising software instructions that when executed by one or more computers, cause the one or more computers to perform operations that include the actions of receiving digital speech data from a computing device, the digital speech data including data points sampled at respective time points; computing a tonal feature of the digital speech data, the tonal feature including information encoding the fundamental frequencies of the digital speech data at the respective time points; computing a logarithm of the tonal feature at the respective time points; and processing the logarithm of the tonal feature based on a characterization of the digital speech data at the respective time points.

Processing the logarithm may include the actions of: computing, for the respective time points at which the digital speech data is characterized as voiced data, a first order derivative of the logarithm of the tonal feature; providing, for the respective time points at which the digital speech data is characterized as voiced data, a perturbation; and generating an output that includes the first order derivative and the perturbation.

The operations may further include the actions of: processing the output by a smoothing operation, or an interpolation operation. The interpolation operation may include, for example. a bilinear interpolation, a cubic interpolation, or a spline interpolation.

Based on the processed output, the one or more computers may proceed further by performing feature extraction of the digital speech data. The feature extraction can include a tone detection, a pitch detection, a harmonic detection, a subharmonic detection, or combinations thereof. The feature extraction results may be incorporated into a database of speech data. The database may be consulted when the one or more processors processes later acquired speech data. The later acquired speech data may be from speakers different from the speaker of the received digital speech data.

The perturbation used as a substitute for unvoiced data may be characterized by a Gaussian random noise with a characteristic standard deviation on the order of about 0.1. The unvoiced data may correspond to a region in the digital speech data where the tonal feature is computed to be substantially zero. The unvoiced data may correspond to consonant. In contrast, the voiced data correspond to vowels.

In general, yet another aspect of the subject matter described in this specification may be embodied in system including one or more processors and a computer-readable storage device. The computer-readable storage device includes software instructions that when executed by one or more processors, cause the one or more processors to perform operations that include the actions of receiving digital speech data from a computing device, the digital speech data including data points sampled at respective time points; computing a tonal feature of the digital speech data, the tonal feature including information encoding the fundamental frequencies of the digital speech data at the respective time points; computing a logarithm of the tonal feature at the respective time points; and processing the logarithm of the tonal feature based on a characterization of the digital speech data at the respective time points.

Processing the logarithm may include the actions of: computing, for the respective time points at which the digital speech data is characterized as voiced data, a first order derivative of the logarithm of the tonal feature; providing, for the respective time points at which the digital speech data is characterized as voiced data, a perturbation; and generating an output that includes the first order derivative and the perturbation.

The operations may further include the actions of: processing the output by a smoothing operation, or an interpolation operation. The interpolation operation may include, for example. a bilinear interpolation, a cubic interpolation, or a spline interpolation.

Based on the processed output, the one or more processors may proceed further by performing feature extraction of the digital speech data. The feature extraction can include a tone detection, a pitch detection, a harmonic detection, a subharmonic detection, or combinations thereof. The feature extraction results may be incorporated into a database of speech data. The database may be consulted when the one or more processors processes later acquired speech data. The later acquired speech data may be from speakers different from the speaker of the received digital speech data.

The perturbation used as a substitute for unvoiced data may be characterized by a Gaussian random noise with a characteristic standard deviation on the order of about 0.1. The unvoiced data may correspond to a region in the digital speech data where the tonal feature is computed to be substantially zero. The unvoiced data may correspond to consonant. In contrast, the voiced data correspond to vowels.

DETAILED DESCRIPTION

FIG. 1is a diagram illustrating server-side processing of digital speech data130, according to some example implementations. User112may use a mobile computing device102to communicate with remote servers through network110. As illustrated in time (A), user112speaks a sentence in Mandarin Chinese.

Mobile computing device102may be a hand-held computing device that includes, for example, a proximity-sensitive display screen, a keyboard, a processor, computer-readable memory, and a wireless network interface for communicating data through network110. The wireless interface may include an antenna and accompanying radio-frequency (RF) electronics for transmitting signals to network110, and for receiving signals from network110. Examples of mobile device may include, but are not limited to mobile phones, PDAs, music players, e-book readers, tablet computers, or similar devices.

Mobile computing device102may be voiced activated. In particular, mobile computing device102may record the speech122of user112through, for example, an on-board microphone. Speech122may be recorded as digital speech data130and stored in the computer-readable memory of mobile computing device102. The recording may entail the use of an analog to digital (A/D) converter.

At time (B), digital speech data132may be transmitted by mobile computing device102over the networks110. Network110may include a digital cellular technology, such as, for example, Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Evolution-Data Optimized (EV-DO), Enhanced Data Rates for GSM Evolution (EDGE), 3GSM, Digital Enhanced Cordless Telecommunications (DECT), Digital AMPS (IS-136/TDMA), and Integrated Digital Enhanced Network (iDEN). Networks110may be based on a 3rd generation (3G) standard (for example, 3GPP, GSM 2G, TD-SCDMA, CDMA2000), a 4thgeneration (4G) standard (for example, mobile WiMax, LTE), etc.

Digital speech data130may arrive at the server side for processing. Front end server104may receive the copy of digital speech data130from network110and then forward the copy to Automated Speech Recognition Engine106for further processing.

At time (C), ASR engine106may receive digital speech data130. The received data130may be represented as temporal waveform132. Temporal waveform132shows the amplitude of digital speech data130at each sampling time point. The amplitude indicates the strength of digital speech data130at each sampling time point.

At time (D), spectrogram134of temporal waveform132may be computed. Spectrogram134(or “spectrograph”) shows the spectrum of temporal waveform132at the sampling time points. In other words, the spectrogram represents how the spectrum of temporal waveform132varies over the sampling time points.

At time (E), tonal feature136of temporal waveform132may be computed. Tonal feature136may include the detected tone of temporal waveform132. Tonal feature136may include the fundamental frequency of temporal waveform132. The fundamental frequency may characterize the vocal cavity of the speaker at the time of generating speech data. The fundamental frequency may be the spectral component with the highest intensity. The fundamental frequency also may be known as the pitch. The tonal feature also may include harmonics—spectral components located at multiples of the fundamental in the spectrum—or even subharmonics—spectral components located at fractions of the fundamental in the spectrum. The tonal feature varies over the sampling time points and the example computed tonal feature at time (E) shows the computed tonal feature at each sampling point.

At time (F), processed result138may be generated for tonal feature136. Processed result138may be computed by a bifurcated processing that classifies temporal waveform132into voiced segments and unvoiced segments. A segment may refer to a subsection of temporal waveform132. For example, if a segment of temporal waveform132is characterized as voiced, the voiced segment may be processed by taking a logarithm of the corresponding tonal feature136and then performing a first order derivative operation of the logarithm. If, however, a segment of temporal waveform132is characterized as unvoiced, the unvoiced segment may be replaced by, for example, a vector of pseudo-random noise. The vector may be of the same length as the unvoiced segment. The pseudo-random noise may be, for example, a zero-mean Gaussian white-noise. Processed result138may be a concatenation of all processed segments of temporal waveform132.

The bifurcated processing, as described above, treats voiced segment and unvoiced segment differently. The discriminative treatment may generate processed result138that is more advantageous for subsequent voice recognition. For example, indiscriminative approaches may process each segment without regard to the nature of the underlying speech data. Such processing may generate abrupt changes such as overshoots in processed result138. These abrupt changes in processed results tend to deteriorate the performance of subsequent processing for voice recognition. In comparison, the bifurcated processing may generate processed result138with reduced incidences of such abrupt changes. The reduction can lead to improved quality, such as increased accuracy, of subsequence processing for voice recognition or speaker identification.

ASR engine106may consult with database108. Database108may include previously processed results for the same sentence or similar sentences, as spoken by the same person, or by other people. The same sentence may be spoken by people using the same dialect as the speaker of digital speech data130. The same sentence may be spoken by people of the same gender or age group as the speaker of digital speech data132.

ASR engine106may produce speech processing results140as the result of server-side processing. Processing results140may indicate the result of, for example, speaker identification, recognized speech content, etc. Processing results140may be return through network110, as illustrated in time G, to mobile computing device102. Mobile computing device102may display the recognized speech content to user112. Mobile computing device102may also prompt user112to confirm the recognized speech content. If speech processing results140affirmatively identifies the speaker—user112—as the authorized user of mobile computing device102, mobile computing device102may grant user112access to subsequence use of mobile computing device102.

FIG. 2is a flow chart200illustrating a process for improved feature extraction according to an implementation.

In block202, digital speech data130is received at the server computer from the network110. A copy of the digital speech data130may arrive in a compressed format using any of the known or yet to be developed compression techniques. The compression format may be converted by uncompressing, for example, at front end server104ofFIG. 1. The compression may help preserving available bandwidth capacity of network110. The compression may include a compression of sample rate and quantization bits. The compression may be lossy or lossless.

The original sampling rate of digital speech data130may occur at, for example, a sampling rate of 8-kHz. The 8-kHz sample rate has been widely used in telephone communication and may be adequate for human speech. Nonetheless, higher or lower sampling rate may be used, for example, 11.025 kHz (one quarter the sampling rate of audio CDs and employed for encoding various PCM, MPEG audio signals), 16 kHz (often used in many VoIP and VVoIP communication), 22.050 kHz (one half the sampling rate of audio CDs), 32 kHz, or as high as 5,644,800 Hz. Generally, higher sampling rate may lead to improved fidelity of the encoding quality at the cost of hardware and bandwidth expenses. Compression may reduce the effective sampling rate of the transmitted copy to a fraction, for example, less than 10%, of the original sampling rate, thus decreasing communication overhead across network110ofFIG. 1.

The A/D conversion may quantify signal amplitude by using, for example, anywhere from 8 quantization bits to 16 quantization bits. The bits may quantify the amplitude of speech130at a given sampling point. Each bit may contribute a 6-dB dynamic range to the quantification result. Thus, a 12-bit quantization may result in a 72-dB dynamic range rail-to-rail for digital speech data130. Compression may reduce the quantization bits allocated to a given sample of digital speech data130without the concomitant loss of dynamic range. Compression of the quantization level may be inherently coupled to the sampling rate. For example, the A/D conversion may use a form of delta-sigma modulation, in which the digital speech data may be quantified with fewer bits, for example 1-bit, yet at much higher frequency, for example 320 MHz, in a technique called over-sampling.

In block204, the server, for example, ASR106, may compute a tonal feature of the received copy of digital speech data130. The tonal feature may be the fundamental frequency, a harmonic frequency, or a subharmonic frequency of digital speech data130, as discussed above. Digital speech data130may include a sequence of samples at varying time points. The tonal feature may be computed for each of the sample time points of the received copy after uncompression.

In some implementations, the tonal feature may be computed by using a short-time Fourier transform of digital speech data130. For each sample time point, the computation may isolate a subsequence of sample data points within a temporal range of the sample time point. The subsequence of data points may also be referred to as a segment of digital speech data. The segment of data points may be shaped by a window function, also known as an apodization function or a tapering function. The shaping may be implemented as a dot multiplication with the window function. Example windowing functions may include, but are not limited to, a rectangular window, hamming window, a hann window, a Tukey window, a cosine window, a Bartlett-hann window, a Blackman window, a Kaiser window, etc. The choice of a windowing function may be a trade-off between the resulting spectral resolution of the short-time Fourier transform and the dynamic range of the short-time Fourier transform. The spectra data resulting from the short time Fourier transform may be reveal a tonal feature, for example, the tone, the pitch, or fundamental frequency, the spectra data. In one example, the pitch may correspond to the spectra component with the highest intensity. In another example, the pitch may correspond to the lowest spectra component with intensities above a threshold value.

In other implementations, the tonal feature may be computed by using spectral filtering. For example, male speakers may have a fundamental frequency from about 85 to about 180 Hz. Therefore, spectral filters with a pass band that includes the male range may be sufficient to capture the fundamental frequency of a male speaker. Likewise, for female speakers whose fundamental frequency from about 165 to 255 Hz, spectral filters with a pass band that includes the female range may be sufficient to capture the fundamental frequency of these female speakers. Spectral filers may incorporate the windowing function, as discussed above, in the frequency domain.

In still other implementations, the tonal feature, such as the pitch or fundamental frequency, may be computed by using an autocorrelation of digital speech data130itself. An autocorrelation of digital speech data130may reveal a sequence of values with oscillating magnitudes. For example, the lag location of the second largest peak of the autocorrelation sequence may indicate the pitch or fundamental frequency. The autocorrelation sequence may be analyzed by other signal processing tools. For example, the autocorrelation sequence may be combined with zero-crossing rate analysis to ascertain the pitch or fundamental frequency.

In block206, the server, for example ASR106ofFIG. 1, may compute the logarithm of the tonal feature, for example, the pitch or fundamental frequency, from block204. The logarithm may generate the Cepstrum of the digital speech data. The logarithm may be a 10-based logarithm. The logarithm also may be a natural logarithm based on e. The logarithm may even be a 2-based logarithm that can be implemented as a logic shift operation for fixed-point data. The logarithm computation generally may improve quality and consistency of speech signal processing. However, in some implementations, the logarithm computation may be skipped if the current segment is characterized as an unvoiced segment.

In block208, the server, for example, ASR106ofFIG. 1, may determine whether the segment of digital speech data corresponds to voiced data or unvoiced data. Sounds of a language may be organized into voiced and unvoiced sounds. With voiced sounds, the vocal chords are vibrated, which can be felt in the throat. With unvoiced sounds, the vocal chords are not vibrated, so there is no vibration in the throat. Generally, speech data corresponding to vowels and some consonants are voiced. Generally, speech data corresponding to other consonants are unvoiced. The non-stationary nature of speech can be modeled in terms of voiced and unvoiced data. Voiced data may be produced by the vibration of the vocal folds and the excitation may be either periodic or quasi-periodic. Unvoiced data may be produced by forcing air past some constriction in the vocal tract and the excitation may be aperiodic.

In one implementation, if ASR106can ascertain the pitch (or fundamental frequency) of a particular segment of digital speech data, then the particular segment of digital speech data may be determined as voiced. If, however, ASR106cannot ascertain the pitch (or fundamental frequency) of a particular segment of digital speech data, then the particular segment of digital speech data may be determined as unvoiced data.

If the server, for example, ASR106, determines that the given segment of digital speech data corresponds to voiced data, the sever may proceed to compute the first order derivative of the logarithm of the tonal feature for the given segment, as illustrated in block210. The first order derivative may be denoted as shown below, in Equation (1).
d(s)/d(t)  (1)

In Equation (1), s denotes the input, such as the logarithm of the tonal feature for the given segment.

In some implementations, the first order derivative at each sample time point may be computed as the amplitude difference between two neighboring data samples. Because the sampling rate is fixed, the sampling time interval between the neighboring samples may a constant. Therefore the denominator in equation (1) may amount to a simple scaling factor, the omission of which may be permissible because the scaling factor affects the computed results equally and may impose no effect on subsequent computations.

In computing the first order derivative at a given sample time point, the two neighboring data samples may include one data sample at the given sample time point and another data sample at the sample time point immediately preceding the given sample time point. Immediately means there are no intervening sample data points. The two neighboring data samples also may include one data sample at the given sample time point and another data sample at the sample time point immediately following the given sample time point. The first order derivative computed per above may represent the first order derivative at a time instant half the sampling time interval away from the given sample time point. The sampling time interval may be determined by the sampling rate, as discussed above.

Some implementations may Interpolate the data samples to provide (a) one interpolated data sample located half the sampling time interval before the given sample time point; and (b) one interpolated data sample located half the sampling time interval after the given sample time point. The first order derivative computed based on these two interpolated data samples may represent the first order derivative at the given sample time point.

Returning to block210, if, however, the server computer, for example, ASR106, determines that the given segment of digital speech data132corresponds to unvoiced data, then the server computer may proceed to provide a perturbation to substitute the given segment of digital speech data130. The perturbation may include a vector of the size of the given segment. The vector may include a sequence of samples from a pseudo-random noise (PRN) generator. The pseudo-random noise generator may be a sequence generator. To improve the apparent randomness, the pseudo-random noise (PRN) generator may incorporate a seed value based on a physical parameter on the server computer that varies, such as the temperature of a processor, the rotating speed of a cooling fan, etc. The pseudo-random noise generated may be characterized by, for example, a Gaussian white noise, with a zero mean and a characteristic standard deviation. Empirical experience suggests that a zero-mean Gaussian random noise with a characteristic standard deviation of around 0.1 may be an adequate substitute. The injected pseudo-random noise may cap the magnitude of oscillations within the segments of digital speech data correspond to unvoiced data. This injection of pseudo-random noise thus may provide numerical stabilities to mitigate overflow or underflow conditions.

In block212, the server computer may generate an output based on a combination of the first order derivative from block210and the substitute perturbation from block214. In particular, the server computer may generate the output vector by stitching the first order derivative and the substitute perturbation according to the order in which the corresponding segments are presented in the digital speech data132received in block202.

In block216, the output vector may be further processed, for example, by smoothing or interpolation. Smoothing may include rectangular or unweighted sliding-average smoothing in which each sample point in the signal is replaced with a simple average of m adjacent points, with m being a positive integer known as the smooth width. The smoothing may incorporate more sophisticated windowing functions, the examples of which have been discussed above in association with block204.

Interpolation may include a nearest neighbor interpolation, a bilinear interpolation, a cubic interpolation, a spline interpolation, a Lagrange interpolation, a Hermite interpolation etc. The interpolation may map the output vector to a different temporal index. The different temporal index may be offset from the original temporal index on which digital speech data132is based. The different temporal index may be more dense or more sparse than the original temporal index.

FIG. 3is a diagram showing an automated speech recognition (ASR) engine300. ASR300may include a tonal feature generator302, a logarithm engine304, voiced/unvoiced differentiator306, pseudo-random noise generator308, and output generator310.

ASR Engine300may divide digital speech data132into segments, each containing, for example, 10 ms of speech or 80 consecutive sample data points (at a sampling rate of 8 kHz). The temporal length of each segment may be chosen such that digital speech data132can be treated as statistically stationary for the duration. Statistically stationary means that a model may be adequate enough to characterize digital speech data132for the duration of the segment. Neighboring segments may have overlapping sample data points to improve continuity of subsequent processing.

For each segment, tonal feature generator302may compute the tonal feature. The tonal feature may be a tone, a pitch, a fundamental frequency, a harmonic frequency, a subharmonic frequency, as discussed above. The tonal feature may be represented by a vector of the same length of the segment.

Logarithm engine304may then compute the logarithm of the tonal feature. As discussed above in association with bock206, the logarithm may be 10-based or a natural logarithm.

Characterizer306may ascertain whether the current segment is voiced or unvoiced data. As discussed above in association with block208, voiced sound may be modeled as vibrations of the vocal folds caused by periodic or aperiodic excitations whereas unvoiced sounds (noise-like) may be aperiodic and produced by forcing air past some constriction in the vocal tract. Vowels are generally voiced sound while consonants may be unvoiced sound.

Pseudo-random noise (PRN) generator308may output noise samples. For example, PRN generator may generate a sequence of noise samples of the same length of the current segment of digital speech data132. The noise samples may be characterized by, for example, a white Gaussian noise. The Gaussian noise may be zero-mean in which case the noise follows a standard normal distribution. Empirically, a standard deviation of about 0.1 may be adequate. Simulated noise of other characteristics, such as pink noise with low frequency components being more predominant, may be used as well.

Output generator310is coupled to logarithm engine304, Characterizer306, and pseudo-random generator308. For a current segment of speech data, output generator310may use the logarithm result from logarithm engine304, if characterizer306determines the current segment as voiced data. If, however, characterizer306determines the current segment as unvoiced data, output generator310may use the noise samples from pseudo-random noise generator308. Output generator may process other segments of digital speech data132in like manner. Thus, output generator310may combine the logarithm result from logarithm engine304and the noise samples from pseudo-random noise generator308to generate output312, which may correspond to the processed output vector of block218inFIG. 2. In stitching together the processed segments to generate output312, output generator310may smooth or interpolate the processed segment as discussed above in association with block216. If the neighboring segments have overlapping sample data points, the output generator may use, for example, the average of results for the two neighboring segments.

FIG. 4illustrates the four tonal variations of Mandarin Chinese speech. Mandarin is the official spoken Chinese language, also known as PuTongHua. The tonal variations discussed herein generally apply to other dialects of Chinese language, such as, for example, Cantonese. In fact, the tonal variations discussed herein may also apply to other spoken languages in east Asia, such as Korean, Japanese, Vietnamese, etc.

FIG. 4shows the phonetic sound for four different Chinese characters. To resolve the ambiguity in which the same pronunciation denotes four words of different meanings, the Chinese language resorts to tonal variations.

The first tonal variation is the level tone (or flat tone) in which the tone remains flat, as illustrated by tone402, the Chinese character the pronunciation of which is being illustrated as the level tone means cigarette.

The second tonal variation is the rising tone, as illustrated by tone404. The Chinese character in this example means strict.

The third tonal variation is the dipping tone, in which the tone dips and then rises. The example Chinese character being illustrated by tone406means eye.

The fourth tonal variation is the falling tone, as illustrated by tone408. The Chinese character being illustrated in this example means swallow.

As illustrated, tonal variation in Chinese language resolve linguistic ambiguities. Therefore, improving the detection of tonal variations may enhance subsequent speech recognition or speaker identification.

FIG. 5Aillustrates a sample digital speech data being processed with no differentiation between voiced and unvoiced segments. The specific Chinese characters corresponding to the sample digital speech data are displayed on top of the three panels. The first panel shows the computed tonal feature502. It represents the computed tone of the sample digital speech data. The tone is computed for each sample time point. Example methodologies of computing the tone have been discussed in association with block206ofFIG. 2.

The second panel shows the computed logarithm504of the sample digital speech data. The logarithm was computed per a natural logarithm of computed tonal feature502.

The third panel shows the computed first order derivative506for computed logarithm504. First order derivative506is normalized and range bound between −1 and 1. The first order derivative was computed in accordance with the methodologies discussed above in association with block206ofFIG. 2. As the first order derivative was computed regardless of the characterization of the underlying speech data, undesirable results may be generated. For example, at the two regions highlighted by the two vertical boxes, the computed first order derivative exhibits overshoots, as illustrated by circles501A and501B. The overshoots may represent a distortion and may cause certain features that are present to be undetected in subsequent detection or recognition. The distortion also may cause features that are not present in the sample digital speech to be detected or recognized as if they were present.

FIG. 5Billustrates the sample digital speech data being processed according to an implementation. The specific Chinese characters corresponding to the sample digital speech data are the same as inFIG. 5Aand displayed on top of the three panels. The first panel shows the computed tonal feature502. It represents the computed tone of the sample digital speech data. The tone was computed for each sample point. Example methodologies of computing the tone have been discussed in association with block206ofFIG. 2.

The second panel shows computed logarithm504of computed tonal feature502. The logarithm was computed per a 10-based logarithm a natural logarithm.

The third panel shows the processed result508according to an implementation. Each segment of the computed tonal feature502was processed according to the characterization of the segment. If the segment was characterized as voiced, then the first order derivative of the corresponding logarithm of the tonal feature for this segment was computed. If, however, the segment was characterized as unvoiced, then the segment was replaced with a vector of pseudo-random noise. The vector was of the same length as the segment. The pseudo-random noise was a zero-mean Gaussian (also known as normal distribution) noise. The processed segments were stitched together in the original order as in the sample digital speech data. Process result508shows a subsection of the processed segments of one sample speech. At the same regions highlighted by two vertical boxes, the overshoot illustrated by circles501A and501B ofFIG. 5Aare no longer present inFIG. 5B, thus demonstrating the efficacy of the proposed bifurcation in processing. The improvement in reduced occurrences of overshoot or dampened amplitudes in overshoots can lead to improved detection, extraction, and recognition efficacy in downstream speech processing such as, for example, speaker recognition, voice recognition, etc.

A baseline method without any tone processing was applied in conjunction with a proprietary voice search system. Then, a tone processing method without the proposed bifurcation processing and a tone process method including the proposed bifurcation processing were both applied in conjunction with a proprietary voice search system. Thereafter, the performances of the three methods were compared in their respective character error rate (CER). The CER provides an objective index of the quality of voice recognition by quantifying the percentage of characters erroneously recognized. As summarized by Table 1 below, the baseline method achieves a CER of 51.8%. The “traditional” method, as applied with the voice search system, achieves a character error rate (CER) of 50.4%. The proposed method, as applied with the voice search system, achieves a CER of 48.2%. Thus, the potential improvement in recognition quality associated with the proposed bifurcation processing has been demonstrated.