Algorithme de reconnaissance des accords de guitare?

Qu’est-ce qu’un bon algorithme de traitement du signal numérique qui convient aux accords de guitare? Depuis la transformation rapide de Fourier, je pense que seule la précision des notes individuelles jouées à la guitare est exacte, mais pas les notes jouées simultanément (accords).

Merci!

La réponse courte est que vous avez besoin de plus d’un algorithme. De bonnes méthodes de reconnaissance des accords pourraient être mieux décrites comme des «systèmes», mais elles reposent généralement sur une transformation initiale du domaine fréquentiel (le plus souvent DFT).

Si vous voulez une représentation d’accord de la chanson similaire à celle

CG Am F7 F6 C ... 

il s’agit en fait d’un problème qui ne découle pas de la reconnaissance des notes d’un morceau audio. En fait, il y a deux problèmes (grosso modo):

  1. trouver quels emplacements sont présents à tout moment
  2. regrouper ces hauteurs au fil du temps afin de pouvoir atsortingbuer un label d’accord à un intervalle de temps.

Il s’avère que la façon dont vous passez du domaine temporel (audio normal) au domaine fréquentiel (représentation spectrale) n’a qu’une importance limitée. Ce que vous faites après est très important, et des modèles probabilistes souvent sophistiqués (similaires à ceux utilisés pour la reconnaissance de la parole: HMM, DBNs, …) sont utilisés pour résoudre ce problème.

Essayez google boursier “transcription des accords”, ou “détection des accords”, ou “étiquetage des accords” pour des recherches avancées dans ce domaine.

La plupart de ces approches utilisent une transformée de Fourier discrète (DFT) pour créer le spectrogramme initial. Pendant le traitement ultérieur, elles ont aussi tendance à ne différer que légèrement, bien que différentes techniques de lissage de séries temporelles aient été utilisées: modèles de Markov cachés, réseaux bayésiens dynamics, machines à vecteurs de support (SVMstruct) et champs aléatoires conditionnels. Les transcripteurs les plus avancés utilisent le réglage automatique, les informations clés, les informations sur les notes de basse et les informations sur la position mésortingque pour améliorer les résultats. Ma thèse (chapitre 2) donne un bel aperçu.

Algorithmes de détection des accords open source:

J’espère que cela t’aides.

Eh bien, vous pouvez essayer un autre ensemble d’algorithmes pour le domaine de fréquence, comme les ondelettes. Mais je ne suis pas sûr si cela va faire pour votre problème de précision. En fait, je n’ai pas compris comment vous rencontrez des problèmes avec la FFT. Ce sera toujours une approximation de l’accord, il n’y a pas de moyen idéal pour récupérer ce type d’information sur le son.

Donc, cela dépend de l’parsing que vous faites sur ce spectre, avec des notes simples, il y a en fait beaucoup de meilleurs algorithmes que la FFT, mais avec des accords, vous devrez très probablement travailler avec FFT.

Le problème que vous devrez résoudre est de séparer les harmoniques fondamentales des harmoniques supérieures, une chose qui peut vous aider est de ne considérer que les fréquences qui se trouvent sur la gamme de guitares. Si vous ne devez travailler qu’avec des sons de guitare, vous devriez avoir le temps d’étudier le graphe de fréquence-domaine normal de la guitare et essayer de l’utiliser pour améliorer votre précision.

La FFT peut et vous donnera toutes les tonalités uniques si vous configurez le logiciel correctement. Tout le but de la FFT est de discriminer les tonalités, ou si vous êtes astrophysicien, vous voulez connaître les éléments individuels (soufre, hydrogène …) qui se trouvent dans la lumière qui sort de l’écanvas.

Les harmoniques ne sont pas un problème car elles ont moins de «puissance» que la fréquence fondamentale, par exemple, C = 440hz, mais C = 880hz également, mais 880 sera le plus petit pic dans les résultats de la FFT.

Il existe des outils raisonnablement efficaces qui utilisent le DFT (FFT), mais ils font beaucoup de traitement après le calcul du DFT.

Essayez ce lien pour un résumé de l’état actuel de la technique, ou google “Chordino” ou “Chordata” pour les algorithmes d’extraction des accords open source.

Il y a un concours entre scientifiques où les gens essaient d’parsingr différents parameters de la musique. L’une des sections de ce concours est la reconnaissance des accords. Ce concours est public, donc tout le monde peut y participer et montrer les résultats dans ce domaine. Les résultats de l’année 2011 sont publiés ici .

Un de mes amis a obtenu de bons résultats dans ce domaine (et dans ce concours aussi). Vous pouvez lire sur son approche sur sa page Web .