Pregunta

Me doy cuenta de que ya hay algunas preguntas justas aquí con respecto a los algoritmos de detección de acordes; Sin embargo, la mayoría de estos parecen estar relacionados más para interpretar canciones en conjuntos de acordes o transcripción de acordes. Mi problema debería ser mucho más simple, ya que solo estoy interesado en grabar un solo rasgo de un acorde de guitarra y luego analizar esto para devolver el acorde que se jugó. Y, si esto demuestra ser demasiado difícil, sería algo adecuado para poder decirlo si se está jugando un acorde en particular correctamente o no, por ejemplo, Un usuario se presenta con un acorde para intentar jugar y, después de rasgar, la aplicación les dirá si jugaban o no el acorde correcto (algo de juego de memoria). Pensaría que esta segunda opción sería más fácil ya que la aplicación ya sabría qué acorde esperaba.

Ya estoy usando un FFT y el espectro de productos armónicos para un sintonizador de guitarra como parte de la misma aplicación y realmente me gustaría algunos consejos sobre cómo podría analizar la producción de espectro de frecuencia por parte de la FFT para reconocer los acordes de guitarra. También estoy abierto a cualquier otra sugerencia sobre el asunto y realmente apreciaría cualquier ayuda que pueda obtener.

gracias

¿Fue útil?

Solución 2

Para cualquier persona preguntándose cómo hacer este tipo de cosas, mire en el espectro de productos armónicos y los perfiles de clase de tono / vectores de croma.Una combinación de estas es la clave.Además, el uso de los términos de búsqueda "Múltiples estimaciones F0", a diferencia de "Detección de acordes", garantizará mejores resultados :)

Otros consejos

Podría intentar huella digital los acordes más comunes, y luego buscar el espectro normalizado que coincide más cerca dentro de su conjunto de huellas dactilares.p.ej.Trátalo como un problema de coincidencia de patrones en el dominio de frecuencia.

Aunque es demasiado tarde para responder, espero que esto lo ayude.

Si está programando para la guitarra electrónica o MIDI o cualquier otro instrumento MIDI, hay un paquete Java Java muy efectivo para estas cosas, como detectar las notas de los acordes, etc. Para cualquier instrumento y hay mucha más funcionalidad en estepaquete. Le sugiero que lo eche un vistazo jfugue.org

Yo mismo le pareció difícil identificar un acorde completo con FFT.Pero en cuanto a mi experimento, pude hacer un identificador de acorde de guitarra usando FFT como el algoritmo básico para obtener frecuencias de un solo sonido de sonido.El problema de los sintonizadores FFT es que solo detectan la nota raíz de un sonido.Mientras mi experimento demostró que puedes tomar todas las notas de las cuerdas que se están jugando y usar las notas identificadas para decir qué se jugó el acorde.En cuanto a ahora, mi investigación aún se limitaba a detectar importantes acordes de guitarra y algunos acordes menores como em y soy para estudiar más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top