void LPC_Frame_into_Formant_Frame (LPC_Frame me, Formant_Frame thee, double samplingPeriod, double margin) { thy intensity = my gain; if (my nCoefficients == 0) { return; } autoPolynomial p = LPC_Frame_to_Polynomial (me); autoRoots r = Polynomial_to_Roots (p.peek()); Roots_fixIntoUnitCircle (r.peek()); Roots_into_Formant_Frame (r.peek(), thee, 1 / samplingPeriod, margin); }
autoPolynomial LPC_to_Polynomial (LPC me, double time) { try { long iFrame = Sampled_xToIndex (me, time); if (iFrame < 1 || iFrame > my nx) { Melder_throw (U"invalid frame number."); } autoPolynomial thee = LPC_Frame_to_Polynomial (&my d_frames[iFrame]); return thee; } catch (MelderError) { Melder_throw (me, U":no Polynomial created."); } }