212 lines
9 KiB
ReStructuredText
212 lines
9 KiB
ReStructuredText
Harmoniques
|
|
------------
|
|
|
|
Timbre
|
|
========
|
|
|
|
Lorsqu'on joue une note avec un intrument, 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 cette superposition de la fondamentale et de ces harmoniques.
|
|
Chacunes des harmoniques corresponds à l'une des 12 notes de musique jouées à des hauteurs (:ref:`octave <intervalles>`) différentes.
|
|
|
|
.. note::
|
|
La video suivante illustre bien ce concept: `Les harmoniques d'une note <https://www.youtube.com/watch?v=sPOLR60ADs8>`__.
|
|
|
|
.. figure:: figures/harmoniques.svg
|
|
:width: 500px
|
|
:align: center
|
|
|
|
Représentation des harmoniques d'une fréquence :math:`f_0` (tout en haut) produits en faisant vibrer une corde
|
|
|
|
Le signal produit par une cordre vibrant à une fréquence :math:`f_0` contient entre-autres les fréquences suivantes:
|
|
|
|
.. list-table:: Associations fréquences, notes et intervalles (`source <http://decouverte.orgue.free.fr/r_harmon.htm>`__). Le do 0 est le do du premier octave, do 1 est celui du second 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
|
|
- :ref:`quinte <intervalles>`
|
|
* - :math:`4f_0`
|
|
- do 2
|
|
- octave
|
|
* - :math:`5f_0`
|
|
- mi 2
|
|
- :ref:`tierce <intervalles>`
|
|
* - :math:`6f_0`
|
|
- sol 2
|
|
- quinte
|
|
* - :math:`7f_0`
|
|
- sib 2
|
|
- :ref:`septième mineur <intervalles>`
|
|
|
|
|
|
L'origine des termes octave, quinte tierce etc, sera détaillé dans un :ref:`prochain chapitre <intervalles>`.
|
|
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`.
|
|
|
|
.. note::
|
|
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 ramener 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 programme suivant détermine pour chacunes des harmoniques d'une note, leurs notes associées ainsi que leurs facteurs les ramenants à l'octave:
|
|
|
|
.. _harmoniques_prog:
|
|
.. literalinclude:: code/harmoniques.R
|
|
:language: R
|
|
|
|
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 permettant de le reconnaitre. Un do joué sur un piano, une
|
|
guitare, une flute reste un do. Ce qui les différencient (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}` simultanément.
|
|
|
|
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 ou multiplier une fréquence par 2, une ou plusieurs fois, ne change pas la note.
|
|
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 à la quinte de cette
|
|
octave. Pour rappel, diviser par deux ne change pas la note!
|
|
|
|
En répétant ce principe, Pythagore ajoute 12 nouvelles 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 diviser 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<f<2f_0`.
|
|
Pourquoi 12 notes? Car si on en créer une :math:`13^{ème}`, on retombe **quasiment** sur :math:`f_0`.
|
|
Il est donc inutile de poursuivre.
|
|
En effet, :math:`\frac{3}{2}^{12}f_0 = 129.7f_0 \approx 128f_0 = 2^7f_0` ce qui corresponds à :math:`f_0` joué 7 octaves plus haut.
|
|
Ramener cela à l'octave de :math:`f_0` celà corresponds **quasiment** à :math:`f_0` joué 1 octave plus haut.
|
|
Voici comment générer la gamme Pythagoricienne:
|
|
|
|
.. literalinclude:: code/pythagoricienne.R
|
|
:language: R
|
|
|
|
Comme on ne retombe pas éxactement à l'octave supérieure, cela créer une dissonance appelée *quinte du loup*.
|
|
Ainsi, la dernière quinte de la gamme Pythagoricienne ne sonne pas *juste*.
|
|
|
|
.. figure:: figures/quinte_loup.jpg
|
|
:width: 300px
|
|
:align: center
|
|
|
|
Quinte du loup
|
|
|
|
De la même manière, l'intervalles de Tierce majeurs (de do à ré) ne tombe pas juste.
|
|
Pour résoudre ce problème, on pouvait utiliser le *tempérament mésotonique* (au lieu de multiplier par :math:`\frac{3}{2}`, on multipli par :math:`1.495^4` pour calculer les quintes).
|
|
Grace à cela, les tierces tombents juste! Au prix de quintes qui le sont un peu moin.
|
|
Par contre, cela agrave la quinte du loup.
|
|
|
|
En réalité, il y a plusieurs *tempérament mésotoniques*!
|
|
Chaque musiciens utilisait celui qui permettait de s'accommoder au mieux à ça pratique.
|
|
|
|
Historiquement, cela a eu un impacte sur la façon de composer.
|
|
On choisisait les accords qui sonnent le mieux avec le *tempérament mésotoniques* utilisé.
|
|
|
|
.. note::
|
|
Excellentes vidéos sur le sujet: `Antoine Houlou-Garcia <https://www.youtube.com/watch?v=RO5qmvgTH5E>`__, `ScienceÉtonnante <https://www.youtube.com/watch?v=cTYvCpLRwao>`__
|
|
|
|
Gamme Naturelle
|
|
=================
|
|
|
|
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 <https://www.youtube.com/watch?v=cTYvCpLRwao&t=383s>`__). On appelle cela, la *gamme naturelle* ou *gamme juste* ou *gamme du physicien*.
|
|
Sauf qu'on ne pourra pas changer de tonalité sans que celle-ci soit dissonante!
|
|
Mais comment construire une telle gamme?
|
|
|
|
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 les valeurs théoriques 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
|
|
|
|
Gamme Tempérée
|
|
===============
|
|
|
|
Comme on ne peut pas utiliser toutes les tonalités avec une *gamme naturelle* sans que celle-ci soit dissonante il faut trouver un compromis.
|
|
Pour cela, la *gamme tempérée* propose de répartir l'ensemble des désaccords sur toutes les notes.
|
|
Il s'agit de l'accordage utilisé de nos jours.
|
|
Pour passer d'une note à la suivante, on multiplie par le 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`
|
|
|