CLM'S GUITARE : DICO ACCORDS + ACCORDAGE

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 9 août 2008 à 23:04
cs_Wanours Messages postés 11 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 22 juillet 2009 - 22 juil. 2009 à 15:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47556-clm-s-guitare-dico-accords-accordage

cs_Wanours Messages postés 11 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 22 juillet 2009
22 juil. 2009 à 15:00
Bonjour à tous.
Tout d'abord, félicitation à Clémentio qui a l'air d'avoir bien bossé.
Le seul soucis, c'est que le code n'est vraiment pas beaucoup commenté, alors j'ai un peu de mal à comprendre quel ligne est censée faire quoi dans le code.

J'ai dans l'ambition de faire un programme qui serait un quizz "note de guitare".

L'objectif est de demandé au joueur de jouer une note précise, et le programme lui annoncerait s'il a bon ou pas en comparant la fréquence de la note jouée. Tout ça juste pour que les novices (comme moi) fasse bien connaissance avec le manche de leur guitare.

Il me faut donc un moyen d'extraire la fréquence du signal sonore.
Et c'est la que ton code interviendrait Clementio.

Te serait-il possible de mettre en ligne une version mieux commentée que j'arrive à piger en détails comment ton code fonctionne?

Merci
cs_ym_trainz Messages postés 160 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 21 avril 2015
20 août 2008 à 09:55
Au fait, en relisant...

On peut avoir un Cm4 ! Donc, modif du n°2 du commentaire ci-dessus :

1 - Choix d'une tonique (fondamentale) notre exemple ci-dessus : le do

Option list :
a) accord diminué (qui desabled la check list ci-dessous)
b) accord non diminué (enable list ci-dessous)

Ce qui peut se passer ensuite :

Une liste d'accord préétablis comme tu l'as fait dans ton prog, qui coche la check list ci-dessous mais que l'on peut aussi affiner ! (ce qui changera le nom de l'accord)

check list :

