Подтвердить что ты не робот

Алгоритмы обнаружения аккордов?

Я разрабатываю программное обеспечение, которое зависит от обнаружения музыкальных аккордов. Я знаю некоторые алгоритмы определения высоты тона, методы, основанные на кепстральном анализе или автокорреляции, но они в основном сосредоточены на распознавании монофонического материала. Но мне нужно работать с каким-то полифоническим распознаванием, то есть несколькими шагами одновременно, как в аккорде; кто-нибудь знает какие-то хорошие исследования или решения по этому вопросу?

В настоящее время я разрабатываю некоторые алгоритмы, основанные на БПФ, но если у кого-то есть идея по некоторым алгоритмам или методам, которые я могу использовать, это будет очень полезно.

4b9b3361

Ответ 1

Это неплохой проект с открытым исходным кодом: https://patterns.enm.bris.ac.uk/hpa-software-package

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

.. должен предоставить вам все, что вам нужно.:)

Ответ 2

У автора Capo, программы транскрипции для Mac, есть довольно глубокий блог. В записи "Примечание по автоматическому табулированию" есть несколько хороших точек отскока:

Я начал исследовать различные методы автоматической транскрипции в середине 2009 года, потому что мне было интересно узнать, как далеко продвинулась эта технология и может ли она быть интегрирована в будущую версию Capo.

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

Здесь я столкнулся с некоторыми вычислительно дорогими спектральными представлениями (непрерывное вейвлет-преобразование (CWT), константа Q-преобразование (CQT) и др.). Я реализовал все эти спектральные преобразования, чтобы я мог также реализовать алгоритмы, представленные в работах читал. Это дало бы мне представление о том, будут ли они работать на практике.

У Capo есть впечатляющая технология. Отличительной особенностью является то, что его основной вид не является частотной спектрограммой, как большинство других аудиопрограмм. Он представляет звук как пианино с нотами, видимыми невооруженным глазом.


(источник: supermegaultragroovy.com)

(Примечание: жесткие заметки были нарисованы пользователем. Нечеткие пятна под ними - это то, что показывает Капо.)

Ответ 3

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

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

Вместо этого я думаю, что лучше искать шаблоны, созданные некоторыми формами аккордов (Major, Minor, 7th и т.д.).

Ответ 4

См. мой ответ на этот вопрос: Как я могу выполнить обнаружение тангажа в реальном времени в .Net?

Ссылка на эту статью IEEE в основном на то, что вы ищете: http://ieeexplore.ieee.org/Xplore/login.jsp?reload=true&url=/iel5/89/18967/00876309.pdf?arnumber=876309

Гармоники отбрасывают вас. Кроме того, люди могут найти основы в звуке, даже если фундаментального нет! Подумайте о чтении, но покрывая половину букв. Мозг заполняет пробелы.

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

Ответ 5

Это очень сложная проблема с сопоставлением шаблонов, возможно подходящая для техники ИИ, например, для обучения нейронных сетей или генетических алгоритмов.

В принципе, в каждый момент времени вы догадываетесь, сколько нот играет, ноты, инструменты, которые воспроизводили ноты, амплитуды и продолжительность заметки. Затем вы суммируете величины всех гармоник и обертонов, которые генерируют все эти инструменты при воспроизведении на этом томе в тот момент в его конверте (атака, распад и т.д.). Вычтите сумму всех этих гармоник из спектра вашего сигнала, а затем минимизируйте разницу по всем возможностям. Распознавание образов шума/плуга/скручивания переходного шума/и т.д. в самом начале заметки также может быть важно. Затем сделайте некоторый анализ решений, чтобы убедиться, что ваш выбор имеет смысл (например, кларнет не внезапно превратился в трубу, играющую другую ноту и обратно 80 мс позже), чтобы минимизировать вероятность ошибки.

Если вы можете ограничить свой выбор (например, только 2 флейты играют только четвертные ноты и т.д.), особенно для инструментов с очень ограниченной энергией обертонов, это затрудняет задачу.

Ответ 6

Также http://www.schmittmachine.com/dywapitchtrack.html

Библиотека dywapitchtrack вычисляет высоту звукового потока в реальном времени. Шаг - основная частота сигнала ( "нота" воспроизводится или исполняется). Он выражается как поплавок в Гц.

И http://clam-project.org/ может немного помочь.

Ответ 7

Это сообщение немного устарело, но я подумал, что добавлю следующую статью к обсуждению:

Klapuri, Ансси; Многоязычный анализ полифонической музыки и речевых сигналов с использованием звуковой модели; IEEE TRANSACTIONS НА АУДИО, РЕЧЕ И ОБРАБОТКУ ЯЗЫКОВ, VOL. 16, NO. 2, ФЕВРАЛЬ 2008 255

Статья действует как обзор литературы по многокритериальному анализу и обсуждает метод, основанный на слуховой модели:

введите описание изображения здесь

(Изображение взято из статьи. Я не знаю, должен ли я получить разрешение на его публикацию.)