Il vaut la peine d'être conscient que c'est un problème délicat et si vous n'avez pas d'antécédents de traitement du signal (ou d'un intérêt dans l'apprentissage à ce sujet), alors vous avez une très frustrant de temps devant vous. Si vous vous attendez à jeter un couple de Fft sur le problème, alors vous n'irez pas très loin. J'espère que vous avez de l'intérêt que c'est vraiment un domaine fascinant.
D'abord il y a le problème de la reconnaissance de hauteur, ce qui est assez facile à faire pour simple des instruments monophoniques (par exemple, voix) à l'aide d'une méthode telle que l'autocorrélation ou somme harmonique du spectre (par exemple, voir Paul R du lien). Cependant, vous trouverez souvent que cela donne des résultats erronés: vous aurez souvent la moitié ou le double de la hauteur que vous attendiez. Cela s'appelle le pitch de la période de doublement ou les erreurs d'octave et il se produit essentiellement en raison de la FFT ou d'autocorrélation a une hypothèse que les données sont constantes caractéristiques au fil du temps. Si vous avez un instrument joué par un humain, il y aura toujours une certaine variation.
Certaines personnes aborder le problème de la clé de la reconnaissance comme étant une question de faire de la reconnaissance de hauteur en premier et ensuite trouver la clé à partir de la séquence de pas. C'est incroyablement difficile, si vous avez rien d'autre qu'un monophonique séquence de pas. Si vous avez monotone séquence de pas alors il est pas encore clairement méthode de détermination de la clé: la façon dont vous traitez avec des notes chromatiques, par exemple, ou de déterminer s'il est majeur ou mineur. Donc, vous auriez besoin d'utiliser une méthode similaire à Krumhansl la clé algorithme de recherche.
Donc, compte tenu de la complexité de cette approche, une alternative est de regarder toutes les notes jouées en même temps. Si vous avez des accords, ou plus d'un des instruments, alors vous allez avoir une riche spectrale soupe de beaucoup de sinusoïdes à la fois. Chaque note individuelle est composée de plusieurs harmoniques de la fréquence fondamentale, de sorte que A (à 440 hz) sera composé de sinusoïdes à 440, 880, 1320... en Outre, si vous jouez un E
(voir ce diagramme pour les emplacements) alors que c'est 659.25 Hz, ce qui est presque une fois et demie celle d'Un (en fait 1.498). Cela signifie que chaque 3ème harmonique de l'Un coïncide avec tous les 2ème harmonique de E. C'est la raison pour laquelle les accords du son agréable, parce qu'ils partagent les harmoniques. (en aparté, l'ensemble de la raison que l'ouest de l'harmonie travaux est due à la bizarrerie du destin que la racine douzième de 2 à la puissance 7 est près de 1,5)
Si vous avez regardé au-delà de cet intervalle de 5 à majeurs, mineurs et autres accords, alors vous allez trouver d'autres ratios. Je pense que de nombreuses techniques de recherche énumérer ces ratios, puis remplir un histogramme pour chaque pic spectral du signal. Ainsi, dans le cas de la détection de l'accord A5 que vous attendez à trouver des pics à 440, 880, 659, 1320, 1760, 1977. Pour le B5 ça va être 494, 988, 741, etc. Afin de créer un histogramme et pour chaque sinusoïdale de pointe dans le signal (par exemple à partir de la FFT du spectre de puissance) incrément de l'histogramme de l'entrée. Ensuite, pour chaque clé A-G compte les poubelles dans votre histogramme, et ceux avec le plus d'entrées est le plus susceptible d'être votre clé.
C'est juste une approche très simple, mais peut être suffisant pour trouver la clé d'un grattés ou accord soutenu. Il faudrait aussi pour couper le signal en petits intervalles (par exemple 20ms) et d'analyser chacun de construire une estimation plus robuste.
EDIT:
Si vous voulez expérimenter ensuite, je te suggère de télécharger un package comme Octave ou de PALOURDES qui rend plus facile de visualiser les données audio et exécuter Fft et d'autres opérations.
Autres liens utiles:
-
Ma thèse de Doctorat sur certains aspects de la reconnaissance de hauteur -- le calcul est un peu lourd, mais le chapitre 2 est (je l'espère) tout à fait une introduction accessible aux différentes approches de modélisation de musique audio
-
http://en.wikipedia.org/wiki/Auditory_scene_analysis -- Bregman Auditif de l'analyse de la Scène, qui, bien que ne parle pas de la musique a fascinantes découvertes sur la façon dont nous percevons des scènes complexes
-
Dan Ellis a fait de grandes communications et des domaines similaires
-
Keith Martin a certaines des approches intéressantes