Russian Qt Forum
Апрель 16, 2024, 23:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Расчет мел-кепстральных коэффициентов сигнала  (Прочитано 5710 раз)
Rododendron
Гость
« : Март 29, 2018, 17:05 »

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

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

Суть алгоритма заключается в следующих этапах.

1. Берем wav-файл, считываем сэмплы, нормализуем их по максимальному значению, разбиваем их на фреймы по 128 мсек, например. Умножаем каждый фрейм на окно. У нас получится вектор векторов из амплитуд, т.е. double.
2. Далее, применяем дискретное преобразование Фурье - получаем тот же вектор векторов, но состоящий из комплексных чисел, соответствующих каждому семплу и содержащих амплитуду и фазу сигнала.
3. Длее вычисляем спектральную плотность для каждого семпла, т.е. получаем периодограмму (берем модуль каждого комплексного сигнала и возводим в квадрат, получаем double).
4. А вот дальше что делать не пойму. Надо перейти к мел-шкале, но как - не могу понять. Тут просто учитывается особенность человеческого уха, и есть формула перевода частоты в Герцах к частоте в мелах. Как это прикрутить к алгоритму - не понятно. Далее строится Банк фильтров, которые лучше пропускают низкочастотный сигналы и хуже высокочастотные. Формула есть - как ее применить не понятно из-за того, что не расписаны все переменные.
5. Дальше логарифмируем и должны получится мел-кепстральные коэффициенты. На сколько я понял, их заданное количество (рекомендуют 20-30) на фрейм.. (или на семпл?).. фильтров тоже заданное количество и тоже рекомендуют сделать около 20-30. Не понятно, есть свзь между ними или нет.

Я накидаю сюда ссылок, которые я смотрел, но они мне не помогли понять, как отфильтровать спектральную плотность и перейти к мел-шкале.

https://habrahabr.ru/post/144491/
http://www.ccas.ru/avtorefe/0014d
http://portal.tpu.ru/SHARED/s/STANKEVICHFV/publications/Tab/Thesis_Recognition_of_Musical_Instruments.pdf
http://elib.spbstu.ru/dl/2/v17-5884.pdf/download/v17-5884.pdf
http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/

« Последнее редактирование: Март 30, 2018, 08:23 от Rododendron » Записан
Rododendron
Гость
« Ответ #1 : Апрель 02, 2018, 13:20 »

Такое впечатление, что студенты друг у друга копипастили с ошибками и вносили еще свои.
Вот здесь больше всего на правду похоже, может кому пригодится: http://library.eltech.ru/files/vkr/bakalavri/2381/2016%D0%92%D0%9A%D0%A0238104%D0%90%D0%9B%D0%95%D0%9A%D0%A1%D0%95%D0%95%D0%92%D0%98%D0%A7.PDF
Количество фильтров, на сколько я понял, должно быть равным количеству вычисляемых мел-кепстральных коэффициентов.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 20.