J'écris un logiciel qui transpose des partitions entre les touches et je suis encore nouveau en théorie musicale, donc j'espérais que quelqu'un qui en sait plus pourrait me faire savoir si mon approche est correcte. Voici mon processus pour chaque note:
- Trouvez le degré du nom de la lettre de la note dans l'échelle de la clé actuelle.
- Trouvez le nombre de demi-tons relevés ou abaissés de la note. la note réelle dans l'échelle. J'appellerai cela le décalage.
- Trouvez la note dans l'échelle de la nouvelle clé qui est du même degré.
- Augmentez ou diminuez la nouvelle note par le décalage.
Voici un exemple. Supposons que nous transposions la note E # de Do majeur en Ré majeur. Ensuite, nous ferions les étapes ci-dessus comme suit:
- E # serait le troisième degré de l'échelle.
- Le décalage serait de +1 car E est en fait le troisième degré de la gamme C majeur, et E # est un demi-ton au-dessus.
- Le troisième degré de la gamme D majeur est F # donc c'est la nouvelle note.
- En ajoutant notre décalage +1 à cela le ferait F ##.
Donc F ## est le résultat de la transposition de Mi # de Do majeur en Ré majeur. Je me rends compte que vous n'auriez pas normalement un E # dans la clé de do majeur mais je pense que c'est possible et cela fonctionne pour expliquer l'algorithme.
Cet algorithme est-il correct? Dois-je aborder cela différemment?
Une question secondaire: est-il nécessaire de connaître le mode des clés lors de l'exécution de ce type d'algorithme? Les résultats semblent les mêmes que j'utilise des échelles majeures ou mineures pour les calculs de degré / décalage. Merci d'avance!
Mise à jour: Solution
Il semble que l'algorithme ci-dessus soit correct, mais peut être simplifié. La pièce du puzzle qui me manquait était que vous pouvez déterminer l'intervalle sans vous référer à l'échelle. Voici l'algorithme mis à jour. Les étapes 1 et 2 trouvent l'intervalle entre la clé actuelle et la nouvelle clé. Les étapes 3 et 4 appliquent ce même intervalle à la note que nous transposons.
- Trouvez la distance entre le nom de la lettre de la clé actuelle et le nom de la lettre de la nouvelle clé dans la liste de toutes les lettres (non compris les dièses ou les bémols): A, B, C, D, E, F, G.
- Trouvez la distance en demi-tons entre la clé actuelle et la nouvelle clé.
- La lettre de la nouvelle note sera la distance de la lettre (étape 1) au-dessus de la note actuelle.
- Ajouter dièses ou plats à la lettre de la nouvelle note jusqu'à ce que ce soit le nombre correct de demi-tons (de l'étape 2) au-dessus de la note actuelle.
En répétant l'exemple d'origine, nous aurons:
- D est 1 lettre au-dessus de C
- D est 2 demi-tons au-dessus de C
- La nouvelle lettre sera 1 lettre au-dessus de E #, qui est F
- La nouvelle note sera 2 demi-tons au-dessus de E #, qui est F ##
Merci à tous ceux qui ont répondu, et en particulier à @MattL et @Dom. Toutes les réponses et commentaires ont été très instructifs!