Minor changes
This commit is contained in:
parent
f425168158
commit
3b8782f54a
2 changed files with 77 additions and 14 deletions
29
source/music/code/harmoniques.R
Executable file
29
source/music/code/harmoniques.R
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/Rscript
|
||||||
|
|
||||||
|
do4=261.63 # do fréquence par convention
|
||||||
|
do5=2*do4 # do octave suivante
|
||||||
|
N=27 # Nombre d'harmoniques à explorer
|
||||||
|
names=c("do","do#reb","re","re#/mib","mi","fa","fa#/solb","sol", "sol#/lab", "la", "la#/sib", "si", "do","NA")
|
||||||
|
temperee=do4*((2^(1/12))^(0:12)) # Gamme tempere (expliquer plus tard)
|
||||||
|
|
||||||
|
## Ramener à l'octave de do4
|
||||||
|
toOctave=function(x, i=0){
|
||||||
|
if(x<=do5) # On verifie si on est au bonne octave
|
||||||
|
2^i
|
||||||
|
else
|
||||||
|
toOctave(x/2, i+1)
|
||||||
|
}
|
||||||
|
|
||||||
|
## On calcule les facteurs permettant de passer à l'octave de do4 pour chaque harmoniques
|
||||||
|
factors=(1:N/sapply(do4*(1:N),FUN=toOctave))
|
||||||
|
harmoniques=do4*factors # On calcule les fréquences à l'octave de do4
|
||||||
|
|
||||||
|
## On compare les fréquences trouvé à la gamme tempérée
|
||||||
|
M=abs(outer(harmoniques,temperee, "-"))<10 # 10 est la marge d'erreur
|
||||||
|
v=apply(M,1,FUN=function(row){if(any(row)) (1:13)[row] else 14}) # On selectionne les notes correspondantes
|
||||||
|
|
||||||
|
## On affiche le résultat
|
||||||
|
for( e in Map(list, 1:N, names[v], sapply(do4*(1:N),FUN=toOctave))){
|
||||||
|
message(paste0(e[[1]],"f ",e[[2]])," ",e[[1]],"/",e[[3]])
|
||||||
|
}
|
||||||
|
|
|
@ -7,31 +7,63 @@ Timbre
|
||||||
Lorsque l'on joue une note à l'aide d'un intruments, celui-ci sonne à
|
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
|
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*).
|
multiples de cette fréquence :math:`f_i=(i+1)\times f_0` (appelées *harmoniques*).
|
||||||
Ainsi, un lorsque l'on joue un do, on entends la superposition de la fondamentale et de ces 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.
|
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 <https://www.youtube.com/watch?v=sPOLR60ADs8>`__.
|
||||||
|
|
||||||
.. figure:: figures/harmoniques.svg
|
.. figure:: figures/harmoniques.svg
|
||||||
:width: 500px
|
:width: 500px
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Représentation des harmoniques d'une fréquence :math:`f_0` (tout en haut) en faisant vibrer une corde
|
Représentation des harmoniques d'une fréquence :math:`f_0` (tout en haut) en faisant vibrer une corde
|
||||||
|
|
||||||
Ainsi, le signal produit par une cordre vibrant à une fréquence :math:`f_0` contient les fréquences suivantes (`source <http://decouverte.orgue.free.fr/r_harmon.htm>`__):
|
Le signal produit par une cordre vibrant à une fréquence :math:`f_0` contient les fréquences suivantes:
|
||||||
|
|
||||||
.. math::
|
.. list-table:: Associations fréquences, notes et intervalles (`source <http://decouverte.orgue.free.fr/r_harmon.htm>`__). Note: do 0 est le do du premier octave, do 1 est le do du deuxième octave etc.
|
||||||
f_0 &\quad\mathrm{fondamental}\quad &\text{do 0}\\
|
:align: center
|
||||||
2f_0 &\quad\mathrm{octave} &\text{do 1}\\
|
:header-rows: 1
|
||||||
3f_0 &\quad\mathrm{quinte} &\text{sol 1}\\
|
|
||||||
4f_0 &\quad\mathrm{octave} &\text{do 2}\\
|
|
||||||
5f_0 &\quad\mathrm{tièrce} &\text{mi 2}\\
|
|
||||||
6f_0 &\quad\mathrm{quinte} &\text{sol 2}\\
|
|
||||||
7f_0 &\quad\mathrm{septième} &\text{sib 2}\\
|
|
||||||
... &\quad......
|
|
||||||
|
|
||||||
|
* - 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
|
||||||
|
|
||||||
.. note::
|
|
||||||
La video suivante illustre bien ce concept: `Les harmoniques d'une note <https://www.youtube.com/watch?v=sPOLR60ADs8>`__.
|
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. literalinclude:: code/harmoniques.R
|
||||||
|
:language: R
|
||||||
|
|
||||||
Le *timbre* corresponds aux caracteristiques propres au son d'un
|
Le *timbre* corresponds aux caracteristiques propres au son d'un
|
||||||
instruments, ce qui permet de le reconnaitre. Un do joué sur un piano,
|
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
|
une guitare, une flute reste un do. Ce qui permet de savoir si il
|
||||||
|
@ -42,11 +74,13 @@ variation des amplitudes (propre à chaque instruments) des harmoniques.
|
||||||
Gamme Pythagoricienne
|
Gamme Pythagoricienne
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
.. _pythagoricienne:
|
||||||
|
|
||||||
En musique, un intervalle est la rapport de deux fréquences.
|
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`.
|
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.
|
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.
|
||||||
|
|
||||||
On note également que 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!
|
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.
|
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.
|
Un concept très important sur lequelle repose la gamme Pythagoricienne.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue