Skip to content
Snippets Groups Projects
Select Git revision
  • 84cb088b327d65528007d7e6c4f48a041b023827
  • master default
2 results

joie.py

Blame
  • joie.py 2.19 KiB
    #!/usr/bin/env python
    # coding: utf8
    # -*- coding: utf-8 -*-
    
    import argparse
    from musique.basicsynth import BasicSequenceur
    from musique.exercice import GenerateurExercice
    from musique.gamme import GammeTemperee
    
    parser = argparse.ArgumentParser(description='Génère des documents à partir de la partition du thème ode à la joie.')
    parser.add_argument('--exercice-spectrogramme', help="Génère un exercice plutôt que le fichier son", dest='exerciceSpectrogramme', action='store_true',default=False)
    parser.add_argument('--boomwhackers', help="Génère un exercice plutôt que le fichier son", dest='boomwhackers', nargs=1)
    
    args = parser.parse_args()
    
    gamme = GammeTemperee(117)
    
    
    boomwhackers = ""
    if not args.boomwhackers is None:
      boomwhackers = args.boomwhackers[0]
    
    # C: do
    # D: ré
    # E: mi
    # F: fa
    # G: sol
    C = gamme.do(4)
    D = gamme.re(4)
    E = gamme.mi(4)
    F = gamme.fa(4)
    G = gamme.sol(4)
    
    joie = [ [ [E, gamme.noire],
               [E, gamme.noire],
                [F, gamme.noire],
                [G, gamme.noire],
                [G, gamme.noire],
                [F, gamme.noire],
                [E, gamme.noire],
                [D, gamme.noire],
                [C, gamme.noire],
                [C, gamme.noire],
                [D, gamme.noire],
                [E, gamme.noire],
                [E, gamme.noirepointee],
                [D, gamme.croche],
                [D, gamme.blanche],
    #            gamme.demiSoupir(),
    
                [E, gamme.noire],
                [E, gamme.noire],
                [F, gamme.noire],
                [G, gamme.noire],
                [G, gamme.noire],
                [F, gamme.noire],
                [E, gamme.noire],
                [D, gamme.noire],
                [C, gamme.noire],
                [C, gamme.noire],
                [D, gamme.noire],
                [E, gamme.noire],
                [D, gamme.noirepointee],
                [C, gamme.croche],
                [C, gamme.blanche], 
    #            gamme.demiSoupir(),
            ] ]
    
    
    if args.exerciceSpectrogramme:
      g = GenerateurExercice(gamme.bpm)
      g.setBoomwhackers(boomwhackers)
      g.setLongueurPartitionColoree(8)
      g.genererExerciceSpectrogramme(joie, "exercices/ex-spec-joie.tex", "thème joie")
    else:
      print "Génération du son"
      s = BasicSequenceur(1, gamme.bpm, 0)
      s.genererMelodie(joie, "sons/joie.wav")