IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Python Discussion :

Voyage en milieu tétracordique


Sujet :

Contribuez Python

  1. #1
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut Voyage en milieu tétracordique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
     
     
     
     
     
    # Python 3.9 UTF-8
    # Dimanche 28 mars 2021 à 19h 45m (premières lignes)
    # Mardi 13 avril 2021 (Développement des tétracordes)
    #
    # Conçu par Vicenté Llavata Abreu alias Toumic
     
     
    """ Script de construction des gammes musicales utilisant ces notes (C, D, E, F, G, A, B)
    Explications:
        La création des gammes musicales englobe les notes & les intervalles dans une octave de 12 ½ tons,
        elle se concentre sur les tétracordes étant des corps de 4 notes. L'assemblage formé
        par les gammes gestionnaires de l'intervalle, assemble 2 modèles tétras superposés. La création
        tétracordique mène à une gammologie musicale à partir d'un simple cluster de 4 éléments."""
     
     
    # Fichiers développés
    """..."""
    # Fonction développement
    """..."""
    # Déclarations des mémoires
    tablT = []
    dicoT, dicoM, dicoG = {}, {}, {} # Dictionnaires(Tétra,Mode,Gamme)
    voirT = {}
    yoyoT = [0]
    mini0 = '1234'              # Tétracorde primaire
    octave = 13         # 13 emplacements
    maxi0 = (octave - len(mini0)) - 1
    tetra0, tetra1, t234 = [], ['1', '2', '3', '4'], []
    tablT.append(tetra1)
    # Itérations
    t1, t2, t3, t4 = 0, 1, 2, 3 # maxi0 = 9
    u, u1, u2, u3, u4 = 0, 0, 0, 0, 0 # unité de blocage
    x, stop, stop0, stop1 = 0, True, False, 5
    # Opération Dico(mixam)
    mixam = {} # Dépendances Degré(min/max)
    """ Niveau T2 | MINI=1 MIDI=NULL MAXI=6 """
    """ Niveau T3 | MINI=2 MIDI=T2+1 MAXI=7 """
    """ Niveau T4 | MINI=3 MIDI=T3+1 MAXI=8 """
    nt234= [[2,[1, 6]], [3,[2, 7]], [4,[3, 8]]]
    j = -1
    gamme = '1020340506078'     # Chromatisme naturel
    notes = 'CDEFGABC'          # Notes musique
    alter = ['', '+', 'x', '^', '^+', '^x', '-*', '°*', '*', '°', '-']
    tabas, tahau = [], []       # Tétra*défaut
     
     
    # Fonction couplage tétracordique
    def couple():
        x, z = 0, 0
        for c in tablT:
            y, cyt, ctt = 0, [], []
            for t in tablT:
                l_ct = len(c) + len(t)              # Somme cas
                if octave >= l_ct:
                    o_ct = octave - l_ct            # Différence
                    if l_ct < octave and o_ct > 0:
                        for o in range(o_ct):
                            cyt.append('0')         # Vide zéro entre tétra
                    ctt = []
                    for t1 in t:
                        if t1 != '0':
                            t2 = str(int(t1) + 4)   # Vide zéro dans tétra
                        else:
                            t2 = '0'
                        ctt.append(t2)
                    dicoM[z] = tabas[x] + tahau[y]
                    """Suivre cot"""
                    cot = c.copy()
                    if len(cyt):
                        cot += cyt
                    cot += ctt
                    dicoT[z] = cot
                    cyt = []
                    y += 1
                    z += 1
                # print(f'z{z} dicoT{dicoT[z]}\n')
            # if x == 2 and y == 2: break ####
            x += 1
        # for d in dicoT.values(): print(f'{d}\n')
        # for d in dicoM: print(f'{dicoM[d]}\n')
     
     
     
     
    # Fonction format diatonique tétracordique
    def diaton(uni, dia):
        """ Chromatisation des tétras bas/haut """
        # print(f'Fonc Unité:{uni} Diatonie:{dia}')
        x, oo, o1o, o8o = -1, 0, [], []
        for deg in dia:
            ego1, ego8 = '', ''
            oo = octave - len(dia)
            x += 1
            if int(deg) > 0:
                ged = str(int(deg) + 4)
                sign1 = x - gamme.index(deg) # BAS bémol/dièse
                sign8 = (x + oo) - gamme.index(ged) # HAUT bémol/dièse
                # print(f'Ged{ged}, sign8{sign8} x{x} oo{oo} dia{dia} gamme.index(ged){gamme.index(ged)}')
                if int(deg) > 0:
                    # Signature dièse
                    ego1 = alter[sign1]
                    ego8 = alter[sign8]
                else:
                    # Signature bémol
                    ego1 = alter[sign1]
                    ego8 = alter[sign8]
                ooo1 = str(notes[int(deg)-1] + ego1 + deg)
                ooo8 = str(notes[int(ged)-1] + ego8 + ged)
                # print(f'ego1&8 {ego1}{ego8}|ooo1&8{ooo1}{ooo8}')
                if ooo1[1] in alter:
                    o1o.append(ooo1)
                else:
                    o1o.append(ooo1[0])
                if ooo8[1] in alter:
                    o8o.append(ooo8)
                else:
                    o8o.append(ooo8[0])
        tabas.append(o1o)
        tahau.append(o8o)
        # print(f'Tabas {tabas[-1]}:{tahau[-1]} Tahau | Dia{dia}')
        # print(f'TableT{tablT}')
     
     
    # Charge limite tétra
    for i in tetra1:
        if i != '1':
            j += 1
            mixam[j] = nt234[j][1]
    #print(f'Mixam {mixam}')
    # Développement tétracordique
    while stop:
        # Fonction fabrication
        def brique(nom, valeur, vrai):
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'FoncBric'
            # Vrai[1, 2, 4] Valeur(index) Nom(degré) Table[0]=['1', '2', '3', '4']
            rang = tablT[0].index(nom) # Index Nom Cluster[1,2,3,4]
            # print(f'_ Fonction nom:valeur {nom}:{valeur} Table {tablT[-1]} Vrai {vrai}|*FoncBric mox{maxi0}')
            vide, pose, terme, bric = 0, 0, vrai[-1], []
            # print(f'Rang={rang} pose={pose} vrai={vrai}')
            while 1: 
                if vide == 0:
                    pose += 1
                    bric.append('1')
                    # print(f'Fonc(0)|{bric}|Vide={vide}')
                    vide += 1
                if vide in vrai:
                    pose += 1
                    bric.append(str(pose))
                    # print(f'Fonc(vrai)|{bric}|Vide={vide}')
                    if vide == vrai[-1]:
                        tetra1 = [o for o in bric]
                        tablT.append(tetra1)
                        # print(f'_ Fonction _ {bric}| brique_voirT')
                        break
                    vide += 1
                if vide not in vrai:
                    bric.append('0')
                    # print(f'Fonc(faux)|{bric}|Vide={vide}')
                    vide += 1
     
     
        # print(f'--------------------------------------Champ:{len(tablT)}:{tablT[-1]}')
     
     
        """Niveaux : T's : Comptes(T234|Routes(U234 """
        if u4 == 0 and t4 <= maxi0 and t2 < 6:
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'Cond_U4'
            """ Niveau T4 | MINI=3 MIDI=T3+1 MAXI=8"""
            # Cycle T4 | True:STOP(T3,T2);GO(T4) | False:GO(T3)
            # print(f'***T4 True:STOP(T3,T2);GO(T4)|T4={t4} maxi0:{maxi0}')
            # print(f'| ifT4avant || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u3} | {tablT[-1]}')
            if (t4 + 1) > maxi0:
                u2, u3, u4 = 1, 0, 1 # .....    .....   .....       Tour Entier :GO(T3)
                # print(f'| ifT4ifaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
            else:
                t4 += 1
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....       Tour Entier :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |GO(T4)bric')
                # print(f'| ifT4ifelseaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                brique('4', t4, t234) # .....    .....   Fonction brique tétra
                t234 = []
        else:
            if t4 <= maxi0:
                # Ici U4 = 1 :(t4 <= maxi0)
                # print(f'elseIF:T4avant|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 1, 0 #     .....   .....   .....   False :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T4)bric')
                # print(f'elseIF:T4après|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
            else:
                # print(f'elseIFelse:T4avant|False:GO(T3)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 0, 1 #      .....    .....    .....     False:GO(T3)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T4)bric')
                # print(f'elseIFelse:T4après|False:GO(T3)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
     
     
        if u3 == 0 and t3 < maxi0:
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'Cond_U3'
            """ Niveau T3 | MINI=2 MIDI=T2+1 MAXI=7"""
            # Cycle T3 | True:GO(T4);STOP(T2);GO(T3) | False :GO(T2)
            # print(f'\n***T3 True:GO(T4);STOP(T2);GO(T3)|T3={t3} maxi0:{maxi0}')
            # print(f'| ifT3avant || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
            t3 += 1
            t4 = t3 + 1 # Opération Test(T3)/in
            if t4 <= maxi0:
                # Test(T3) Ici T4 <= maxi0(8)"""
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....   .....   Tour unic :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |GO(T3)bric')
                # print(f'| ifT3ifaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                brique('3', t3, t234) #      .....   .....   Fonction brique tétra
                t234 = []
            else:
                # Test(T3) Ici T4 > maxi0(8)"""
                t3 -= 1
                t4 -= 1
                u2, u3, u4 = 0, 1, 1 # .....    .....   .....   .....   Tour unic :GO(T2)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T3)bric')
                # print(f'| ifT3ifelseaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                t234 = [] # Opération Test(T3)/Out
        else:
            # De :if u3 == 0 and t3 < maxi0: Soit(U3=1;
            if u3 == 1 and t4 <= maxi0:
                # print(f'elseIF:T3avant|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....   .....   False :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T3)bric')
                # print(f'elseIF:T3après|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
            else:
                # print(f'elseIFelse:T3avant|False:GO(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 0, 1, 1 # .....    .....   .....   .....   False :GO(T2)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T3)bric')
                # print(f'elseIFelse:T3après|False:GO(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
     
        if u2 == 0 and t2 < maxi0 - 1:
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'Cond_U2'
            """ Niveau T2 | MINI=1 MIDI=NULL MAXI=6 """
            # Cycle T2 | True:GO(T4):GO(T3):GO(T2) | False:OUT
            # print(f'\n***T2 True:GO(T4):GO(T3):GO(T2)|T2={t2} maxi0:{maxi0}')
            # print(f'| ifT2avant || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
            t2 += 1
            t3 = t2 + 1
            t4 = t3 + 1 # Opération Test(T2)/in
            if t4 <= maxi0:
                # Test(T2) Ici t4 <= maxi0(8)"""
                u2, u3, u4 = 1, 1, 0
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |GO(T2)bric')
                # print(f'| ifT2ifaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                brique('2', t2, t234) # .....    .....   .....         Fonction brique tétra
                t234 = []
            else:
                # Test(T2) Ici t4 > maxi0(8)"""
                t2 -= 1
                t3 -= 1
                t4 -= 1
                u2, u3, u4 = 1, 1, 1 # Opération Test(T2)/Out
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T2)bric')
                # print(f'| ifT2ifelseaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                t234 = []
                break
        else:
            # De u2 == 0 and t2 < maxi0 - 1:
            if t2 == mixam[0][1]:
                # print(f'elseIF:T2avant|False:STOP(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4}')
                u2, u3, u4 = 1, 1, 1
                # print(f'elseIF:T2après|False:STOP(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4}')
                break
            else:
                # print(f'elseIFelse:T2avant|False:OUT|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....   .....   False:OUT             
    # print(f'--------------------------------------Champ:{len(tablT)}:{tablT}:Nombre de tétras = {len(tablT)}')
    unit = u
    for t in range(len(tablT)):
        diaton(unit, tablT[unit])
        unit += 1
    couple()


    Pas besoin de présenter les tétracordes, parce qu’ils sont doublement incontournables au vocabulaire scientifique, et surtout ils vont par deux dans nouvelle / ancienne gamme musicale. L’un commence à la tonique et l'autre se termine à l'octave.
    1234000005678
    Dire l’un c’est dire l’autre, dans un état bipolaire hypermanent !

    De manière classique le tétracorde a un état minimum de 4 notes (1,2,3,4), ces quatre notes sont liées au code quantique de la gamme naturelle.
    CDEFGABC
    Il est dit que la gamme naturelle est une diatonique à tonalité majeure…

    Essayer de développer une logique gammique à partir de son plus petit élément clustérien, c’est connaitre le cluster relatif chromatique. En sachant que la gamme comporte cinq intervalles situés entre certaines notes.
    BC D EF G A BC
    Elle commence en Do© elle ne comporte pas d’altération, c’est naturel !

    Le premier tétracorde trouvé est formé de quatre potes conjoints (), cette formation a un synonyme clustérien appelé « Cluster ».
    Et quoi de plus simple que le dédoublement clustérien, obtenant un clone clustérien dont l’effet est bien échelonné.
    1234
    (.1278.)
    5678
    812345678
    La programmation offre le moyen de développer un traitement codé…

    Ligne 119 | # Charge limite tétra
    Le cluster tétra trouvé est élémentaire, il ne comporte pas de poignée compréhensive sur laquelle s’appuyer ni déplacer. Mais on connait son taux de repli équivalant tétracordique (4), et sa capacité d’extension calculée en rapport chromatique-(12) diatonique-(7) octave-(2) cluster-(2). Les intervalles ne sont pas cités, ne sont pas existants, puis 5 intervalles + 7 notes = 1 2 34 5 6 7.
    En sachant que l’élément tonique du tétracorde-(1) ne change pas de place, il a toujours la valeur 1.
    # Opération Dico(mixam)
    mixam = {} # Dépendances Degré(min/max)

    """ Niveau T2 | MINI=1 MIDI=NULL MAXI=6 """
    """ Niveau T3 | MINI=2 MIDI=T2+1 MAXI=7 """
    """ Niveau T4 | MINI=3 MIDI=T3+1 MAXI=8 """

    De Ligne 33 À Ligne 37

    Ligne 125 | # Développement tétracordique
    Cette fonction est séparée en deux parts ;
    L’algorithme des membres tétracordiques :
    Selon les estimations minima/maxima les tétras (T1, T2, T3, T4)
    La priorité du cycle T4 de 3 à 8, étendu de six clusters :
    1234|12304|…|123000004
    L’incrémentation du T4 est prioritaire jusqu’à son maxima. En fin de boucle, l’algo incrémente le tétra voisin inférieur une seul fois.
    Exemple du débutant :
    1230004__ Tétracorde n°4
    12300004_ Tétracorde n°5
    123000004 Tétracorde n°6
    12034____ Tétracorde n°7
    120304___ Tétracorde n°8
    La mise en forme des membres tétras :
    La formation clustérienne lorsque les éléments T1, T2, T3, T4 se sont synchronisés, vient rendre visible les différentes positions diatoniques En remplaçant les intervalles par des zéros.

    Ligne 80 | # Fonction format diatonique tétracordique
    Cette fonction traite le premier cluster trouvé formé des chiffres de 1 à 4, ou bien C, D, E, F, et de zéros et intervalles. Ce tétra n’a pas encore ces valeurs 5, 6, 7, 8 nécessaires pour former la gamme idéale.
    Alors elle prend le n°1 pour en faire le n°5. Ainsi quand elle traite le cluster n°1 1234, il en ressort 5678. En s’arrangeant pour garder le 1 à la tonique et le 8 à l’octave. Ce qui a comme résultat fictif ; 1234000005678.
    En ce qui concerne la tonalité (#, b), soit l’apport altératif des notes. De cette fonction abouti un ensemble tétra entier, toujours de 1 à 4 pour des tonalités allant de 1 à 4 et de 5 à 8. Lignes 114-115 | tabas, tahau.

    Ligne 45 | # Fonction couplage tétracordique
    Une liste de tétras utiles a été tablée. Ligne 116 | tablT. Et la notion du format naturel de la gamme vue ci-dessus avec le positionnement de deux tétras, ou alors il s’agit d’un couplage premier clustérien.



    La programmation continue avec la définition des gammes fondamentales prochainement.
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  2. #2
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par toumic2.0 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
     
     
     
     
     
    # Python 3.9 UTF-8
    # Dimanche 28 mars 2021 à 19h 45m (premières lignes)
    # Mardi 13 avril 2021 (Développement des tétracordes)
    #
    # Conçu par Vicenté Llavata Abreu alias Toumic
     
     
    """ Script de construction des gammes musicales utilisant ces notes (C, D, E, F, G, A, B)
    Explications:
        La création des gammes musicales englobe les notes & les intervalles dans une octave de 12 ½ tons,
        elle se concentre sur les tétracordes étant des corps de 4 notes. L'assemblage formé
        par les gammes gestionnaires de l'intervalle, assemble 2 modèles tétras superposés. La création
        tétracordique mène à une gammologie musicale à partir d'un simple cluster de 4 éléments."""
     
     
    # Fichiers développés
    """..."""
    # Fonction développement
    """..."""
    # Déclarations des mémoires
    tablT = []
    dicoT, dicoM, dicoG = {}, {}, {} # Dictionnaires(Tétra,Mode,Gamme)
    voirT = {}
    yoyoT = [0]
    mini0 = '1234'              # Tétracorde primaire
    octave = 13         # 13 emplacements
    maxi0 = (octave - len(mini0)) - 1
    tetra0, tetra1, t234 = [], ['1', '2', '3', '4'], []
    tablT.append(tetra1)
    # Itérations
    t1, t2, t3, t4 = 0, 1, 2, 3 # maxi0 = 9
    u, u1, u2, u3, u4 = 0, 0, 0, 0, 0 # unité de blocage
    x, stop, stop0, stop1 = 0, True, False, 5
    # Opération Dico(mixam)
    mixam = {} # Dépendances Degré(min/max)
    """ Niveau T2 | MINI=1 MIDI=NULL MAXI=6 """
    """ Niveau T3 | MINI=2 MIDI=T2+1 MAXI=7 """
    """ Niveau T4 | MINI=3 MIDI=T3+1 MAXI=8 """
    nt234= [[2,[1, 6]], [3,[2, 7]], [4,[3, 8]]]
    j = -1
    gamme = '1020340506078'     # Chromatisme naturel
    notes = 'CDEFGABC'          # Notes musique
    alter = ['', '+', 'x', '^', '^+', '^x', '-*', '°*', '*', '°', '-']
    tabas, tahau = [], []       # Tétra*défaut
     
     
    # Fonction couplage tétracordique
    def couple():
        x, z = 0, 0
        for c in tablT:
            y, cyt, ctt = 0, [], []
            for t in tablT:
                l_ct = len(c) + len(t)              # Somme cas
                if octave >= l_ct:
                    o_ct = octave - l_ct            # Différence
                    if l_ct < octave and o_ct > 0:
                        for o in range(o_ct):
                            cyt.append('0')         # Vide zéro entre tétra
                    ctt = []
                    for t1 in t:
                        if t1 != '0':
                            t2 = str(int(t1) + 4)   # Vide zéro dans tétra
                        else:
                            t2 = '0'
                        ctt.append(t2)
                    dicoM[z] = tabas[x] + tahau[y]
                    """Suivre cot"""
                    cot = c.copy()
                    if len(cyt):
                        cot += cyt
                    cot += ctt
                    dicoT[z] = cot
                    cyt = []
                    y += 1
                    z += 1
                # print(f'z{z} dicoT{dicoT[z]}\n')
            # if x == 2 and y == 2: break ####
            x += 1
        # for d in dicoT.values(): print(f'{d}\n')
        # for d in dicoM: print(f'{dicoM[d]}\n')
     
     
     
     
    # Fonction format diatonique tétracordique
    def diaton(uni, dia):
        """ Chromatisation des tétras bas/haut """
        # print(f'Fonc Unité:{uni} Diatonie:{dia}')
        x, oo, o1o, o8o = -1, 0, [], []
        for deg in dia:
            ego1, ego8 = '', ''
            oo = octave - len(dia)
            x += 1
            if int(deg) > 0:
                ged = str(int(deg) + 4)
                sign1 = x - gamme.index(deg) # BAS bémol/dièse
                sign8 = (x + oo) - gamme.index(ged) # HAUT bémol/dièse
                # print(f'Ged{ged}, sign8{sign8} x{x} oo{oo} dia{dia} gamme.index(ged){gamme.index(ged)}')
                if int(deg) > 0:
                    # Signature dièse
                    ego1 = alter[sign1]
                    ego8 = alter[sign8]
                else:
                    # Signature bémol
                    ego1 = alter[sign1]
                    ego8 = alter[sign8]
                ooo1 = str(notes[int(deg)-1] + ego1 + deg)
                ooo8 = str(notes[int(ged)-1] + ego8 + ged)
                # print(f'ego1&8 {ego1}{ego8}|ooo1&8{ooo1}{ooo8}')
                if ooo1[1] in alter:
                    o1o.append(ooo1)
                else:
                    o1o.append(ooo1[0])
                if ooo8[1] in alter:
                    o8o.append(ooo8)
                else:
                    o8o.append(ooo8[0])
        tabas.append(o1o)
        tahau.append(o8o)
        # print(f'Tabas {tabas[-1]}:{tahau[-1]} Tahau | Dia{dia}')
        # print(f'TableT{tablT}')
     
     
    # Charge limite tétra
    for i in tetra1:
        if i != '1':
            j += 1
            mixam[j] = nt234[j][1]
    #print(f'Mixam {mixam}')
    # Développement tétracordique
    while stop:
        # Fonction fabrication
        def brique(nom, valeur, vrai):
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'FoncBric'
            # Vrai[1, 2, 4] Valeur(index) Nom(degré) Table[0]=['1', '2', '3', '4']
            rang = tablT[0].index(nom) # Index Nom Cluster[1,2,3,4]
            # print(f'_ Fonction nom:valeur {nom}:{valeur} Table {tablT[-1]} Vrai {vrai}|*FoncBric mox{maxi0}')
            vide, pose, terme, bric = 0, 0, vrai[-1], []
            # print(f'Rang={rang} pose={pose} vrai={vrai}')
            while 1: 
                if vide == 0:
                    pose += 1
                    bric.append('1')
                    # print(f'Fonc(0)|{bric}|Vide={vide}')
                    vide += 1
                if vide in vrai:
                    pose += 1
                    bric.append(str(pose))
                    # print(f'Fonc(vrai)|{bric}|Vide={vide}')
                    if vide == vrai[-1]:
                        tetra1 = [o for o in bric]
                        tablT.append(tetra1)
                        # print(f'_ Fonction _ {bric}| brique_voirT')
                        break
                    vide += 1
                if vide not in vrai:
                    bric.append('0')
                    # print(f'Fonc(faux)|{bric}|Vide={vide}')
                    vide += 1
     
     
        # print(f'--------------------------------------Champ:{len(tablT)}:{tablT[-1]}')
     
     
        """Niveaux : T's : Comptes(T234|Routes(U234 """
        if u4 == 0 and t4 <= maxi0 and t2 < 6:
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'Cond_U4'
            """ Niveau T4 | MINI=3 MIDI=T3+1 MAXI=8"""
            # Cycle T4 | True:STOP(T3,T2);GO(T4) | False:GO(T3)
            # print(f'***T4 True:STOP(T3,T2);GO(T4)|T4={t4} maxi0:{maxi0}')
            # print(f'| ifT4avant || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u3} | {tablT[-1]}')
            if (t4 + 1) > maxi0:
                u2, u3, u4 = 1, 0, 1 # .....    .....   .....       Tour Entier :GO(T3)
                # print(f'| ifT4ifaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
            else:
                t4 += 1
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....       Tour Entier :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |GO(T4)bric')
                # print(f'| ifT4ifelseaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                brique('4', t4, t234) # .....    .....   Fonction brique tétra
                t234 = []
        else:
            if t4 <= maxi0:
                # Ici U4 = 1 :(t4 <= maxi0)
                # print(f'elseIF:T4avant|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 1, 0 #     .....   .....   .....   False :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T4)bric')
                # print(f'elseIF:T4après|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
            else:
                # print(f'elseIFelse:T4avant|False:GO(T3)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 0, 1 #      .....    .....    .....     False:GO(T3)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T4)bric')
                # print(f'elseIFelse:T4après|False:GO(T3)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
     
     
        if u3 == 0 and t3 < maxi0:
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'Cond_U3'
            """ Niveau T3 | MINI=2 MIDI=T2+1 MAXI=7"""
            # Cycle T3 | True:GO(T4);STOP(T2);GO(T3) | False :GO(T2)
            # print(f'\n***T3 True:GO(T4);STOP(T2);GO(T3)|T3={t3} maxi0:{maxi0}')
            # print(f'| ifT3avant || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
            t3 += 1
            t4 = t3 + 1 # Opération Test(T3)/in
            if t4 <= maxi0:
                # Test(T3) Ici T4 <= maxi0(8)"""
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....   .....   Tour unic :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |GO(T3)bric')
                # print(f'| ifT3ifaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                brique('3', t3, t234) #      .....   .....   Fonction brique tétra
                t234 = []
            else:
                # Test(T3) Ici T4 > maxi0(8)"""
                t3 -= 1
                t4 -= 1
                u2, u3, u4 = 0, 1, 1 # .....    .....   .....   .....   Tour unic :GO(T2)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T3)bric')
                # print(f'| ifT3ifelseaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                t234 = [] # Opération Test(T3)/Out
        else:
            # De :if u3 == 0 and t3 < maxi0: Soit(U3=1;
            if u3 == 1 and t4 <= maxi0:
                # print(f'elseIF:T3avant|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....   .....   False :GO(T4)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T3)bric')
                # print(f'elseIF:T3après|False:GO(T4)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
            else:
                # print(f'elseIFelse:T3avant|False:GO(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 0, 1, 1 # .....    .....   .....   .....   False :GO(T2)
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T3)bric')
                # print(f'elseIFelse:T3après|False:GO(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                t234 = []
     
        if u2 == 0 and t2 < maxi0 - 1:
            yoyoT[0] += 1
            voirT[yoyoT[0]] = 'Cond_U2'
            """ Niveau T2 | MINI=1 MIDI=NULL MAXI=6 """
            # Cycle T2 | True:GO(T4):GO(T3):GO(T2) | False:OUT
            # print(f'\n***T2 True:GO(T4):GO(T3):GO(T2)|T2={t2} maxi0:{maxi0}')
            # print(f'| ifT2avant || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
            t2 += 1
            t3 = t2 + 1
            t4 = t3 + 1 # Opération Test(T2)/in
            if t4 <= maxi0:
                # Test(T2) Ici t4 <= maxi0(8)"""
                u2, u3, u4 = 1, 1, 0
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |GO(T2)bric')
                # print(f'| ifT2ifaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                brique('2', t2, t234) # .....    .....   .....         Fonction brique tétra
                t234 = []
            else:
                # Test(T2) Ici t4 > maxi0(8)"""
                t2 -= 1
                t3 -= 1
                t4 -= 1
                u2, u3, u4 = 1, 1, 1 # Opération Test(T2)/Out
                """ Motif T234;Index Degrés"""
                t234 = [t2, t3, t4]
                # print(f'COMPTESindex: {t234} |STOP(T2)bric')
                # print(f'| ifT2ifelseaprès || T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} | {tablT[-1]}')
                t234 = []
                break
        else:
            # De u2 == 0 and t2 < maxi0 - 1:
            if t2 == mixam[0][1]:
                # print(f'elseIF:T2avant|False:STOP(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4}')
                u2, u3, u4 = 1, 1, 1
                # print(f'elseIF:T2après|False:STOP(T2)|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4}')
                break
            else:
                # print(f'elseIFelse:T2avant|False:OUT|| T234;{t2},{t3},{t4} : U234;{u2},{u3},{u4} ')
                u2, u3, u4 = 1, 1, 0 # .....    .....   .....   .....   False:OUT             
    # print(f'--------------------------------------Champ:{len(tablT)}:{tablT}:Nombre de tétras = {len(tablT)}')
    unit = u
    for t in range(len(tablT)):
        diaton(unit, tablT[unit])
        unit += 1
    couple()


    Pas besoin de présenter les tétracordes, parce qu’ils sont doublement incontournables au vocabulaire scientifique, et surtout ils vont par deux dans nouvelle / ancienne gamme musicale. L’un commence à la tonique et l'autre se termine à l'octave.
    1234000005678
    Dire l’un c’est dire l’autre, dans un état bipolaire hypermanent !

    De manière classique le tétracorde a un état minimum de 4 notes (1,2,3,4), ces quatre notes sont liées au code quantique de la gamme naturelle.
    CDEFGABC
    Il est dit que la gamme naturelle est une diatonique à tonalité majeure…

    Essayer de développer une logique gammique à partir de son plus petit élément clustérien, c’est connaitre le cluster relatif chromatique. En sachant que la gamme comporte cinq intervalles situés entre certaines notes.
    BC D EF G A BC
    Elle commence en Do© elle ne comporte pas d’altération, c’est naturel !

    Le premier tétracorde trouvé est formé de quatre potes conjoints (), cette formation a un synonyme clustérien appelé « Cluster ».
    Et quoi de plus simple que le dédoublement clustérien, obtenant un clone clustérien dont l’effet est bien échelonné.
    1234
    (.1278.)
    5678
    812345678
    La programmation offre le moyen de développer un traitement codé…

    Ligne 119 | # Charge limite tétra
    Le cluster tétra trouvé est élémentaire, il ne comporte pas de poignée compréhensive sur laquelle s’appuyer ni déplacer. Mais on connait son taux de repli équivalant tétracordique (4), et sa capacité d’extension calculée en rapport chromatique-(12) diatonique-(7) octave-(2) cluster-(2). Les intervalles ne sont pas cités, ne sont pas existants, puis 5 intervalles + 7 notes = 1 2 34 5 6 7.
    En sachant que l’élément tonique du tétracorde-(1) ne change pas de place, il a toujours la valeur 1.
    # Opération Dico(mixam)
    mixam = {} # Dépendances Degré(min/max)

    """ Niveau T2 | MINI=1 MIDI=NULL MAXI=6 """
    """ Niveau T3 | MINI=2 MIDI=T2+1 MAXI=7 """
    """ Niveau T4 | MINI=3 MIDI=T3+1 MAXI=8 """

    De Ligne 33 À Ligne 37

    Ligne 125 | # Développement tétracordique
    Cette fonction est séparée en deux parts ;
    L’algorithme des membres tétracordiques :
    Selon les estimations minima/maxima les tétras (T1, T2, T3, T4)
    La priorité du cycle T4 de 3 à 8, étendu de six clusters :
    1234|12304|…|123000004
    L’incrémentation du T4 est prioritaire jusqu’à son maxima. En fin de boucle, l’algo incrémente le tétra voisin inférieur une seul fois.
    Exemple du débutant :
    1230004__ Tétracorde n°4
    12300004_ Tétracorde n°5
    123000004 Tétracorde n°6
    12034____ Tétracorde n°7
    120304___ Tétracorde n°8
    La mise en forme des membres tétras :
    La formation clustérienne lorsque les éléments T1, T2, T3, T4 se sont synchronisés, vient rendre visible les différentes positions diatoniques En remplaçant les intervalles par des zéros.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234: Tétracordes unifiés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    1234
    12304
    123004
    1230004
    12300004
    123000004
    12034
    120304
    1203004
    12030004
    120300004
    120034
    1200304
    12003004
    120030004
    1200034
    12000304
    120003004
    12000034
    120000304
    120000034
    10234
    102304
    1023004
    10230004
    102300004
    102034
    1020304
    10203004
    102030004
    1020034
    10200304
    102003004
    10200034
    102000304
    102000034
    100234
    1002304
    10023004
    100230004
    1002034
    10020304
    100203004
    10020034
    100200304
    100200034
    1000234
    10002304
    100023004
    10002034
    100020304
    100020034
    10000234
    100002304
    100002034
    100000234


    Ligne 80 | # Fonction format diatonique tétracordique
    Cette fonction traite le premier cluster trouvé formé des chiffres de 1 à 4, ou bien C, D, E, F, et de zéros et intervalles. Ce tétra n’a pas encore ces valeurs 5, 6, 7, 8 nécessaires pour former la gamme idéale.
    Alors elle prend le n°1 pour en faire le n°5. Ainsi quand elle traite le cluster n°1 1234, il en ressort 5678. En s’arrangeant pour garder le 1 à la tonique et le 8 à l’octave. Ce qui a comme résultat fictif ; 1234000005678.
    En ce qui concerne la tonalité (#, b), soit l’apport altératif des notes. De cette fonction abouti un ensemble tétra entier, toujours de 1 à 4 pour des tonalités allant de 1 à 4 et de 5 à 8. Lignes 114-115 | tabas, tahau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'C', 'D-2', 'E°3', 'F°4', 'Gx5', 'A+6', 'B', 'C': Tétracorde unique pour deux signatures
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    ['C', 'D-2', 'E°3', 'F°4', 'Gx5', 'A+6', 'B', 'C']
    ['C', 'D-2', 'E°3', 'F-4', 'G+5', 'A', 'B-7', 'C']
    ['C', 'D-2', 'E°3', 'F', 'G', 'A-6', 'B°7', 'C']
    ['C', 'D-2', 'E°3', 'F+4', 'G-5', 'A°6', 'B*7', 'C']
    ['C', 'D-2', 'E°3', 'Fx4', 'G°5', 'A*6', 'B°*7', 'C']
    ['C', 'D-2', 'E°3', 'F^4', 'G*5', 'A°*6', 'B-*7', 'C']
    ['C', 'D-2', 'E-3', 'F-4', 'G+5', 'A', 'B', 'C']
    ['C', 'D-2', 'E-3', 'F', 'G', 'A-6', 'B-7', 'C']
    ['C', 'D-2', 'E-3', 'F+4', 'G-5', 'A°6', 'B°7', 'C']
    ['C', 'D-2', 'E-3', 'Fx4', 'G°5', 'A*6', 'B*7', 'C']
    ['C', 'D-2', 'E-3', 'F^4', 'G*5', 'A°*6', 'B°*7', 'C']
    ['C', 'D-2', 'E', 'F', 'G', 'A-6', 'B', 'C']
    ['C', 'D-2', 'E', 'F+4', 'G-5', 'A°6', 'B-7', 'C']
    ['C', 'D-2', 'E', 'Fx4', 'G°5', 'A*6', 'B°7', 'C']
    ['C', 'D-2', 'E', 'F^4', 'G*5', 'A°*6', 'B*7', 'C']
    ['C', 'D-2', 'E+3', 'F+4', 'G-5', 'A°6', 'B', 'C']
    ['C', 'D-2', 'E+3', 'Fx4', 'G°5', 'A*6', 'B-7', 'C']
    ['C', 'D-2', 'E+3', 'F^4', 'G*5', 'A°*6', 'B°7', 'C']
    ['C', 'D-2', 'Ex3', 'Fx4', 'G°5', 'A*6', 'B', 'C']
    ['C', 'D-2', 'Ex3', 'F^4', 'G*5', 'A°*6', 'B-7', 'C']
    ['C', 'D-2', 'E^3', 'F^4', 'G*5', 'A°*6', 'B', 'C']
    ['C', 'D', 'E-3', 'F-4', 'G+5', 'A+6', 'B', 'C']
    ['C', 'D', 'E-3', 'F', 'G', 'A', 'B-7', 'C']
    ['C', 'D', 'E-3', 'F+4', 'G-5', 'A-6', 'B°7', 'C']
    ['C', 'D', 'E-3', 'Fx4', 'G°5', 'A°6', 'B*7', 'C']
    ['C', 'D', 'E-3', 'F^4', 'G*5', 'A*6', 'B°*7', 'C']
    ['C', 'D', 'E', 'F', 'G', 'A', 'B', 'C']
    ['C', 'D', 'E', 'F+4', 'G-5', 'A-6', 'B-7', 'C']
    ['C', 'D', 'E', 'Fx4', 'G°5', 'A°6', 'B°7', 'C']
    ['C', 'D', 'E', 'F^4', 'G*5', 'A*6', 'B*7', 'C']
    ['C', 'D', 'E+3', 'F+4', 'G-5', 'A-6', 'B', 'C']
    ['C', 'D', 'E+3', 'Fx4', 'G°5', 'A°6', 'B-7', 'C']
    ['C', 'D', 'E+3', 'F^4', 'G*5', 'A*6', 'B°7', 'C']
    ['C', 'D', 'Ex3', 'Fx4', 'G°5', 'A°6', 'B', 'C']
    ['C', 'D', 'Ex3', 'F^4', 'G*5', 'A*6', 'B-7', 'C']
    ['C', 'D', 'E^3', 'F^4', 'G*5', 'A*6', 'B', 'C']
    ['C', 'D+2', 'E', 'F', 'G', 'A+6', 'B', 'C']
    ['C', 'D+2', 'E', 'F+4', 'G-5', 'A', 'B-7', 'C']
    ['C', 'D+2', 'E', 'Fx4', 'G°5', 'A-6', 'B°7', 'C']
    ['C', 'D+2', 'E', 'F^4', 'G*5', 'A°6', 'B*7', 'C']
    ['C', 'D+2', 'E+3', 'F+4', 'G-5', 'A', 'B', 'C']
    ['C', 'D+2', 'E+3', 'Fx4', 'G°5', 'A-6', 'B-7', 'C']
    ['C', 'D+2', 'E+3', 'F^4', 'G*5', 'A°6', 'B°7', 'C']
    ['C', 'D+2', 'Ex3', 'Fx4', 'G°5', 'A-6', 'B', 'C']
    ['C', 'D+2', 'Ex3', 'F^4', 'G*5', 'A°6', 'B-7', 'C']
    ['C', 'D+2', 'E^3', 'F^4', 'G*5', 'A°6', 'B', 'C']
    ['C', 'Dx2', 'E+3', 'F+4', 'G-5', 'A+6', 'B', 'C']
    ['C', 'Dx2', 'E+3', 'Fx4', 'G°5', 'A', 'B-7', 'C']
    ['C', 'Dx2', 'E+3', 'F^4', 'G*5', 'A-6', 'B°7', 'C']
    ['C', 'Dx2', 'Ex3', 'Fx4', 'G°5', 'A', 'B', 'C']
    ['C', 'Dx2', 'Ex3', 'F^4', 'G*5', 'A-6', 'B-7', 'C']
    ['C', 'Dx2', 'E^3', 'F^4', 'G*5', 'A-6', 'B', 'C']
    ['C', 'D^2', 'Ex3', 'Fx4', 'G°5', 'A+6', 'B', 'C']
    ['C', 'D^2', 'Ex3', 'F^4', 'G*5', 'A', 'B-7', 'C']
    ['C', 'D^2', 'E^3', 'F^4', 'G*5', 'A', 'B', 'C']
    ['C', 'D^+2', 'E^3', 'F^4', 'G*5', 'A+6', 'B', 'C']
    Ligne 45 | # Fonction couplage tétracordique
    Une liste de tétras utiles a été tablée. Ligne 116 | tablT. Et la notion du format naturel de la gamme vue ci-dessus avec le positionnement de deux tétras, ou alors il s’agit d’un couplage premier clustérien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234000005678: Couplage tétras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
     
    1234000005678
    1234000056708
    1234000567008
    1234005670008
    1234056700008
    1234567000008
    1234000056078
    1234000560708
    1234005607008
    1234056070008
    1234560700008
    1234000560078
    1234005600708
    1234056007008
    1234560070008
    1234005600078
    1234056000708
    1234560007008
    1234056000078
    1234560000708
    1234560000078
    1234000050678
    1234000506708
    1234005067008
    1234050670008
    1234506700008
    1234000506078
    1234005060708
    1234050607008
    1234506070008
    1234005060078
    1234050600708
    1234506007008
    1234050600078
    1234506000708
    1234506000078
    1234000500678
    1234005006708
    1234050067008
    1234500670008
    1234005006078
    1234050060708
    1234500607008
    1234050060078
    1234500600708
    1234500600078
    1234005000678
    1234050006708
    1234500067008
    1234050006078
    1234500060708
    1234500060078
    1234050000678
    1234500006708
    1234500006078
    1234500000678
    1230400005678
    1230400056708
    1230400567008
    1230405670008
    1230456700008
    1230400056078
    1230400560708
    1230405607008
    1230456070008
    1230400560078
    1230405600708
    1230456007008
    1230405600078
    1230456000708
    1230456000078
    1230400050678
    1230400506708
    1230405067008
    1230450670008
    1230400506078
    1230405060708
    1230450607008
    1230405060078
    1230450600708
    1230450600078
    1230400500678
    1230405006708
    1230450067008
    1230405006078
    1230450060708
    1230450060078
    1230405000678
    1230450006708
    1230450006078
    1230450000678
    1230040005678
    1230040056708
    1230040567008
    1230045670008
    1230040056078
    1230040560708
    1230045607008
    1230040560078
    1230045600708
    1230045600078
    1230040050678
    1230040506708
    1230045067008
    1230040506078
    1230045060708
    1230045060078
    1230040500678
    1230045006708
    1230045006078
    1230045000678
    1230004005678
    1230004056708
    1230004567008
    1230004056078
    1230004560708
    1230004560078
    1230004050678
    1230004506708
    1230004506078
    1230004500678
    1230000405678
    1230000456708
    1230000456078
    1230000450678
    1230000045678
    1203400005678
    1203400056708
    1203400567008
    1203405670008
    1203456700008
    1203400056078
    1203400560708
    1203405607008
    1203456070008
    1203400560078
    1203405600708
    1203456007008
    1203405600078
    1203456000708
    1203456000078
    1203400050678
    1203400506708
    1203405067008
    1203450670008
    1203400506078
    1203405060708
    1203450607008
    1203405060078
    1203450600708
    1203450600078
    1203400500678
    1203405006708
    1203450067008
    1203405006078
    1203450060708
    1203450060078
    1203405000678
    1203450006708
    1203450006078
    1203450000678
    1203040005678
    1203040056708
    1203040567008
    1203045670008
    1203040056078
    1203040560708
    1203045607008
    1203040560078
    1203045600708
    1203045600078
    1203040050678
    1203040506708
    1203045067008
    1203040506078
    1203045060708
    1203045060078
    1203040500678
    1203045006708
    1203045006078
    1203045000678
    1203004005678
    1203004056708
    1203004567008
    1203004056078
    1203004560708
    1203004560078
    1203004050678
    1203004506708
    1203004506078
    1203004500678
    1203000405678
    1203000456708
    1203000456078
    1203000450678
    1203000045678
    1200340005678
    1200340056708
    1200340567008
    1200345670008
    1200340056078
    1200340560708
    1200345607008
    1200340560078
    1200345600708
    1200345600078
    1200340050678
    1200340506708
    1200345067008
    1200340506078
    1200345060708
    1200345060078
    1200340500678
    1200345006708
    1200345006078
    1200345000678
    1200304005678
    1200304056708
    1200304567008
    1200304056078
    1200304560708
    1200304560078
    1200304050678
    1200304506708
    1200304506078
    1200304500678
    1200300405678
    1200300456708
    1200300456078
    1200300450678
    1200300045678
    1200034005678
    1200034056708
    1200034567008
    1200034056078
    1200034560708
    1200034560078
    1200034050678
    1200034506708
    1200034506078
    1200034500678
    1200030405678
    1200030456708
    1200030456078
    1200030450678
    1200030045678
    1200003405678
    1200003456708
    1200003456078
    1200003450678
    1200003045678
    1200000345678
    1023400005678
    1023400056708
    1023400567008
    1023405670008
    1023456700008
    1023400056078
    1023400560708
    1023405607008
    1023456070008
    1023400560078
    1023405600708
    1023456007008
    1023405600078
    1023456000708
    1023456000078
    1023400050678
    1023400506708
    1023405067008
    1023450670008
    1023400506078
    1023405060708
    1023450607008
    1023405060078
    1023450600708
    1023450600078
    1023400500678
    1023405006708
    1023450067008
    1023405006078
    1023450060708
    1023450060078
    1023405000678
    1023450006708
    1023450006078
    1023450000678
    1023040005678
    1023040056708
    1023040567008
    1023045670008
    1023040056078
    1023040560708
    1023045607008
    1023040560078
    1023045600708
    1023045600078
    1023040050678
    1023040506708
    1023045067008
    1023040506078
    1023045060708
    1023045060078
    1023040500678
    1023045006708
    1023045006078
    1023045000678
    1023004005678
    1023004056708
    1023004567008
    1023004056078
    1023004560708
    1023004560078
    1023004050678
    1023004506708
    1023004506078
    1023004500678
    1023000405678
    1023000456708
    1023000456078
    1023000450678
    1023000045678
    1020340005678
    1020340056708
    1020340567008
    1020345670008
    1020340056078
    1020340560708
    1020345607008
    1020340560078
    1020345600708
    1020345600078
    1020340050678
    1020340506708
    1020345067008
    1020340506078
    1020345060708
    1020345060078
    1020340500678
    1020345006708
    1020345006078
    1020345000678
    1020304005678
    1020304056708
    1020304567008
    1020304056078
    1020304560708
    1020304560078
    1020304050678
    1020304506708
    1020304506078
    1020304500678
    1020300405678
    1020300456708
    1020300456078
    1020300450678
    1020300045678
    1020034005678
    1020034056708
    1020034567008
    1020034056078
    1020034560708
    1020034560078
    1020034050678
    1020034506708
    1020034506078
    1020034500678
    1020030405678
    1020030456708
    1020030456078
    1020030450678
    1020030045678
    1020003405678
    1020003456708
    1020003456078
    1020003450678
    1020003045678
    1020000345678
    1002340005678
    1002340056708
    1002340567008
    1002345670008
    1002340056078
    1002340560708
    1002345607008
    1002340560078
    1002345600708
    1002345600078
    1002340050678
    1002340506708
    1002345067008
    1002340506078
    1002345060708
    1002345060078
    1002340500678
    1002345006708
    1002345006078
    1002345000678
    1002304005678
    1002304056708
    1002304567008
    1002304056078
    1002304560708
    1002304560078
    1002304050678
    1002304506708
    1002304506078
    1002304500678
    1002300405678
    1002300456708
    1002300456078
    1002300450678
    1002300045678
    1002034005678
    1002034056708
    1002034567008
    1002034056078
    1002034560708
    1002034560078
    1002034050678
    1002034506708
    1002034506078
    1002034500678
    1002030405678
    1002030456708
    1002030456078
    1002030450678
    1002030045678
    1002003405678
    1002003456708
    1002003456078
    1002003450678
    1002003045678
    1002000345678
    1000234005678
    1000234056708
    1000234567008
    1000234056078
    1000234560708
    1000234560078
    1000234050678
    1000234506708
    1000234506078
    1000234500678
    1000230405678
    1000230456708
    1000230456078
    1000230450678
    1000230045678
    1000203405678
    1000203456708
    1000203456078
    1000203450678
    1000203045678
    1000200345678
    1000023405678
    1000023456708
    1000023456078
    1000023450678
    1000023045678
    1000020345678
    1000002345678



    La programmation continue avec la définition des gammes fondamentales prochainement.
    Ne pas être surpris d'y voir 462 modèles (= 66 * 7) ?
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  3. #3
    Membre averti Avatar de alexdevl
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 265
    Points : 344
    Points
    344
    Par défaut C'est abscons
    Juste une question : suis je le seul à ne rien y comprendre à ce charabia 🤔

    C'est bien pour toi, toumic (2.0), d'être passionné,
    mais pourrais tu expliquer simplement quel est l'objet de toutes ces lignes ? Sinon à quoi bon partager

    Alex

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 237
    Points : 36 687
    Points
    36 687
    Par défaut
    Salut,

    Citation Envoyé par alexdevl Voir le message
    Juste une question : suis je le seul à ne rien y comprendre à ce charabia 🤔
    Wikipedia dit que le tretracorde est un polycorde... et il faut être passionné de musicologie pour être réceptif à tout çà.

    Un des trucs qui m'a toujours impressionné en informatique a été de voir comment d'autres des tas de spécialistes fort éloignés du domaine ont pu/su s'en approprier pour explorer le leur avec un regard différent.

    Dans les années 80s, çà a foisonné avec la création de tas de langages orientés métiers (devenus assez inusités aujourd'hui)... A l'époque, on cherchait des applications pour se développer et il fallait une sorte de médiation pour permettre aux spécialistes d'un domaine de...

    Aujourd'hui, c'est différent: il y a des ordinateurs pas cher, partout,... et des tas de gens qui peuvent s'aventurer dans ce monde merveilleux.

    C'est aussi un peu effrayant car certains iront prétexter des résultats obtenus avec cette science ("dure") pour légitimer des choix assez biaisés par des à priori idéologiques... et bien que je pense que la programmation en général apporte un certain éclairage, on pousse tellement la logique de décomposition d'un problème en parties qu'on néglige parfois (souvent?) la cohérence d'ensemble.

    Après bien sûr, il y a le cas toumic qui nous revient en version 2.0 toujours aussi imbitable et heureusement qu'il ne demande pas de l'aide... car pas fastoche de comprendre sa logique et arriver à l'aider tellement nous sommes sur des planètes différentes.

    En tout cas bravo à lui pour son acharnement à poursuivre son rêve et en sortir des trucs qui lui plaisent.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Imbitable est pas mal défini. Merci de votre éclairage wiztricks
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  6. #6
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par alexdevl Voir le message
    Juste une question : suis je le seul à ne rien y comprendre à ce charabia 🤔

    C'est bien pour toi, toumic (2.0), d'être passionné,
    mais pourrais tu expliquer simplement quel est l'objet de toutes ces lignes ? Sinon à quoi bon partager

    Alex
    L'objet est d'apporter un éclairage de faible intensité sur ce que je crois être important
    Partager c'est aussi subjectif vis à vis de ce que vous croyez de la normalité
    Poster ici dans ce site appelé "développez" est de toute évidence naturel
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  7. #7
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par toumic2.0 Voir le message
    Ne pas être surpris d'y voir 462 modèles (= 66 * 7) ?
    Puis c'est trop facile de dire que le "charabia"
    D'une vous vous en foutez ou pas. Deux vous n'avez pas vu une erreur en ligne 48
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter = ['', '+', 'x', '^', '^+', '^x', '-*', '°*', '*', '°', '-']
    Pour le moment si vous parvenez à me dire où se trouve cette erreur demandez au lieu de critiquer

    Aussi ne suis-je pas suffisamment présentable pour venir biter la contribution
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 237
    Points : 36 687
    Points
    36 687
    Par défaut
    Salut,

    Citation Envoyé par toumic2.0 Voir le message
    Pour le moment si vous parvenez à me dire où se trouve cette erreur demandez au lieu de critiquer
    Si vous postez du code dans la rubrique "contribuez", c'est pour que çà profite à ceux que çà intéresse. S'il y a des erreurs ou des bugs, seuls ceux qui auront fait tourner le programme pourront éventuellement s'en rendre compte...

    Reste que çà reste un forum de discussion, donc si vous travaillez dans des trucs bizarres, assumez qu'on vous dise combien c'est bizarre...

    Et sachez que programmer en Python, c'est un peu comme la maçonnerie: construire un pavillon de banlieue ou une cathédrale, c'est toujours les mêmes outils et parfois les mêmes matériau à apprendre à travailler.
    Ici, c'est Python, vous codez ce que vous voulez avec, à la limite, on ne veut pas le savoir et çà n'a aucune importance. Mais si vous pensez qu'on va lire et corriger 300 lignes de code qui font des choses sans grand intérêt pour la plupart... faut par rêver.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Non Wiztricks, j'assume que c'est étrange. Mais pas la critique gratuite
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  10. #10
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Juste un petit conseil.

    Pour espérer avoir une aide en Python, il faut poser des questions plus précises sur Python:
    - le contexte: OS et versions utilisées de Python et des modules nécessaires éventuels
    - un exemple de données d'entrées
    - quelques lignes de code qui représentent la solution qui ne donne pas satisfaction (suffisamment complète pour qu'on puisse l'exécuter).
    - le résultat donné par ce code, et le résultat auquel il faudrait parvenir.
    - la demande d'aide elle-même.

    Présenté comme ça, il y aura presque toujours quelqu'un capable de donner de l'aide.

    Par contre, on a aucune chance d'acquérir votre compétence dans votre domaine, quel qu’il soit. Et donc, il y a peu de chances que les personnes capables de vous aider lisent les détails de votre travail, et vous ratez votre cible si vous voulez vous faire aider.

    A noter que l'effort fourni pour poser une bonne question permet souvent d'y répondre soi-même
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  11. #11
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 604
    Points : 2 070
    Points
    2 070
    Par défaut
    De mon côté, je n'ai même pas compris le sens des 2 premiers messages ou le PO s'autocite sans que j'y rencontre la moindre question. Ou alors j'ai trop lu en diagonales et pas assez en lignes.
    Pour ma part, le programme ainsi que le domaine d’application sont toujours aussi obscurs pour moi (pour ne pas dire imbitable )
    En tous cas, bravo même si le contenu me laisse quasi indifférent.
    Pas d'aide par mp.

  12. #12
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut Interludique
    Je comprend qu'il faut bien se tenir et ce n'est pas un problème pour moi
    Il est normal que je ne pose pas de question puisqu'au final je contribue au développement de ce club à ma façon.

    Vous croyez que vous allez en trouver tous les jours des binariseurs similaires ?
    Je suis suffisamment entouré pour me permettre des dérapages, sauf quand il s'agit de l'humour informatique.

    Je suis Joyce d'être dans ce grand club qui me plait par ses compétences mises à jour lors des aides, merci.

    Comptez sur moi pour poster de temps à autre, tout le développement informatique dans lequel je débouche.
    Content pas content je m'en contre fout pointé, ce n'est ni un modérateur ni un membre (même important),
    qui va m'empêcher d'avancer dans mon Centre Richement Intellect Music Quantic.

    Voyez que je suis positif dans mon élan, que faire en étant retraité illuminé, sinon que de poster ou partager.
    Je continuerai de partager mes connaissances en mode "La tulipe", c'est une fleur qui nous est donnée.

    Je veux dire que vous comme moi demandons de passer du bon temps à nous lire, n'est-ce-pas ?
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  13. #13
    Membre averti Avatar de alexdevl
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 265
    Points : 344
    Points
    344
    Par défaut
    Cher Toumic, je rajoute un commentaire,
    j'ai peur que mon post soit mal compris car le terme charabia est un peu hautain il est vrai.

    Tes analyses, même si elles sont obscures pour moi, doivent te passionner au même titre que moi en ce moment plus basiquement avec les lib pandas, matplotlib, pypdf.
    Quand je pense avoir trouvé des éléments intéressants je les poste tout comme toi.
    Je te souhaite de bons moments
    Alex

  14. #14
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 604
    Points : 2 070
    Points
    2 070
    Par défaut
    Désolé, je n'avais pas vu qu'on était dans la partie "Contribuez".
    Cela ne me dérange aucunement et si cela peut te rendre heureux, c'est tout ce qui compte.
    On a tous nos satisfactions personnelles.
    Trouver des interlocuteurs dans ta branche va être sans doute compliqué.
    Pas d'aide par mp.

  15. #15
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Je partage avec vous cette amitié informatique et plus si affinités
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  16. #16
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Mesurer les choses a toujours été appréciée, on parle de poids, de centimètres et des expressions qui définissent la qualité proportionnelle. Le fait de ne pas être très compliqué facilite la perception logique de l’objet, tout programmeur connait la teneur focale de sa réflexion vis-à-vis du détail.
    • La programmation nous conduit à certaines conditions logiques.
    • Le dessin architecturé aux métriques tant au niveau qu’à l’aplomb.
    • La peinture avec sa palette « d’arc en ciel » dosée en couleurs primaires.



    Mesurer est à coup sûr le moyen qui permet de bâtir un complexe logique, c’est aussi le moyen d’aller à la limite de notre vision un peu comme une équation mathématique exprimant un résultat qui à défaut d’être vu se voit compris par la pensée.
    Il s’avère que la mesure musicale nous apporte un confinement temporel en rapport envers les nombres réels et les horaires journaliers, et ainsi que l’ADN. Je n’approfondirais pas ceci ici, mais je parlerais de la métrique jalonnée par les notes musicales. Car il est avéré que cette organisation crée de la miniaturisation, allant très loin et aux limites définies par le chercheur. Les modèles gammologiques sont si nombreux qu’il n’y a que la programmation informatique qui peut se permettre cette réalisation, c’est d’ailleurs la raison de ma démarche.

    Il est plus facile de développer de la gammologie avec un script qu’avec un crayon au final.
    L’avantage du traitement de masse ainsi réalisé produit une multitude d’agents affiliés ou pas, formant une cohésion entre des ensembles systémiquement différents. Toute cette cohorte menant à une infinitude permet d’identifier les unités, à la manière d’un instrument de mesure posé sur l’unité faisant l’objet de notre recherche.

    Je pense plus aux petites choses qui sont d’avantage contraintes à l’aire de leurs mouvements, qu’à un espace sidéral englobant les « jeux » planétaires. Je dis ça car certains sujets m’échappent, malgré leurs intérêts.
    Prouver que les gammes musicales sont logiques et régulières, en les inventant à l’aide du code informatique, ce qui est une véritable preuve de leurs pondérations. Puis le script est un sujet maniable et téléchargeable, il est facile d’accès. Mais il est surtout une logique bien particulière, à l’image d’un outil de traitement spécialisé pouvant être partiellement reproduit. Les gammes musicales ont une expression compliquée par son état général, il y a les gammes fondamentales et leurs modèles diatoniques. Le script développe sans distinction préalable les corps modaux diatoniques, et parmi ces sept modulations il nous faut reconnaitre le mode fondamental. C’est pour çà que le petit code pèse les différents modèles, il reconnait la fondamentale par sa septième majeure et son niveau diatonique à l’aide de son poids altératif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    """ # La masse de la gamme naturelle# Composée des sept notes majeures: C, D, E, F, G, A, B.
    # Harmonisée des sept degrés majeurs:
    #        (CDEFGAB) = 0
    #        (DEFGABC) = b3, b7 = -4-8 = -12
    #        (EFGABCD) = b2, b3, b6, b7 = -3-4-7-8 = -22
    #        (FGABCDE) = #4 = +5 = +5
    #        (GABCDEF) = b7 = -8 = -8
    #        (ABCDEFG) = b3, b6, b7 = -4-7-8 = -19
    #        (BCDEFGA) = b2, b3, b5, b6, b7 = -3-4-6-7-8 = -28"""
    """(" Chaque degré porte une valeur altérative binôme(b,#).\n"
     "    En opérant les valeurs de la signature (Signature/Masse)...\n"
     "    En ordonnant la séquence:        F, C, G, D, A, E, B\n"
     "            #4, 0, b7, b3b7, b3b6b7, b2b3b6b7, b2b3b5b6b7\n"
     "    ... (Signature/Masse):\n"
     "            F(#4) 4ème degré plus 1 dièse = 4 + 1 = +5\n"
     "            A(b3b6b7)     {\n"
     "                3ème degré moins 1 bémol = -3 - 1 = -4\n"
     "                6ème degré moins 1 bémol = -6 - 1 = -7\n"
     "                7ème degré moins 1 bémol = -7 - 1 = -8\n"
     "                        }\n"
     "                Masse pesante totale = -4-7-8 = -19\n")"""
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    # Python 3.9 UTF-8# Samedi 5 juin 2021
    # Calcul des poids diatoniques
    action = ['', '+', 'x', '^', '^+', '^x', '°*', '-*', '*', '°', '-']
    gamme_majeure = '102034050607'
    poids_modal = [[] for i in range(7)]
    poids_class = {}
    top01 = '101101010101'
    top00, retour, poids_gen = top01, 1, 0
    while retour < 8:  # Défaut retour < 8
        grader, regard, lacune, pesant, poids = 0, -1, 0, [0], 0
        for t00 in top00:
            regard += 1
            if t00 == '1':
                grader += 1  # :regard = Position Degré
                extra = gamme_majeure.index(str(grader))
                lacune = regard - extra  # :lacune= Niveau Altération
                if lacune < 0:
                    pesant[0] = lacune - grader
                elif lacune == 0:
                    pesant[0] = 0
                else:
                    pesant[0] = grader + lacune
                poids_modal[retour-1].append(pesant[0])
                poids += pesant[0]
                pesant[0] = 0
        poids_gen += poids
        poids_class[top00] = poids_modal[retour-1], abs(poids)
        pilote = list(top00)
        while 1:
            pilote.insert(0, pilote.pop())
            if pilote[0] == '1':
                break
        top00 = ''.join(p for p in pilote)
        retour += 1
    poids_mini, pm, pp = [], 0, -1
    for i, y in poids_class.items():
        if poids_class[i][0][-1] == 0:  # Fondamentales aux 7èmes majeures
            m = [i, poids_class[i][1]]
            poids_mini.append(m)
    mini = min(poids_mini[:1])
    print('poids_gen ', poids_gen,'Kµ')
    gamme, ga = [], ''
    for p in mini[0]:
        pp += 1
        if p == '1':
            pm += 1
            alter = gamme_majeure.index(str(pm))
            if pp != alter:
                dif = pp - alter
                ga = action[dif] + str(pm)
            else:
                ga = str(pm)
        else:
            ga = '0'
        gamme.append(ga)
    print('gamme', gamme)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ======== RESTART: C:\Users\Vincent\Desktop\Python essais\calgampoids2.py =======poids_gen  -84 Kµ
    gamme ['1', '0', '2', '-3', '0', '4', '0', '5', '0', '6', '0', '7']
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  17. #17
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut N'ayez crainte je ne suis pas seul
    Je vous représente le canard qui se balade sur cabviva
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  18. #18
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Je vous le dis, il est possible de calculer afin d'obtenir les 66 gammes fondamentales
    Pour le fait d'être plus légères ce n'est pas encore avéré, car {b3, b6} comporte dans ses modalités {#5}

    Mais voici une 1ère fenêtre de résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    C:\Users\Vincent\source\repos\GlobalApplis\venv\Scripts\python.exe C:/Users/Vincent/source/repos/GlobalApplis/GlobalApplis.py GlobModelGammy.py/fonder_gamme:66 unités
    #
    #####################lg:68 Top00:111000001111 Retour:1##########
     lg:123 Mini:0 Poids_gen=-21Kµ  Dic_neg:111100000111
     lg:139__GAMME:['1', '-2', '°3', '°4', '0', '0', '0', '0', '0', 'x5', '+6', '7']
    #
    #####################lg:68 Top00:111000011101 Retour:1##########
     lg:123 Mini:4 Poids_gen=-38Kµ  Dic_neg:111000011101
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '0', '0', 'x4', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:111000111001 Retour:1##########
     lg:123 Mini:4 Poids_gen=-45Kµ  Dic_neg:100111100011
     lg:139__GAMME:['1', '0', '0', '+2', '3', '4', '-5', '0', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111001110001 Retour:1##########
     lg:123 Mini:1 Poids_gen=-45Kµ  Dic_neg:110001111001
     lg:139__GAMME:['1', '-2', '0', '0', '0', '+3', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:111011100001 Retour:1##########
     lg:123 Mini:5 Poids_gen=-38Kµ  Dic_neg:101110000111
     lg:139__GAMME:['1', '0', '2', '-3', '-4', '0', '0', '0', '0', 'x5', '+6', '7']
    #
    #####################lg:68 Top00:111000011011 Retour:1##########
     lg:123 Mini:8 Poids_gen=-38Kµ  Dic_neg:111100001101
     lg:139__GAMME:['1', '-2', '°3', '°4', '0', '0', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:111000110101 Retour:1##########
     lg:123 Mini:3 Poids_gen=-54Kµ  Dic_neg:111000110101
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '0', '+4', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:111001101001 Retour:1##########
     lg:123 Mini:2 Poids_gen=-59Kµ  Dic_neg:101001111001
     lg:139__GAMME:['1', '0', '2', '0', '0', '+3', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:111011010001 Retour:1##########
     lg:123 Mini:10 Poids_gen=-50Kµ  Dic_neg:101101000111
     lg:139__GAMME:['1', '0', '2', '-3', '0', '4', '0', '0', '0', 'x5', '+6', '7']
    #
    #####################lg:68 Top00:111110100001 Retour:1##########
     lg:123 Mini:1 Poids_gen=-32Kµ  Dic_neg:111010000111
     lg:139__GAMME:['1', '-2', '°3', '0', '-4', '0', '0', '0', '0', 'x5', '+6', '7']
    #
    #####################lg:68 Top00:111000110011 Retour:1##########
     lg:123 Mini:4 Poids_gen=-44Kµ  Dic_neg:111000110011
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '0', '+4', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111001100101 Retour:1##########
     lg:123 Mini:5 Poids_gen=-58Kµ  Dic_neg:100101111001
     lg:139__GAMME:['1', '0', '0', '+2', '0', '+3', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:111011001001 Retour:1##########
     lg:123 Mini:5 Poids_gen=-54Kµ  Dic_neg:110110010011
     lg:139__GAMME:['1', '-2', '0', '-3', '-4', '0', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111110010001 Retour:1##########
     lg:123 Mini:6 Poids_gen=-34Kµ  Dic_neg:111001000111
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '4', '0', '0', '0', 'x5', '+6', '7']
    #
    #####################lg:68 Top00:111001100011 Retour:1##########
     lg:123 Mini:6 Poids_gen=-44Kµ  Dic_neg:100011111001
     lg:139__GAMME:['1', '0', '0', '0', 'x2', '+3', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:111011000101 Retour:1##########
     lg:123 Mini:1 Poids_gen=-49Kµ  Dic_neg:110110001011
     lg:139__GAMME:['1', '-2', '0', '-3', '-4', '0', '0', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:111110001001 Retour:1##########
     lg:123 Mini:7 Poids_gen=-34Kµ  Dic_neg:111100010011
     lg:139__GAMME:['1', '-2', '°3', '°4', '0', '0', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111011000011 Retour:1##########
     lg:123 Mini:2 Poids_gen=-38Kµ  Dic_neg:110110000111
     lg:139__GAMME:['1', '-2', '0', '-3', '-4', '0', '0', '0', '0', 'x5', '+6', '7']
    #
    #####################lg:68 Top00:111110000101 Retour:1##########
     lg:123 Mini:1 Poids_gen=-32Kµ  Dic_neg:111100001011
     lg:139__GAMME:['1', '-2', '°3', '°4', '0', '0', '0', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:111000101101 Retour:1##########
     lg:123 Mini:3 Poids_gen=-50Kµ  Dic_neg:111000101101
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '0', '+4', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:111001011001 Retour:1##########
     lg:123 Mini:3 Poids_gen=-59Kµ  Dic_neg:100111100101
     lg:139__GAMME:['1', '0', '0', '+2', '3', '4', '-5', '0', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:111010110001 Retour:1##########
     lg:123 Mini:6 Poids_gen=-54Kµ  Dic_neg:110101100011
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '4', '-5', '0', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111000101011 Retour:1##########
     lg:123 Mini:10 Poids_gen=-47Kµ  Dic_neg:111000101011
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '0', '+4', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:111001010101 Retour:1##########
     lg:123 Mini:8 Poids_gen=-65Kµ  Dic_neg:111001010101
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '4', '0', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:111010101001 Retour:1##########
     lg:123 Mini:0 Poids_gen=-65Kµ  Dic_neg:110101010011
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '4', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111101010001 Retour:1##########
     lg:123 Mini:7 Poids_gen=-47Kµ  Dic_neg:110101000111
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '4', '0', '0', '0', 'x5', '+6', '7']
    #
    #####################lg:68 Top00:111001010011 Retour:1##########
     lg:123 Mini:1 Poids_gen=-49Kµ  Dic_neg:111001010011
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '4', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111010100101 Retour:1##########
     lg:123 Mini:6 Poids_gen=-58Kµ  Dic_neg:110101001011
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '4', '0', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:111101001001 Retour:1##########
     lg:123 Mini:6 Poids_gen=-45Kµ  Dic_neg:111010010011
     lg:139__GAMME:['1', '-2', '°3', '0', '-4', '0', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111101000101 Retour:1##########
     lg:123 Mini:0 Poids_gen=-43Kµ  Dic_neg:111010001011
     lg:139__GAMME:['1', '-2', '°3', '0', '-4', '0', '0', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:111001001101 Retour:1##########
     lg:123 Mini:2 Poids_gen=-54Kµ  Dic_neg:111001001101
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '4', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:111010011001 Retour:1##########
     lg:123 Mini:5 Poids_gen=-58Kµ  Dic_neg:110100110011
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '0', '+4', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:111001001011 Retour:1##########
     lg:123 Mini:5 Poids_gen=-45Kµ  Dic_neg:111001001011
     lg:139__GAMME:['1', '-2', '°3', '0', '0', '4', '0', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:111010010101 Retour:1##########
     lg:123 Mini:11 Poids_gen=-58Kµ  Dic_neg:110100101011
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '0', '+4', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:111010001101 Retour:1##########
     lg:123 Mini:7 Poids_gen=-49Kµ  Dic_neg:111010001101
     lg:139__GAMME:['1', '-2', '°3', '0', '-4', '0', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:110100011101 Retour:1##########
     lg:123 Mini:5 Poids_gen=-49Kµ  Dic_neg:110100011101
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '0', '0', 'x4', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:110100111001 Retour:1##########
     lg:123 Mini:9 Poids_gen=-58Kµ  Dic_neg:110100111001
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '0', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:110101110001 Retour:1##########
     lg:123 Mini:1 Poids_gen=-54Kµ  Dic_neg:101011100011
     lg:139__GAMME:['1', '0', '2', '0', '3', '4', '-5', '0', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:110100110101 Retour:1##########
     lg:123 Mini:2 Poids_gen=-68Kµ  Dic_neg:110100110101
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '0', '+4', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:110101101001 Retour:1##########
     lg:123 Mini:7 Poids_gen=-68Kµ  Dic_neg:101011010011
     lg:139__GAMME:['1', '0', '2', '0', '3', '4', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:110101100101 Retour:1##########
     lg:123 Mini:12 Poids_gen=-68Kµ  Dic_neg:100101110101
     lg:139__GAMME:['1', '0', '0', '+2', '0', '+3', '+4', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:110111001001 Retour:1##########
     lg:123 Mini:2 Poids_gen=-53Kµ  Dic_neg:101110010011
     lg:139__GAMME:['1', '0', '2', '-3', '-4', '0', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:110111000101 Retour:1##########
     lg:123 Mini:4 Poids_gen=-49Kµ  Dic_neg:101110001011
     lg:139__GAMME:['1', '0', '2', '-3', '-4', '0', '0', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:110100101101 Retour:1##########
     lg:123 Mini:4 Poids_gen=-61Kµ  Dic_neg:110100101101
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '0', '+4', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:110101011001 Retour:1##########
     lg:123 Mini:3 Poids_gen=-74Kµ  Dic_neg:100111010101
     lg:139__GAMME:['1', '0', '0', '+2', '3', '4', '0', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:110110110001 Retour:1##########
     lg:123 Mini:3 Poids_gen=-56Kµ  Dic_neg:101101100011
     lg:139__GAMME:['1', '0', '2', '-3', '0', '4', '-5', '0', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:110101010101 Retour:1##########
     lg:123 Mini:7 Poids_gen=-81Kµ  Dic_neg:110101010101
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '4', '0', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:110110101001 Retour:1##########
     lg:123 Mini:3 Poids_gen=-67Kµ  Dic_neg:101101010011
     lg:139__GAMME:['1', '0', '2', '-3', '0', '4', '0', '5', '0', '0', '+6', '7']
    #
    #####################lg:68 Top00:110110100101 Retour:1##########
     lg:123 Mini:9 Poids_gen=-61Kµ  Dic_neg:101101001011
     lg:139__GAMME:['1', '0', '2', '-3', '0', '4', '0', '0', '+5', '0', '+6', '7']
    #
    #####################lg:68 Top00:110101001101 Retour:1##########
     lg:123 Mini:1 Poids_gen=-67Kµ  Dic_neg:110101001101
     lg:139__GAMME:['1', '-2', '0', '-3', '0', '4', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:110110011001 Retour:1##########
     lg:123 Mini:4 Poids_gen=-66Kµ  Dic_neg:100111011001
     lg:139__GAMME:['1', '0', '0', '+2', '3', '4', '0', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:110110010101 Retour:1##########
     lg:123 Mini:12 Poids_gen=-67Kµ  Dic_neg:110110010101
     lg:139__GAMME:['1', '-2', '0', '-3', '-4', '0', '0', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:110110001101 Retour:1##########
     lg:123 Mini:6 Poids_gen=-55Kµ  Dic_neg:110110001101
     lg:139__GAMME:['1', '-2', '0', '-3', '-4', '0', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:110010111001 Retour:1##########
     lg:123 Mini:5 Poids_gen=-58Kµ  Dic_neg:110010111001
     lg:139__GAMME:['1', '-2', '0', '0', '3', '0', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:110010110101 Retour:1##########
     lg:123 Mini:2 Poids_gen=-68Kµ  Dic_neg:110010110101
     lg:139__GAMME:['1', '-2', '0', '0', '3', '0', '+4', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:110010101101 Retour:1##########
     lg:123 Mini:8 Poids_gen=-67Kµ  Dic_neg:110010101101
     lg:139__GAMME:['1', '-2', '0', '0', '3', '0', '+4', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:110011011001 Retour:1##########
     lg:123 Mini:6 Poids_gen=-67Kµ  Dic_neg:101100111001
     lg:139__GAMME:['1', '0', '2', '-3', '0', '0', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:110011010101 Retour:1##########
     lg:123 Mini:2 Poids_gen=-74Kµ  Dic_neg:101010111001
     lg:139__GAMME:['1', '0', '2', '0', '3', '0', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:110011001101 Retour:1##########
     lg:123 Mini:1 Poids_gen=-66Kµ  Dic_neg:100110111001
     lg:139__GAMME:['1', '0', '0', '+2', '3', '0', '+4', '5', '-6', '0', '0', '7']
    #
    #####################lg:68 Top00:110001101101 Retour:1##########
     lg:123 Mini:3 Poids_gen=-56Kµ  Dic_neg:101110001101
     lg:139__GAMME:['1', '0', '2', '-3', '-4', '0', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:101100110101 Retour:1##########
     lg:123 Mini:1 Poids_gen=-77Kµ  Dic_neg:101100110101
     lg:139__GAMME:['1', '0', '2', '-3', '0', '0', '+4', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:101101101001 Retour:1##########
     lg:123 Mini:2 Poids_gen=-71Kµ  Dic_neg:101101001101
     lg:139__GAMME:['1', '0', '2', '-3', '0', '4', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:101101100101 Retour:1##########
     lg:123 Mini:7 Poids_gen=-71Kµ  Dic_neg:101100101101
     lg:139__GAMME:['1', '0', '2', '-3', '0', '0', '+4', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:101101011001 Retour:1##########
     lg:123 Mini:6 Poids_gen=-77Kµ  Dic_neg:101011001101
     lg:139__GAMME:['1', '0', '2', '0', '3', '4', '0', '0', '+5', '6', '0', '7']
    #
    #####################lg:68 Top00:101101010101 Retour:1##########
     lg:123 Mini:4 Poids_gen=-84Kµ  Dic_neg:101101010101
     lg:139__GAMME:['1', '0', '2', '-3', '0', '4', '0', '5', '0', '6', '0', '7']
    #
    #####################lg:68 Top00:101010110101 Retour:1##########
     lg:123 Mini:0 Poids_gen=-84Kµ  Dic_neg:101011010101
     lg:139__GAMME:['1', '0', '2', '0', '3', '4', '0', '5', '0', '6', '0', '7']
     lg:153 L_Topic:66 L_Poids:0 Stop:66
     
     
    Process finished with exit code 0
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  19. #19
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut Source de lecture
    In my house cool

    Au sujet du choix du mode tonique parmi les modèles diatoniques :

    RAPPEL
    - Si la gamme naturelle est notre étalon majeur.
    - Alors à chaque degré diatonique correspond un mode.

    Comme la contemplation_1 faisait la notion d'un 1er poids modal, dans l'idée de résumer chaque mode diatonique (d'une même gamme). Le résultat ne correspond pas réellement aux études préalables, ce qui est à retenir c'est la cognition dégagée par le traitement des masses diatoniques. De plus que de donner différentes qualités aux notes naturelles, cette opération y invente un poids & effets.

    À mon niveau d'interprétation il n'est pas utile de développer le sujet car il s'agit d'une exploitation, que derrière ce rampart quelque peu rustique n'est qu'une question à étudier. Que dessine le rempart ? - Tout ce qu'on peut y lire !

    La contemplation_2 fait référence à un 2ème niveau de recherche

    Contemplation_alteration_1.html
    Contemplation_alteration_2.html
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  20. #20
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par alexdevl Voir le message
    Juste une question : suis je le seul à ne rien y comprendre à ce charabia 🤔

    C'est bien pour toi, toumic (2.0), d'être passionné,
    mais pourrais tu expliquer simplement quel est l'objet de toutes ces lignes ? Sinon à quoi bon partager

    Alex
    Ne pas comprendre des mots pourtant élémentaires, et de mettre en cause l'auteur de ces lignes...

    C'est comme demander à une publicité télévisée, de nous éclairer sur le détail des matières grasses
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

Discussions similaires

  1. voyage entre les enregistrements...
    Par dpie dans le forum Access
    Réponses: 1
    Dernier message: 21/11/2005, 20h26
  2. liste chainée :suppression milieu par rapport à un caractère
    Par Pouyou le caribou dans le forum C++
    Réponses: 4
    Dernier message: 06/06/2005, 19h49
  3. pc de burautique en milieu industriel
    Par norac dans le forum Ordinateurs
    Réponses: 16
    Dernier message: 20/04/2005, 09h59
  4. [XHTML] centrer un tableau au milieu d'un div - bug firefox
    Par mondiani dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 08/02/2005, 00h57
  5. [Licence] Serveur Web en milieu professionnel
    Par tripop dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 1
    Dernier message: 22/10/2004, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo