Etant musicien, je me permets d'intervenir car a mon avis il y a une omission importante dans la discution.
Je m'adresse surtout à ph.rincon et à tous les musiciens ici. Pour les autres, désolé si mon langage est un peu abstrait.
L'algorithme proposé par Vaedan est trés juste mais seulement si on suit le cycle des quintes (C, G, D, A, E, B, F#, C# etc)
Néanmoins, sont ignorées toutes les tonalités qui suivent le cycle des quartes (F, Bb, Eb, Ab, Db, Gb, Cb)
Pour être plus clair, si je dispose d"un morceau en C, disons une suite d'accords quelconque et, si je veux la transposer 1 ton en dessous, ca me donne une tonalité en A#.
Hors, aucun morceau est écrit en A#. On choisira de préférence une tonalité en Bb et une tonalité en Bb n'est pas égale à une tonalité en A# car les altérations à la clé changent complètement.
Donc ma question est:
Comment fais tu donc pour gérer ces altérations et prendre en compte le fait qu'un utilisateur puisse au choix définir une tonalité en C# ou Rb ou A# et Bb etc?
J'espère que je me susi fait comprendre.