freqt2#
- class diffsptk.SecondOrderAllPassFrequencyTransform(in_order, out_order, alpha=0, theta=0, n_fft=512)[source]#
Second-order all-pass frequency transform module.
- Parameters:
- in_orderint >= 0
Order of input sequence, \(M_1\).
- out_orderint >= 0
Order of output sequence, \(M_2\).
- alphafloat in (-1, 1)
Frequency warping factor, \(\alpha\).
- thetafloat in [0, 1]
Emphasis frequency, \(\theta\).
- n_fftint >> M2
Number of FFT bins. Accurate conversion requires the large value.
References
[1]T. Wakako et al., “Speech spectral estimation based on expansion of log spectrum by arbitrary basis functions,” IEICE Trans, vol. J82-D-II, no. 12, pp. 2203-2211, 1999 (in Japanese).
- forward(c)[source]#
Perform second-order all-pass frequency transform.
- Parameters:
- cTensor [shape=(…, M1+1)]
Input sequence.
- Returns:
- outTensor [shape=(…, M2+1)]
Warped sequence.
Examples
>>> c1 = diffsptk.nrand(3) >>> c1 tensor([ 0.0304, 0.5849, -0.8668, -0.7278]) >>> freqt2 = diffsptk.SecondOrderAllPassFrequencyTransform(3, 4, .1, .3) >>> c2 = freqt2(c1) >>> c2 tensor([ 0.0682, 0.4790, -1.0168, -0.6026, 0.1094]) >>> ifreqt2 = diffsptk.SecondOrderAllPassInverseFrequencyTransform(4, 3, .1, .3) >>> c3 = ifreqt2(c2) >>> c3 tensor([ 0.0682, 0.4790, -1.0168, -0.6026, 0.1094])
- diffsptk.functional.freqt2(c, out_order, alpha=0, theta=0, n_fft=512)[source]#
Perform second-order all-pass frequency transform.
- Parameters:
- cTensor [shape=(…, M1+1)]
Cepstral coefficients.
- out_orderint >= 0
Order of output cepstrum, \(M_2\).
- alphafloat in (-1, 1)
Frequency warping factor, \(\alpha\).
- thetafloat in [0, 1]
Emphasis frequency, \(\theta\).
- n_fftint >> M2
Number of FFT bins. Accurate conversion requires the large value.
- Returns:
- outTensor [shape=(…, M2+1)]
Warped cepstral coefficients.