Salut Pouzzler,
Je suis allé voir ton programme, ça a l'air plutôt bien parti, bravo !
Allez, je me lance dans une ou deux suggestions qui me viennent à première vue :
Pour l'ergonomie :
- Pourquoi pas une petite couche de graphisme sur le manche, même juste un fond ? Ca le rendrait plus agréable assez facilement je pense. Je rendrais aussi les cases plus rectangulaire, c'est un peu déroutant qu'elles soient carrées
- J'aurais mis les boutons "tuners" des cordes dans l'autre sens (- à gauche et + à droite), je trouve ça pas très naturel comme ça. Et tu peux aussi les rendre plus explicites, ils apparaissent sous forme de petit carré, on ne voit pas trop à quoi ils servent au début
- Il y a un truc bizarre avec les note length et spacing : le spacing dépend de la length, c'est pas normal, si ? J'aurais mis tout simplement MIDI.noteOn(0, realNotes[n], 127, spacing*n); et MIDI.noteOff(0, realNotes[n], spacing*n + length); (lignes 321 et 322) Si les notes se chevauchent c'est pas grave, c'est normal si length>spacing, pas de souci sémantique pour l'utilisateur. Mais je suppose que tu as une bonne raison d'avoir fait comme tu as fait.
- Serait-il possible d'avoir de l'aide un peu plus détaillé (et en français ?) pour chaque commande. Bon je sais qu'elles sont assez simples mais ça pourrait être pas mal (par exemple j'ai toujours pas compris le rôle du bouton "coursed instrument" qui lie les cordes par deux)
- il y a un petit souci de mis en page des boutons ".tuners" en dessous d'une certaine largeur de fenêtre. Peut-être qu'un min-width de 20px environ sur #controls ferait l'affaire. bon je sais c'est vraiment du détail
Au niveau de la reconnaissance des accords :
- pourquoi ne pas intégrer les intervalles ? si tu rajoutes tout simplement "2de mineure": ["1", "2b"], "2de majeure": ["1", "2"], "Tierce mineure": ["1", "3b"], "Tierce majeure": ["1", "3"], etc... à part pour le "1","5" qui reste un power chord, of course yeah
- J'ai voulu faire un E79# (x7678x) mais il ne le reconnait pas parce qu'il veut absolument une quinte... Peux-tu déclarer plusieurs arrangement pour chaque nom ? ici par exemple "7♯9": [["1", "3", "5", "♭7", "♯9"],["1", "3", "♭7", "♯9"]]. Ou peut-être si possible traiter la quinte à part, elle est quand même souvent omise dans les accords 7.
- Je pense que ça vient du même souci, mais 023100 ne me donne pas E9b (il veut une septième). Frustrant pour un flamenquiste comme moi ! En fait pour les accords 9, et 13, si tu enlèves la b7 dans la variable ça devrait pas poser de problème, si il y a une 9eme ça suffit à dire qu'il est 9, même si il n'y a pas de b7 (même si officiellement un accord 9 ou 13 contient obligatoirement une b7...)
- Un accord 13 veut absolument une 9. Même si c'est vrai officiellement (je suis pas sûr), c'est dommage pour le chiffrage par exemple de E713 en x79799 ou 076709, on s'attend à E713 ou E13
Voilà pour quelques pistes pour améliorer ton programme, tu en fais ce que tu veux bien sûr !
Je suis moi aussi en train de faire un programme en ligne pour les guitaristes
Je suis d'ailleurs parti à peu près de la même idée que toi, mais dans l'autre sens : faire trouver au programme les notes d'un accord à partir de son nom !
Le truc a beaucoup évolué depuis, c'est devenu une sorte de séquenceur orienté pour travailler la guitare, et maintenant le resultat est assez sympatique.
Je vous invite à aller voir si ça vous intéresse, le mieux est d'aller dans l'onglet "ouvrir un morceau" pour écouter ceux qui ont déjà été faits, et rajouter les votres si ça vous branche !
Voilà le lien :
http://services.emerit.net/jea(...).html
Je pense que je vais aussi faire un sujet pour avoir quelques retours et trouver la motivation pour en faire quelque chose d'abouti !
Encore bravo pour ton programme, continue-le !
yanmarqui