Hi, David,

The following is your codec2 source code.

Why the energy and the LSP need the linear interpolation ?

Why the interpolation factor is 0.5 ??

What's the mathematical theory or explanation or formula behind them ?


Thanks a lot.



/* interpolate ------------------------------------------------*/


    /* Wo and energy are sampled every 20ms, so we interpolate just 1
       10ms frame between 20ms samples */


    interp_Wo(&model[0], &c2->prev_model_dec, 
&model[1]);
    e[0] = interp_energy(c2->prev_e_dec, e[1]);


    /* LSPs are sampled every 20ms so we interpolate the frame in
       between, then recover spectral amplitudes */


    interpolate_lsp_ver2(&lsps[0][0], c2->prev_lsps_dec, 
&lsps[1][0], 0.5, LPC_ORD);
&nbsp; &nbsp; for(i=0; i<2; i++) {
        lsp_to_lpc(&amp;lsps[i][0], &amp;ak[i][0], LPC_ORD);
        aks_to_M2(c2-&gt;fft_fwd_cfg, &amp;ak[i][0], LPC_ORD, &amp;model[i], 
e[i], &amp;snr, 0, 0,
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c2-&gt;lpc_pf, 
c2-&gt;bass_boost, c2-&gt;beta, c2-&gt;gamma, Aw);
        apply_lpc_correction(&amp;model[i]);
        synthesise_one_frame(c2, &amp;speech[N*i], &amp;model[i], Aw);
&nbsp; &nbsp; }
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to