Дозвольте розпочати з початку. Стандартний спосіб розрахунку цепструма наступний:
C(x(t))=F−1[log(F[x(t)])]
У випадку з коефіцієнтами MFCC випадок дещо інший, але все одно схожий.
Після попереднього наголосу та віконного обчислення ви обчислюєте коефіцієнт DFT свого сигналу та застосовуєте банк фільтрів перекриваючихся трикутних фільтрів, розділених у масштабі мель (хоча в деяких випадках лінійна шкала краще, ніж мель):
Що стосується визначення cepstrum, то ви тепер представляли оболонку спектра (зменшеного спектру) у масштабі мель-частоти. Якщо ви представляєте це, то ви побачите, що це kind'а нагадує ваш вихідний спектр сигналу.
Наступним кроком є обчислення логарифму отриманих вище коефіцієнтів. Це пов’язано з тим, що цепструм повинен бути гомоморфною трансформацією, яка відокремлює сигнал від імпульсної відповіді голосового тракту тощо. Як?
Оригінальний мовленнєвий сигнал здебільшого пов'язаний з імпульсною реакцією голосового тракту:s(t)h(t)
s^(t)=s(t)⋆h(t)
У згортанні частотної області - це множення спектрів:
S^(f)=S(f)⋅H(f)
Це можна розкласти на дві частини, грунтуючись на такій властивості: .log(a⋅b)=log(a)+log(b)
Ми також очікуємо, що імпульсна реакція не змінюється з часом, тому її можна легко усунути, віднісши середнє значення. Тепер ви бачите, чому ми приймаємо логарифми енергій нашого діапазону.
Останнім кроком у визначенні cepstrum було б зворотне перетворення Фур'є . Проблема полягає в тому, що у нас є лише наші енергії логарифмів, ніякої фазової інформації, тому після застосування ми отримуємо складні коефіцієнти - не дуже елегантні, щоб усі ці зусилля були компактними. Хоча ми можемо взяти дискретну косинусну трансформацію, яка є "спрощеною" версією FT та отримаємо реальні значення коефіцієнтів! Цю процедуру можна уявити як узгодження косинусоїдів з нашими коефіцієнтами лог-енергії. Ви можете пам’ятати, що цепструм називають також «спектром спектру»? Це самий крок - ми шукаємо будь-яку періодичність у наших коефіцієнтах обертової енергії.F−1ifft
Отже, тепер ви бачите, що зараз досить важко зрозуміти, як виглядав початковий спектр. Крім того, ми зазвичай приймаємо лише перші 12 MFCC, оскільки вищі описують швидкі зміни в енергіях журналу, що зазвичай погіршує швидкість розпізнавання. Тож причини, що роблять DCT, були такі:
Спочатку ви повинні виконати IFFT, але простіше отримати реальні значення коефіцієнтів від DCT. Крім того, ми вже не маємо повного спектра (всі частотні відрізки), але коефіцієнти енергії в банках з фільтрами, які використовуються, тому використання IFFT є дещо зайвим.
На першому малюнку ви бачите, що банки фільтрів перекриваються, тому енергія, що перебуває поруч, поширюється між двома - DCT дозволяє декорувати їх. Пам'ятайте, що це хороша властивість, наприклад, у випадку Гауссових моделей сумішей, де ви можете використовувати діагональні коваріаційні матриці (відсутність кореляції між іншими коефіцієнтами) замість повних (всі коефіцієнти співвідносні) - це значно спрощує речі.
Іншим способом декорреляції коефіцієнтів частоти розплавлення буде PCA (аналіз основних компонентів), метод, що використовується виключно для цієї мети. На щастя, було доведено, що DCT є дуже хорошим наближенням PCA, коли мова йде про декорреляційні сигнали, отже, ще одна перевага використання дискретного косинусного перетворення.
Деяка література:
Х'юн-Гук Кім, Ніколя Моро, Томас Сікора - MPEG-7 Audio and more: Індексація та пошук аудіовмісту