MFCC for speaker recognition
Since Mel-frequency bands are distributed evenly in MFCC and they are much similar to the voice system of a human, MFCC can efficiently be used to characterize speakers. For instance, it can be used to recognize the speaker's cell phone model details and further the details of the speaker.[4]
This type of mobile device recognition is possible because the production of electronic components in a phone have tolerances, because different electronic circuit realizations do not have exact same transfer functions. The dissimilarities in the transfer function from one realization to another becomes more prominent if the task performing circuits are from different manufacturers. Hence, each cell phone introduces a convolutional distortion on input speech that leaves its unique impact on the recordings from the cell phone. Therefore, a particular phone can be identified from the recorded speech by multiplying the original frequency spectrum with further multiplications of transfer functions specific to each phone followed by signal processing techniques. Thus, by using MFCC one can characterize cell phone recordings to identify the brand and model of the phone.[5]
Considering recording section of a cellphone as Linear time-invariant (LTI) filter:
Impulse response- h(n), recorded speech signal y(n) as output of filter in response to input x(n).
Hence, (convolution)
As speech is not stationary signal, it is divided into overlapped frames within which the signal is assumed to be stationary. So, the short-term segment (frame) of recorded input speech is:
- ,
where w(n): windowed function of length W.
Hence, as specified the footprint of mobile phone of the recorded speech is the convolution distortion that helps to identify the recording phone.
The embedded identity of the cell phone requires a conversion to a better identifiable form, hence, taking short-time Fourier transform:
can be considered as a concatenated transfer function that produced input speech, and the recorded speech can be perceived as original speech from cell phone.
So, equivalent transfer function of vocal tract and cell phone recorder is considered as original source of recorded speech. Therefore,
where Xew(f) is the excitation function, is the vocal tract transfer function for speech in the frame and is the equivalent transfer function that characterizes the cell phone.
This approach can be useful for speaker recognition as the device identification and the speaker identification are very much connected.
Providing importance to the envelope of the spectrum which multiplied by filter bank (suitable cepstrum with mel-scale filter bank), after smoothing filter bank with transfer function U(f), the log operation on output energies are:
Representing
MFCC is successful because of this nonlinear transformation with additive property.
Transforming back to time domain:
where, cy(j), ce(j), cw(j) are the recorded speech cepstrum and weighted equivalent impulse response of cell phone recorder that characterizes the cell phone, respectively, while j is the number of filters in the filter bank.
More precisely, the device specific information is in the recorded speech which is converted to additive form suitable for identification.
cy(j) can be further processed for identification of the recording phone.
Often used frame lengths- 20 or 20 ms.
Commonly used window functions- Hamming and Hanning windows.
Hence, Mel-scale is a commonly used frequency scale that is linear till 1000 Hz and logarithmic above it.
Computation of central frequencies of filters in Mel-scale:
- , base 10.
Basic procedure for MFCC calculation:
- Logarithmic filter bank outputs are produced and multiplied by 20 to obtain spectral envelopes in decibels.
- MFCCs are obtained by taking Discrete Cosine Transform (DCT) of the spectral envelope.
- Cepstrum coefficients are obtained as:
, i= 1,2,....,L ,
where ci = cy(i) = ith MFCC coefficient, Nf is the number of triangular filters in the filter bank, Sn is the log energy output of nth filter coefficient and L is the number of MFCC coefficients that we want to calculate.