IDCT¶
streaming mode | Standard category
Inputs¶
dct
(vector_real) - the discrete cosine transform
Outputs¶
idct
(vector_real) - the inverse cosine transform of the input array
Parameters¶
dctType
(integer ∈ [2, 3], default = 2) :the DCT type
inputSize
(integer ∈ [1, ∞), default = 10) :the size of the input array
liftering
(integer ∈ [0, ∞), default = 0) :the liftering coefficient. Use ‘0’ to bypass it
outputSize
(integer ∈ [1, ∞), default = 10) :the number of output coefficients
Description¶
This algorithm computes the Inverse Discrete Cosine Transform of an array. It can be configured to perform the inverse DCT-II form, with the 1/sqrt(2) scaling factor for the first coefficient or the inverse DCT-III form based on the HTK implementation.
IDCT can be used to compute smoothed Mel Bands. In order to do this:
compute MFCC
smoothedMelBands = 10^(IDCT(MFCC)/20)
Note: The second step assumes that ‘logType’ = ‘dbamp’ was used to compute MFCCs, otherwise that formula should be changed in order to be consistent.
Note: The ‘inputSize’ parameter is only used as an optimization when the algorithm is configured. The IDCT will automatically adjust to the size of any input.
- References:
[1] Discrete cosine transform - Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Discrete_cosine_transform [2] HTK book, chapter 5.6 , http://speech.ee.ntu.edu.tw/homework/DSP_HW2-1/htkbook.pdf
Source code¶
See also¶
DCT (standard) DCT (streaming) IDCT (standard) MFCC (standard) MFCC (streaming) MelBands (standard) MelBands (streaming)