Пояснения к процедуре расчета опорной частоты

Я разрабатываю веб-инструмент для обнаружения гармонического ключа в узле <аудио>/<видео> на веб-странице. Я нашел в Википедии «Профили классов гармонического тона» .

Это процедура извлечения гармонического тона песни, например:

  • 1 - Входной музыкальный сигнал (ОК).
  • 2 - Проведите спектральный анализ, чтобы получить частотные составляющие музыкального сигнала. (ХОРОШО)
  • 3 - Используйте преобразование Фурье, чтобы преобразовать сигнал в спектрограмму. (ХОРОШО)
  • 4 - Сделайте частотную фильтрацию. Используется частотный диапазон от 100 до 5000 Гц.
  • 5 - Сделайте пиковое обнаружение. Учитываются только локальные максимальные значения спектра.

Эти шаги выполняются с помощью AnalyserNode WebAudioApi.

Итак, моя проблема здесь , я не понимаю пункт 6; «процедура вычисления опорной частоты». У кого-то есть пример или что-то в этом роде? Я не понимаю, что я должен делать на этом этапе.

Вот остальная часть процедуры:

  • 6 - Выполните процедуру вычисления опорной частоты. Оцените отклонение относительно частоты 440 Гц.
  • 7 - Выполните сопоставление класса основного тона относительно расчетной опорной частоты. [...]
  • 8 - Нормализуйте характеристику кадр за кадром, разделив максимальное значение, чтобы исключить зависимость от общей громкости. [...]

Надеюсь, я задаю свой вопрос в правильном месте. Спасибо за вашу помощь !

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

Ответы (1)

Это довольно сложный процесс, и если мы не будем говорить только о шаге 6, я думаю, что ваш вопрос слишком широк. Поэтому я буду говорить только о шаге 6.

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

Поскольку высота звука субъективна, более чем один набор частот может интерпретироваться человеческим разумом как одна и та же высота. Кроме того, в теории музыки существует конечное число дискретных тонов, но частота — это континуум. Таким образом, музыкант или теоретик музыки может описать ноту как «A4», если ее основная частота находится где-то между 425–450 Гц. Каким-то образом ваше программное обеспечение должно проверить эту возможность и соответствующим образом скорректировать назначение частот для высоты тона.

Теперь музыкантам нравится играть вместе в группах, и это будет звучать ужасно, если один из нас скажет, что A4 — это 435 Гц, а другой думает, что A4 — это 440 Гц, поэтому за несколько столетий мы разработали эталонные частоты . Это просто означает, что мы соглашаемся настраивать наши инструменты (настройка — это настройка частоты, воспроизводимой каждой номинальной нотой, которую играет инструмент) на основе одной частоты, чтобы мы могли играть вместе в любое время, когда захотим (подробнее или менее).

В настоящее время наиболее популярным эталоном высоты тона является A4, который должен иметь основную частоту 440 Гц, и мы называем это «A-440». В прошлом были популярны более низкие частоты для формата A4, например 435 Гц. Как только инструмент настроен на A-440, все его ноты должны быть определенным образом связаны с настройкой A4. В этой таблице показана основная частота каждой ноты, основанная на настройке A-440.

Несмотря на то, что это стандарт, инструменты существуют в реальном мире, а люди могут ошибаться, поэтому почти невозможно, чтобы какой-либо инструмент точно соответствовал настройке A-440 для всех его нот. Еще более сложным является тот факт, что некоторые инструменты воспроизводят частотные спектры, в которых необходимо преднамеренно расстраивать определенные ноты, чтобы «расстроенные» частоты создавали правильное ощущение высоты тона (известным примером является фортепиано, и эта расстройка называется «растяжением октавы»). .

Поэтому, когда ваше программное обеспечение начинает декодировать частоты, которые не соответствуют частотной таблице A-440, оно должно будет сделать наилучшее предположение относительно того, какое ощущение высоты тона предполагается, и назначить эти частоты этим частотам. Вот что такое шаг 6. Причина, по которой вы хотите оценить отклонение от 440 Гц, заключается в том, что если вы возьмете несколько нот и обнаружите, что они не соответствуют таблице, но обнаружите, что они эквивалентно слишком высоки или слишком низки, тогда вы можете предположить, что весь инструмент находится в настроиться на себя, просто он не настроен должным образом на А-440. Это означает, что вы можете уточнить свои назначения высоты тона, ожидая, что все ноты этого инструмента будут слишком высокими или слишком низкими примерно на одинаковую величину.

Вычисление опорной частоты — это поиск того, на что, вероятно, фактически настроен A4 на данном инструменте, на основе декодированных частот. Например, если вы декодируете частоты 435, 870, 1305 и 1740, вы можете быть уверены, что паттерн предназначался для A4, настроенного на 435 Гц вместо 440, и это ваша опорная частота для этой записи.