Question

Je me rends compte qu'il y a déjà quelques questions ici en ce qui concerne les algorithmes de détection d'accords; Cependant, la plupart d'entre eux semblent se rapporter davantage à l'interprétation des chansons en ensembles de cordes ou de transcription d'accords. Mon problème devrait être beaucoup plus simple car je ne suis intéressé que par l'enregistrement d'une seule intrigue de guitare, puis d'analyser cela pour retourner l'accord qui a été joué. Et, si cela se révèle trop difficile, il serait quelque peu suffisant pour être simplement en mesure de dire si un accord particulier est joué correctement ou non, par exemple, un utilisateur est présenté avec la corde L'application leur dira s'ils ont joué ou non l'accord correct (quelque chose d'un jeu de mémoire). Je pense que cette deuxième option serait plus facile car l'application saurait déjà à quoi vous attendre.

J'utilise déjà une FFT et le spectre de produit harmonique pour un tuner de guitare dans le cadre de la même application et je voudrais vraiment des conseils sur la façon dont je pourrais analyser la sortie du spectre de fréquence par la FFT pour reconnaître les accords de guitare. Je suis également ouvert à toutes les autres suggestions à ce sujet et j'apprécierais vraiment toute aide que je peux obtenir.

Merci

Était-ce utile?

La solution 2

Pour tous ceux qui se demandent comment faire ce genre de chose, consultez le spectre des produits harmoniques et les profils de classe de pitch / vecteurs de chroma. Une combinaison de celles-ci est la clé. De plus, l'utilisation des termes de recherche «Estimation multiple F0» par opposition à la «détection des accords» justifiera de bien meilleurs résultats :)

Autres conseils

Vous pouvez essayer les empreintes digitales les accords les plus courants, puis à la recherche du spectre normalisé correspondant le plus proche dans votre ensemble d'empreintes digitales. Par exemple, le traiter comme un problème d'appariement de motif dans le domaine de fréquence.

Bien qu'il soit trop tard pour répondre, j'espère que cela vous aidera.

Si vous programmation pour la guitare électronique ou MIDI ou tout autre instrument MIDI, il y a un package Java très efficace pour ces trucs, comme détecter les notes d'accords, etc. pour n'importe quel instrument et il y a beaucoup plus de fonctionnalités dans ce package. Je vous suggère de le voir Jfugue.org

J'ai moi-même eu du mal à identifier tout un accord en utilisant FFT. Mais en ce qui concerne mon expérience, j'ai pu faire un identifiant d'accord de guitare utilisant FFT comme algorithme de base pour obtenir des fréquences d'une seule données sonores. Le problème des tuners FFT est qu'ils ne détectent que la note fondamentale d'un son. Alors que mon expérience a prouvé que vous pouvez prendre toutes les notes des chaînes jouées et utiliser les notes identifiées pour dire quel accord était joué. Pour l'instant, mes recherches se sont toujours limitées à détecter les accords de guitare majeurs et certains accords mineurs comme EM et AM pour une étude plus approfondie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top