Алгоритм определения высоты тона - Pitch detection algorithm

Алгоритм обнаружения основного тона ( КПК ) представляет собой алгоритм , предназначенный для оценки шага или основной частоты в виде квазипериодического или колебательного сигнала, как правило, цифровую запись в речи или музыкальную ноту или тон. Это может быть сделано во временной области , в частотной области или и в том, и в другом.

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

КПК обычно оценивает период квазипериодического сигнала, а затем инвертирует это значение, чтобы получить частоту.

Общие подходы

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

Более сложные подходы сравнивают сегменты сигнала с другими сегментами, смещенными на испытательный период, чтобы найти совпадение. Таким образом работают AMDF ( функция разности средних величин ), ASMDF ( функция разности средних квадратов) и другие аналогичные алгоритмы автокорреляции . Эти алгоритмы могут дать довольно точные результаты для очень периодических сигналов. Однако они имеют проблемы с ложным обнаружением (часто « октавные ошибки »), иногда могут плохо справляться с зашумленными сигналами (в зависимости от реализации) и - в их основных реализациях - плохо справляются с полифоническими звуками (которые включают несколько музыкальных нот разные высоты).

Современные алгоритмы детектора основного тона во временной области, как правило, основываются на основных методах, упомянутых выше, с дополнительными уточнениями, чтобы привести характеристики в соответствие с человеческой оценкой высоты тона. Например, алгоритм YIN и алгоритм MPM основаны на автокорреляции .

Подходы в частотной области

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

Популярные алгоритмы частотной области включают: спектр гармонического произведения ; кепстральный анализ и максимальная вероятность, который пытается сопоставить характеристики частотной области с заранее заданными частотными картами (полезно для определения высоты тона фиксированных инструментов настройки); и обнаружение пиков из-за гармонических последовательностей.

Чтобы улучшить оценку основного тона, полученную из дискретного спектра Фурье, могут использоваться такие методы, как перераспределение спектра (на основе фазы) или интерполяция Грандке (на основе амплитуды), чтобы выйти за пределы точности, обеспечиваемой элементами разрешения БПФ. Другой поэтапный подход предложен Брауном и Пакеттом.

Спектральные / временные подходы

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

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

Основная частота речи может варьироваться от 40 Гц для низких голосов до 600 Гц для высоких голосов.

Для определения высоты звука в методах автокорреляции требуется не менее двух периодов основного тона. Это означает, что для обнаружения основной частоты 40 Гц необходимо проанализировать не менее 50 миллисекунд (мс) речевого сигнала. Однако в течение 50 мс речь с более высокими основными частотами не обязательно может иметь одинаковую основную частоту во всем окне.

Смотрите также

использованная литература

внешние ссылки