MFCC Nedir?
MFCC (Mel Frequency Cepstral Coefficients), ham ses sinyalinden makine öğrenimi modellerine uygun kompakt özellik vektörleri çıkaran standart bir tekniktir. 1980'de Davis ve Mermelstein tarafından konuşma tanıma amacıyla tasarlanan bu yöntem, insan işitme sisteminin frekansları doğrusal değil logaritmik algıladığı gözleminden hareket eder. "Mel" kelimesi bu psikoakustik ölçeğin adını taşır; "kepstral" ise spektrumun logaritmik dönüşümünü ifade eder.
Hesaplama Adımları
MFCC hesaplaması altı temel adımdan oluşur:
1. Ön vurgu (Pre-emphasis): Yüksek frekansları artıran bir filtre uygulanır (tipik katsayı: 0.97). 2. Çerçeveleme ve Pencereleme: Sinyal 20–40 ms uzunluğunda örtüşen çerçevelere bölünür; Hamming penceresiyle spektral sızıntı azaltılır. 3. FFT: Her çerçevede güç spektrumu hesaplanır. 4. Mel Filtre Bankası: Mel ölçeğinde dağılmış 26 bant geçiren filtre uygulanır; her filtreden logaritmik enerji alınır. 5. DCT: 26 log-enerji değerine Ayrık Kosinüs Dönüşümü uygulanarak katsayılar dekorelasyona tabi tutulur; ilk 12–13 katsayı tutulur. 6. Delta Katsayılar: Zaman boyutundaki değişimleri yakalamak için birinci türev (delta) ve ikinci türev (delta-delta) eklenir; tipik vektör boyutu 39 olur.
Neden Mel Ölçeği?
İnsan kulağı özellikle düşük frekanslarda (1 kHz altında) yüksek hassasiyetle çalışırken yüksek frekanslarda çok daha kaba ayrımlar yapar. Doğrusal bir ölçekte 1000 Hz ile 1100 Hz arasındaki fark, 6000 Hz ile 6100 Hz arasındaki farkla eşdeğer görünür; oysa kulak için çok daha anlamlıdır. Mel dönüşümü bu asimetriyi düzelterek ses tanıma modellerinin konuşma içeriğini daha az katsayıyla temsil etmesine zemin hazırlar.
Kullanım Alanları
- check_circle Otomatik Konuşma Tanıma (ASR): HMM-GMM sistemlerinde birincil giriş özelliği; derin öğrenme tabanlı sistemlerde ise sıklıkla log-mel spectrogram ile birlikte kullanılır.
- check_circle Konuşmacı Tanıma ve Doğrulama: Kişiye özgü vokal izleri temsil eder; konuşmacı doğrulama ve kimlik tespiti sistemlerinin temel giriş özelliğidir.
- check_circle Ses Duygu Tanıma: Duygusal durumu yansıtan prosodik özellikleri kodlar; çağrı merkezi analitiği ve insan-robot etkileşiminde kullanılır.
- check_circle Ses Sınıflandırma: Çevre seslerini, müzik türlerini ve enstrümanları birbirinden ayırt etmek için standart bir özellik olarak kullanılır.
- check_circle Müzik Bilgi Geri Çağırma (MIR): Melodiyi ve temberi kodlamada kullanılır; ses parmak izi ve benzer müzik arama sistemlerinin temelidir.
Derin Öğrenme Çağında MFCC
Wav2vec 2.0 ve Whisper gibi modern sistemler ham dalga biçimlerini (raw waveform) doğrudan işleyerek kendi dahili temsilleri öğrenir. Bu yaklaşım insan tanımlı bir özellik çıkarma aşaması gerektirmez. Buna karşın MFCC bazı senaryolarda tercih edilmeye devam etmektedir: düşük işlem kapasiteli gömülü sistemlerde, az veriyle çalışan uygulamalarda ve açıklanabilirlik gerektiren bağlamlarda. Ayrıca yıllarca MFCC üzerine inşa edilmiş üretim sistemleri, miras kod tabanlarında bu tekniği yaygın kılmaya devam etmektedir.
Sık Sorulan Sorular
- check_circle MFCC ile log-mel spectrogram arasındaki fark nedir? Log-mel spectrogram, Mel filtre bankası çıkışının logaritmasıdır ve DCT adımı uygulanmaz. MFCC ise log-mel'e DCT ekleyerek katsayıları dekorelasyona tabi tutar. Derin öğrenme modelleri genellikle log-mel spectrogram kullanır; çünkü DCT'nin sunduğu dekorelasyon CNN veya Transformer tarafından öğrenilebilir bir dönüşümdür.
- check_circle Kaç MFCC katsayısı kullanılmalı? Konuşma tanıma için 12–13 statik katsayı standarttır. Delta ve delta-delta katsayılar eklendiğinde tipik vektör boyutu 39'a çıkar. Müzik işleme gibi daha zengin temsil gerektiren görevlerde 20 veya daha fazla katsayı tercih edilebilir.
- check_circle MFCC hangi kütüphanelerle hesaplanır? Python'da librosa.feature.mfcc() ve python_speech_features en yaygın seçeneklerdir. librosa aynı zamanda log-mel spectrogram, chroma ve spektral kontrast gibi tamamlayıcı özellikleri de destekler.
- check_circle MFCC gürültüye dayanıklı mıdır? Görece değil; gürültülü ortamlarda MFCC bozulabilir. Cepstral Mean and Variance Normalization (CMVN) bu sorunu kısmen azaltır. Daha dayanıklı alternatifler için RASTA-PLP veya gürültü dayanıklılığı artırılmış filtre bankaları tercih edilebilir.