Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Trouver un accord depuis des notes

  • 34 réponses
  • 11 participants
  • 1 756 vues
  • 18 followers
Sujet de la discussion Trouver un accord depuis des notes
Yo !

je me disais que j'allais tenté un programme pour trouver un accord depuis des notes.

On en a parlé là :
https://fr.audiofanzine.com/le-pub-des-gentlemen/forums/t.71857,les-questions-auxquelles-on-a-pas-les-reponses-mais-un-afien-peut-les-avoir,post.10317118.html

En gros, je cherche à rentrer 4 notes et à avoir le nom de l'accord.

Je pensais partir sur une solution un peu simple :
je génère tous les accords possible et je vérifie si mes 4 notes sont dans chaque accord.
ça peut avoir l'air brute force, mais au final une liste de 15000 valeurs ça devrait se filtrer vite !

Référence en matière de bon gout capillaire et vestimentaire.
homme à tête de zizi.

http://soundcloud.com/djardin

Afficher le sujet de la discussion
26
Pas pour faire une analyse tonale, mais pour pouvoir rejouer les mêmes notes sur un autre instrument, oui.

Si j'ai bien compris l'objectif premier, on se fiche de l'enharmonie des accords, on veut juste pouvoir reproduire ces notes exactement, éventuellement les transposer, sur un autre instrument.

On ne voit bien qu'avec les yeux. Le cœur est invisible pour l'essentiel. 

27
Je crois que c’est ça. Mais c’est plutôt Djardin qui sait quel était l’objectif premier dans sa tête. :mrg:
28
:mrg:

On ne voit bien qu'avec les yeux. Le cœur est invisible pour l'essentiel. 

29
l'objectif c'était de s'amuser à coder un bout de truc :mrg:

En vrai, l'objectif c'est que je joue avec quelqu'un qui n'a aucune idée de ce qu'il joue.
Donc il pose ses doigts et trouve que ça sonne.
Puis ensuite pour écrire des arrangements et un accompagnement il faut donc trouver les accords.

(ces saloperies de chanteurs qui se mettent à la guitare, mais sans apprendre !)

L'idée à la base c'est de donner les notes et d'avoir les accords.

Mais je note plein d'idées cools : trouver la tonalité du morceau, trouver des renversements, partir d'une position (et pas des notes des notes).

Après, mis à part la technique de : je fais une liste d'accords possible et je cherche dedans, quelqu'un à testé de faire un truc avec un algo ? en cherchant des intervalles ?

même en fixant que le plus grave est la fondamentale, hein, juste voir si un truc marche.

Référence en matière de bon gout capillaire et vestimentaire.
homme à tête de zizi.

http://soundcloud.com/djardin

30
À partir du moment où tu as la fondamentale, et j'imagine la tonalité, bah tu as tous tes accords facilement en utilisant les intervalles.

On ne voit bien qu'avec les yeux. Le cœur est invisible pour l'essentiel. 

31
Sans la fondamentale c’est probablement bien chaud.

Et avec, ça va revenir un peu à faire une table de hashage « à la main ». Bref, je pense que ton idée initiale de hashtable remplie par un algo, était la bonne, et c’est ce que j’ai fait. On voit que ça demande peu de lignes.

Mais pour faire plus subtil, je pense que ça va se compliquer nettement.
32
Si tu as la tonalité générale du morceau (en gros, d'après une cadence), la fondamentale se déduit facilement.

Et du coup, en do majeur, on sait que

I C E G soit C
II D F A soit Dm
III E G B soit Em
IV F A C soit F
V G B D soit G
VI A C E soit Am
VII B D F soit B dim

On ne voit bien qu'avec les yeux. Le cœur est invisible pour l'essentiel. 

33
Bonsoir,

J'ai lu rapidement les pages précédentes, mais si j'ai bien compris le problème il faudrait coder un algorithme qui compare la structure d'intervalle de l'accord à une table qui contient les structures de bases de tous les types d'accords.Ce qu'il faut au départ c'est réduire l'accord inconnu à une structure dans laquelle les notes elles-même n'interviennent plus. Uniquement les distances entre les notes. Cela élimine les problème dièse/bémol et permet une table plus petite dans laquelle figure une structure par position d'accord.

Dans une structure d'accord donnée dans la table, une note en particulier doit être identifiée comme la fondamentale. Ainsi en alignant cette structure avec les notes à analyser (après avoir retrouvé la structure évidement...) la fondamentale est tout de suite apparente !

Après pour mettre tout ça en code, là ça dépasse mes compétences :)

Site officiel et boutique en ligne du Studio Delta Sigma https://www.studiodeltasigma.com

34
Citation de Jeg :
Après, on peut estimer qu'un accord c'est d'abord une fondamentale + une tierce (mineure ou majeure) et le reste n'est là que pour préciser le contexte hatmonique... en très gros, hein. Mais c'est pour dire qu'il faut d'abord chercher la tierce (ou le sus2/sus4) ou la déduire du reste (accords "no 3rd").


Oui, je dirais que la façon dont on entend un accord dépend beaucoup de ce que joue la basse.

Imaginons que le piano joue C E G :
Si la basse joue C, c est un do majeur
Si la basse joue G, c'est un Gsus avec une 13e
Si la basse joue E, c'est un Em avec une b13

Et ça, ça dépend du contexte harmonique. D'où vient cet accord ? Quand intervient il dans le morceau ? Morceau tonal ? Quelle est la tona générale du morceau ? Est ce qu'il intervient à un moment où ça "module" vers une autre tona que la tona de base ? Est-ce une resolution ? Une tension ?

Imaginons que le piano joue C E G et que la basse joue E... si c est un morceau en do majeur on le notera simplement C/E, c'est à dire "C majeur avec un E à la basse".

[ Dernière édition du message le 13/05/2020 à 11:20:30 ]

35
Citation :
Ce qu'il faut au départ c'est réduire l'accord inconnu à une structure dans laquelle les notes elles-même n'interviennent plus. Uniquement les distances entre les notes. Cela élimine les problème dièse/bémol et permet une table plus petite dans laquelle figure une structure par position d'accord.

C'est à peu près ce que j'ai fait en n'ayant qu des dièses ! :mrg:

En fait, mes "notes" sont essentiellement des nombres de 0 à 11.


Après je me posais des questions par rapport au tableau de christian_r :


2 notes sont tantôt en # tantôt en bémol, 2 autres sont toujours en bémol, 1 autre toujours en #. Quelle est la raison, la logique ? Y a-t-il une règle / un algorithme simple pour le déterminer ? J'imagine que non, mais bon.


Déjà : pourquoi c'est comme ça dans le tableau ? Parce-que l'on suppose que c'est en do ?

[ Dernière édition du message le 13/05/2020 à 19:34:50 ]