Распознавание индивидуального гитарного аккорда по аудиосэмплу - PullRequest
0 голосов
/ 25 февраля 2012

Я понимаю, что здесь уже есть немало вопросов, касающихся алгоритмов обнаружения аккордов; тем не менее, большинство из них, по-видимому, больше связаны с интерпретацией песен в виде набора аккордов или транскрипции аккордов. Моя проблема должна быть намного проще, так как меня интересует только запись одной партии гитарного аккорда и последующий анализ, чтобы вернуть сыгранный аккорд. И, если это окажется слишком сложным, было бы несколько достаточно просто сказать, правильно ли играет определенный аккорд или нет, например, пользователю предлагается аккорд, чтобы попытаться сыграть, и, после игры, приложение сообщит ему, правильно ли они сыграли аккорд (что-то вроде игры на память). Я думаю, что этот второй вариант будет проще, поскольку приложение уже будет знать, какой аккорд ожидать.

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

Спасибо

Ответы [ 4 ]

1 голос
/ 25 февраля 2012

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

0 голосов
/ 13 февраля 2018

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

0 голосов
/ 08 апреля 2012

Хотя уже слишком поздно, чтобы ответить, я надеюсь, что это поможет вам ..

Если вы программируете для электронной гитары или гитары MIDI или любого другого инструмента MIDI, то для этих вещей есть очень эффективный пакет Java JFugue, такой как обнаружение нот аккордов и т. Д. Для любого инструмента, и в этом намного больше функциональности. пакет. Я предлагаю вам взглянуть на это Jfugue.org

0 голосов
/ 27 марта 2012

Для всех, кто интересуется, как это делать, загляните в «Спектр гармонических продуктов» и «Профили класса питча / Векторы цветности».Сочетание этих является ключом.Кроме того, использование поисковых терминов «множественная оценка F0» в отличие от «обнаружения аккордов» гарантирует гораздо лучшие результаты:)

...