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

[hts-users:04224] Modulation Spectrum-based post-filter



Hi,

I think in the HTS 2.3beta demos' MSPF code, the following
# apply weight
$line .= "$VOPR -l " . ( $mspfFFTLen / 2 + 1 ) . " -s $gendir/$base.$type.mspec_dim$d | ";
$line .= "$SOPR -m $mspfe{$type} | ";
$line .= "$VOPR -l " . ( $mspfFFTLen / 2 + 1 ) . " -a $gendir/$base.$type.mspec_dim$d > $gendir/$base.p_$type.mspec_dim$d";
should be something more like
# apply weight
$line .= "$VOPR -s $gendir/$base.$type.mspec_dim$d | ";
$line .= "$SOPR -m $mspfe{$type} | ";
$line .= "$VOPR -a $gendir/$base.$type.mspec_dim$d > $gendir/$base.p_$type.mspec_dim$d";

Afaik VOPR A +/- B where A and B are M-by-N matrices will add/subtract first row of B from all rows of A if option -l N is used. When the default -l 1 is used, VOPR will add/subtract element-wise (each row of B from each row of A). Without this change setting mspfe{'mgc'} = 0.0 gives me very obvious artifacts (cyclic with MSPF shift period).

Has anyone else tried the MS-based post filter?
To me, when comparing results of CDGV+MSPF vs. CDGV, it is hard to notice much difference, and the little difference that is there makes the MSPF results arguably even slightly worse.

Thanks,
Merlijn