2 - Ajoute d'une seconde , choix normale ou - ou + (avec la 7ème cochée, ça fait un accord 9ème, donc choix 9 , 9- ou 9+)
3 - Choix de la tierce majeure ou mineure ((qui décoche automatiquement la quarte mais on peut ensuite recocher la quarte)
4 quarte (qui décoche automatiquement la tierce mais on peut ensuite recocher la tierce !)
5 - Choix de la quinte normale, diminuée (5-) ou augmentée (5+)
6 - Ajout sixte (avec la 7ème cochée, ça fait donc un accord 13ème)
7 - Ajout 7ème (choix mineure ou Majeur)

[on peut donc aussi avoir un accord sans quinte ou sans tierce, deux notes seulement, pourquoi pas si l'user décoche ces notes, mais le nom de l'accord peut changer ou ne plus exister car do + mi ? c'est quoi ? ben... une tierce majeure, c'est tout...]

-> affichage du résultat : nom de l'accord avec notes contenues dans la check list (avec affichage en face de chaque n° 1 à 7 de la chkList le nom de la note do mi sol...) et des propositions de positions sur le manche du plus basique au plus rarement employé par exemple...

En général, la 9ème est plus aiguë du la 7ème, la 13ème plus aigue que la 7ème, etc... mais, avec les renversements, on peut faire l'inverse.
Ensuite, sur la grat, certains accords sont jouables, d'autres, plutôt hards à jouer voire infaisables. Il y a bien sûr plusieurs façons de jouer le même accord... Bref, possibilités nombreuses !

Peut-être enfin faire apparaître les accords transposables et les spécifiques. Je m'explique : certains accords comme un classique F classique, barré 1ère case, :

(tablature :)
1 (corde mi aiguë, case 1)
1
2
3
3
1 (corde mi grave, case 1)

peut se faire en 3ème case :

3
3
4
5
5
3

donc on obtient un sol juste en bougeant la main de deux cases vers le haut du manche...

Certains autres sont difficilement déplaçables (transposables) comme un G classique, en jouant la position :
3
0
0
0
2
3

Pour dire qu'il y a une série d'accords sympas que l'on peut jouer partout sur le manche, ce qui évite d'apprendre "12000" accords !

En tous cas, bravo pour cette idée (qui j'espère restera en VB6 car j'ai pas Vb Net, mais, bon...) qui va ouvrir de larges possibilités musicales !!!

Cordialement,
ym_trainz
cs_ym_trainz Messages postés 160 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 21 avril 2015
19 août 2008 à 10:26
Bonjour Clementio et amis guitaristes !

Après le fameux CLM recherche (http://www.codes-sources.com/code.aspx?ID=3465), je vais sûrement jeter un oeil de près à ton prog.
L'idée est vraiment super mais je n'ai pas le temps de tester.

Petite remarque qui peut peut-être t'aider à faire progresser ton prog :
(je suis plutôt chevronné en musique ;-)

D'abord, un peu de théorie :

Un accord : en général Fondamentale, tierce et quinte (et ensuite on ajoute d'autres couleurs 7ème, 7+2=9ème, 7+6=13ème... On bidouille les quintes (5- ou 5+), etc... (A part, il y a les diminués qui sont une suite de tièrces mineures)

(au passage, A=la, B=si... notation beaucoup plus pratique)
--------------------------------
Prenons un exemple : Fondamentale en do, (accord Do machin... C truc)
--------------------------------

[1] Fondamentale (ex Do)

[3] Une tierce majeur ou mineure ou une quatre (ex mi pour un C , mi b pour Cm, fa pour C sus4)

[5] une quinte (diminuée normale ou augmentée) donc un sol pour un C, un la b pour un C5+...

Donc, par exemple :
C -> do, mi, sol
Cm -> do, mib, sol
--------------------------------
Accord enrichi d'une 7ème
--------------------------------

Ensuite, on peux ajouter une 7ème,
si on ne dit rien, c'est une 7ème mineure (par défaut), un si b dans un C7,
sinon il faut dire 7ème Majeur, donc un si dans un C7M ou C Delta

Donc, par exemple :
C7 -> do, mi, sol, sib
Cm7 -> do, mib, sol, sib
CDelta (ou C7M ou C7 Maj) -> do, mi, sol, si
Cm Delta (un peu dur à placer ;-) -> do, mib, sol, si

--------------------------------

On peut ajouter ensuite une 9ème (7+2) soit en fait un ton au dessus :
une 9ème c'est la 2ème (octave supp) donc un ré, donc un C9 c'est un C7 avec un ré (7+2)
Cm9 -> do, mib, sol, sib, ré
C9 -> do, mi, sol, sib, ré

la 9+ est sympa en blues et jazz, donc 9+ c'est un mib (même note que la tière mineure !)
C9+ = do, mi, sol, sib, mib (on remarque le frottement mi/ mib, très sympa !)

-------------------------------------

La 13ème = 7+6 (sixte : la pour un do
C13 -> do, mi, sol, sib, la

-------------------------------------
... etc !
-------------------------------------
DONC !!!!
Pourquoi tout ça ?
-------------------------------------

Je pense que tu pourrais voir ton interface graphique :

1 - Choix d'une tonique (fondamentale) notre exemple ci-dessus : le do
2 - Choix de la tierce majeur / mineure ou quatre
3 - Choix de la quinte (normale, diminuée ou augmentée)
4 - Ajout sixte
5 - Ajout 7ème (choix mineure ou Majeur) (avec la sixte -> 13ème !)
6 - Ajoute 2 (une seconde , choix normale ou - ou +), avec la 7ème cochée, ça fait 9ème

Traiter à part les accords diminuées (il n'y en a que 4)
Cdim (ce n'est pas un C5- !)
Cdim = do mib solb si
C#dim idem ci-dessus, un 1/2 ton au dessus, etc..., donc ça en fait 4 au final, Eb dim = Cdim !

Cela ouvre grandement les possibilités !

Bon, j'espère que tout cela pourra te (vous) servir à découvrir des sonorités nouvelles (et je passe sur les renversements qui changent grandement la couleur (un Cm7 peut être mib, do, sib, sol, dans le désordre! ) et certains accords ont plusieurs noms possibles ;-)

Cordialement,
ym_trainz
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 août 2008 à 21:11
Clem, une suggestion :
(vu que je parlais de GuitarPro, un shareware)

Pourquoi pas une lecture de fichier texte, de ce style :

-----2-----------4/3---------------
---------3--------------3----------
-------------2---------------2-----
-0---------------------------------
-----------------------------------
-----------------------------------

Ca serait au top, non ?
@++ ;)
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
12 août 2008 à 02:19
Salut

Il me semble que les ronds et les notes ne sont pas bien centrés : je pense que cela vient d'un height impair.

Les notes en blanc sur le manche : je trouve que ca surcharge un peu le design.

Sinon ca semble sympas (j'ai pas téléchargé) et ca rend super bien.

Par contre pourquoi utiliser un fichier Wav alors qu'un simple beep pourrait faire l'affaire ?
Profil bloqué
11 août 2008 à 23:42
Pour clementio

J'ai eu une idée
Rajouter un bouton de commande à côté du bouton "Jouer l'accord" du bas et colles-y ce code
Cela permet d'effacer les positions des accords retrouvés

Private Sub Effacer_Click()

dim lCompteur as Long

For lCompteur = 18 To 35
lblCorde1(lCompteur).FontSize = 8
lblCorde2(lCompteur).FontSize = 8
lblCorde3(lCompteur).FontSize = 8
lblCorde4(lCompteur).FontSize = 8
lblCorde5(lCompteur).FontSize = 8
lblCorde6(lCompteur).FontSize = 8
lblCorde1(lCompteur).ForeColor = &HE0E0E0
lblCorde2(lCompteur).ForeColor = &HE0E0E0
lblCorde3(lCompteur).ForeColor = &HE0E0E0
lblCorde4(lCompteur).ForeColor = &HE0E0E0
lblCorde5(lCompteur).ForeColor = &HE0E0E0
lblCorde6(lCompteur).ForeColor = &HE0E0E0
Next

End Sub

a+ et bonne prog
clementio Messages postés 432 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 février 2014 1
11 août 2008 à 23:41
Galain --> Problème réglé (un exit for oublié lol)

J'ai ajouté un projet d'accordeur à la source mais c'est juste un début, dites moi ce que vous en pensez...
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2008 à 23:10
mdr bigfish_le vrai, tu as vu ça à la tv??
c'est en voyant la pub que j'y ai pensé !
et aussi j'ai déjà vu plusieurs instruments virtuels
genre VST
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
11 août 2008 à 22:56
Lol^^

autant prendre sa 'vraie' gratte, à ce compte là :D
Bah tiens, ça me donne envie.. A l'attaque de mes cordes :)

Après Guitar Pro, voici Clem Pro v1.0.0 !
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
11 août 2008 à 22:52
Salut,

excelente source clementio, Bravo !

gillardg : et pourquoi pas un ecran tactile que l'on prendrait sous le bras ^^

A+
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
11 août 2008 à 22:26
C'est pas faux ^^

Une classe avec deux modes (clsAccords) genre Lecture / Ecriture serait pas mal ;)
++
Profil bloqué
11 août 2008 à 22:22
Salut à tous et plus particulièrement à Clementio

Retrouver un accord par son doigté : là il y a un problème
Dans le manche du haut tu sélectionnes un accord et cela t'indique le placement des doigts sur les différentes cordes.
Sur le manche du bas tu poses tes doigts aux mêmes endroits que le manche du haut : tu ne retrouves pas le même accord qu'en haut. Où est le problème ou est-ce que c'est moi qui fait une erreur ?
Je ne suis pas du tout guitariste amateur ou chevronné mais cela me turlupine

Je te donne un exemple

tu sélectionnes en haut C(Do) - Fret3 cela te donne nom de l'accord : C
tu le reproduis en bas et tu retrouves comme accord D

Ce sont vraiemant des cas isolés

sinon le programme est super : bravo
chris188 Messages postés 6 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 11 août 2008
11 août 2008 à 20:36
oui c'est vrai, le mieux pour moi serait qu'on puisse accorder chacune des cordes comme on veut.

je viens de casser une corde de ma guitare :(
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2008 à 20:20
1280 X 1024et ça passe nickel
mais si il y en d'autres je veux bein poster mon changeur de résolutions express mais le prog est tellement simple que je suis pas sur que cela vaille la peine
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
11 août 2008 à 20:01
il ne doit pas voir la totalité du manche, suivant sa résolution d'écran
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2008 à 16:05
l'écran large c'est quoi le rapport avec une guitare??
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2008 à 16:04
un capo? [mdr{qu'est ce que la maffia vient faire la dedans?
ah oui}mdr]
un capodastre un controle que l'on déplace le long du manche
chris188 Messages postés 6 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 11 août 2008
11 août 2008 à 13:26
super , bonne idée...

mais tout le monde n'a pas un écran large :)

la prochaine étape serait elle de savoir accorder chaque corde et imaginer avec un capot ?
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2008 à 12:11
salut MORTALINO
le placement de doigt tu l'as déjà ici , ok on peut jouer qu'un accord ,et pour gratter je vois bien lemouvement de la souris
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
11 août 2008 à 11:59
salut gillardg,

tant j'ai vu un accordéon virtuel, ça le fait, que la guitare, j'ai du mal à m'imaginer..
Il me semble complexe de pourvoir gérer le 'grattement' de 1 à 6 cordes, + un placement de doigts sur 0 à 21 cases.

++
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2008 à 11:51
après avoir reçu la conversion en sources pour vb.2005
pour laquelle je remercie Galain, après avoir éssayé le prog d'ou la note 10/10
m'est venue une idée
une guitare virtuelle !
je sais pas si j'y arriverais mais ce code serait un bon départ
cs_bdodan Messages postés 7 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 11 août 2008
11 août 2008 à 11:23
Bravo et merci pour ce partage.
Ceci dit, je suis un néophyte et j'apprécierais d'avoir le fichier en .exe
Je vais me permettre d'adresser un Mp à Galain vu qu'il a fait la conversion.
Encore Merci à tous et Bravo à Codes Sources et à Nix
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
11 août 2008 à 11:18
Salut Clementio,

sympa ta petite source ;)
A quand les images des placements des mains ? :D

Pourquoi même avec ta source je joue pas mieux ? :$

Bonne continuation
++
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
10 août 2008 à 14:09
salut Galain,
message en cours
Utilisateur anonyme
10 août 2008 à 14:01
très bien
Profil bloqué
10 août 2008 à 13:51
Salut GILLARDG
Moi j'utilise Visual Basic 2008 Express
Alors soit tu prends Visual Basic 2008 Express ou alors tu m'envoies un message privé et je t'envoie l'EXE avec son installation avec Clickonce
J'attends de tes nouvelles
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
10 août 2008 à 13:38
Galain, la conversion avec l'assistant vb2005
ne fonctionne pas chez moi.
Profil bloqué
10 août 2008 à 00:45
Salut GILLARDG
Je ne suis pas guitariste mais par curiosité j'ai téléchargé le programme VB6 et en ai fait la conversion en VB NET avec l'assistant de conversion de Visual Basic 2008 Express. Le programme fonctionne du premier coup.En tout cas bravo à clementio pour cette application.
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
9 août 2008 à 23:04
ça pourrait en effet m'être utile mais je n'ai pas vb6

comptes tu faire une version vb.net??
Rejoignez-nous