18 lines
529 B
R
18 lines
529 B
R
|
#!/usr/bin/Rscript
|
||
|
|
||
|
do=261.63 # do frequency convention
|
||
|
N=13 # Number de nouvelle notes
|
||
|
quintes=rep(do,N) # Les nouvelles quintes
|
||
|
|
||
|
## Calcule l'ensemble des quintes de la gamme
|
||
|
facteurs=(3/2)^(0:(N-1)) # Facteurs relatif au do 261.63
|
||
|
## On divise par 2 jusqu'à retombé dans notre octave
|
||
|
toOctave=function(x){
|
||
|
if(x<(2*do+10)) # +10 car la dernière quinte n'est pas parfait et dépasse 2*261.63
|
||
|
x
|
||
|
else
|
||
|
toOctave(x/2)
|
||
|
}
|
||
|
notes=sort(sapply(quintes*facteurs,FUN=toOctave)) # Generation des notes de la gamme
|
||
|
|