Se connecter
Se connecter

ou
Créer un compte

ou
Agrandir
Les Mains dans le Cambouis
Bidouille & Développement Informatique

Sujet Trouver un accord depuis des notes

  • 34 réponses
  • 11 participants
  • 1 478 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
11
Ce que je voulais dire au niveau des intervalles rejoint ce que disait Koala. En gros, partir d'une notation "MIDI" (je mets entre guillemets parce que le midi est loin là).
L'utilisateur rentre disons 4 notes pour un accord. La première est comptée comme 1. Ensuite chaque intervalle est simple à trouver (comme sur un gratte en fait) :
- 2nde mineur + 1
- 2nde majeure +2
- Tierce mineure +3
etc

De plus, on connaît a priori les façons de renverser les intervalles. Une tierce mineure devient une sixte majeure par exemple. La formule est simple : la somme des deux intervalles doit faire 9, et on inverse mineur avec majeur, juste restant juste. En adaptant avec la numérotation présentée avant, la somme des intervalles fait finalement 12.

Du coup, au niveau du stockage, il me semble simple de stocker les accords sous formes d'intervalles :
-majeur = 1 4 7
- mineur = 1 3 7
- aug = 1 4 8
etc

Au niveau complexité, je partirai là-dessus : tu détectes le nb de notes et ensuite tu affines par rapport à la deuxième note, la troisième etc...

Y'a moyen de faire un truc pour stocker les renversements plus simplement je pense. Les accords de base stockés en brut et les renversements étudiés avec la formule donnée plus haut.

Je sais pas si c'est clair ^^
12
Il y a une autre question à se poser, c'est est-ce que cet accord est jouable ?

Le plus dur, c'est quand c'est mou

13
J'ai fait ce petit tableau Excel pour identifier et nommer les accords, à partir des écarts entre notes (quartes, quintes, etc...), en prenant C=Do comme exemple de référence.
Ca peut éventuellement te servir.

Je me suis limité aux 28 types d'accords musicaux "qui sonnent bien", donc pas de clusters (groupes de notes en vrac peu mélodieux).
C'est ce qu'on peut utiliser d'origine sur un séquenceur Roland MC-909 par exemple, sans devoir programmer ses propres accords supplémentaires.

bidouille-developpement-informatique-2963143.jpg

Christian

14
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").

Rock, rock 'til you drop!

15
Tu peux coder le tableau de droite de christian_r en binaire avec une position binaire par colonne ce qui fait 2 octets.

Le plus dur, c'est quand c'est mou

16
Le soucis de partir sur les intervalles, c'est que ça sous-entend que je connais la fondamentale.

Et exemple : le Mi Mineur à la mandoline, c'est G E B e. Donc la note la plus grave est le Sol, pas du tout le Mi.

On pourrait dire "la fondamentale est le mi, parce que le mi est doublé à l'octave", mais par exemple au ukulélé, le Fa majeur, c'est : a C F A. Donc c'est le la qui est doublé (et le La la 1ère note, et le Do la plus grave).

En même temps ça serait plus simple si je partais sur une base d'instruments logiques façon piano, et pas de trucs avec des accords renversé partout parce que pas assez de cordes et manche trop court façon ukulélé !

Et merci pour le tableau chritian_r, ça me fait toute la liste d'accords à implémenter !

(en attendant par contre, je galère sur les tests d'UI d'android)

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

http://soundcloud.com/djardin

17
Faut coder pour iOS. :oops2:

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

18
Citation de Djardin :
Le soucis de partir sur les intervalles, c'est que ça sous-entend que je connais la fondamentale.


Pas forcément ! D'où la gestion des renversements qui te permet de déduire la fondamentale !

Si t'as un accord mineur : 1 - 3 - 7
Premier renversement : 1 - 4 - 9
Deuxième renversement : 1 - 5 - 8

En gros, il suffit de checker si la deuxième note est une tierce. Si c'est le cas, ça fait partie des accords standards. Sinon c'est qu'il est renversé. Je me trompe ?

EDIT : Oui je me trompe en partie, il suffit de voir le premier renversement, qui est similaire à un accord de sixte (d'ailleurs noté dans la littérature classique par 6). Donc on peut détecter les renversements, mais ils sont similaires à d'autres accords. Ca peut être une possibilité de tout indiquer !

(je passe le cas particulier des "So What" chords, qui seraient en gros 1 - 5 - 10 - 15 - 19...)

[ Dernière édition du message le 09/05/2020 à 18:22:04 ]

19
Citation de KoalaMan :
Je te proposais une solution de numérotation de chaque note du piano standard, donc de 1 à 89.


Y'a déjà une norme pour ca. Ca s'appelle ... MIDI.

notesinvert.GIF
20
Ce qui peut différencier deux accords composés des mêmes notes (sans considération de leur ordre de hauteur donc où la fondamentaale n'est pas forcement la note la plus grave), c'est la tonalité.
Donc, pour moi, ou tu considère que c'est pour les autodidactes et qu'on ne s'occupe pas de la tonalité auquel cas tu donnes tous les noms d'accords correspondant aux trois ou quatre notes entrées, ou tu considère que savoir la tonalité est le minimum pour utiliser ton soft et elle te permet de déduire le nom des accords ou du moins de grandement limiter le nombre de noms par accord (2-3 max, je pense, pour des accords de 4 notes).

Si tu es joueur, tu commences par rentrer toutes les notes jouées dans les différents accords du morceau et c'est le soft qui te donne la tonalité et donc le nom de chaque accord.