Pregunta

Desarrollo software que depende de la detección de los acordes musicales. Sé que algunos algoritmos para la detección de tono, con técnicas basadas en el análisis cepstral o autocorrelación, sino que se centran principalmente en la detección de material monofónico. Pero necesito trabajo con cierto reconocimiento polifónica, es decir, varios campos a la vez, como en una cuerda; ¿alguien sabe algunos estudios de buena o soluciones en el caso?

Actualmente estoy desarrollando algunos algoritmos basados ??en la FFT, pero si alguien tiene una idea de algunos algoritmos o técnicas que puedo usar, sería de gran ayuda.

¿Fue útil?

Solución

Este es un buen proyecto Open Source: https://patterns.enm.bris.ac.uk/hpa-software-package

Se detecta acordes basados ??en una chromagram - una buena solución, se rompe una ventana de todo el espectro en una serie de clases de la echada (tamaño: 12) con valores de coma flotante. A continuación, los acordes pueden ser detectados por un modelo oculto de Markov.

.. debe proveer de todo lo necesario. :)

Otros consejos

El autor de Capo , un programa de transcripción para Mac, tiene una muy profunda Blog. La entrada "Observaciones sobre Auto tabulación" tiene algunos buenos puntos de saltar:

  

Me comenzó a investigar los diferentes métodos de transcripción automática a mediados de 2009, porque tenía curiosidad acerca de hasta qué punto a lo largo de esta tecnología era, y si pudiera ser integrado en una versión futura de la ceja.

     

Cada uno de estos algoritmos transcripción automática comienza a cabo con algún tipo de represenation intermedio de los datos de audio, y luego de transferencia que en una forma simbólica (es decir nota inicios y duraciones).

     

Aquí es donde me encontré con algunas representaciones espectrales computacionalmente costosos (La transformada wavelet continua (CWT), Q constante de transformación (CQT), y otros.) He implementado todas estas transformaciones espectrales para que yo también podía aplicar los algoritmos presentados por los papeles que estaba leyendo. Esto me daría una idea de si funcionarían en la práctica.

impresionante tecnología . La característica sobresaliente es que su vista principal no es un espectrograma de frecuencia como la mayoría de otros programas de audio. Se presenta el audio como un rollo de piano, con las notas visibles a simple vista.


(fuente: supermegaultragroovy.com )

(Nota:.. Las barras de notas duras fueron atraídos por un usuario Las manchas difusas dentro son lo que aparece Capo)

Hay un solapamiento significativo entre la detección y la detección de acordes clave, y lo que puede encontrar algo de mi respuesta anterior a esa pregunta útil, ya que tiene un par de enlaces a documentos y tesis. Conseguir un buen reconocedor polifónica es increíblemente difícil.

Mi propio punto de vista sobre este tema es que la aplicación de reconocimiento polifónica para extraer las notas y luego tratar de detectar acordes de las notas es la manera incorrecta de hacerlo. La razón es que es un problema de ambigüedad. Si tiene dos tonos complejos exactamente una octava de diferencia, entonces es imposible detectar si hay una o dos notas que juegan (a menos que tenga contexto adicional, como conocer el perfil armónico). Cada armónico de C5 es también un armónico de C4 (y de C3, C2, etc.). Así que si se intenta un acorde mayor en un reconocedor polifónica, entonces es probable que salir toda una secuencia de notas que están armónicamente relacionadas con su acorde, pero no necesariamente las notas que toca. Si se utiliza un método de detección de tono basado en autocorrelación entonces usted verá este efecto con bastante claridad.

En lugar de ello, creo que es mejor buscar los patrones que son hechos por ciertos formas de acorde (mayor, menor, 7ª, etc.).

Ver mi respuesta a esta pregunta: ¿Cómo puedo hacer terreno de juego en tiempo real detección en .Net?

La referencia a este documento IEEE es sobre todo lo que está buscando: http://ieeexplore.ieee.org/Xplore/login.jsp?reload=true&url=/iel5/89/18967/00876309.pdf?arnumber=876309

Los armónicos que están tirando fuera. Además, los seres humanos pueden encontrar fundamentos de sonido incluso cuando el fundamental no está presente! Pensar en la lectura, pero cubriendo la mitad de las letras. Los rellenos cerebrales en los huecos.

El contexto de otros sonidos en la mezcla, y lo que había antes, es muy importante la forma en que percibimos notas.

Este es un problema de coincidencia de patrones muy difícil, probablemente adecuado para una técnica de IA como la formación de redes neuronales y algoritmos genéticos.

Básicamente, en cada punto de tiempo, se adivina el número de notas que se mueven, las notas, los instrumentos que tocaban las notas, las amplitudes y la duración de la nota. A continuación, sumar las magnitudes de todos los armónicos y matices que todos esos instrumentos generarían cuando se juega en ese volumen en ese punto en emabrgo envolvente (ataque, decaimiento, etc.). Restar la suma de todos esos armónicos del espectro de usted señala, a continuación, minimizar la diferencia sobre todas las posibilidades. El reconocimiento de patrones del golpe / chirrido / despluma transitoria ruido / etc. en el mismo inicio de la nota también podría ser importante. A continuación, hacer un poco de análisis de decisiones para asegurarse de que sus decisiones tienen sentido (por ejemplo, un clarinete no cambió de repente en una trompeta tocando otra nota y volver de nuevo más tarde 80 ms), para minimizar la probabilidad de error.

Si usted puede limitar sus opciones (por ejemplo, sólo 2 flautas tocando sólo notas negras, etc.), especialmente para los instrumentos con la energía de armónicos muy limitado, que hace que el problema sea mucho más fácil.

http://www.schmittmachine.com/dywapitchtrack.html

  

La biblioteca dywapitchtrack calcula el paso de un flujo de audio en tiempo real. El tono es la frecuencia principal de la forma de onda (la 'nota' que se está reproduciendo o cantada). Se expresa como un flotador en Hz.

http://clam-project.org/ puede ayudar un poco.

Este mensaje es un poco viejo, pero pensé que me gustaría añadir el siguiente documento para la discusión:

Klapuri, Anssi; Análisis de Multipitch polifónicos Música y Narración señales usando un modelo auditivo ; IEEE OPERACIONES DE AUDIO, el habla y lenguaje de procesamiento, vol. 16, NO. 2, Febrero 2008 255

El papel actúa un poco como un revisión de la literatura de análisis Multipitch y discute un método basado en un modelo auditivo:

introducir descripción de la imagen aquí

(La imagen es de papel. No sé si tengo que pedir permiso para publicarlo.)

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