[Return]

Report a post

Preview
File: lpcenvelope.png
[Animated PNG](20 KB, 441x228) ▶
20755
Note: The image is just a generic of Linear Predictive Coding I found, because new threads require an image, it doesn't have anything to with this proposal specifically, besides it being related to LPC in general.

In previous articles, I have discussed sources of error within the Wide-Band Harmonic Sinusoidal Modeling framework. Although I have not implemented most of the proposed improvements yet, I have derived closed-form solutions for several sources of error and have also provided theoretic justifications for the proposed solutions. Notably though, one source of error - named in the original paper - has still gone unaddressed.

This is the intrinsic error that results from the actual vocal tract filter varying continuously, whereas in the model we have assumed that it remains constant over given intervals. In the original WBHSM framework, these intervals were single pitch periods that were presumed to correspond to a sum of an infinite number of identical voice pulses. In my last proposed improvement on WBHSM, which I called Radiated Voice Pulse Modeling, I proposed solutions, in the form of corrective terms, to the errors that resulted from actual voice pulses not all being identical. However, each pulse was stilled modeled as having a constant vocal tract filter. Actually, theoretically it got worse since we were now considering the pulses whole radiated duration (up to a reasonable cut off point) as the pulse instead of a single period, although in practice the added error would not be significant because the proposed implementation only adds error terms that are in proportion to the differences between voice pulses.

This problem would seem unresolvable within WBHSM framework, since it is based on frequency-domain modeling, which is based on linear time-invariant filters with defined z-transfer function. Since the actual vocal tract filter varies continuously, it is not time-invariant and thus does not have a z-transfer function nor a frequency response. Thus my proposed solution involves hybridizing the WBHSM technique with another technique that can model time-variant filters, namely Linear Predictive Coding.

Linear Predictive Coding has a well-known deficiency, which is that it is an all-pole filter that does not model z-plane zeros. This would seem to negate much of the benefit of using it, but this is actually not true. Disregarding the non-linear aspect for a moment, if we think of the z-transfer function of an infinite impulse response filter, we can appreciate that it can be decomposed into two separate filters: An finite impulse response filter that models the zero, and an all-pole infinite response filter that models the poles. From this angle, inverse filtering just the poles would leave of us with the voice source convolved with an FIR filter that corresponds to the zeros. Since the number of taps in that filter is directly related to the number of zeros, its size can be presumed to be small and thus the convoluted pulses can also be reasonably presumed to not overlap. Furthermore, an all-pole filter has a practical benefit in the deconvolution process, which is that it is not susceptible to numerical stability issues, at least within floating-point arithmetic.

One important issue is where the vocal tract filter's estimation is to be sourced from. There are basically two options: Either within LPC or within WBHSM. In the latter case, there is a problem. The current vocal tract model I am using is called Excitation plus Resonance. This model models each resonance as a parallel component of the vocal tract filter. On the other hand, LPC presumes a cascade configuration. One may think to simply modify the EpR model to be cascade instead, but this is not as trivial as it may seem. The procedure I have used for resonance estimation, which I have called Formant Region Iterative Refinement (the first iteration of which was detailed here: https://queuesevenm.wordpress.com/2026/06/02/recreating-the-excitation-plus-resonance-model/), is fundamentally based around adjusting each resonance according to its local surroundings and that inter-resonance effects are minimal. A cascade configuration breaks the second requirement.

One option would be to somehow modify the LPC inverse filtering process to be amenable to a parameter configuration instead. However, I am not sure how to do this, or whether it is even possible (perhaps a good place to start would be to frame the problem as a matrix equation?).

On the other hand, another option would be to create a cascade filter from the estimated parallel filter. This could be done by first starting with just the first resonance. This is the same in both cases. Then we go on to add the second one. Before adding it, we calculate the current value in the cascade filter at the next resonance's center frequency, we then scale its amplitude by the reciprocal of this value. This new filter will not be exactly the same, but it should be reasonably close. Actually, it may be a better model of the vocal tract. Perhaps also the FRIR algorithm could be used to refine it, even in the cascade case, since it should have a very low error?

The final procedure then, would be to run one iteration of the WBHSM algorithm, to estimate the EpR parameters. Then, for each instant an EpR model has been estimated, only the poles are extracted and are then converted to a cascade filter. Next, the inverse filtering is performed. For each inverse filtering frame (which can be as small as a single frame), the closest vocal tract filter estimates are interpolated using, for example, linear or spline interpolation. Next, the z-transfer function denominator of the resultant filter is expanded using the standard procedure to obtain the LPC coefficient, which are finally used to do the inverse filtering itself. The final step is the second pass of WBHSM, over the inversecfiltered signal. Since it has been inverse filtered, there should be no interference between voice pulses. An additional potential benefit is the harmonic envelope no longer contains resonances, which may improve the estimation of the source curve and zeros, although the same effect could also be achieved in the traditional EpR estimation by using two passes. Finally, a combined EpR model is created from the resonance plus the source and residual model obtained in the last step.

This procedure makes one significant presumption, which is that most of the error of WBHSM is concentrated in the non-resonance part of the EpR model. This would seem to be a reasonable assumption to make, given that EpR is fitted using multiple harmonics, and that it could furthermore be filtered across multiple frame using techniques such as lowpass filtering, moving averages, or exponential moving averages. However, I do not yet have empirical evidence for this. One possible case wherein the presumption would not hold would be if the error changes slowly over frequency, for example. Actually, a type of error with precisely this fingerprint does exist; it results from the fundamental frequency changing. However, I have already proposed a solution to it, within the RVPM framework: https://listserv.cuit.columbia.edu/scripts/wa.exe?A2=MUSIC-DSP;31999a11.2608A&S=
Post number No.197239
Board Off-Topic@Heyuri
Optional. Describe what's wrong with it.