Les fréquences sont exprimées en hertz.
L'objectif est de créer une gamme. [br]Choisir une fréquence initiale f_0 (les valeurs extrêmes de f_0 correspondent à un do et un la).[br]Appuyer sur "Début", Enregistrer la position de A dans le tableur.[br]On s'autorise deux opérations mathématiques sur les fréquences :[br][list][*]Multiplier par 3/2[/*][*]Diviser par 2[/*][/list]de sorte que l'on obtient une nouvelle fréquence dans l'intervalle [1;2[ que l'on enregistre dans le tableur avec le bouton rouge.[br]On espère pouvoir "boucler" c'est à dire retomber exactement sur 1... ce n'est pas possible mais presque ![br]On peut obtenir ainsi une subdivision à peu près régulière de [1;2[ avec 5, 7, ou 12 fréquences qui donneront 5, 7, 12 notes dans la gamme.[br]
On peut programmer en Python une construction de cette liste de n fréquences avec une fonction de ce type :[br][code][br]def listefrac(n): #n: nb de termes de la suite[br] L=[][br] k=1[br] for i in range(n):[br] k=3/2*k[br] if k>2: #on se ramène entre 1 et 2[br] k=k/2 [br] L.append(k)[br] return L[br][/code][br]Alors listefrac(12) renvoie la liste des fréquences (ramenées entre 1 et 2) dans l'ordre de la construction. [br]On peut la trier par ordre croissant avec sorted(listefrac(12)).