#!/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