diff --git a/gamme.py b/gamme.py new file mode 100644 index 0000000000000000000000000000000000000000..8ce50a1aefca33f228b672a1a0d804a49873e4e3 --- /dev/null +++ b/gamme.py @@ -0,0 +1,73 @@ +#!/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 la gamme.') +parser.add_argument('--exercice-spectrogramme', help="Génère un exercice plutôt que le fichier son", dest='exerciceSpectrogramme', nargs=1) +parser.add_argument('--exercice-spectrogramme-transparent', help="Génère un exercice à projeter", dest='transparent', nargs=1) +parser.add_argument('--exercice-spectrogramme-correction', help="Génère la correction pour l'enseignant", dest='correction', nargs=1) +parser.add_argument('--boomwhackers', help="Fichier décrivant la configuration de boomwhackers disponible.", dest='boomwhackers', nargs=1) +parser.add_argument('--primaire', help="Génère un exercice destiné aux primaires", dest='primaire', action='store_true',default=False) + +args = parser.parse_args() + +gamme = GammeTemperee(117) + + +boomwhackers = "" +if not args.boomwhackers is None: + boomwhackers = args.boomwhackers[0] + + +gammelist = [ [ + [gamme.do(4), gamme.noire], + [gamme.dod(4), gamme.noire], + [gamme.re(4), gamme.noire], + [gamme.mib(4), gamme.noire], + [gamme.mi(4), gamme.noire], + [gamme.fa(4), gamme.noire], + [gamme.fad(4), gamme.noire], + [gamme.sol(4), gamme.noire], + [gamme.sold(4), gamme.noire], + [gamme.la(4), gamme.noire], + [gamme.sib(4), gamme.noire], + [gamme.si(4), gamme.noire], + [gamme.do(5), gamme.noire], + [gamme.dod(5), gamme.noire], + [gamme.re(5), gamme.noire], + [gamme.mib(5), gamme.noire], + [gamme.mi(5), gamme.noire], + [gamme.fa(5), gamme.noire], + [gamme.fad(5), gamme.noire], + [gamme.sol(5), gamme.noire], + [gamme.sold(5), gamme.noire], + [gamme.la(5), gamme.noire], + [gamme.sib(5), gamme.noire], + [gamme.si(5), gamme.noire], + ] ] + + +if args.exerciceSpectrogramme or args.transparent or args.correction: + g = GenerateurExercice(gamme.bpm) + g.setBoomwhackers(boomwhackers) + g.setLongueurPartitionColoree(5) + g.setLongueurPartitionMusicale(5) + if args.primaire: + g.setTableauSimplifie(True) + if args.exerciceSpectrogramme: + g.genererExerciceSpectrogramme(gammelist, args.exerciceSpectrogramme[0], "thème 0") + if args.transparent: + g.genererTransparentSpectrogramme(gammelist, args.transparent[0], "thème 0", "Gamme") + if args.correction: + g.genererCorrectionSpectrogramme(gammelist, args.correction[0], "thème 0", "Gamme") + +else: + print "Génération du son" + s = BasicSequenceur(1, gamme.bpm, 0) + s.genererMelodie(gammelist, "sons/gamme.wav") +