science-notes/source/music/code/gamme_naturelle.R

27 lines
665 B
R
Raw Normal View History

2024-10-29 22:29:59 +01:00
#!/usr/bin/Rscript
2024-10-30 11:29:19 +01:00
q=3/2 # Facteur de quinte theorique
t=5/4 # Facteur de tierce theorique
2024-10-29 22:29:59 +01:00
2024-10-30 11:29:19 +01:00
## Construction de la gamme naturelle
## Les divisions par deux: pour rammener à l'octave
2024-10-29 22:29:59 +01:00
do4=261.63 # do fréquence par convention
sol4=do4*q
re4=sol4*q/2
fa4=do4*(1/q)*2
mi4=do4*t
sol4d=mi4*t
re4d=sol4d*q/2
si4=sol4*t
fa4d=si4*q/2
la4d=fa4d*t
la4=fa4*t
do4d=la4*t/2
2024-10-30 11:29:19 +01:00
## On affiche le résultat
2024-10-29 22:29:59 +01:00
names=c("do","do#reb","re","re#/mib","mi","fa","fa#/solb","sol", "sol#/lab", "la", "la#/sib", "si")
frequences=c(do4,do4d,re4,re4d,mi4,fa4,fa4d,sol4,sol4d,la4,la4d,si4)
for( e in Map(list,names,frequences)){
message(paste0(sprintf("%-8s",e[[1]])," ",e[[2]],"Hz"))
}