5

From CMUSphinx FAQ: There are various types of MFCC which differ by number of parameters, but not really different for accuracy (it might be a few percent worse or better). The interpretation of MFCC (Roughtly introduced Alan V. Oppenheim and Ronald W. Schafer. From Frequency to Quefrency: A History of the Cepstrum. IEEE SIGNAL PROCESSING ...


4

The cepstrum is defined as: $C = | \mathcal{F} \log( P(f) ) |^2$ $\mathcal{F}$ is a Fourier transform and $P(f)$ is the power spectrum. If you've got the power spectrum for the signal there is no need to go back to the time domain. Just take the logarithm, compute an FFT, take the magnitude squared of the result. Also, the data you list is strictly ...


4

A common technique for computing the inverse fft is to invert the imaginary part of the input array, perform a forward fft and then invert the imaginary part of the output array. In the case of the Cepstrum, the input to the ifft is real-valued (due to the absolute value function) and also symmetric. In this case there is no imaginary part on the input to ...


4

It's better to copy first frame and last frame values to extend vector sequence beyond boundaries than to assign 0. This could be implemented just by adjusting indexes: if (index1 < 0) index1 = 0 if (index2 > N - 1) index2 = N - 1 delta = v[index1] - v[index2]


3

It's common, when computing a cepstrum, to replace any zero's or tiny magnitudes in the 1st FFT result with some (noise) floor value to keep the scale and range of the log function "reasonable looking". Huge negative spikes (or -inf) from the log() of tiny spectrum magnitudes don't usually provide that much added useful information to the rest of the ...


3

This is the exact same extraction procedure. Parameters such as frame rate, number of filter banks, band spacing etc. might vary a bit from one system to another, but this is just a consequence of the tuning procedure (the parameters yielding the best performance are selected), more than a fundamental difference. The "sweet spot" for some parameters such as ...


3

If you have image in the spatial domain, in order to calculate its DFT transform you should use fft. Once you have its DFT in order to get back to the spatial domain use the function ifft. Either way, the DFT transform gives you the data in the [0, 2pi] axis. Use fftshift to move it into the [-pi, pi] domain as seen in the paper. Good Luck. MATLAB Code ...


2

Real strings don't have a perfect integer overtone series. Responsible for this is the stiffness of the string that gives higher frequencies (i.e. shorter wavelength) a greater force towards the equilibrium position and increases the frequency of the higher order modes. This small inharmonicity is responsible for the general shape of your cepstrum. Our ...


2

IIRC, Karplus-Strong is usually a single linear harmonic waveguide. Plucking a stringed instrument starts several things in vibration other that the string (sound board, air in cavity, etc.), many of them producing inharmonic overtones due to material stiffness, thickness and non-uniformity, some of which exchange energy and/of change in a non-linear ...


2

The point seems to be moot. An attacker could hide in noise. Any meaningful interpretation of the question appears to aim for temporal regularity of attacks. Maybe an attack is temporally regular, but so is users' behavior. So, there might be lots of applications for transforms in malware detection, but none of them appears to promise any insight on how to ...


2

You should split the signal up into overlapping chunks of 20 to 30 ms. It is certainly valid to take the complex cepstrum on the 4 second signal. But, since the frequency characteristics of speech are constantly varying the complex cepstrum on the 4 second signal will average all of these together and you won't know what happened when. If you take it in each ...


2

Usually in speech signal processing cepstrum is used to represent low and high frequency components , which are multiplied with each other(in time domain its a slowly varying signal convolved with high frequency signal). What's the reasoning behind using log value? logarithm is taken to remove the multiplicative effect and convert it to addition of two ...


2

I don't believe there is a right answer. DCT or IDCT will achieve the same purpose: decorrelating to put most energy in fewer coefficients. Whatever you do next with your MFCC (compression, feature extraction) will work with either approach. Similarly, I think there are implementations that do an FFT instead of an IFFT for the first stage of the MFCC ...


2

Do you need extract the spectral envelope from original and pitch shifted signal and then warp the shifted spectral to match with the original! You can use cepstrum, LPC or a channel vocoder to extract the envelope! The real cepstrum can be computed using this equation: Rcepstrum=real(ifft(log(abs(fft(windowed_signal))))) Now do you need low pass ...


2

RTFM? rceps says: y = real(ifft(log(abs(fft(x))))); while cecps says: h = fft(x); logh = log(abs(h)) + sqrt(-1)*rcunwrap(angle(h)); y = real(ifft(logh));


2

When using an FFT, an evenly spaced sequence of events in one domain usually produces a strong component in the other domain at a location related to the spacing of the events in the first domain. A voiced speech signal usually includes a lot of harmonics which are evenly spaced in the frequency domain. These evenly spaced events in the frequency domain ...


1

You may be working the wrong problem here: echo data hiding seems like a sub-optimal choice for an acoustic channel (speaker -> microphone). Transmitting data acoustically in a room is very hard. The channel is quite complicated and difficult to deal with: Loudspeakers tend to be very non-flat and have a fair bit of non-linear distortion. Microphones are ...


1

“efficiency” comes from a-priori assumptions. One assumption that makes a Cepstrum useful is that the signal contains something roughly periodic including a set of harmonics or overtones, possibly inside some sort of frequency spectrum envelope. So a Cepstrum is mostly just an FFT of an FFT. with a few mods. On mod is to take the log magnitude after the ...


1

We're looking for a series representation $$\log H(z)=C(z)=\sum_{n=-\infty}^{\infty}c[n]z^{-n}\tag{1}$$ which converges in an annular region $r_1<|z|<r_2$ with $0<r_1<1<r_2$. Note that the poles as well as the zeros of $H(z)$ lead to singularities of $C(z)$. All poles and zeros of $H(z)$ inside the unit circle contribute to the right-sided ...


1

in filtering we try to separate two signals from each other. if two signals are added together this is the normal filtering. but these two signals could be multiplied or convoluted with each other. considering there are huge scientific background on this kind of filtering ( for additive signals) we try to transform other problems to this kind. if signals ...


1

Linear Prediction Cepstral Coefficients (LPCC) can easily be computed from LPC (Linear Prediction Coefficients) and I think that a LPC function is implemented in the same package as the MFCC. All you need to know for extracting $p + 1$ first LPC is here. The formula that link LPC and LPCC is: $c_0 = ln(p)$ $c_1 = a_1$ $c_i = -a_i + \sum_{n=1}^{i-1}\frac{...


1

For Cepstrum I always have used to this steps: Apply hamming windows in the signal Apply FFT Get magnitude Convert to log scale Apply IFFT The equation for cepstrum: IFFT(log(abs(FFT(s)))) But you can use FFT or IFFT, take a look: IFFT(log(abs(FFT(s)))) == real(FFT(log(abs(FFT(s))))) The difference is the scale representation, if do you end using FFT ...


1

Note that a Hilbert transform relationship for maximum phase systems can only exist if a maximum phase system is defined to be an anti-causal stable system with an anti-causal stable inverse (cf. these MIT course notes, p.4). Considering only systems with rational transfer functions, this means that not only the system's zeros but also its poles must be in ...


1

For the zero-th cepstral coefficient, the sign is probably always positive since it represents the average energy of the entire spectrum. For higher-order coefficients, seeing that the question was first posted in 2017, does the OP maybe already have an answer? Would be interested to learn.


1

Regarding "Why log?", in addition to the simpler log-domain math as @arpit-jain already discussed another domain-specific motivation is psychoacoustics. Human perception of audio is logarithmic. More precisely, ear drums are sensitive to variations in the sound pressure level (SPL) on the order of a few micropascals to 1+ bar, so SPL is also measured ...


1

If $h[n]$ is the impulse response of an all-pole minimum-phase filter of order $p$, then we have $$\mathcal{Z}\{h[n]\}=H(z)=\frac{G}{1-\displaystyle\sum_{k=1}^pa_kz^{-k}}\tag{1}$$ where $G$ is some gain value, and $a_k$ are the predictor coefficients. Let $\hat{h}[n]$ be the complex cepstral coefficients of $h[n]$. If you know how to compute $\hat{h}[n]$ ...


1

From your description, it looks like the log operation will have the effect of shrinking the amplitude range at different frequencies. Generating the cepstrum by taking the IFFT of the log(FFT) should generate a sharper signal. You can experiment with using different log bases and nth roots to understand the effect.


Only top voted, non community-wiki answers of a minimum length are eligible