Many thanks to the designers and maintainers of SPTK for their excellent software. I would like to make a minor contribution if the maintainers think that it is a good idea.
The SPTK programs excite and mlsadf, when given a series of N period
lengths (excite) or mel cepstral frames (mlsadf) return only N-1 frames
of excitation (excite) or speech (mlsadf). So if you do repeated
analysis/resynthesis of a segment of speech, the segment keeps getting shorter.
Looking at the code, it appears that the final period length or cepstral
frame is only used for interpolating the values during the previous
frame, and not for generating a new frame's worth of data. I don't know
whether the SPTK maintainers consider this behavior desirable. The
documentation doesn't comment on it. Personally, I would rather have N
inputs generate N frames of data.
I have attached patches to excite.c and mlsadf.c for your consideration
that give N frames of data for N inputs.
Best regards,
Stephen Isard
Thank you for your kind report and sorry for our late reply.
In the new major version, SPTK4, we designed synthesis filters so that the length of excitation and that of the filtered signal are same. The above mentioned problem has been solved.