-
Jean-Marie FAVREAU authoredJean-Marie FAVREAU authored
stairway.py 1.99 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 de Stairway.')
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]
stair = [ [
[gamme.la(2), gamme.croche],
[gamme.do(3), gamme.croche],
[gamme.mi(3), gamme.croche],
[gamme.la(3), gamme.croche],
[[gamme.fad(2), gamme.si(3)], gamme.croche],
[gamme.mi(3), gamme.croche],
[gamme.do(3), gamme.croche],
[gamme.si(3), gamme.croche],
[[gamme.fa(2), gamme.do(4)], gamme.croche],
[gamme.mi(3), gamme.croche],
[gamme.do(3), gamme.croche],
[gamme.do(4), gamme.croche],
[[gamme.fad(2), gamme.fad(3)], gamme.croche],
[gamme.re(3), gamme.croche],
[gamme.la(2), gamme.croche],
[gamme.fa(3), gamme.croche],
[[gamme.fa(2), gamme.mi(3)], gamme.croche],
[gamme.do(3), gamme.croche],
[gamme.la(2), gamme.croche],
[gamme.do(3), gamme.noire],
[gamme.mi(3), gamme.croche],
[gamme.do(3), gamme.croche],
[gamme.la(2), gamme.croche],
[[gamme.si(1), gamme.sol(2), gamme.si(2)], gamme.croche],
[[gamme.la(2), gamme.do(3)], gamme.croche],
[[gamme.la(1), gamme.la(2)], gamme.blanche]
] ]
if args.exerciceSpectrogramme:
g = GenerateurExercice(gamme.bpm)
g.setBoomwhackers(boomwhackers)
g.genererExerciceSpectrogramme(stair, "exercices/ex-spec-stairway.tex", "Stairway")
else:
print "Génération du son"
s = BasicSequenceur(1, gamme.bpm, 0)
s.genererMelodie(stair, "sons/stairway.wav")