Le moteur diatonique :
Open Source en Do majeur
_____________________________________________________
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Développement diatonique élémentaire
# Version 1 : Calculer les modulations majeures
# pr0diat zéro
gnat = ['C','D','E','F','G','A','B'] # Notes diatoniques
gmaj = [1,1,0,1,1,1,0] # Formule majeure
gdeg = [0,1,2,3,4,5,6] # Degrés modal
nordiese = [' ','+','x','^','+^','x^'] # Altérations augmentées
subemol = [' ','°*','-*','*','°','-'] # Altérations diminuées
deg = 0
while deg < 7 : # Lecture diatonique tonale de "gdeg"
# Une tournée produit une tonalité modale de 7 notes
nat = gdeg[deg] # Degré tonal en question
cri = gimj = gmod = maj = 0
#
while maj < 7 : # Tonalité modale du degré
#
gmj = gmaj[maj] # Forme majeure
imaj = gmaj[nat] # Forme modale
gnt = gnat[nat] # Forme tonale
#print ("gmj,imaj,gnt ",gmj,imaj,gnt)
cri = cri + gimj # Tonalité cumulée
gimj = imaj - gmj # Calcul tonal PAS/PAS
#print ("gimj,cri,gnt ",gimj,cri,gnt)
cmod = gmod = cri
#print ("gmod ",gmod,gnt)
if gmod > 0 :
imod = nordiese[cmod]
#print ("imod+cmod",imod,cmod,gnt)
if gmod < 0
imod = subemol[cmod]
#print ("imod-cmod",imod,cmod,gnt)
if gmod == 0 :
imod = subemol[cmod]
#print ("imod,cmod ",imod,cmod,gnt)
gmod = gmod + cri # Transition tonale
nat = nat + 1
if nat > 6 : nat = 0
maj = maj + 1
print ("imod,maj,gnt ",imod,maj,gnt)
#
print ("___",deg)
deg = deg + 1
#
…
À l’ancienne époque des premiers pas qui se répètent, aux moments des premières écritures en langage de programmation. Car, il est déjà difficile de poursuivre un déroulement d’une séquence de logiques toutes indispensables. Le code peut être écrit de plusieurs façons, mais le passage par une écriture simpliste de l’algorithme qui somme un équitable traitement informatique. Vous désirez peut être comprendre musicalement la signification de cette expression anglaise variable… ?
La liberté informatique de l’Open Savoir…
|
I |
C |
|
D |
|
E |
F |
|
G |
|
A |
|
B |
|
1 |
|
2 |
|
3 |
4 |
|
5 |
|
6 |
|
7 |
|
|
II |
D |
|
E |
F |
|
G |
|
A |
|
B |
C |
|
|
1 |
|
2 |
b3 |
|
4 |
|
5 |
|
6 |
b7 |
|
|
|
III |
E |
F |
|
G |
|
A |
|
B |
C |
|
D |
|
|
1 |
b2 |
|
b3 |
|
4 |
|
5 |
b6 |
|
b7 |
|
|
|
IV |
F |
|
G |
|
A |
|
B |
C |
|
D |
|
E |
|
1 |
|
2 |
|
3 |
|
#4 |
5 |
|
6 |
|
7 |
|
|
V |
G |
|
A |
|
B |
C |
|
D |
|
E |
F |
|
|
1 |
|
2 |
|
3 |
4 |
|
5 |
|
6 |
b7 |
|
|
|
VI |
A |
|
B |
C |
|
D |
|
E |
F |
|
G |
|
|
1 |
|
2 |
b3 |
|
4 |
|
5 |
b6 |
|
b7 |
|
|
|
VII |
B |
C |
|
D |
|
E |
F |
|
G |
|
A |
|
|
1 |
b2 |
|
b3 |
|
4 |
b5 |
|
b6 |
|
b7 |
|