Comment interpréter l'étape DCT dans le processus d'extraction MFCC?

20

Dans la plupart des tâches de traitement audio, l'une des transformations les plus utilisées est le MFCC (Mel-Frequency cepstral coefficients) .

Je connais surtout les mathématiques derrière le MFCC: je comprends à la fois le pas du banc de filtres et la mise à l'échelle de la fréquence Mel.

Ce que je n'obtiens pas, c'est l'étape DCT (Discrete Cosine Transform): Quel type d'informations puis-je obtenir à cette étape? Quelle est une bonne représentation visuelle de cette étape?

Andrea Spadaccini
la source
1
J'ajouterais une brève explication de MFCC, ou au moins un lien: en.wikipedia.org/wiki/Mel-frequency_cepstral_coefficient
une sorte de robot

Réponses:

16

Vous pouvez considérer le DCT comme une étape de compression. Généralement avec les MFCC, vous prendrez le DCT et ne conserverez que les premiers coefficients. C'est essentiellement la même raison que le DCT est utilisé dans la compression JPEG. Les DCT sont choisis parce que leurs conditions aux limites fonctionnent mieux sur ces types de signaux.

Comparons le DCT avec la transformée de Fourier. La transformée de Fourier est composée de sinusoïdes qui ont un nombre entier de cycles. Cela signifie que toutes les fonctions de base de Fourier commencent et se terminent à la même valeur - elles ne font pas un bon travail de représentation des signaux qui commencent et se terminent à des valeurs différentes. N'oubliez pas que la transformée de Fourier suppose une extension périodique: si vous imaginez votre signal sur une feuille de papier, la transformée de Fourier veut rouler cette feuille dans un cylindre afin que les côtés gauche et droit se rencontrent.

Pensez à un spectre qui a la forme d'une ligne à pente négative (ce qui est assez typique). La transformée de Fourier devra utiliser de nombreux coefficients différents pour s'adapter à cette forme. D'autre part, le DCT a des cosinus avec un nombre demi-entier de cycles. Il existe, par exemple, une fonction de base DCT qui ressemble vaguement à cette ligne avec une pente négative. Il ne suppose pas une extension de période (à la place, une extension paire), donc il fera un meilleur travail d'ajustement de cette forme.

Alors, mettons cela ensemble. Une fois que vous avez calculé le spectre de fréquence Mel, vous avez une représentation du spectre qui est sensible d'une manière similaire au fonctionnement de l'audition humaine. Certains aspects de cette forme sont plus pertinents que d'autres. Habituellement, la forme spectrale plus large et plus globale est plus importante que les détails fins et bruyants du spectre. Vous pouvez imaginer dessiner une ligne lisse pour suivre la forme spectrale, et que la ligne lisse que vous dessinez pourrait vous en dire autant sur le signal.

Lorsque vous prenez le DCT et jetez les coefficients les plus élevés, vous prenez cette forme spectrale et ne conservez que les parties les plus importantes pour représenter cette forme lisse. Si vous utilisiez la transformée de Fourier, cela ne ferait pas un si bon travail de conserver les informations importantes dans les faibles coefficients.

Si vous pensez à alimenter les MFCC en tant que fonctionnalités d'un algorithme d'apprentissage automatique, ces coefficients d'ordre inférieur feront de bonnes fonctionnalités, car ils représentent certains aspects simples de la forme spectrale, tandis que les coefficients d'ordre supérieur que vous jetez sont plus proches du bruit et ne sont pas importants pour s'entraîner. De plus, la formation sur les amplitudes du spectre Mel elles-mêmes ne serait probablement pas aussi bonne car l'amplitude particulière à différentes fréquences est moins importante que la forme générale du spectre.

schnarf
la source
Intéressant de lire également cette réponse à une question connexe .
Eric Platon
8

La clé pour comprendre MFCC se trouve au début de la phrase dans l'article lié à:

Ils sont dérivés d'un type de représentation cepstrale du clip audio ...

MFCCs sont comme un spectre de-a- journal -spectrum, le cepstre .

Le cepstre d'un signal X(t)est juste:

C(z)=F-1(Journal(|F(X(t))|2)

F est la transformée de Fourier et F-1 son inverse.

La raison pour laquelle le cepstre est net est que l'opération de logarithme interposé signifie que les convolutions du signal d'origine apparaissent comme de simples ajouts dans le cepstre .

Cet avantage se retrouve dans les MFCC, bien que le levage ne soit pas aussi direct qu'avec le cepstrum standard.

Là où le MFCC diffère, c'est dans l'utilisation de la transformée en cosinus discrète (DCT) comme transformée finale au lieu de la transformée de Fourier inverse.

L'avantage du DCT sur la transformée de Fourier est que les coefficients résultants ont une valeur réelle , ce qui facilite le traitement et le stockage ultérieurs.

Peter K.
la source