Bagaimana cara menginterpretasikan langkah DCT dalam proses ekstraksi MFCC?

20

Dalam sebagian besar tugas pemrosesan audio, salah satu transformasi yang paling sering digunakan adalah MFCC (koefisien cepstral Mel-frequency) .

Saya kebanyakan tahu matematika yang ada di belakang MFCC: Saya mengerti langkah filterbank dan skala frekuensi Mel.

Apa yang tidak saya dapatkan adalah langkah DCT (Discrete Cosine Transform): Informasi apa yang saya dapatkan di langkah ini? Apa representasi visual yang baik dari langkah ini?

Andrea Spadaccini
sumber
1
Saya akan menambahkan penjelasan singkat tentang MFCC, atau setidaknya tautan: en.wikipedia.org/wiki/Mel-frequency_cepstral_coefisien
semacam robot

Jawaban:

16

Anda dapat menganggap DCT sebagai langkah kompresi. Biasanya dengan MFCC, Anda akan mengambil DCT dan kemudian hanya menyimpan beberapa koefisien pertama. Ini pada dasarnya alasan yang sama bahwa DCT digunakan dalam kompresi JPEG. DCT dipilih karena kondisi batasnya bekerja lebih baik pada jenis sinyal ini.

Mari kita kontraskan DCT dengan transformasi Fourier. Transformasi Fourier terdiri dari sinusoid yang memiliki jumlah siklus bilangan bulat. Ini berarti, semua fungsi basis Fourier mulai dan berakhir pada nilai yang sama - mereka tidak melakukan pekerjaan yang baik untuk mewakili sinyal yang mulai dan berakhir pada nilai yang berbeda. Ingatlah bahwa transformasi Fourier mengasumsikan ekstensi periodik: Jika Anda membayangkan sinyal Anda pada selembar kertas, transformasi Fourier ingin menggulung lembaran itu menjadi sebuah silinder sehingga sisi kiri dan kanan bertemu.

Pikirkan spektrum yang berbentuk kira-kira seperti garis dengan kemiringan negatif (yang sangat khas). Transformasi Fourier harus menggunakan banyak koefisien yang berbeda agar sesuai dengan bentuk ini. Di sisi lain, DCT memiliki cosinus dengan jumlah siklus setengah bilangan bulat. Ada, misalnya, fungsi basis DCT yang terlihat samar-samar seperti garis dengan kemiringan negatif. Itu tidak menganggap ekstensi periode (sebagai gantinya, ekstensi genap), jadi itu akan melakukan pekerjaan yang lebih baik dari bentuk itu.

Jadi, mari kita selesaikan ini. Setelah Anda menghitung spektrum frekuensi Mel, Anda memiliki representasi spektrum yang sensitif dengan cara yang mirip dengan cara kerja pendengaran manusia. Beberapa aspek bentuk ini lebih relevan daripada yang lain. Biasanya, bentuk spektral yang lebih besar lebih besar lebih penting daripada detail halus berisik dalam spektrum. Anda dapat membayangkan menggambar garis halus untuk mengikuti bentuk spektral, dan bahwa garis halus yang Anda gambar mungkin memberi tahu Anda tentang sinyal.

Ketika Anda mengambil DCT dan membuang koefisien yang lebih tinggi, Anda mengambil bentuk spektral ini, dan hanya menjaga bagian-bagian yang lebih penting untuk mewakili bentuk halus ini. Jika Anda menggunakan transformasi Fourier, itu tidak akan melakukan pekerjaan yang baik menjaga informasi penting dalam koefisien rendah.

Jika Anda berpikir tentang memberi makan MFCC sebagai fitur untuk algoritma pembelajaran mesin, koefisien tingkat rendah ini akan membuat fitur yang baik, karena mereka mewakili beberapa aspek sederhana dari bentuk spektral, sedangkan koefisien tingkat tinggi yang Anda buang lebih mirip noise. dan tidak penting untuk dilatih. Selain itu, pelatihan pada besaran spektrum Mel sendiri mungkin tidak akan sebaik karena amplitudo tertentu pada frekuensi yang berbeda kurang penting daripada bentuk umum spektrum.

schnarf
sumber
Menarik untuk membaca jawaban ini untuk pertanyaan terkait juga.
Eric Platon
8

Kunci untuk memahami MFCC adalah di awal kalimat dalam artikel yang ditautkan:

Mereka berasal dari jenis representasi cepstral dari klip audio ...

MFCC seperti spektrum- log- spektrum, cepstrum .

x(t)

C(z)=F-1(log(|F(x(t))|2)

FF-1

Alasan mengapa cepstrum rapi adalah karena operasi logaritma yang disisipkan berarti konvolusi dari sinyal asli muncul sebagai tambahan sederhana dalam cepstrum .

Keuntungan itu terbawa ke MFCCs, meskipun penyelamatan hidup tidak langsung seperti dengan cepstrum standar.

Di mana MFCC berbeda dalam penggunaan diskrit cosinus transform (DCT) sebagai transformasi akhir bukan transformasi Fourier terbalik.

Keuntungan DCT memiliki lebih dari transformasi Fourier adalah bahwa koefisien yang dihasilkan bernilai nyata , yang membuat pemrosesan dan penyimpanan selanjutnya lebih mudah.

Peter K.
sumber