mgc2mgc#
- class diffsptk.MelGeneralizedCepstrumToMelGeneralizedCepstrum(in_order, out_order, in_alpha=0, out_alpha=0, in_gamma=0, out_gamma=0, in_norm=False, out_norm=False, in_mul=False, out_mul=False, n_fft=512)[source]#
See this page for details. The conversion uses FFT instead of recursive formula.
- Parameters:
- in_orderint >= 0
Order of input cepstrum, \(M_1\).
- out_orderint >= 0
Order of output cepstrum, \(M_2\).
- in_alphafloat in (-1, 1)
Input alpha, \(\alpha_1\).
- out_alphafloat in (-1, 1)
Output alpha, \(\alpha_2\).
- in_gammafloat in [-1, 1]
Input gamma, \(\gamma_1\).
- out_gammafloat in [-1, 1]
Output gamma, \(\gamma_2\).
- in_normbool
If True, assume normalized input.
- out_normbool
If True, assume normalized output.
- in_mulbool
If True, assume gamma-multiplied input.
- out_mulbool
If True, assume gamma-multiplied output.
- n_fftint >> M1, M2
Number of FFT bins. Accurate conversion requires the large value.
References
[1]K. Tokuda et al., “Mel-generalized cepstral analysis - A unified approach to speech spectral estimation”, Proceedings of ICSLP, pp. 1043-1046, 1996.
- forward(mc)[source]#
Convert mel-generalized cepstrum to mel-generalized cepstrum.
- Parameters:
- mcTensor [shape=(…, M1+1)]
Input mel-cepstrum.
- Returns:
- outTensor [shape=(…, M2+1)]
Converted mel-cepstrum.
Examples
>>> c1 = diffsptk.ramp(3) >>> mgc2mgc = diffsptk.MelGeneralizedCepstrumToMelGeneralizedCepstrum(3, 4, 0.1) >>> c2 = mgc2mgc(c1) >>> c2 tensor([-0.0830, 0.6831, 1.1464, 3.1334, 0.9063])
- diffsptk.functional.mgc2mgc(mc, out_order, in_alpha=0, out_alpha=0, in_gamma=0, out_gamma=0, in_norm=False, out_norm=False, in_mul=False, out_mul=False, n_fft=512)[source]#
Convert mel-generalized cepstrum to mel-generalized cepstrum.
- Parameters:
- mcTensor [shape=(…, M1+1)]
Input mel-cepstrum.
- out_orderint >= 0
Order of output cepstrum, \(M_2\).
- in_alphafloat in (-1, 1)
Input alpha, \(\alpha_1\).
- out_alphafloat in (-1, 1)
Output alpha, \(\alpha_2\).
- in_gammafloat in [-1, 1]
Input gamma, \(\gamma_1\).
- out_gammafloat in [-1, 1]
Output gamma, \(\gamma_2\).
- in_normbool
If True, assume normalized input.
- out_normbool
If True, assume normalized output.
- in_mulbool
If True, assume gamma-multiplied input.
- out_mulbool
If True, assume gamma-multiplied output.
- n_fftint >> M1, M2
Number of FFT bins. Accurate conversion requires the large value.
- Returns:
- outTensor [shape=(…, M2+1)]
Converted mel-cepstrum.