For many audio applications, a process is required to obtain an accurate estimate of the fundamental and harmonics of periodic sections of the audio signal. More generally, any digital version of a periodic signal can potentially have an associated fundamental frequency component, along with harmonics which are frequency components located at integer multiples of the fundamental. In this description, the focus will be on audio applications and speech applications in particular, without loss of generality to applications outside the speech and audio domains.
For speech, tracking and assessment of fundamental and harmonic frequencies can be a key step in accomplishing such tasks as automated speaker identification, speech data compression, pitch alteration and natural sounding time compressions and expansions [1]. Linguists and speech therapists also use such tracking and assessment for prosodic analyses and training [2].
Various methods of fundamental and harmonic frequency tracking have been proposed and developed, but most have been based on other low resolution techniques such as FFT and cepstral analyses [1]. This is as opposed to using super-resolution frequency estimation as provided by the Matrix Pencil (MP) technique [3]. The prior art in the area of super-resolution speech fundamental determination consists of the “super resolution pitch determinator” (SRPD) [4] and the “enhanced super resolution pitch determinator” (eSRPD) [5] methods. Because these prior methods do not explicitly process a spectral representation or decomposition of the input audio signal, they are not considered to be in the same class as the present invention. However, the SRPD and the eSRPD do provide a baseline for comparisons when assessing the performance of the subject invention and will therefore be referred to in the context of performance.
One object of the present invention is to provide a method and apparatus to analyze periodic signals.
Another object of the present invention is to provide a method and apparatus to determine and track fundamental and harmonic frequency components of periodic signals.
Yet another object of the present invention is to provide a method and apparatus to determine the degree of inharmonicity in signals.
The invention disclosed herein provides a method and apparatus for analyzing periodic signals so as to determine the degree of harmonicity in real time. Harmonicity estimates can be are generated for each segment of a signal without the need to process subsequent segments. Harmonicity estimates can be generated in the absence of a fundamental frequency component. The invention has utility in the audio/speech domain for automated speaker identification.
The present invention is computationally efficient in that it consists of a small number of trivial matrix calculations and comparisons.
The process implemented by the present invention is a real-time process in that an output fundamental and harmonic estimate can be generated for each signal segment without the need to wait for future segments to be processed.
The process implemented by the present invention is not confined to any particular super-resolution signal decomposition, but is particularly suited to the MP technique due to the ability to pre-condition the decomposition based on decay or growth rates, frequencies, initial phases and initial amplitudes.
In the present invention, for many situations, a signal decomposition such as provided by the MP technique is already available. Therefore, the computational efficiency of the present invention process can be easily leveraged by these processes.
The process implemented by the present invention allows for super-resolution tracking of the fundamental and harmonics given that the refinement steps leverage the original input frequency component values.
The process implemented by the present invention does not require that a fundamental component actually be present in the original signal, because the fundamental candidates are generated based on the spacing between frequency components.
In the present invention, a variety of outputs are provided including average fundamental, α0, harmonic assessment count, c, refined fundamental and harmonic estimates, all of which can be more useful as a group as opposed to methods that simply yield the fundamental estimate itself.
In the present invention, tracking is enhanced as a result of incorporating the estimates of fundamental and harmonics from the previous signal segment.
In the present invention, because the GHI process uses the super-resolution list, {right arrow over (F)}, for refinement, the output harmonic estimates, hk, can be used to assess inharmonicity. Inharmonicity occurs when the harmonics are not exact integer multiples of the fundamental, and can be fairly common for example in musical instruments.
Results produced by the present invention are particularly accurate as compared to the prior art.
The purpose of the present invention, a Generalized Harmonicity Indicator (GHI), is to determine, assess and track the fundamental and harmonic frequencies of consecutive time segments of a signal.
Referring to
For each segment, a second pre-processing step is the calculation of the super-resolution representation of the segment 110, as provided by signal decompositions such as the MP technique. The MP technique is particularly effective at determining the frequency content of the signal, and includes frequency decay rates initial phases and initial amplitudes in the decomposition.
In a third and final pre-processing step, available decay and initial amplitude values are used to prune 120 the original list of frequencies that the super-resolution process provides from the segment being decomposed. Frequencies that are too close to each other within the frequency resolution of the technique are eliminated. Likewise, frequency values that are not tone-like due to non-trivial decay (or growth) values are also eliminated. Any zero valued frequencies that may result are also eliminated. The final pruning is the elimination of frequency values associated with trivial initial amplitudes relative to the number of bits of precision in the representation of the digitized signal. The result is a list of frequency values, {right arrow over (L)}, which serves as input to the GHI process.
Referring to
The matrix D is input to the Pre-validator 230 which forms a vector {right arrow over (D)} whose elements are chosen from the positive elements of D that are greater than some minimum value, fmin>0. The elements of the m×1 vector {right arrow over (D)} are arranged in ascending order and will result in m≦0.5n2−0.5n. The pre-validated candidate fundamental list, {right arrow over (D)}, is then input to the Group Averager 240, which produces both a vector of averaged groupings of fundamentals, {right arrow over (G)}, and an associated count vector, {right arrow over (C)}. To generate the groupings, {right arrow over (G)}, group boundaries are formed by inspecting the elements of the candidate fundamental list, {right arrow over (D)}. Starting with the second element of {right arrow over (D)}, a difference is formed between each current element and the previous element in the vector. If this difference is less than a fraction p1 times the current element, then the element is grouped with the prior element. Otherwise, a new group is started with the current element. The parameter p1 is typically chosen to be 0.1 (10 percent). Because elements are in ascending order, each group represents a distinct positive change in candidate fundamentals. For each defined group, the number of elements in each group are used as the elements of the count vector, {right arrow over (C)}. Using these counts, groups of candidate fundamentals are averaged to form the corresponding elements of the vector {right arrow over (G)}. Averages greater than the parameter fmax are not allowed, and likewise the corresponding elements of the count vector {right arrow over (C)} are eliminated. The group average vector, {right arrow over (G)}, and the count vector, {right arrow over (C)}, are both input to the Average Fundamental Selector 250. If after such processing there are no elements in {right arrow over (G)}, then it is arbitrarily assigned a single element equal to fmin, and the count vector {right arrow over (C)} is assigned a corresponding single element equal to a count threshold, ct. For example, the count threshold for a representative speech pitch estimation application was set to 3. From the group average vector, {right arrow over (G)}, a subset of elements is chosen which correspond to the largest elements of the count vector, {right arrow over (C)}, greater than or equal to the count threshold, ct. For the speech pitch estimation example application, the elements corresponding to the 3 largest counts are used. The initial fundamental estimate, α0, is chosen as the minimum of the group averages from the subset. The count, c, is chosen as the largest count. Thus the Average Fundamental Selector 250 is biased away from simply using the largest group average. This results in an enhanced selection process that allows for the possibility that a valid fundamental is not the one associated with the largest count.
The scalar value initial fundamental, α0, and the associated count, c, are input to the Sub-harmonic Searcher 260. The Sub-harmonic Searcher 260 forms the n×1 sub-harmonic candidate vector as {right arrow over (S)}={right arrow over (F)}−0.5α0{right arrow over (1)} and uses this vector to determine whether or not α0 should be reduced by a factor of 0.5. Reduction is performed if 0.5α0 is greater than fmin while at the same time, the minimum of absolute values of the elements of {right arrow over (S)} is less than 0.5p2α0. Here, p2 is a fractional parameter that restricts the search space. A typical value for this parameter is 0.1 (10 percent). The resulting output of the Sub-harmonic searcher is designated as φ0, and represents the fundamental estimate prior to optional refinement processes.
The pre-refined fundamental estimate, φ0, is input to the Fundamental Refiner 270. A pair of n×1 error vectors are formed as {right arrow over (E)}−1={right arrow over (F)}−f0(−1)·{right arrow over (1)} and {right arrow over (E)}={right arrow over (F)}−φ0{right arrow over (1)}. Here, f0(−1) is the refined fundamental estimate from the previous signal segment, and {right arrow over (F)} is the ordered list vector from the output of the Frequency Sorter 200. Thus the z−1 block represents a unit segment delay. A scalar, x=p3f0(−1), is also calculated and is used to restrain the refinement process. Typical values for the fractional parameter p3 is also 0.1 (10 percent). A comparison is made to determine if the minimum of the absolute values of the elements of {right arrow over (E)} is less than the minimum of the absolute values of the elements of {right arrow over (E)}−1, and is also less than x. If so, f0 is the element of {right arrow over (F)} associated with the minimum of the absolute values of the elements of {right arrow over (E)}. If both of these conditions are not met, then f0=φ0 (no refinement is made).
The output of the Fundamental Refiner 270, f0, is input to the final optional step, the Harmonic Refiner 280. This step is identical in form to the Fundamental Refiner 270, and is repeated for all harmonic frequencies of interest. For example a harmonic is formed as the product φk=kf0, where the integer k is greater than 1. A pair of n×1 error vectors are formed as {right arrow over (E)}−1={right arrow over (F)}−hk(−1)·{right arrow over (1)} and {right arrow over (E)}={right arrow over (F)}−φk{right arrow over (1)}. Here, hk(−1) is the refined harmonic estimate from the previous signal segment, and {right arrow over (F)} is the ordered list vector from the output of the Frequency Sorter 200. A scalar, x=p3hh(−1), is also calculated and is used to restrain the refinement process. Typical values for the fractional parameter p3 is 0.1 (10 percent). A comparison is made to determine if the minimum of the absolute values of the elements of {right arrow over (E)} is less than the minimum of the absolute values of the elements of {right arrow over (E)}, and is also less than x. If so, hk is the element of {right arrow over (F)} associated with the minimum of the absolute values of the elements of {right arrow over (E)}. If both of these conditions are not met, then hk=φk (no refinement is made).
Referring to
To properly take into account the voiced/unvoiced classification process, the table includes the percentage of voiced segments in error (voiced classified as unvoiced) and the percentage of unvoiced segments in error (unvoiced classified as voice). This is necessary for a fair comparison because mis-classifying voiced segments can affect important performance metrics, the absolute deviation mean and population standard deviation (p.s.d). For example, a higher voiced in error percentage will cause the mean and p.s.d metrics to improve (become lower) as a result of eliminating weak voiced portions of the signal in the metric calculations. Likewise, higher unvoiced in error percentages will cause the metrics to degrade (become higher) as a result of including unvoiced segments in the calculations. For the GHI results shown, a simple energy-based voice/unvoiced classifier was used based on the MP decomposition of the signal. As can be seen in the table, the performance is commensurate with prior super-resolution techniques.
Simple alternatives to the preferred embodiment are conceivable. With regard to the pre-processing that has been described, one could also pre-condition the input frequency list based on phase and decay groupings. Furthermore, super-resolution techniques other than the MP can be used to generate the original list of input frequencies.
Other alternatives include the specific steps leading to the input to the Group Averager (see
Another possible alteration is to search for other sub-harmonics (such as one-third of the fundamental or one-fourth of the fundamental) in the Sub-harmonic Searcher (see
Finally, one could consider using more than a single delay element on the outputs of the Fundamental Refiner (see
While the present invention has been described in reference to specific embodiments, in light of the foregoing, it should be understood that all matter contained in the above description or shown in the accompanying drawings is intended to be interpreted as illustrative and not in a limiting sense and that various modifications and variations of the invention may be constructed without departing from the scope of the invention defined by the following claims. Thus, other possible variations and modifications should be appreciated.
This patent application claims the priority benefit of the filing date of a provisional application Ser. No. 60/879,210, filed in the United States Patent and Trademark Office on Dec. 15, 2006.
The invention described herein may be manufactured and used by or for the Government for governmental purposes without the payment of any royalty thereon.
Number | Date | Country | |
---|---|---|---|
60879210 | Dec 2006 | US |