Outils pour utilisateurs

Outils du site


tp:python:harmonie

Harmonie avec Python

http://images.math.cnrs.fr/L-harmonie-est-numerique.html

En cours de rédaction.

Contrairement ce qu'on pourrait penser, les valeurs des notes (le son qu'elles produisent), l'écart entre les notes a varié au cours du temps, comme évoluaient les instruments, et la théorie de l'harmonie. Dans tout ce qui suit, nous faisons référence à la gamme tempérée, qui correspond aux notes que nous trouvons actuellement sur un piano, et dont la caractéristique, comme nous allons le voir est de diviser l'octave en 12 demi tons **égaux**.

L’harmonie est numérique

Notes de musique

À chaque note d'un piano (blanche ou noire) correspond une fréquence particulière (qu'on donne en Hertz). Le passage d'un octave à l'octave supérieur correspond à un doublement de fréquence. Chaque octave d'un piano contient 6 notes blanches (do, ré, mi, fa, sol, la si), et 5 notes noires, do# (ou réb) située entre le do et le ré, re# (ou mib) située entre le ré et le mi, fa#, sol# et la#. Dans l'ordre, on rencontre donc les notes suivantes : do, do#, re, re#, mi, fa, fa#, sol, sol#, la, la#, si

Pour passer d'une de ces notes à la suivante, on multiplie la fréquence par un facteur constant, que nous appellerons JEAN PIERRE. La valeur de JEAN PIERRE est la même pour toutes les notes du piano.

Calculez la valeur de JEAN PIERRE.

Passer d'une note à la suivante correspond à ajouter 1/2 ton. Lorsqu'on ajoute 12 1/2 tons (ou 6 tons), on se retrouve sur l'octave suivant.

Le LA4 (4ème la d'un piano) correspond à la fréquence 440Hz.

Écrivez une fonction qui renvoie la fréquence de n'importe quelle note décrite ainsi (sous forme d'une chaîne de caractère): do3 ou do#5 ou reb2…

Harmoniques

Les harmoniques correspondant à une note sont les notes qui ont une fréquence double, triple, quadruple etc… Écrivez une fonction qui, si on lui donne une note, et un nombre n d'harmoniques, renvoie les n premières harmoniques, fondamentale incluses. Par exemple, harmoniques(“do2”, 4) devrait renvoyer : [do2, do3, sol4, do5]

Accords

Lorsqu'on travaille dans la gamme de do, chaque note à un numéro d'ordre. La tonique est la première (donc do), puis viennent les notes blanches : la seconde : ré, la troisième : mi, jusqu'à la septième : si. Les noires sont dites diminuées : le do# est la seconde diminuée etc….

Si on change de gamme, par exemple si on considère la gamme de mi, la troisième est cette fois ci située un sol#.

Écrivez une fonction qui, si on lui donne la tonique et le numéro (1, 2, 1.5) de la note renvoie son nom.

tp/python/harmonie.txt · Dernière modification: 2015/01/20 12:26 (modification externe)