Select Git revision
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")