< Back to IRCAM Forum

Pipo.lpcformants: Magnitudes?

Dear list, hi Diemo,

I was wondering if there is a way to also get the magnitude of the formants present in a signal through pipo.lpcformants. I would like to use it to shape a resonator/filterbank.

The idea is to drive a synth through zero-crossings of an acoustic instrument. This results in a very low latency synth signal that can be perceived as being synchronised (this is already implemented for quite some time). The idea is now to filter the resulting synth signal with the spectral contour of the original signal in order to be able to use the expression I get from manipulating my acoustic trumpet timbre so the synth will also change its timbre accordingly. Using this method the resulting sound would follow the change in character of the original signal with some latency but still be very low latency in its response to onsets and such, which is why I would hesitate to use superVP.cross or superVP.sourcefilter for this, which might also be too CPU-expensive for the number of channels involved. Another consideration for doing it like this is that in this implemtentation the analysis only has to happen once and only on the input signal and not for each (transposed) channel separately.
And another related question just out of curiosity. In the gbr.lpc examples, the signal gets preemphasized before the analysis. Is that already implemented within the algorithm of pipo.lpcformants?

Of course I am open to other suggestions achieving the same result that respect the requirements for low latency and fairly low CPU use.

Best, Hans.