Estoy desarrollando un software que depende de la detección de acordes musicales. Conozco algunos algoritmos para la detección de tono, con técnicas basadas en el análisis cepstral o la autocorrelación, pero se centran principalmente en el reconocimiento de material monofónico. Pero necesito trabajar con cierto reconocimiento polifónico, es decir, múltiples tonos al mismo tiempo, como en un acorde; ¿Alguien sabe algunos buenos estudios o soluciones en ese asunto?Algoritmos de detección de acordes?
Actualmente estoy desarrollando algunos algoritmos basados en la FFT, pero si alguien tiene una idea sobre algunos algoritmos o técnicas que puedo usar, sería de gran ayuda.
Esto suena realmente difícil. Después de elegir el fundamental, no estoy seguro de cómo podrá distinguir las otras notas de los armónicos. Tal vez en algunos casos simples, podría ir a buscar dónde estaría el tercero menor o mayor (o 7º, etc.), pero considerando las inversiones de acordes y todo eso, ni siquiera se garantiza que la raíz más baja sea la frecuencia más baja. El quinto del acorde está relacionado con el tercer armónico, etc ... Tal vez después de encontrar las notas fundamentales y otras notas que * no son * armónicos simples, podrías tener algún tipo de coincidencia de patrón para reconocer acordes comunes. – xscott
Ya implementado aquí: https://github.com/adamstark/Chord-Detector-and-Chromagram – relascope