Введение
Алгоритм оценки частоты сигнала
Алгоритм определения высоты тона (PDA) — это алгоритм, предназначенный для оценки высоты тона или основной частоты квазипериодического или колеблющегося сигнала, как правило, цифровой записи речи или музыкальной ноты/тона. Это может быть выполнено во временной области, частотной области или в обеих сразу. Алгоритмы определения высоты тона используются в различных областях (например, фонетика, извлечение музыкальной информации, кодирование речи, системы для музыкального исполнения), поэтому к алгоритму могут предъявляться различные требования. На данный момент не существует единого идеального PDA, поэтому существует множество алгоритмов, большинство из которых относится к классам, представленным ниже. PDA обычно оценивает период квазипериодического сигнала, а затем вычисляет обратную величину этого значения для получения частоты.
Общие подходы
Один из простых подходов заключается в измерении расстояния между точками пересечения сигнала с нулем (то есть, частоты нулевых пересечений). Однако этот метод плохо работает со сложными формами сигнала, состоящими из нескольких синусоидальных волн с разными периодами или зашумленными данными. Тем не менее, существуют случаи, когда анализ нулевых пересечений может быть полезным, например, в некоторых приложениях для обработки речи, где предполагается наличие единственного источника звука. Простота алгоритма делает его "недорогим" в реализации. Более сложные подходы сравнивают сегменты сигнала с другими сегментами, сдвинутыми на пробный период, для поиска соответствия. AMDF (функция средней магнитуды разности), ASMDF (функция средней квадратичной разности) и другие подобные алгоритмы автокорреляции работают по этому принципу. Эти алгоритмы могут давать достаточно точные результаты для сигналов с выраженной периодичностью. Однако они подвержены ложным срабатываниям (часто – "октавным ошибкам"), иногда плохо справляются с зашумленными сигналами (в зависимости от реализации) и в базовых реализациях неэффективны при обработке полифонических звуков (содержащих несколько музыкальных нот разной высоты). Современные алгоритмы определения высоты тона во временной области обычно базируются на вышеупомянутых базовых методах, дополненных усовершенствованиями для повышения точности и приближения к оценке, производимой человеком. Например, алгоритмы YIN и MPM основаны на автокорреляции.
Спектровые/временные подходы
Спектрально-временные алгоритмы определения высоты тона, например, алгоритм отслеживания высоты тона YAAPT, основаны на сочетании обработки во временной области с использованием функции автокорреляции, такой как нормализованная кросс-корреляция, и обработки в частотной области с использованием спектральной информации для идентификации высоты тона. Затем, из кандидатов, оцененных в обеих областях, окончательный трек высоты тона может быть вычислен с помощью динамического программирования. Преимущество этих подходов заключается в том, что ошибка отслеживания в одной области может быть снижена за счет обработки в другой области.
Обнаружение высоты речи
Основная частота речи может варьироваться от 40 Гц для низких голосов до 600 Гц для высоких голосов. Методы автокорреляции требуют как минимум двух периодов основного тона для определения основного тона. Это означает, что для обнаружения основной частоты 40 Гц необходимо проанализировать как минимум 50 миллисекунд (мс) речевого сигнала. Однако за 50 мс речь с более высокой основной частотой может не сохранять постоянный основной тон на протяжении всего временного окна.