Normalisasi Mean Cepstral

15

Adakah yang bisa menjelaskan tentang Normalisasi Cepstral Berarti, bagaimana sifat kesetaraan konvolusi memengaruhi ini? Apakah harus melakukan CMN dalam Pengenalan Speaker Berbasis MFCC? Mengapa properti konvolusi adalah kebutuhan mendasar untuk MFCC?

Saya sangat baru dalam pemrosesan sinyal ini. Tolong bantu

mun
sumber
Bisakah tanpa menggunakan bank filter, mengubah frekuensi secara langsung menjadi melscale akan berfungsi dalam proses MFCC?
ungu

Jawaban:

17

Hanya untuk memperjelas - properti ini tidak mendasar tetapi penting . Ini adalah perbedaan mendasar ketika menggunakan DCT, bukan DFT untuk perhitungan spektrum.

Mengapa kita melakukan Normalisasi Mean Cepstral

Dalam pengenalan speaker, kami ingin menghapus efek saluran apa pun (respons impuls saluran suara, jalur audio, ruang, dll.). Asalkan sinyal input adalah dan respons impuls saluran diberikan oleh h [ n ] , sinyal yang terekam adalah konvolusi linear dari keduanya:x[n]h[n]

y[n]=x[n]h[n]

Dengan mengambil Transformasi Fourier kita dapatkan:

Y[f]=X[f]H[f]

karena properti kesetaraan konvolusi-multiplikasi FT - itulah mengapa ini merupakan properti FFT yang sangat penting pada langkah ini .

Langkah selanjutnya dalam perhitungan cepstrum adalah mengambil logaritma spektrum:

Y[q]=logY[f]=log(X[f]H[f])=X[q]+H[q]

karena: . Jelas, q adalah quefrency . Seperti yang kita perhatikan, dengan mengambil cepstrum convolution dalam domain waktu kita berakhir dengan penambahan dalam cepstral (quefrency) domain.log(ab)=loga+logbq

Apa itu Normalisasi Mean Cepstral?

Sekarang kita tahu bahwa dalam domain cepstral setiap distorsi konvolusional diwakili oleh penambahan. Mari kita asumsikan bahwa semuanya stasioner (yang merupakan asumsi kuat karena saluran vokal dan respons saluran tidak berubah) dan bagian stasioner dari pembicaraan dapat diabaikan. Kita dapat mengamati bahwa untuk setiap frame ke-i true adalah:

Yi[q]=H[q]+Xi[q]

Dengan mengambil rata-rata dari semua frame yang kita dapatkan

1NiYi[q]=H[q]+1NiXi[q]

Mendefinisikan perbedaan:

Ri[q]=Yi[q]1NjYj[q]=H[q]+Xi[q](H[q]+1NjXj[q])=Xi[q]1NjXj[q]

We ending up with our signal with channel distortions removed. Putting all above equations into simple English:

  • Calculate cepstrum
  • Subtract the average from each coefficient
  • Optionally divide by variance to perform Cepstral Mean Normalisation as opposed to Subtraction.

Is Cepstral Mean Normalisation necessary?

It's not mandatory, especially when you are trying to recognise one speaker in a single environment. In fact, it can even deteriorate your results, as it's prone to errors due to additive noise:

y[n]=x[n]h[n]+w[n]

Y[f]=X[f]H[f]+W[f]

logY[f]=log[X[f](H[f]+W[f]X[f])]=logX[f]+log(H[f]+W[f]X[f])

In poor SNR conditions marked term can overtake the estimation.

Although when CMS is performed, you can usually gain few extra percent. If you add to that performance gain from derivatives of coefficients then you get a real boost of your recognition rate. The final decision is up to you, especially that there are plenty of other methods used for the improvement of speech recognition systems.

jojek
sumber
@mun: Glad it helped. Why not to mark answers to your questions as accepted so you could remove new-user restrictions?
jojek
@mun: Congrats! Now you post more links, vote up on questions and answers + flag posts.
jojek
thanks @jojek ..I am very new to these all.But am glad that I got my problem solved.
mun
@mun: Then I definitely suggest you to take a quick tour
jojek
In last answer, I cannot get what "add to that performance gain from derivatives of coefficients" actually mean. Can you give some simple explain? Thanks a lot
Shuai Wang