MFCC çıkarma işlemindeki DCT adımını nasıl yorumlayabilirim?


20

Çoğu ses işleme görevinde, en çok kullanılan dönüşümlerden biri MFCC'dir (Mel-frekans cepstral katsayıları) .

Çoğunlukla MFCC'nin arkasındaki matematiği biliyorum: Hem filtre bankası adımını hem de Mel frekansı ölçeklendirmesini anlıyorum.

DCT (Ayrık Kosinüs Dönüşümü) adımı: Bu adımda ne tür bilgiler alabilirim? Bu adımın iyi bir görsel temsili nedir?


1
MFCC'nin kısa bir açıklamasını ya da en azından bir bağlantısını eklerdim
bir tür robot

Yanıtlar:


16

DCT'yi bir sıkıştırma adımı olarak düşünebilirsiniz. Tipik olarak MFCC'lerde, DCT'yi alıp yalnızca ilk birkaç katsayıyı koruyacaksınız. Bu temelde DCT'nin JPEG sıkıştırmasında kullanılmasıyla aynı nedendir. DCT'ler seçilir çünkü sınır koşulları bu tür sinyallerde daha iyi çalışır.

DCT'yi Fourier dönüşümü ile karşılaştıralım. Fourier dönüşümü, tamsayı sayıda döngüye sahip sinüzoidlerden oluşur. Bu, Fourier temel işlevlerinin tümü aynı değerde başlar ve biter - farklı değerlerde başlayan ve biten sinyalleri temsil etmek için iyi bir iş yapmazlar. Fourier dönüşümünün periyodik bir uzantı aldığını unutmayın: Sinyalinizi bir kağıt üzerinde hayal ederseniz, Fourier dönüşümü sol ve sağ tarafların birleşmesi için bu sayfayı bir silindire dönüştürmek ister.

Kabaca negatif eğimli (oldukça tipik olan) bir çizgi gibi şekillendirilmiş bir spektrumu düşünün. Fourier dönüşümü bu şekle uyması için birçok farklı katsayı kullanmalıdır. Öte yandan, DCT'de yarı tamsayı sayıda döngü içeren kosinüsler bulunur. Örneğin, negatif eğimli o çizgiye benzeyen bir DCT temel işlevi vardır. Bir dönem uzatması (bunun yerine eşit bir uzantı) varsaymaz, bu nedenle bu şekle uydurmak için daha iyi bir iş yapar.

Öyleyse, bunu bir araya getirelim. Mel-frekans spektrumunu hesapladıktan sonra, insan işitmesinin işleyişine benzer şekilde duyarlı spektrumun bir temsiline sahipsiniz. Bu şeklin bazı yönleri diğerlerinden daha önemlidir. Genellikle, daha büyük kapsayıcı spektral şekil, spektrumdaki gürültülü ince detaylardan daha önemlidir. Spektral şekli takip etmek için düzgün bir çizgi çizmeyi hayal edebilirsiniz ve çizdiğiniz düz çizginin size sinyal hakkında çok fazla şey söyleyebileceğini hayal edebilirsiniz.

DCT'yi alıp daha yüksek katsayıları attığınızda, bu spektral şekli alıyorsunuz ve yalnızca bu pürüzsüz şekli temsil etmek için daha önemli parçaları koruyorsunuz. Fourier dönüşümünü kullandıysanız, önemli bilgileri düşük katsayılarda tutmak iyi bir iş olmazdı.

MFCC'leri bir makine öğrenme algoritmasına özellikler olarak beslemeyi düşünüyorsanız, bu düşük dereceli katsayılar iyi özellikler yaratacaktır çünkü bunlar spektral şeklin bazı basit yönlerini temsil ederken, attığınız yüksek dereceli katsayılar daha gürültüye benzer ve eğitilmesi önemli değildir. Ek olarak, Mel spektrum büyüklükleri üzerinde eğitim muhtemelen iyi olmayacaktır çünkü farklı frekanslardaki belirli genlik, spektrumun genel şeklinden daha az önemlidir.


İlgili bir soruya da bu cevabı okumak ilginç .
Eric Platon

8

MFCC'yi anlamanın anahtarı, bağlantılı makaledeki cümlenin başlangıcındadır:

Ses klibinin bir tür cepstral temsilinden türetilmiştir ...

MFCC'ler bir spektrum-ın-a gibi günlük -spectrum, sepstrumunun .

x(t)

C(z)=F-1(günlük(|F(x(t))|2)

FF-1

Cepstrumun düzgün olmasının nedeni, araya giren logaritma işleminin orijinal sinyalin kıvrımlarının cepstrumda basit eklemeler olarak ortaya çıkması anlamına gelmesidir .

Kaldırma avantajı standart cepstrum kadar doğrudan olmasa da, bu avantaj MFCC'lere uygulanır.

MFCC'nin farklı olduğu yerde, ters Fourier dönüşümü yerine nihai dönüşüm olarak ayrık kosinüs dönüşümü (DCT) kullanılmaktadır.

DCT'nin Fourier dönüşümü üzerindeki avantajı, elde edilen katsayıların gerçek değerli olmasıdır , bu da sonraki işlemeyi ve depolamayı kolaylaştırır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.