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.