mglsadf
Functions
-
int main(int argc, char *argv[])
mglsadf [ option ] mgcfile [ infile ]
-m int
order of coefficients
-a double
all-pass constant
-c int
gamma
-p int
frame period
-i int
interpolation period
-P int
order of Pade approximation
-t bool
transpose filter
-k bool
filtering without gain
mgcfile str
double-type mel-generalized cepstral coefficients
infile str
double-type input sequence
stdout
double-type output sequence
In the below example, an exciation signal generated from pitch information is passed through the MLSA filter built from mel-cepstral coefficients
data.mcep
.excite < data.pitch | mglsadf data.mcep > data.syn
- Parameters
argc – [in] Number of arguments.
argv – [in] Argument vector.
- Returns
0 on success, 1 on failure.
-
class sptk::MlsaDigitalFilter
Apply MLSA digital filter for speech synthesis to signals.
The transfer function
of an MLSA filter is can be implemented by approximating exponential function as an -th order rational function using the modified Pade approximation: is shown as below.To improve the accuracy of the approximation, the basic filter is decomposed as
Given the
-th order MLSA filter coefficients, to an input signal in time domain.Public Functions
-
MlsaDigitalFilter(int num_filter_order, int num_pade_order, double alpha, bool transposition)
- Parameters
num_filter_order – [in] Order of filter coefficients,
.num_pade_order – [in] Order of Pade approximation,
.alpha – [in] All-pass constant,
.transposition – [in] If true, use transposed form filter.
-
inline int GetNumFilterOrder() const
- Returns
Order of coefficients.
-
inline int GetNumPadeOrder() const
- Returns
Order of Pade approximation.
-
inline double GetAlpha() const
- Returns
All-pass constant.
-
inline bool GetTranspositionFlag() const
- Returns
True if transposed form is used.
-
inline bool IsValid() const
- Returns
True if this object is valid.
-
bool Run(const std::vector<double> &filter_coefficients, double filter_input, double *filter_output, MlsaDigitalFilter::Buffer *buffer) const
- Parameters
filter_coefficients – [in]
-th order MLSA filter coefficients.filter_input – [in] Input signal.
filter_output – [out] Output signal.
buffer – [inout] Buffer.
- Returns
True on success, false on failure.
-
bool Run(const std::vector<double> &filter_coefficients, double *input_and_output, MlsaDigitalFilter::Buffer *buffer) const
- Parameters
filter_coefficients – [in]
-th order MLSA filter coefficients.input_and_output – [inout] Input/output signal.
buffer – [inout] Buffer.
- Returns
True on success, false on failure.
-
class Buffer
Buffer for MlsaDigitalFilter class.
-
MlsaDigitalFilter(int num_filter_order, int num_pade_order, double alpha, bool transposition)
-
class sptk::MglsaDigitalFilter
Apply MGLSA digital filter for speech synthesis to signals.
The transfer function
of an MLSA filter is is implemented by cascading filter :The filter coeffcients
are obtained by applying gain normalization to the MLSA filter coefficients: to an input signal in time domain.Public Functions
-
MglsaDigitalFilter(int num_filter_order, int num_pade_order, int num_stage, double alpha, bool transposition)
- Parameters
num_filter_order – [in] Order of filter coefficients,
.num_pade_order – [in] Order of Pade approximation,
.num_stage – [in] Number of stages,
. If zero, MLSA filter is used.alpha – [in] All-pass constant,
.transposition – [in] If true, use transposed form filter.
-
inline int GetNumFilterOrder() const
- Returns
Order of coefficients.
-
inline int GetNumPadeOrder() const
- Returns
Order of Pade approximation.
-
inline int GetNumStage() const
- Returns
Number of stages.
-
inline double GetAlpha() const
- Returns
All-pass constant.
-
inline bool GetTranspositionFlag() const
- Returns
True if transposed form is used.
-
inline bool IsValid() const
- Returns
True if this object is valid.
-
bool Run(const std::vector<double> &filter_coefficients, double filter_input, double *filter_output, MglsaDigitalFilter::Buffer *buffer) const
- Parameters
filter_coefficients – [in]
-th order MGLSA filter coefficients.filter_input – [in] Input signal.
filter_output – [out] Output signal.
buffer – [inout] Buffer.
- Returns
True on success, false on failure.
-
bool Run(const std::vector<double> &filter_coefficients, double *input_and_output, MglsaDigitalFilter::Buffer *buffer) const
- Parameters
filter_coefficients – [in]
-th order MGLSA filter coefficients.input_and_output – [inout] Input/output signal.
buffer – [inout] Buffer.
- Returns
True on success, false on failure.
-
class Buffer
Buffer for MglsaDigitalFilter class.
-
MglsaDigitalFilter(int num_filter_order, int num_pade_order, int num_stage, double alpha, bool transposition)