В большинстве задач обработки аудио одним из наиболее часто используемых преобразований является MFCC (кепстральные коэффициенты Mel-частоты) .
Я в основном знаю математику, стоящую за MFCC: я понимаю и шаг набора фильтров, и масштабирование по Мелу.
Что я не получаю, так это шаг DCT (дискретное косинусное преобразование): какую информацию я получу на этом шаге? Что такое хорошее визуальное представление этого шага?
filters
mfcc
cepstral-analysis
Андреа Спадаччини
источник
источник
Ответы:
Вы можете думать о DCT как о шаге сжатия. Обычно с MFCC вы берете DCT, а затем сохраняете только первые несколько коэффициентов. Это в основном та же самая причина, по которой DCT используется в сжатии JPEG. DCT выбираются потому, что их граничные условия лучше работают на этих типах сигналов.
Давайте сопоставим DCT с преобразованием Фурье. Преобразование Фурье состоит из синусоид, имеющих целое число циклов. Это означает, что все базисные функции Фурье начинаются и заканчиваются в одном и том же значении - они не очень хорошо представляют сигналы, которые начинаются и заканчиваются в разных значениях. Помните, что преобразование Фурье предполагает периодическое расширение: если вы представляете свой сигнал на листе бумаги, преобразование Фурье хочет свернуть этот лист в цилиндр так, чтобы левая и правая стороны встретились.
Подумайте о спектре, который имеет форму приблизительно линии с отрицательным наклоном (что довольно типично). Преобразование Фурье должно будет использовать множество различных коэффициентов, чтобы соответствовать этой форме. С другой стороны, у DCT есть косинусы с полуцелыми числами циклов. Например, есть базовая функция DCT, которая выглядит неопределенно как эта линия с отрицательным наклоном. Он не предполагает продления периода (вместо этого - четное продление), поэтому он лучше справится с подгонкой этой формы.
Итак, давайте это вместе. Как только вы вычислили спектр Mel-частот, у вас есть представление о спектре, который чувствителен аналогично тому, как работает человеческий слух. Некоторые аспекты этой формы более актуальны, чем другие. Как правило, более крупная, более всеобъемлющая форма спектра более важна, чем шумные мелкие детали в спектре. Вы можете вообразить, что рисуете плавную линию, следуя за спектральной формой, и что гладкая линия, которую вы рисуете, может рассказать вам примерно столько же о сигнале.
Когда вы берете DCT и отбрасываете более высокие коэффициенты, вы принимаете эту спектральную форму и сохраняете только те части, которые более важны для представления этой гладкой формы. Если бы вы использовали преобразование Фурье, это не помогло бы сохранить важную информацию в низких коэффициентах.
Если вы подумаете о подаче MFCC как элементов алгоритма машинного обучения, эти коэффициенты более низкого порядка будут иметь хорошие характеристики, поскольку они представляют некоторые простые аспекты формы спектра, в то время как коэффициенты более высокого порядка, которые вы отбрасываете, являются более шумоподобными. и не важно тренироваться. Кроме того, обучение по самим величинам спектра Mel, вероятно, будет не таким хорошим, потому что конкретная амплитуда на разных частотах менее важна, чем общая форма спектра.
источник
Ключ к пониманию MFCC находится в начале предложения в связанной статье:
Коэффициенты MFCC подобны спектрально-в-а- лог - спектра, в кепстре .
Кепстр сигналах ( т ) просто:
гдеF является преобразованием Фурье и F- 1 его обратное.
Причина того, что кепстр является аккуратным, заключается в том, что операция логарифма с наложением означает, что извилины исходного сигнала отображаются как простые добавления в кепстре .
Это преимущество распространяется на MFCC, хотя подъем не такой прямой, как при использовании стандартного кепстра.
Отличие MFCC заключается в использовании дискретного косинусного преобразования (DCT) в качестве конечного преобразования вместо обратного преобразования Фурье.
Преимущество DCT перед преобразованием Фурье состоит в том, что результирующие коэффициенты являются действительными , что облегчает последующую обработку и хранение.
источник