Harmoniques ------------ Timbre ======== Lorsque l'on joue une note à l'aide d'un intruments, celui-ci sonne à une frequence :math:`f_0` (appelée *fondamentale*) ainsi qu'à plusieurs multiples de cette fréquence :math:`f_i=(i+1)\times f_0` (appelées *harmoniques*). En jouant un do, on entends la superposition de la fondamentale et de des harmoniques. Chacunes de ces harmoniques corresponds à l'une des 12 notes de musique jouée à des hauteurs (octaves) différentes. .. note:: La video suivante illustre bien ce concept: `Les harmoniques d'une note `__. .. figure:: figures/harmoniques.svg :width: 500px :align: center Représentation des harmoniques d'une fréquence :math:`f_0` (tout en haut) en faisant vibrer une corde Le signal produit par une cordre vibrant à une fréquence :math:`f_0` contient les fréquences suivantes: .. list-table:: Associations fréquences, notes et intervalles (`source `__). Note: do 0 est le do du premier octave, do 1 est le do du deuxième octave etc. :align: center :header-rows: 1 * - Fréquence - Note - Intervalle * - :math:`f_0` - do 0 - fondamentale * - :math:`2f_0` - do 1 - octave * - :math:`3f_0` - sol 1 - quinte * - :math:`4f_0` - do 2 - octave * - :math:`5f_0` - mi 2 - tierce * - :math:`6f_0` - sol 2 - quinte * - :math:`7f_0` - sib 2 - septième mineur L'origine des termes octave, quinte tierce etc, seront expliqué dans un prochain chapitre. Ici, ces intervalles correspondent à la distance entre l'harmonique considéré :math:`f_i`, et la fondamental :math:`f_0`, lorsque :math:`f_i` est ramené sur le même octave que :math:`f_0`. La distance entre une fréquence :math:`f_a` et :math:`f_b` se calcule en faisant un ratio :math:`\frac{f_a}{f_b}`. Comment la fréquence d'une harmonique :math:`f_i` à l'octave de :math:`f_0`? Diviser ou multiplier une fréquence par deux ne change pas la note. Ainsi, en divisant par deux autant de fois que nécessaire jusqu'à ce que :math:`f_0 \le f_i \le 2f_0` on ramène l'harmonique à l'octave de la fondamentale. Le code source suivant détermine pour chacune des harmoniques la note associé ainsi que le facteur ramenant à l'octave. Attention, je ne l'ai pas vérifié: .. _harmoniques_prog: .. literalinclude:: code/harmoniques.R :language: R Example de sortie du programme: .. code-block:: console 1f do 1/1 2f do 2/1 3f sol 3/2 4f do 4/2 5f mi 5/4 6f sol 6/4 7f la#/sib 7/4 8f do 8/4 Le *timbre* corresponds aux caracteristiques propres au son d'un instruments, ce qui permet de le reconnaitre. Un do joué sur un piano, une guitare, une flute reste un do. Ce qui permet de savoir si il s'agit d'un piano, guitare ou flute est le *timbre* de l'instrument. En terme de fréquences, le timbre ce traduit par une variation des amplitudes (propre à chaque instruments) des harmoniques. Gamme Pythagoricienne ====================== .. _pythagoricienne: En musique, un intervalle est la rapport de deux fréquences. Un octave corresponds à deux fois la fréquence initiale :math:`f_{octave}=2f_0`. Il s'agit d'un intervalle important car il sonne extrêmement juste lorsque l'on joue :math:`f_0` et :math:`f_{octave}` simulatanement. Pour rappel, le passage à l'octave :math:`f_{octave_i}=2^i*f_0` est une opération qui ne change pas la note de départ! Ainsi, diviser/multiplier une fréquence par 2, une ou plusieurs fois, laisse la note inchangée. Un concept très important sur lequelle repose la gamme Pythagoricienne. En multipliant par 3 une fréquence :math:`f_0`, on obtient une note qui correspond quasiment à la quinte de celle-ci. Pourquoi? Car si on ramène cette quinte sur l'octave the :math:`f_0` (en divisant par 2), on obtient une fréquence qui correspond quasiment la quinte de cette octave. Pour rappel, diviser par deux ne change pas la note! En répétant ce principe, Pythagore ajoute 12 nouvelle notes l'octave. En partant d'une fréquence :math:`f_0`, il créer une quinte :math:`f_a=3f_0`. Puis il prends à nouveau la quinte de :math:`f_b=3f_a`. On oubli pas de divisé chacunes de ce nouvelles fréquences par 2 jusqu'a retomber dans l'octave de :math:`f_0`. C'est à dire une fréquence :math:`f` tel que :math:`f_0`__, `ScienceÉtonnante `__ Gamme Tempéré ============== Il est possible de recontruire l'ensemble des notes d'une tonalité (ce terme sera dévelopé plus tard) pour que toutes les intervalles tombent justent (`source `__). On appelle cela la *gamme naturelle* ou *gamme juste* ou *gamme du physicien*. Sauf que l'on ne pourra pas changer de tonalité sans que celle-ci sonne fausse. Pour cela, il suffit de connaitre les ratios exactes de tierce (:math:`\frac{3}{2}`) ou de quintes (:math:`\frac{5}{4}`) et de contruire l'ensemble des notes avec. Grâce à cette approche, on peu en déduire la valeur théorique de chacune des intervalles en musique. Par example, pour la seconde majeur, on sait que la deuxième quinte de do est ré (intervalle de seconde majeur). On sait également que :math:`f_{do}=261.63` Hz. Ainsi, :math:`f_{ré}=\frac{\frac{3}{2}^2f_{do}}{\underbrace{2}_{\text{Ramène la note à l'octave}}}=294.3293` Hz. En faisant le rapport des fréquences on obtient le ratio d'une seconde majeur :math:`\frac{294.3293}{261.63}=1.125=\frac{9}{8}`. Le programme suivant génère l'ensemble des fréquence théorique de chacune des notes de la gamme naturelle: .. literalinclude:: code/gamme_naturelle.R :language: R Sortie du programme: .. code-block:: console do 261.63Hz do#reb 272.53125Hz re 294.33375Hz re#/mib 306.59765625Hz mi 327.0375Hz fa 348.84Hz fa#/solb 367.9171875Hz sol 392.445Hz sol#/lab 408.796875Hz la 436.05Hz la#/sib 459.896484375Hz si 490.55625Hz Comme on ne peut pas utiliser toutes les tonalités avec une gamme parfaitement accordée, la *gamme tempéré* propose de répartir l'ensemble des désaccords sur toutes les notes. Il s'agit de l'accordage utilisé de nos jours. Ansi, pour passer d'une note à la suivante, on multiplie par facteur :math:`2^\frac{1}{12}`. Le code suivant génère l'ensemble des notes de la *gamme tempérée*: .. literalinclude:: code/temperee.R :language: R .. list-table:: Exemple d'approximations des intervalles faites par la gamme tempérée. Tout les intervalles sont légèrement faux à part l'octave. :align: center :header-rows: 1 * - Intervalle - Valeur théorique - Valeur de la gamme tempérée * - Seconde - :math:`\frac{9}{8}=1.125` - :math:`2^\frac{2}{12}=1.222462` * - Tierce - :math:`\frac{5}{4}=1.25` - :math:`2^\frac{4}{12}=1.259921` * - Quarte - :math:`\frac{21}{16}=1.3125` - :math:`2^\frac{5}{12}=1.33484` * - Quinte - :math:`\frac{3}{2}=1.5` - :math:`2^\frac{7}{12}=1.498307` * - Octave - :math:`2` - :math:`2^\frac{12}{12}=2`