Как интерпретировать шаг DCT в процессе извлечения MFCC?

20

В большинстве задач обработки аудио одним из наиболее часто используемых преобразований является MFCC (кепстральные коэффициенты Mel-частоты) .

Я в основном знаю математику, стоящую за MFCC: я понимаю и шаг набора фильтров, и масштабирование по Мелу.

Что я не получаю, так это шаг DCT (дискретное косинусное преобразование): какую информацию я получу на этом шаге? Что такое хорошее визуальное представление этого шага?

Андреа Спадаччини
источник
1
Я бы добавил краткое объяснение MFCC или хотя бы ссылку: en.wikipedia.org/wiki/Mel-frequency_cepstral_coefficient
какой-то робот

Ответы:

16

Вы можете думать о DCT как о шаге сжатия. Обычно с MFCC вы берете DCT, а затем сохраняете только первые несколько коэффициентов. Это в основном та же самая причина, по которой DCT используется в сжатии JPEG. DCT выбираются потому, что их граничные условия лучше работают на этих типах сигналов.

Давайте сопоставим DCT с преобразованием Фурье. Преобразование Фурье состоит из синусоид, имеющих целое число циклов. Это означает, что все базисные функции Фурье начинаются и заканчиваются в одном и том же значении - они не очень хорошо представляют сигналы, которые начинаются и заканчиваются в разных значениях. Помните, что преобразование Фурье предполагает периодическое расширение: если вы представляете свой сигнал на листе бумаги, преобразование Фурье хочет свернуть этот лист в цилиндр так, чтобы левая и правая стороны встретились.

Подумайте о спектре, который имеет форму приблизительно линии с отрицательным наклоном (что довольно типично). Преобразование Фурье должно будет использовать множество различных коэффициентов, чтобы соответствовать этой форме. С другой стороны, у DCT есть косинусы с полуцелыми числами циклов. Например, есть базовая функция DCT, которая выглядит неопределенно как эта линия с отрицательным наклоном. Он не предполагает продления периода (вместо этого - четное продление), поэтому он лучше справится с подгонкой этой формы.

Итак, давайте это вместе. Как только вы вычислили спектр Mel-частот, у вас есть представление о спектре, который чувствителен аналогично тому, как работает человеческий слух. Некоторые аспекты этой формы более актуальны, чем другие. Как правило, более крупная, более всеобъемлющая форма спектра более важна, чем шумные мелкие детали в спектре. Вы можете вообразить, что рисуете плавную линию, следуя за спектральной формой, и что гладкая линия, которую вы рисуете, может рассказать вам примерно столько же о сигнале.

Когда вы берете DCT и отбрасываете более высокие коэффициенты, вы принимаете эту спектральную форму и сохраняете только те части, которые более важны для представления этой гладкой формы. Если бы вы использовали преобразование Фурье, это не помогло бы сохранить важную информацию в низких коэффициентах.

Если вы подумаете о подаче MFCC как элементов алгоритма машинного обучения, эти коэффициенты более низкого порядка будут иметь хорошие характеристики, поскольку они представляют некоторые простые аспекты формы спектра, в то время как коэффициенты более высокого порядка, которые вы отбрасываете, являются более шумоподобными. и не важно тренироваться. Кроме того, обучение по самим величинам спектра Mel, вероятно, будет не таким хорошим, потому что конкретная амплитуда на разных частотах менее важна, чем общая форма спектра.

schnarf
источник
Интересно прочитать этот ответ и на связанный вопрос .
Эрик Платон
8

Ключ к пониманию MFCC находится в начале предложения в связанной статье:

Они получены из типа кепстрального представления аудиоклипа ...

Коэффициенты MFCC подобны спектрально-в-а- лог - спектра, в кепстре .

Кепстр сигнала Икс(T)просто:

С(Z)знак равноF-1(журнал(|F(Икс(T))|2)

где F является преобразованием Фурье и F-1 его обратное.

Причина того, что кепстр является аккуратным, заключается в том, что операция логарифма с наложением означает, что извилины исходного сигнала отображаются как простые добавления в кепстре .

Это преимущество распространяется на MFCC, хотя подъем не такой прямой, как при использовании стандартного кепстра.

Отличие MFCC заключается в использовании дискретного косинусного преобразования (DCT) в качестве конечного преобразования вместо обратного преобразования Фурье.

Преимущество DCT перед преобразованием Фурье состоит в том, что результирующие коэффициенты являются действительными , что облегчает последующую обработку и хранение.

Питер К.
источник