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 [scalar]
- Order of input cepstrum, \(M_1\). 
- out_orderint >= 0 [scalar]
- Order of output cepstrum, \(M_2\). 
- in_alphafloat [-1 < in_alpha < 1]
- Input alpha, \(\alpha_1\). 
- out_alphafloat [-1 < out_alpha < 1]
- Output alpha, \(\alpha_2\). 
- in_gammafloat [-1 <= in_gamma <= 1]
- Input gamma, \(\gamma_1\). 
- out_gammafloat [-1 <= out_gamma <= 1]
- Output gamma, \(\gamma_2\). 
- in_normbool [scalar]
- If True, assume normalized input. 
- out_normbool [scalar]
- If True, assume normalized output. 
- in_mulbool [scalar]
- If True, assume gamma-multiplied input. 
- out_mulbool [scalar]
- If True, assume gamma-multiplied output. 
- n_fftint >> \(M_1, M_2\) [scalar]
- Number of FFT bins. Accurate conversion requires the large value. 
 
 - forward(c1)[source]#
- Convert mel-generalized cepstrum to mel-generalized cepstrum. - Parameters:
- c1Tensor [shape=(…, M1+1)]
- Input mel-cepstrum. 
 
- Returns:
- c2Tensor [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])