Jak interpretować krok DCT w procesie ekstrakcji MFCC?

20

W większości zadań przetwarzania audio jedną z najczęściej używanych transformacji jest MFCC (współczynniki cepstralne częstotliwości Mel) .

Wiem głównie matematykę stojącą za MFCC: rozumiem zarówno krok banku filtrów, jak i skalowanie częstotliwości Mel.

Czego nie dostaję to krok DCT (Discrete Cosine Transform): Jakie informacje otrzymuję w tym kroku? Jaka jest dobra wizualna reprezentacja tego kroku?

Andrea Spadaccini
źródło
1
Dodałbym krótkie wyjaśnienie MFCC, a przynajmniej link: en.wikipedia.org/wiki/Mel-frequency_cepstral_coefficient
jakiś robot

Odpowiedzi:

16

Możesz myśleć o DCT jako kroku kompresji. Zazwyczaj w przypadku MFCC bierzesz DCT, a następnie zachowuje tylko kilka pierwszych współczynników. Jest to w zasadzie ten sam powód, dla którego DCT jest używany do kompresji JPEG. DCT są wybierane, ponieważ ich warunki brzegowe działają lepiej na tego typu sygnałach.

Porównajmy DCT z transformacją Fouriera. Transformata Fouriera składa się z sinusoid, które mają całkowitą liczbę cykli. Oznacza to, że wszystkie podstawowe funkcje Fouriera zaczynają się i kończą na tej samej wartości - nie wykonują dobrego zadania reprezentowania sygnałów rozpoczynających się i kończących na różnych wartościach. Pamiętaj, że transformacja Fouriera zakłada okresowe przedłużenie: jeśli wyobrażasz sobie sygnał na kartce papieru, transformacja Fouriera chce zwinąć ten arkusz w walec, tak aby lewa i prawa strona się spotkały.

Pomyśl o spektrum, które jest z grubsza ukształtowane jak linia o ujemnym nachyleniu (co jest dość typowe). Transformacja Fouriera będzie musiała użyć wielu różnych współczynników, aby dopasować się do tego kształtu. Z drugiej strony DCT ma cosinusy o liczbie cykli równej połowie liczby całkowitej. Istnieje na przykład funkcja podstawowa DCT, która wygląda niejasno jak ta linia o ujemnym nachyleniu. Nie zakłada przedłużenia okresu (zamiast tego równe przedłużenie), więc lepiej dopasuje ten kształt.

Połączmy to w całość. Po obliczeniu widma częstotliwości Mela masz reprezentację widma wrażliwego w sposób podobny do działania ludzkiego słuchu. Niektóre aspekty tego kształtu są bardziej odpowiednie niż inne. Zwykle większy, bardziej ogólny kształt widma jest ważniejszy niż hałaśliwe drobne szczegóły w widmie. Możesz sobie wyobrazić, że narysujesz gładką linię podążającą za kształtem spektralnym, a narysowana gładka linia może powiedzieć ci tyle samo o sygnale.

Gdy weźmiesz DCT i odrzucisz wyższe współczynniki, przyjmujesz ten widmowy kształt i zachowujesz tylko te części, które są ważniejsze dla przedstawienia tego gładkiego kształtu. Jeśli użyjesz transformacji Fouriera, nie wykona tak dobrej roboty, utrzymując ważne informacje w niskich współczynnikach.

Jeśli pomyślisz o wprowadzeniu MFCC jako funkcji do algorytmu uczenia maszynowego, te współczynniki niższego rzędu będą dobre, ponieważ reprezentują niektóre proste aspekty kształtu spektralnego, a odrzucane współczynniki wyższego rzędu są bardziej podobne do szumu i nie są ważne do trenowania. Ponadto trening na samych wielkościach widma Mel prawdopodobnie nie byłby tak dobry, ponieważ konkretna amplituda przy różnych częstotliwościach jest mniej ważna niż ogólny kształt widma.

sznurek
źródło
Interesujące jest również przeczytanie tej odpowiedzi na powiązane pytanie .
Eric Platon,
8

Klucz do zrozumienia MFCC znajduje się na początku zdania w powiązanym z nim artykule:

Pochodzą one z pewnego rodzaju cepstralnej reprezentacji klipu audio ...

MFCCs są niczym widmo-of-a- dziennika -spectrum, w cepstrum .

x(t)

do(z)=fa-1(log(|fa(x(t))|2))

fafa-1

Powód, dla którego cepstrum jest schludne, polega na tym, że operacja logarytmu wstawionego oznacza, że zwoje pierwotnego sygnału pojawiają się jako proste uzupełnienia w cepstrum .

Ta zaleta przenosi się na MFCC, chociaż podnoszenie nie jest tak bezpośrednie jak w przypadku standardowej głowicy.

Różnica między MFCC polega na zastosowaniu dyskretnej transformaty kosinusowej (DCT) jako transformacji końcowej zamiast odwrotnej transformaty Fouriera.

Przewaga DCT nad transformacją Fouriera polega na tym, że uzyskane współczynniki są wyceniane w czasie rzeczywistym , co ułatwia późniejsze przetwarzanie i przechowywanie.

Peter K.
źródło