Dans la musique occidentale, les gammes sont construites à partir de la gamme chromatique (12 notes). Cette gamme peut s'exprimer par la suite de hauteurs suivante :
A, A♯, B, C, C♯, D, D♯, E, F, F♯, G, G♯
Une note dièse donnée (indiquée par un ♯) peut aussi s'exprimer comme le bémol de la note située juste au-dessus (indiqué par un ♭), si bien que la gamme chromatique peut également s'écrire ainsi :
A, B♭, B, C, D♭, D, E♭, E, F, G♭, G, A♭
Les gammes majeure et mineure, ainsi que les modes, sont des sous-ensembles de cette collection de douze hauteurs. Elles comportent sept hauteurs et sont appelées gammes diatoniques. L'ensemble des notes de ces gammes s'écrit avec des dièses ou des bémols, selon la tonique (la note de départ). Voici un tableau qui indique si, pour une tonique donnée, on utilise l'expression avec bémols ou avec dièses :
| Armure | Majeur | Mineur |
|---|---|---|
| Naturelle | C | a |
| Dièse | G, D, A, E, B, F♯ | e, b, f♯, c♯, g♯, d♯ |
| Bémol | F, B♭, E♭, A♭, D♭, G♭ | d, g, c, f, b♭, e♭ |
Remarque que, selon la convention courante en théorie musicale, les notes naturelles « C » et « a » suivent la gamme avec dièses en montant et la gamme avec bémols en descendant. Dans le cadre de cet exercice, la gamme est uniquement ascendante.
Étant donné une tonique, génère la gamme chromatique de 12 notes en commençant par cette tonique.
b des bémols), quelle que soit la casse de la tonique donnée.Les gammes diatoniques, et toutes les autres gammes qui dérivent de la gamme chromatique, se construisent à partir d'intervalles. Un intervalle est l'écart entre deux hauteurs.
L'intervalle le plus simple sépare deux notes voisines ; on l'appelle un « demi-ton », ou une « seconde mineure » (parfois notée avec un « m » minuscule). L'intervalle entre deux notes séparées par une note intermédiaire s'appelle un « ton », ou une « seconde majeure » (noté avec un « M » majuscule). Les gammes diatoniques ne se construisent qu'avec ces deux intervalles entre notes voisines.
Les gammes non diatoniques peuvent contenir d'autres intervalles. Un intervalle de « seconde augmentée », noté « A », comporte deux notes intermédiaires (par exemple, de A à C ou de D♭ à E), soit un « ton » plus un « demi-ton ». Il existe aussi des intervalles plus petits et plus grands, mais ils n'entrent pas en jeu dans cet exercice.
Étant donné une tonique et un ensemble d'intervalles, génère la gamme musicale en commençant par la tonique et en suivant le schéma d'intervalles indiqué.
C'est semblable à la génération des gammes chromatiques, à ceci près qu'au lieu de renvoyer 12 notes, tu renvoies N+1 notes pour N intervalles. La première note est toujours la tonique donnée. Ensuite, pour chaque intervalle du schéma, la note suivante se détermine en partant de la note précédente et en sautant le nombre de notes indiqué par l'intervalle.
Par exemple, en partant de G et en utilisant les sept intervalles MMmMMMm, on obtient les huit notes suivantes :
| Note | Raison |
|---|---|
| G | Tonique |
| A | M indique un ton à partir de G, en sautant G♯ |
| B | M indique un ton à partir de A, en sautant A♯ |
| C | m indique un demi-ton à partir de B, sans rien sauter |
| D | M indique un ton à partir de C, en sautant C♯ |
| E | M indique un ton à partir de D, en sautant D♯ |
| F♯ | M indique un ton à partir de E, en sautant F |
| G | m indique un demi-ton à partir de F♯, sans rien sauter |
Inscris-toi sur Exercism pour apprendre et maîtriser Python avec 17 concepts146 exercices, et un vrai mentorat humain, le tout gratuitement.