[Subject Prev][Subject Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hts-users:01641] Vocoder with MGC-LSP: why call HTS_mc2b()?


Hi,

Is there some reason why LSP mode calls HTS_mc2b()? At least by default,
as alpha is 0.0 and mc == b for LSP, the function doesn't do anything.
Below is a somewhat faster version. (Admittedly this isn't a major CPU
bottlenect.) Or is there some reason to have a case where alpha!=0 for
LSP?

br,
  Nicholas

/* HTS_mc2b: transform mel-cepstrum to MLSA digital fillter coefficients */
static void HTS_mc2b(double *mc, double *b, int m, const double a) {
  if ( mc != b ) {
    b[m] = mc[m];
    for (m--; m >= 0; m--)
      b[m] = mc[m] - a * b[m + 1];
  }
  else {
    if ( a != 0.0 ) {
       for (m--; m >= 0; m--) b[m] -= a*b[m+1];
    }
  }
}


Follow-Ups
[hts-users:01643] Re: Vocoder with MGC-LSP: why call HTS_mc2b()?, Heiga ZEN (Byung Ha CHUN)