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

Téléchargez Python Discussion :

progamv1epyco


Sujet :

Téléchargez Python

  1. #1
    Robot Forum
    Avatar de forum
    Inscrit en
    Novembre 1999
    Messages
    2 776
    Détails du profil
    Informations forums :
    Inscription : Novembre 1999
    Messages : 2 776
    Points : 2 549
    Points
    2 549
    Par défaut progamv1epyco
    Bonjour,

    Je vous propose un nouvel élément à utiliser : progamv1epyco

    Est la suite évoluée de progamv1alpha, qui développait la gamme relative à la position des notes cursives. Les plus sont :

    1 Large espace de transposition limité à trois octaves ayant chacune un propre système altératif

    2 Une combinaison fonctionnelle, qui par relâchement automatise le développement de la gamme

    3 Une forme d'onde acoustique de fréquence égale à la coordonnée graphique de la note diatonique



    Découverte d'un système de valeurs de fréquences acoustiques liées à des paramètres graphiques

    Il est important de savoir que ce programme est libre, et que son unité est juste

    Qu'en pensez-vous ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Les fréquences hertziennes calculées ne sont pas vraiment justes ?

    Oui et non :
    Le tempérament harmonique a une définition au 1/16ème, ce qui signifie que la précision au 1/12ème est donc imparfaitement justifiée.
    La solution harmonique du tempérament "1/12ème" équivaut à la fréquence fondamentale*2**(harmonique/12), et sa définition harmonique est partielle.
    Et, le code qui est ajouté dans ce corps de message contribue à développer l'évolution harmonique de la fréquence "1". Et, de ranger cette harmonisation dans des espaces d'octaves (doubles). Aussi, de comprendre LE POURQUOI du "1/16ème" de la justesse harmonique. Et enfin, cerner avec exactitude les points "harmoniques" de l'harmonie des notes de musique, toutes fondamentales confondues.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12345678910111213141516171819202122232425262728293031323334353637
    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
     
    import tkinter as tk
     
    root = tk.Tk()
    root.title('tempéraments')
    root.geometry('650x250')
     
    octaves = {}
    o0 = h2 = 0 ; h1 = 1
    # Table des unités harmoniques classées par octave
    for h in range(64):
            h2 += 1
            if h2 < h1*2:
                    octaves[o0] = h1,h2
            if h2 == h1*2:
                    h1 = h2
                    o0 +=1
    #(octaves)
    tab_notes = ['A','#A','B','C','#C','D','#D','E','F','#F','G','#G','A']
    tab_freqs12 = [] ; tab_freqs16 = [] ; con_freqs = []
    f01 = 220
    for ai in range(20):        # Construction tableau TM
            freq=f01*2**(ai/16)
            tab_freqs16.append(freq)  # Tableau en écriture TM
    for ai in range(20):        # Construction tableau TM
            freq=f01*2**(ai/12)
            tab_freqs12.append(freq)  # Tableau en écriture TM
            for co in tab_freqs16:
                    if co == freq:
                            con = tab_notes[ai], co
                            con_freqs.append(con)
    print('12ème',tab_freqs12)
    print('*')
    print ('16ème',tab_freqs16)
    print('*')
    print ('clone',con_freqs)
    tk.mainloop()
    Rien de tel qu'une écoute pianistique des notes harmoniques, rendu possible à l'aide du site développez.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
    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
     
    import tkinter as tk
    import winsound
     
    root = tk.Tk()
    root.title('petit piano')
    root.geometry('650x250')
     
    gen_b = [3,5,7,8,10,12,14,15,17,19,20,22,24,26,27,29,31,32,34,36,38]
    gen_n = [4,6,0,9,11,13,0,16,18,0,21,23,25,0,28,30,0,33,35,37]
     
    tab_freqs = []
    def ancien():
        del(tab_freqs[:])
        root.title('petit piano ancien')
        f0 = 220 ; freq = f12 = 0
        for ai in range(39):        # Construction tableau TM
            if 0 <= ai < 12: la = f0
            elif 24 > ai > 11: la = f0
            elif 36 > ai > 23: la = f0
            elif ai > 35: la = f0
            f1 = la/2 ; f2 = f1/12
            freq=f12*f2+f1          # Calcul fréquence
            tab_freqs.append(freq)  # Tableau en écriture TM
            f12+=1
            if f12 > 11:
                f12 = 0
                f0 *= 2
    def nouveau():
        del(tab_freqs[:])
        root.title('petit piano nouveau')
        f01 = 110
        for ai in range(39):        # Construction tableau TM
            freq=f01*2**(ai/12)
            tab_freqs.append(freq)  # Tableau en écriture TM
     
    def piano_b(m):
        duration=200
        freqhtz = int(tab_freqs[gen_b[m]])
        print(m,freqhtz,tab_freqs[gen_b[m]])
        winsound.Beep(freqhtz, duration)
    def piano_n(m):
        duration=200
        freqhtz = int(tab_freqs[gen_n[m]])
        print(m,freqhtz,tab_freqs[gen_n[m]])
        winsound.Beep(freqhtz, duration)
     
    btbs = []
    for x in range(21):
        btb = tk.Button(text='', height=10, width=3, bg='ivory', command=lambda m=x: piano_b(m), relief="groove")
        btb.place(x = 30*x, y = 30, anchor='nw')
        btbs.append(btb)
     
    o = 0
    btns = []
    for x in range(21):
        if o == 2 or o == 6:
            pass
        else:
            btn = tk.Button(text='', height=5, width=2, bg='black',command=lambda m=x: piano_n(m), relief="groove")
            btn.place(x = 30*x+15, y = 30, anchor='nw')
            btns.append(btn)
        o += 1
        if o > 6:
            o = 0
    btchoix1 = tk.Button(text='ancien',height=1,width=10,bg='ivory',command=ancien)
    btchoix1.place(x = 200, y = 200, anchor='nw')
    btchoix2 = tk.Button(text='nouveau',height=1,width=10,bg='ivory',command=nouveau)
    btchoix2.place(x = 300, y = 200, anchor='nw')
    btchoix1.invoke()
    tk.mainloop()
    Le résultat de l'accord diminué de septième n'est pas exact, les opérations sont à revoir

  3. #3
    Invité
    Invité(e)
    Par défaut
    Le résultat de l'accord diminué de septième n'est pas exact, les opérations ne sont plus à revoir

    Une erreur corrigée avec ce bout de code manquant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                                                    if zone == 1:                   # Zone de droite
                                                            txdr += txsg
                                                            caaacc.create_text(xdd,ydd,text=txsg,font=fofin,fill='blue')
                                                            xdd += 20

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