|Número de publicación||USRE36478 E|
|Tipo de publicación||Concesión|
|Número de solicitud||US 08/631,222|
|Fecha de publicación||28 Dic 1999|
|Fecha de presentación||12 Abr 1996|
|Fecha de prioridad||18 Mar 1985|
|También publicado como||US4885790|
|Número de publicación||08631222, 631222, US RE36478 E, US RE36478E, US-E-RE36478, USRE36478 E, USRE36478E|
|Inventores||Robert J. McAulay, Thomas F. Quatieri, Jr.|
|Cesionario original||Massachusetts Institute Of Technology|
|Exportar cita||BiBTeX, EndNote, RefMan|
|Citas de patentes (13), Otras citas (28), Citada por (31), Clasificaciones (6), Eventos legales (1)|
|Enlaces externos: USPTO, Cesión de USPTO, Espacenet|
The U.S. Government has rights in this invention pursuant to the Department of the Air Force Contract No. F19-028-80-C-0002.
.Iadd.This a Reissue of Ser. No. 07/339,957, filed Apr. 18, 1989, now U.S Pat. No. 4,885,790, Dec. 5, 1989 which is a continuation of Ser. No. 06/712,866, filed Mar. 18, 1985, abandoned..Iaddend.
The field of this invention is speech technology generally and, in particular, methods and devices for analyzing, digitally-encoding, modifying and synthesizing speech or other acoustic waveforms.
Typically, the problem of representing speech signals is approached by using a speech production model in which speech is viewed as the result of passing a glottal excitation waveform through a time-varying linear filter that models the resonant characteristics of the vocal tract. In many speech applications it suffices to assume that the glottal excitation can be in one of two possible states corresponding to voiced or unvoiced speech. In the voiced speech state the excitation is periodic with a period which is allowed to vary slowly over time relative to the analysis frame rate (typically 10-20 msecs). For the unvoiced speech state the glottal excitation is modelled as random noise with a flat spectrum. In both cases the power level in the excitation is also considered to be slowly time-varying.
While this binary model has been used successfully to design narrowband vocoders and speech synthesis systems, its limitations are well known. For example, often the excitation is mixed having both voiced and unvoiced components simultaneously, and often only portions of the spectrum are truly harmonic. Furthermore, the binary model requires that each frame of data be classified as either voiced or unvoiced, a decision which is particularly difficult to make if the speech is also subject to additive acoustic noise.
Speech coders at rates compatible with conventional transmission lines (i.e. 2.4-9.6 kilobits per second) would meet a substantial need. At such rates the binary model is ill-suited for coding applications. Additionally, speech processing devices and methods that allow the user to modify various parameters in reconstructing waveform would find substantial usage. For example, time-scale modification (without pitch alteration) would be a very useful feature for a variety of speech applications (i.e. slowing down speech for translation purposes or speeding it up for scanning purposes) as well as for musical composition or analysis. Unfortunately, time-scale (and other parameter) modifications also are not accomplished with high quality by devices employing the binary model.
Thus, there exists a need for better methods and devices for processing audible waveforms. In particular, speech coders operable to mid-band rates and in noisy environments as well as synthesizers capable of maintaining their perceptual quality of speech while changing the rate of articulation would satisfy long-felt needs and provide substantial contributions to the art.
It has been discovered that speech analysis and synthesis as well as coding and time-scale modification can be accomplished simply and effectively by employing a time-frequency representation of the speech waveform which is independent of the speech state. Specifically, a sinusoidal model for the speech waveform is used to develop a new analysis-synthesis technique.
The basic method of the invention includes the steps of: (a) selecting frames (i.e. windows of about 20-40 milliseconds) of samples from the waveform; (b) analyzing each frame of samples to extract a set of frequency components; (c) tracking the components from one frame to the next; and (d) interpolating the values of the components from one frame to the next to obtain a parametric representation of the waveform. A synthetic waveform can then be constructed by generating a series of sine waves corresponding to the parametric representation.
In one simple embodiment of the invention, a device is disclosed which uses only the amplitudes and frequencies of the component sine waves to represent the waveform. In this so-called "magnitude-only" system, phase continuity is maintained by defining the phase to be the integral of the instantaneous frequency. In a more comprehensive embodiment, explicit use is made of the measured phases as well as the amplitudes and frequencies of the components.
The invention is particularly useful in speech coding and time-scale modification and has been demonstrated successfully in both of these applications. Robust devices can be built according to the invention to operate in environments of additive acoustic noise. The invention also can be used to analyze single and multiple speaker signals, music or even biological sounds. The invention will also find particular applications, for example, in reading machines for the blind, in broadcast journalism editing and in transmission of music to remote players.
In one illustrated embodiment of the invention, the basic method summarized above is employed to choose amplitudes, frequencies, and phases corresponding to the largest peaks in a periodogram of the measured signal, independently of the speech state. In order to reconstruct the speech waveform, the amplitudes, frequencies, and phases of the sine waves estimated on one frame are matched and allowed to continuously evolve into the corresponding parameter set on the successive frame. Because the number of estimated peaks are not constant and slowly varying, the matching process is not straightforward. Rapidly varying regions of speech such as unvoiced/voiced transitions can result in large changes in both the location and number of peaks. To account for such rapid movements in spectral energy, the concept of "birth" and "death" of sinusoidal components is employed in a nearest-neighbor matching method based on the frequencies estimated on each frame. If a new peak appears, a "birth" is said to occur and a new track is initiated. If an old peak is not matched, a "death" said to occur and the corresponding track is allowed to decay to zero. Once the parameters on successive frames have been matched, phase continuity of each sinusoidal component is ensured by unwrapping the phase. In one preferred embodiment the phase is unwrapped using a cubic phase interpolation function having parameter values that are chosen to satisfy the measured phase and frequency constraints at the frame boundaries while maintaining maximal smoothness over the frame duration. Finally, the corresponding sinusoidal amplitudes are simply interpolated in a linear manner across each frame.
In speech coding applications, pitch estimates are used to establish a set of harmonic frequency bins to which the frequency components are assigned. (Pitch is used herein to mean the fundamental rate at which a speaker's vocal cords are vibrating). The amplitudes of the components can be coded directly using adaptive pulse code modulation (ADPCM) across frequency or indirectly using linear predictive coding. In each harmonic frequency bin the peak having the largest amplitude is selected and assigned to the frequency at the center of the bin. This results in a harmonic series based upon the coded pitch period. The phases can then be coded by using the frequencies to predict phase at the end of the frame, unwrapping the measured phase with respect to this prediction and then coding the phase residual using 4 bits per phase peak. If there are not enough bits available to code all of the phase peaks (e.g. for low-pitch speakers), phase tracks for the high frequency peaks can be artificially generated. In one preferred embodiment, this is done by translating the frequency tracks of the base band peaks to the high frequency of the uncoded phase peaks. This new coding scheme has the important property of adaptively allocating the bits for each speaker and hence is self-tuning to both low- and high-pitched speakers. Although pitch is used to provide side information for the coding algorithm, the standard voice-excitation model for speech is not used. This means that recourse is never made to a voiced-unvoiced decision. As a consequence the invention is robust in noise and can be applied at various data transmission rates simply by changing the rules for the bit allocation.
The invention is also well-suited for time-scale modification, which is accomplished by time-scaling the amplitudes and phases such that the frequency variations are preserved. The time-scale at which the speech is played back is controlled simply by changing the rate at which the matched peaks are interpolated. This means that the time-scale can be speeded up or slowed down by any factor and this factor can be time-varying. This rate can be controlled by a panel knob which allows an operator complete flexibility for varying the time-scale. There is no perceptual delay in performing the time-scaling.
The invention will next be described in connection with certain illustrated embodiments. However, it should be clear that various changes and modifications can be made by those skilled in the art without departing from the spirit and scope of the invention. For example other sampling techniques can be substituted for the use of a variable frame length and Hamming window. Moreover the length of such frames and windows can vary in response to the particular application. Likewise, frequency matching can be accomplished by various means. A variety of commercial devices are available to perform Fourier analysis; such analysis can also be performed by custom hardware or specially-designed programs.
Various techniques for extracting pitch information can be employed. For example, the pitch period can be derived from the Fourier transform. Other techniques such as the Gold-Malpass techniques can also be used. See generally, M. L. Malpass, "The Gold Pitch Detector in a Real Time Environment" Proc. of EASCON 1975 (September 1975); B. Gold, "Description of a Computer Program for Pitch Detection", Fourth International Congress on Acoustics, Copenhagen Aug. 21-28, 1962 and B. Gold, "Note on Buzz-Hiss Detection", J. Acoust. Soc. Amer. 365, 1659-1661 (1964), all incorporated herein by reference.
Various coding techniques can also be used interchangeably with those described below. Channel encoding techniques are described in J. N. Holmes, "The JSRU Channel Vocoder", Inst. of Electrical Eng. Proceedings (British), 27, 53-60 (1980). Adaptive pulse code modulation is described in L. R. Rabiner and R. W. Schafer Digital Processing of Signal, (Prentice Hall 1978). Linear predictive coding is described by J. D. Markel, Linear Prediction of Speech, (Springer-Verlog, 1967). These teachings are also incorporated by reference.
It should be appreciated that the term "interpolation" is used broadly in this application to encompass various techniques for filling in data values between those measured at the frame boundaries. In the magnitude-only system linear interpolation is employed to fill in amplitude and frequency values. In this simple system phase values are obtained by first defining a series of instantaneous frequency values by interpolating matched frequency components from one frame to the next and then integrating the series of instantaneous frequency values to obtain a series of interpolated phase values. In the more comprehensive system the phase value of each frame is derived directly and a cubic polynomial equation preferably is employed to obtain maximally smooth phase interpolations from frame to frame.
Other techniques that accomplish the same purpose are also referred to in this application as interpolation techniques. For example, the so-called "overlap and add" method of filling in data values can also be used. In this method a weighted overlapping function can be applied to the resulting sine waves generated during each frame and then the overlapped values can be summed to fill in the values between those measured at the frame boundaries.
FIG. 1 is a schematic block diagram of one embodiment of the invention in which only the magnitude and frequencies of the components are used to reconstruct a sampled waveform.
FIG. 2 is an illustration of the extracted amplitude and frequency components of a waveform sampled according to the present invention.
FIG. 3 is a general illustration of the frequency matching method of the present invention.
FIGS. 4A-4F are detailed schematic illustrations of a frequency matching method according to the present invention.
FIG. 5 is an illustration of tracked frequency components of an exemplary speech pattern.
FIG. 6 is a schematic block diagram of another embodiment of the invention in which magnitude and phase of frequency components are used to reconstruct a sampled waveform.
FIG. 7 is an illustrative set of cubic phase interpolation functions for smoothing the phase functions useful in connection with the embodiment of FIG. 6 from which the "maximally smooth" phase function is selected.
FIG. 8 is a schematic block diagram of another embodiment of the invention particularly useful for time-scale modification.
FIG. 9 is a schematic block diagram showing an embodiment of the system estimation function of FIG. 8.
FIG. 10 is a block diagram of one real-time implementation of the invention.
In present invention the speech waveform is modelled as a sum of sine waves. If s(n) represents the sampled speech waveform then
s(n)=Σαi (n)sin[φi (n)] (1)
where ai (n) and φi (n) are time-varying amplitudes and phases of the i'th tone.
In a simple embodiment the phase can be defined to be the integral of the instantaneous frequency fi (n) and therefore satisfies the recursion
φi (n)=φi (n-1)+2πfi (n)/fs (2)
where fs is the sampling frequency. If the tones are harmonically related, then
fi (n)=i*fO (n) (3)
where fO (n) represents the fundamental frequency at time n. One particularly attractive property of the above model is the fact that phase continuity, hence waveform continuity, is guaranteed as a consequence of the definition of phase in terms of the instantaneous frequency. This means that waveform reconstruction is possible from the "magnitude-only" spectrum since a high-resolution spectral analysis reveals the amplitudes and frequencies of the component sine waves.
A block diagram of an analysis/synthesis system according to the invention is illustrated in FIG. 1. As shown in FIG. 1, system 10 includes sampling window 11, a discrete Fourier transform (DFT) analyzer 12, magnitude computer 13, a frequency amplitude estimator 14, and an optional coder 16 in the transmitter segment and a frequency matching means 18, an interpolator 20 and a sine wave generator 22 in the receiver segment of the system. The peaks of the magnitude of the discrete Fourier transform (DFT) of a windowed waveform are found simply by determining the locations of a change in slope (concave down). In addition, the total number of peaks can be limited and this limit can be adapted to the expected average pitch of the speaker.
In a simple embodiment the speech waveform can be digitized at a 10 kHz sampling rate, low-passed filtered at 5 kHz, and analyzed at 20 msec frame intervals with a 20 msec Hamming window. Speech representations according to the invention can also be obtained by employing an analysis window of variable duration. For some applications it is preferable to have the width of the analysis window be pitch adaptive, being set, for example, at 2.5 times the average pitch period with a minimum width of 20 msec.
Plotted in FIG. 2 is a typical periodogram for a frame of speech along with the amplitudes and frequencies that are estimated using the above procedure. The DFT was computed using a 512-point fast Fourier transform (FFT). Different set of these parameters will be obtained for each analysis frame. To obtain a representation of the waveform over time, frequency components measured on one frame must be matched with those that are obtained on a successive frame.
FIG. 3 illustrates the basic process of frequency component matching. If the number of peaks were constant and slowly varying from frame to frame, the problem of matching the parameters estimated on one frame with those on a successive frame would simply require a frequency ordered assignment of peaks. In practice, however, there will be spurious peaks that come and go due to the effects of sidelobe interaction; the locations of the peaks will change as the pitch changes; and there will be rapid changes in both the location and the number of peaks corresponding to rapidly-varying regions of speech, such as at voiced/unvoiced transitions. In order to account for such rapid movements in the spectral peaks, the present invention employs the concept of "birth" and "death" of sinusoidal components as part of the matching process.
The matching process is further explained by consideration of FIG. 4. Assume that peaks up to frame k have been matched and a new parameter set for frame k+1 is generated. Let the chosen frequencies on frames k and k+1 be denoted by ωo k, ω1 k, . . . ωN-1 k and ωo k+1, ω1 k+1, . . . ωM-1 k+1 respectively, where N and M represent the total number of peaks selected on each frame (N≠M in general). One process of matching each frequency in frame k, ωn k, to some frequency in frame k+1, ωm k+1, is given in the following three steps.
Suppose that a match has been found for frequencies ωo k, ω1 k . . . ωn-1 k. A match is now attempted for frequency ωn k. FIG. 4(a) depicts the case where all frequencies ωm k+1 in frame K+1 lie outside a "matching interval" Δ of ωn k, i.e.,
|ωn k -ωm k+1 |≧Δ (4)
for all m. In this case the frequency track associated with ωn k is declared "dead" on entering frame k+1, and ωn k is matched to itself in frame k+1, but with zero amplitude. Frequency ωn k is then eliminated from further consideration and Step 1 is repeated for the next frequency in the list, ωn+1 k.
If on the other hand there exists a frequency ωm k+1 in frame k+1 that lies within the matching interval about ωn k, and is the closest such frequency, i.e.,
|ωn k -ωm k+1 |<|ωn k -ωi k+1 |<Δ (5)
for all i≠m, then ωm k+1 is declared to be candidate match to ωn k. A definitive match is not yet made, since there may exist a better match in frame k to the frequency ωm k+1, a contingency which is accounted for in Step 2.
In this step, a candidate match from Step 1 is confirmed. Suppose that a frequency ωk n of frame k has been tentatively matched to frequency ωm k+1 of frame k+1. Then, if ωm k+1 has no better to the remaining unmatched frequencies of frame k, then the candidate match is declared to be a definitive match. This condition, illustrated in FIG. 4(c), is given by
|ωm k+1 -ωn k|<|ωm k+1 -ωi+1 k |for i≧n (6)
where the first bracketed value in Equation 6 is illustrated as σ2 in FIG. 4 and the second bracketed value of Equation 6 is illustrated as σ1. When this occurs, frequencies ωn k and ωm k+1 are eliminated from further consideration and Step 1 is repeated for the next frequency in the list, ωk n+1.
If the condition (6) is not satisfied, then the frequency ωm k+1 in frame k+1 is better matched to the frequency ωk n+1 in frame k than it is to the test frequency ωn k. Two additional cases are then considered. In the first case, illustrated in FIG. 4(d), the adjacent remaining lower frequency ωk+1 m+1 (if one exists) lies below the matching interval, hence no match can be made. As a result, the frequency track associated with ωn k is declared "dead" on entering frame k+1, and ωn k is matched to itself with zero amplitude. In the second case, illustrated in FIG. 4(e), the frequency ωk+1 m-1 is within the matching interval about ωk n and a definitive match is made. After either case Step 1 is repeated using the next frequency in the frame k list, ωn+1. It should be noted that many other situations are possible in this step, but to keep the tracker alternatives as simple as possible only the two cases are discussed.
When all frequencies of frame k have been tested and assigned to continuing tracks or to dying tracks, there may remain frequencies in frame k+1 for which no matches have been made. Suppose that ωm k+1 is one such frequency, then it is concluded that ωm k+1 was "born" in frame k and its match, a new frequency, ωm k+1, is created in frame k with zero magnitude. This is done for all such unmatched frequencies. This last step is illustrated in FIG. 4(f).
The results of applying the tracker to a segment of real speech is shown in FIG. 5, which demonstrates the ability of the tracker to adapt quickly through transitory speech behavior such as voiced/unvoiced transitions, and mixed voiced/unvoiced regions.
In the simple "magnitude-only" system, synthesis is accomplished in a straightforward manner. Each pair of match frequencies (and their corresponding magnitudes) are linearly interpolated across consecutive frame boundaries. As noted above, in the magnitude-only system, phase continuity is guaranteed by the definition of phase in terms of the instantaneous frequency. The interpolated values are then used to drive a sine wave generator which yields the synthetic waveform as shown in FIG. 1. It should be noted that performance is improved by reducing the correlation window size, Δ, at higher frequencies.
A further feature shown in FIG. 1 (and discussed in detail below) is that the present invention is ideally suited for performing time-scale modification. From FIG. 3 it can be seen that by simply expanding or compressing the time scale, the locations and magnitudes are preserved while modifying their rate of change in time. To effect a rate of change b, the synthesizer interpolation rate R' (see FIG. 1) is given by R'=bR. Furthermore, with this system it is straightforward to invoke a time-varying rate of change since frequencies may be stretched or compressed by varying the interpolation rate in time.
FIG. 6 shows a block diagram of a more comprehensive system in which phases are measured directly. As shown in FIG. 6, the more comprehensive system 30 includes a sampling window 32, a discrete Fourier transform (DFT) analyzer 34, peak estimator 36, and phase calculator 38, in the analysis section, and a cubic phase interpolator 40, a linear amplitude interpolator 42, a sine wave generator 44, amplitude modulator 46 and summer 48 in the synthesis section. In this system the frequency components and their amplitudes are determined in the same manner as the magnitude-only system described above and illustrated in FIG. 1. Phase measurements, however, are derived directly from the discrete Fourier transform by computing the arctangents at the estimated frequency peaks.
Since in the comprehensive system of FIG. 6 a set of amplitudes, frequencies and phases are estimated for each frame, it might seem reasonable to estimate the original speech waveform on the k'th frame by generating synthetic speech using the equation, ##EQU1## for kN<n≦(k+1)N. Due to the time-varying nature of the parameters, however, this straightforward approach leads to discontinuities at the frame boundaries which seriously degrades the quality of the synthetic speech. Therefore, a method must be found for smoothly interpolating the parameters measured from one frame to those that are obtained on the next.
As a result of the frequency matching algorithm described in the previous section, all of the parameters measured for an arbitrary frame k are associated with a corresponding set of parameters for frame k+1. Letting [Al k, ωl k, θl k ] and [Al k+1, ωl k+1, θl k+1 ] denote the successive sets of parameters for the l'th frequency track, (21) then an obvious solution to the amplitude interpolation problem is to take ##EQU2## where n=1,2, . . . , N is the time sample into the k'th frame. (The track subscript "l" has been omitted for convenience).
Unfortunately such a simple approach cannot be used to interpolate the frequency and phase because the measured phase, θk, is obtained modulo 2 π. Hence, phase unwrapping must be performed to insure that the frequency tracks are "maximally smooth" across frame boundaries. The first step in solving this problem is to postulate a phase interpolation function that is a cubic polynomial, namely
θ(t)=ξ+γt+αt2 +βt3 (9)
It is convenient to treat the phase function as though it were a function of a continuous time variable t, with t=0 corresponding to frame k and t=T corresponding to frame k+1. The parameters of the polynomial must be chosen to satisfy the frequency and phase measurements obtained at the frame boundaries. Since the instantaneous frequency is the derivative of the phase, then
and it follows that at the starting point, t=0,
and at the terminal point, t=T
θ(T)=θk +ωk T+αT2 +βT3 =θk+1 +2πM
θ(T)=ωk +2αT+3βT2 =ωk+1 (12)
where again the track subscript "l" is omitted for convenience.
Since the terminal phase θk+1 is measured modulo 2π, it is necessary to augment it by the term 2πM (M is an integer) in order to make the resulting frequency function "maximally smooth". At this point M is unknown, but for each value of M, whatever it may be, (12) can be solved for α(M) and β(B), (the dependence on M has now been made explicit). The solution is easily shown to satisfy the matrix equation: ##EQU3##
In order to determine M and ultimately the solution to the phase unwrapping problem, an additional constraint needs to be imposed that quantifies the "maximally smooth" criterion. FIG. 7 illustrates a typical set of cubic phase interpolation functions for a number of values of M. It seems clear on intuitive grounds that the best phase function to pick is the one that would have the least variation. This is what is meant by a maximally smooth frequency track. In fact, if the frequencies were constant and the vocal tract were stationary, the true phase would be linear. Therefore a reasonable criterion for "smoothness" is to choose M such that
f(M)=ƒo T [θ(t;M)]2 dt (14)
is a minimum, where θ(t;M) denotes second derivative of θ(t;M) with respect to the time variable t.
Although M is integer valued, since f(M) is quadratic in M, the problem is most easily solved by minimizing f(x) with respect to the continuous variable x and then choosing M to be the integer closest to x. After straightforward but tedious algebra, it can be shown that the minimizing value of x is ##EQU4## from this M* is determined and used in (13) to compute α(M*) and β(M*), and in turn, the unwrapped phase interpolation function
θ(t)=θk +ωk t+α(M*)t2 +β(M*)t3 (16)
This phase function not only satisfies all of the measured phase and frequency endpoint constraints, but also unwraps the phase in such a way that θ(t) is maximally smooth.
Since the above analysis began with the assumption of an initial unwrapped phase θk corresponding to frequency ωk at the start of frame k, it is necessary to specify the initialization of the frame interpolation procedure. This is done by noting that at some point in time the track under study was born. When this event occurred, an amplitude, frequency and phase were measured at frame k+1 and the parameters at frame k to which these measurements correspond were defined by setting the amplitude to zero (i.e., Ak =0) while maintaining the same frequency (i.e., ωk =ωk+1). In order to insure that the phase interpolation constraints are satisfied initially, the unwrapped phase is defined to be the measured phase θk+1 and the start-up phase is defined to be
θk =θk+1 -ωk+1 N (17)
where N is the number of samples traversed in going from frame k+1 back to frame k.
As a result of the above phase unwrapping procedure, each frequency track will have associated with it an instantaneous unwrapped phase which accounts for both the rapid phase changes due to the frequency of each sinusoidal component, and the slowly varying phase changes due to the glottal pulse and the vocal track transfer function. Letting θl (t) denote the unwrapped phase function for the l'th track, then the final synthetic waveform will be given by ##EQU5## where kN<n≦(k+1)N, Al (n) is given by (8), θl (n) is the sampled data version of (16), the L.sup.(k) is the number of sine waves estimated for the k'th frame.
The invention as described in connection with FIG. 6 has been used to develop a speech coding system for operation at 8 kilobits per second. At this rate, high-quality speech depends critically on the phase measurements and, thus, phase coding is a high priority. Since the sinusoidal representation also requires the specification of the amplitudes and frequencies, it is clear that relatively few peaks can be coded before all of the available bits were used. The first step, therefore, is to significantly reduce the number of parameters that must be coded. One way to do this is to force all of the frequencies to be harmonic.
During voiced speech one would expect all of the peaks to be harmonically related and therefore, by coding the fundamental, the locations of all of the frequencies will be available at the receiver. During unvoiced speech the frequency locations of the peaks will not be harmonic in this case. However, it is well known from random process theory that noise-like waveforms can be represented (in an ensemble mean-squared error sense) in terms of a harmonic expansion of sine waves provided the spacing between adjacent harmonics is small enough that there is little change in the power spectrum envelope (i.e. intervals less than about 100 Hz). This representation preserves the statistical properties of the input speech provided the amplitudes and phases are randomly varying from frame to frame. Since the amplitudes and phases are to be coded, this random variation inherent in the measurement variables can be preserved in the synthetic waveform.
As a practical matter it is preferable to estimate the fundamental frequency that characterizes the set of frequencies in each frame, which in turn relates to pitch extraction. For example, pitch extraction can be accomplished by selecting the fundamental frequency of a harmonic set of sine waves to produce the best fit to the input waveform according to a perceptual criterion. Other pitch extraction techniques can also be employed.
As an immediate consequence of using the harmonic frequency model, it follows that the number of sine wave components to be coded is the bandwidth of the coded speech divided by the fundamental. Since there is no guarantee that the number of measured peaks will equal this harmonic number, provision should be made for adjusting the number of peaks to be coded. Based on the fundamental, a set of harmonic frequency bins are established and the number of peaks falling within each bin are examined. If more than one peak is found, then only the amplitude and phase corresponding to the largest peak are retained for coding. If there are no peaks in a given bin, then an artificial peak is created having an amplitude and phase obtained by sampling the short-time Fourier Transform at the frequency corresponding to the center of the bin.
The amplitudes are then coded by applying the same techniques used in channel vocoders. That is, a gain level is set, for example, by using 5 bits with 2 dB per level to code the amplitude of a first peak (i.e. the first peak above 300 Hz). Subsequent peaks are coded logarithmically using delta-modulation techniques across frequency. In one simulation 3.6 kbps were assigned to code the amplitudes at a 50 Hz frame rate. Adaptive bit allocation rules can be used to assign bits to peaks. For example, if the pitch is high there will be relatively few peaks to code, and there will be more bits per peak. Conversely when the pitch is low there will be relatively few bits per peak, but since the peaks will be closer together their values will be more correlated, hence the ADPCM coder should be able to track them well.
To code the phases a fixed number of bits per peak (typically 4 or 5) is used. One method for coding the phases is to assign the measured phase to one of 2n equal subdivisions of -π to π region, where n=4 or 5. Another method uses the frequency track corresponding to the phase (to be coded) to predict the phase at the end of the current frame, unwrap the value, and then code the phase residual using ADPCM techniques with 4 or 5 bits per phase peak. Since there remains only 4.4 kbps to code the phases and the fundamental (7 bits are used), then at a 50 Hz frame rate, it will be possible to code at most 16 peaks. At a 4 kHz speech bandwidth and four bits per phase, all of the phases will be coded provided the pitch is greater than 250 Hz. If the pitch is less than 250 Hz provision has to be made for regenerating a phase track for the uncoded high frequency peaks. This is done by computing a differential frequency that is the difference between the derivative of the instantaneous cubic phase and the linear interpolation of the end point frequencies for that track. The differential frequency is translated to the high frequency region by adding it to the linear interpolation of the end point frequencies corresponding to the track of the uncoded phase. The resulting instantaneous frequency function is then integrated to give the instantaneous phase function that is applied to the sine wave generator. In this way the phase coherence intrinsic in the voiced speech and the phase incoherence characteristic of unvoiced speech is effectively translated to the uncoded frequency regions.
In FIG. 8 another embodiment of the invention is shown, particularly adapted for time-scale modification. As shown in FIG. 8, the time-scale modification system 50 includes a sampling window 52, a fast Fourier system 50 includes a sampling window 52, a fast Fourier transform (FFT) analyzer 54, a system contribution estimator 56, an excitation magnitude estimator 58, an excitation phase calculator 60, a linear interpolator 62 (for interpolating the system "magnitudes" and "phases", as well as the excitation "magnitudes" of the spectral components from frame-to-frame), and a cubic interpolator 64 (for interpolating the excitation phase values from frame-to-frame). The system 50 also includes a peak detector 68 and frequency matcher 68 which control the interpolators 62 and 64 in a manner analogous to the techniques discussed above in connection with the other embodiments.
Time-scale modification is achieved by rate controller 70 which provides adjustments to the rate of interpolation in interpolators 62 and 64 to slow down or speed up the processing of the waveforms. The modified waveforms are then synthesized by sine wave generator 72 and summer 74. In this illustration, the representative sine waves are further defined to consist of system contributions (i.e. from the vocal tract) and excitation contributions (i.e. from the vocal chords). The excitation phase contributions are singled out for cubic interpolation. The procedure generally follows that described above in connection with other embodiments; however, in a further step the measured amplitudes Al k and phases θl k are decomposed into vocal tract and excitation components. The approach is to first form estimates of the vocal tract amplitude and phase as functions of frequency at each analysis frame (i.e., M(ω, kR) and Φ(ω, kR)). System amplitude and phase estimates at the selected frequencies ωl k are then given by:
Ml k =M(ωl k,kR) (19)
Φl k =(ωl k,kR) (20)
Finally, the excitation parameter estimates at each analysis frame boundary are obtained as
αl k =Al k /Ml k (21)
Ωl k =θl k -Φl k (22)
The decomposition problem then becomes that of estimating M(ω, kR) and Φ(ω, kR) as functions of frequency from the high resolution spectrum X(ω,kR). (In practice, of course, uniformly spaced frequency samples are available from the DFT.) There exist a number of established ways for separating out the system magnitude from the high-resolution spectrum, such as all-pole modeling and homomorphic deconvolution. If the vocal tract transfer function is assumed to be minimum phase then the logarithm of the system magnitude and the system phase form a Hilbert transform pair. Under this condition, a phase estimate Φ(ω,kR) can be derived from the logarithm of a magnitude estimate M(ω,kR) of the system function through the Hilbert transform. Furthermore, the resulting phase estimate will be smooth and unwrapped as a function of frequency.
One approach to estimation of the system magnitude, and the corresponding estimation of the system phase through the use of the Hilbert Transform is shown in FIG. 9 and is based on a homomorphic transformation. In FIG. 9, a homomorphic analysis system 90 is shown consisting of a logarithmic operator 92, a fast Fourier transform (FFT) calculator 94, a right-sided window 95, an inverse FFT calculator 96 and an exponential operator 98. In this technique, the separation of the system amplitude from the high-resolution spectrum and the computation of the Hilbert transform of this amplitude estimate are in effect performed simultaneously. The Fourier transform of the logarithm of the high-resolution magnitude is first computed to obtain the "cepstrum". A right-sided window, with duration proportional to the average pitch period, is then applied. The imaginary component of the resulting inverse Fourier transform is the desired phase and the real part is the smooth log-magnitude. In practice, uniformly spaced samples of the Fourier transform are computed with the FFT. The length of the FFT was chosen at 512 which was sufficiently large to avoid aliasing in the cepstrum. Thus, the high-resolution spectrum used to estimate the sinewave frequencies is also used to estimate the vocal-tract system function.
The remaining analysis steps in the time-scale modifying system of FIG. 8 are analogous to those described above in connection with the other embodiments. As a result of the matching algorithm, all of the amplitudes and phases of the excitation and system components measured for an arbitrary frame k are associated with a corresponding set of parameters for frame k+1. The next step in the synthesis is to interpolate the matched excitation and system parameters across frame boundaries. The interpolation procedures are based on the assumption that the excitation and system functions are slowly-varying across frame boundaries. This is consistent with the assumption that the model parameters are slowly-varying relative to the duration of the vocal tract impulse response. Since this slowly-varying constraint maps to a slowly-varying excitation and system amplitude, it suffices to interpolate these functions linearly.
Since the vocal tract system is assumed slowly-varying over consecutive frames, it is reasonable to assume that its phase is slowly-varying as well as thus linear interpolation of the phase samples will also suffice. However, the characteristic of "slowly-varying" is more difficult to achieve for the system phase than for the system magnitude. This is because an additional constraint must be imposed on the measured phase; namely that the phase be smooth and unwrapped as a function of frequency at each frame boundary. There it is shown that if the system phase is obtained module 2π then linear interpolation can result in a (falsely) rapidly-varying system phase between frame boundaies. The importance of the use of a homomorphic analyser of FIG. 9 is now evident. The system phase estimate derived from the homomorphic analysis is unwrapped in frequency and thus slowly-varying when the system amplitude (from which it was derived) is slowly-varying. Linear interpolation of samples of this function results then in a phase trajectory which reflects the underlying vocal tract movement. This phase function is referred to as Φl (t) where Φl (o) corresponds to the Φl k of Equation 22. Finally, as before, a cubic polynomial is employed to interpolate the excitation phase and frequency. This will be referred to Ωl (t) where Ωl (o) corresponds to Ωl k of Equation 22.
The goal of time-scale modification is to maintain the perceptual quality of the original speech while changing the apparent rate of articulation. This implies that the frequency trajectories of the excitation (and thus the pitch contour) are stretched or compressed in time and the vocal tract changes at a slower or faster rate. The synthesis method of the previous section is ideally suited for this transformation since it involves summing sine waves composed of vocal cord excitation and vocal tract system contributions for which explicit functional expressions have been derived.
Speech events which take place at a time to according to the new time scale will have occured at ρ-1 to in the original time scale. To apply the above sine wave model to time-scale modification, the "events" which are time-scaled are the system amplitudes and phases, and the excitation amplitudes and frequencies, along each frequency track. Since the parameter estimates of the unmodified synthesis are available as continuous functions of time, then in theory, any rate change is possible. In conjunction with the Equations (19)-(22) the time scaled synthetic waveform can be expressed as: ##EQU6## where L (n) is the number of sine waves estimated at time n. The required values in equation (23) are obtained by simply scaling Al (t), Ωl (t) and Φl (t) at a time ρ-1 n and scaling the resulting excitation phase by ρ-1.
With the proposed time-scale modification system, it is also straightforward to apply a time-varying rate change. Here the time-warping transformation is given by
to =W(to ')=ƒo t.sbsp.o ρ(T)dT (24)
where ρ(T) is the desired time-varying rate change. In this generalization, each time-differential dT is scaled by a different factor ρ(T). Speech events which take place at a time to in the new time scale will now occur at a time to '=W-1 (to) in the original time scale. If to maps back to to ', then one approximation is given by:
t1 '≅to '+ρ-1 (to ') (25)
Since the parameters of the sinusoidal components are available as continuous functions of time, they can always be found at the required t1 '.
Letting tn ' denote the inverse to time tn =n, the synthetic waveform is then given by:
s'(n)=Σl=1 L(n) Al (tn ')cos[Ωl '(tn ')+Φl (tn ')] (26)
Ωl '(n)=Ωl '(n-1)+ωl (tn ') (27)
tn '=tn-1 '+ρ-1 (tn-1 ') (28)
where ωl (t) is a quadratic function given by the first derivative of the cubic phase function Ωl (t).
to '=0 (29)
At the time a particular track is born, the cubic phase function Ωl '(n) is initialized by the value ρ(tn ')Ωl (tn ')
where Ωl (tn ') is the initial excitation phase obtained using (17).
It should also be appreciated that the invention can be used to perform frequency and pitch scaling. The short time spectral envelope of the synthetic waveform can be varied by scaling each frequency component and the pitch of the synthetic waveform can be altered by scaling the excitation-contributed frequency components.
In FIG. 10 a final embodiment 100 of the invention is shown which has been implemented and operated in real time. The illustrated embodiment was implemented in 16-bit fixed point arithmetic using four Lincoln Digital Signal Processor (LDSPs). The foreground program operates on every input A/D sample collecting 100 input speech samples into 10 msec buffers 102. At the same time a 10 msec buffer of synthesized speech is played out through a D/A converter. At the end of each frame, the most recent speech is pushed down into a 600 msec buffer 104. It is from this buffer that the data for the pitch-adaptive Hamming window 106 is drawn and on which a 512 point Fast Fourier Transform (FFT) is applied by FFt calucoator 108. Next a set of amplitudes and frequencies is obtained magnitude estimator 110 and peak detector 112 by locating the peaks of the magnitude of the FFT. The data is supplied to the pitch extraction module 114 from which is generated the pitch estimate that controls the pitch-adaptive windows. This parameter is also supplied to the coding module 116 in the data compression application. Once the pitch has been estimated another pitch adaptive Hamming window 118 is buffered and the data transferred by I/O operator 120 to another LDSP for parallel computation. Another 512 point FFT is taken by FFT calculator 122 for the purpose of estimating the amplitudes, frequencies and phases, to which the coding and speech modification methods will be applied. Once these peaks have been determined the frequency tracking and phase interpolation methods are implemented. Depending upon the application, these parameters would be coded by coder 116 or modified to effect a speech transformation and transferred to another pair of LDSPs, where the sum of sine waves synthesis is implemented. The resulting synthetic waveform is then transferred back to the master LDSP where it is put into the appropriate buffer to be accessed by the foreground program for D/A output.
|Patente citada||Fecha de presentación||Fecha de publicación||Solicitante||Título|
|US3296374 *||28 Jun 1963||3 Ene 1967||Ibm||Speech analyzing system|
|US3360610 *||7 May 1964||26 Dic 1967||Bell Telephone Labor Inc||Bandwidth compression utilizing magnitude and phase coded signals representative of the input signal|
|US3484556 *||1 Nov 1966||16 Dic 1969||Bell Telephone Labor Inc||Bandwidth compression eliminating frequency transposition and overcoming phase ambiguity|
|US3978287 *||11 Dic 1974||31 Ago 1976||Nasa||Real time analysis of voiced sounds|
|US3982070 *||5 Jun 1974||21 Sep 1976||Bell Telephone Laboratories, Incorporated||Phase vocoder speech synthesis system|
|US4034160 *||5 Mar 1976||5 Jul 1977||U.S. Philips Corporation||System for the transmission of speech signals|
|US4058676 *||7 Jul 1975||15 Nov 1977||International Communication Sciences||Speech analysis and synthesis system|
|US4076958 *||13 Sep 1976||28 Feb 1978||E-Systems, Inc.||Signal synthesizer spectrum contour scaler|
|US4435832 *||30 Sep 1980||6 Mar 1984||Hitachi, Ltd.||Speech synthesizer having speech time stretch and compression functions|
|US4701955 *||21 Oct 1983||20 Oct 1987||Nec Corporation||Variable frame length vocoder|
|JPS5898800A *||Título no disponible|
|JPS5942598A *||Título no disponible|
|JPS57197600A *||Título no disponible|
|1||"A Representation of Speech With Partials," Hedelin; 1982 Elmevier Biological Press, The Representation of Speech in the Peripheral Auditory System, R. Carlson & B. Granstrom, pp. 247-250.|
|2||"A Tone-Oriented Voice-Excited Vocoder," Hedelin; Chalmers University of Technology, Gothenburg, Sweden, CH1610/5/81, pp. 205-208, IEEE, 1981.|
|3||*||A Representation of Speech With Partials, Hedelin; 1982 Elmevier Biological Press, The Representation of Speech in the Peripheral Auditory System, R. Carlson & B. Granstrom, pp. 247 250.|
|4||*||A Tone Oriented Voice Excited Vocoder, Hedelin; Chalmers University of Technology, Gothenburg, Sweden, CH1610/5/81, pp. 205 208, IEEE, 1981.|
|5||Almeida et al., "Variable-Frequency Synthesis: An Improved Harmonic Coding Scheme," IEEE, vol. 2, 1984, pp. 27.5.1-27.5.4.|
|6||*||Almeida et al., Variable Frequency Synthesis: An Improved Harmonic Coding Scheme, IEEE, vol. 2, 1984, pp. 27.5.1 27.5.4.|
|7||Almeida, Luis B. et al., "Harmonic Coding: A Low Bit-Rate, Good Quality Speech Coding Technique," IEEE, 1982, pp. 1664-1667.|
|8||*||Almeida, Luis B. et al., Harmonic Coding: A Low Bit Rate, Good Quality Speech Coding Technique, IEEE, 1982, pp. 1664 1667.|
|9||Crochiere, "A Weighted Overlap-Add Method of Short-time Fourier Analysis/Synthesis," IEEE Trans. on Acoustics, Speech & Sig. Proc., vol. ASSP-28, 1980, pp. 99-102.|
|10||*||Crochiere, A Weighted Overlap Add Method of Short time Fourier Analysis/Synthesis, IEEE Trans. on Acoustics, Speech & Sig. Proc., vol. ASSP 28, 1980, pp. 99 102.|
|11||Gold, "Description of a Computer Program for Pitch Detection," Fourth International Congress, Copenhagen, Aug. 21-18, 1962.|
|12||Gold, "Note On Buzz-Hiss Detection," J. Acoust. Soc. Am, vol. 36, No. 9, 1964, pp. 1659-1661.|
|13||*||Gold, Description of a Computer Program for Pitch Detection, Fourth International Congress, Copenhagen, Aug. 21 18, 1962.|
|14||*||Gold, Note On Buzz Hiss Detection, J. Acoust. Soc. Am, vol. 36, No. 9, 1964, pp. 1659 1661.|
|15||Griffin, Daniel W. et al., "A New Model-Based Speech Analysis/Synthesis System," IEEE International Conference on Acoustics, Speech, and Signal Processing, Mar. 26-29, 1985, pp. 513-516.|
|16||Griffin, Daniel W. et al., "A New Pitch Detection Algorithm," Proc. of Int. Conf. on Digital Signal Processing, Florence, Italy, Sep. 1984, pp. 395-399.|
|17||*||Griffin, Daniel W. et al., A New Model Based Speech Analysis/Synthesis System, IEEE International Conference on Acoustics, Speech, and Signal Processing, Mar. 26 29, 1985, pp. 513 516.|
|18||*||Griffin, Daniel W. et al., A New Pitch Detection Algorithm, Proc. of Int. Conf. on Digital Signal Processing, Florence, Italy, Sep. 1984, pp. 395 399.|
|19||Holmes, "The JSRU Channel Vocoder," IEE Proc., vol. 127, No. 1, 1980, pp. 53-60.|
|20||*||Holmes, The JSRU Channel Vocoder, IEE Proc., vol. 127, No. 1, 1980, pp. 53 60.|
|21||Malpass, "The Gold-Rabiner Pitch Detector In A Real Time Environment," Proc. of Eascon (Sep. 1975), pp. 1-7.|
|22||*||Malpass, The Gold Rabiner Pitch Detector In A Real Time Environment, Proc. of Eascon (Sep. 1975), pp. 1 7.|
|23||*||Markell, Linear Prediction of Speech, Springer Verlog, 1967, pp. 227 262.|
|24||Markell, Linear Prediction of Speech, Springer-Verlog, 1967, pp. 227-262.|
|25||*||Rabiner & Schafer, Digital Processing of Signals, Prentice Hall, 1978, pp. 225 238.|
|26||Rabiner & Schafer, Digital Processing of Signals, Prentice Hall, 1978, pp. 225-238.|
|27||Silverman et al., "Transfer Characteristic Estimation for Speech Via Multirate Evaluation," IEEE, pub. 75 CHO 998-5 Eascon, 1975, pp. 181-A to 181-G (7 pages).|
|28||*||Silverman et al., Transfer Characteristic Estimation for Speech Via Multirate Evaluation, IEEE, pub. 75 CHO 998 5 Eascon, 1975, pp. 181 A to 181 G (7 pages).|
|Patente citante||Fecha de presentación||Fecha de publicación||Solicitante||Título|
|US6226605 *||11 Ago 1998||1 May 2001||Hitachi, Ltd.||Digital voice processing apparatus providing frequency characteristic processing and/or time scale expansion|
|US6496797 *||1 Abr 1999||17 Dic 2002||Lg Electronics Inc.||Apparatus and method of speech coding and decoding using multiple frames|
|US6691083 *||17 Mar 1999||10 Feb 2004||British Telecommunications Public Limited Company||Wideband speech synthesis from a narrowband speech signal|
|US7124077 *||28 Ene 2005||17 Oct 2006||Microsoft Corporation||Frequency domain postfiltering for quality enhancement of coded speech|
|US7318027||9 Jun 2003||8 Ene 2008||Dolby Laboratories Licensing Corporation||Conversion of synthesized spectral components for encoding and low-complexity transcoding|
|US7318035||8 May 2003||8 Ene 2008||Dolby Laboratories Licensing Corporation||Audio coding systems and methods using spectral component coupling and spectral component regeneration|
|US7337107 *||2 Oct 2001||26 Feb 2008||The Regents Of The University Of California||Perceptual harmonic cepstral coefficients as the front-end for speech recognition|
|US7337118||6 Sep 2002||26 Feb 2008||Dolby Laboratories Licensing Corporation||Audio coding system using characteristics of a decoded signal to adapt synthesized spectral components|
|US7447631||17 Jun 2002||4 Nov 2008||Dolby Laboratories Licensing Corporation||Audio coding system using spectral hole filling|
|US7596490 *||26 Ago 2004||29 Sep 2009||Koninklijke Philips Electronics N.V.||Low bit-rate audio encoding|
|US7640156 *||8 Jul 2004||29 Dic 2009||Koninklijke Philips Electronics N.V.||Low bit-rate audio encoding|
|US7685218||19 Dic 2006||23 Mar 2010||Dolby Laboratories Licensing Corporation||High frequency signal construction method and apparatus|
|US7756700 *||1 Feb 2008||13 Jul 2010||The Regents Of The University Of California||Perceptual harmonic cepstral coefficients as the front-end for speech recognition|
|US8019612 *||29 Jun 2009||13 Sep 2011||Coding Technologies Ab||Methods for improving high frequency reconstruction|
|US8032387||4 Feb 2009||4 Oct 2011||Dolby Laboratories Licensing Corporation||Audio coding system using temporal shape of a decoded signal to adapt synthesized spectral components|
|US8050933||4 Feb 2009||1 Nov 2011||Dolby Laboratories Licensing Corporation||Audio coding system using temporal shape of a decoded signal to adapt synthesized spectral components|
|US8112284||19 Nov 2008||7 Feb 2012||Coding Technologies Ab||Methods and apparatus for improving high frequency reconstruction of audio and speech signals|
|US8275475 *||18 Ago 2008||25 Sep 2012||Texas Instruments Incorporated||Method and system for estimating frequency and amplitude change of spectral peaks|
|US8326613 *||25 Ago 2010||4 Dic 2012||Koninklijke Philips Electronics N.V.||Method of synthesizing of an unvoiced speech signal|
|US8447621||9 Ago 2011||21 May 2013||Dolby International Ab||Methods for improving high frequency reconstruction|
|US8494199||8 Abr 2011||23 Jul 2013||Gn Resound A/S||Stability improvements in hearing aids|
|US20040120309 *||24 Abr 2001||24 Jun 2004||Antti Kurittu||Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder|
|US20040128130 *||2 Oct 2001||1 Jul 2004||Kenneth Rose||Perceptual harmonic cepstral coefficients as the front-end for speech recognition|
|US20040165667 *||9 Jun 2003||26 Ago 2004||Lennon Brian Timothy||Conversion of synthesized spectral components for encoding and low-complexity transcoding|
|US20040225505 *||8 May 2003||11 Nov 2004||Dolby Laboratories Licensing Corporation||Audio coding systems and methods using spectral component coupling and spectral component regeneration|
|US20050131696 *||28 Ene 2005||16 Jun 2005||Microsoft Corporation||Frequency domain postfiltering for quality enhancement of coded speech|
|US20090062945 *||18 Ago 2008||5 Mar 2009||Steven David Trautmann||Method and System for Estimating Frequency and Amplitude Change of Spectral Peaks|
|EP2375785A2||8 Abr 2011||12 Oct 2011||GN Resound A/S||Stability improvements in hearing aids|
|EP2579252A1||8 Oct 2011||10 Abr 2013||GN Resound A/S||Stability and speech audibility improvements in hearing devices|
|WO2002029782A1 *||2 Oct 2001||11 Abr 2002||Liang Gu||Perceptual harmonic cepstral coefficients as the front-end for speech recognition|
|WO2013050605A1||8 Oct 2012||11 Abr 2013||Gn Resound A/S||Stability and speech audibility improvements in hearing devices|
|Clasificación de EE.UU.||704/206, 704/265, 704/203|