#!/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 au clair de la lune.') 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(80) boomwhackers = "" if not args.boomwhackers is None: boomwhackers = args.boomwhackers[0] lune = [ [ [gamme.do(4), gamme.croche], [gamme.do(4), gamme.croche], [gamme.do(4), gamme.croche], [gamme.re(4), gamme.croche], [gamme.mi(4), gamme.noire], [gamme.re(4), gamme.noire], [gamme.do(4), gamme.croche], [gamme.mi(4), gamme.croche], [gamme.re(4), gamme.croche], [gamme.re(4), gamme.croche], [gamme.do(4), gamme.blanche], ] ] if args.exerciceSpectrogramme or args.transparent or args.correction: g = GenerateurExercice(gamme.bpm) g.setBoomwhackers(boomwhackers) g.setLongueurPartitionColoree(4) if args.primaire: g.setTableauSimplifie(True) if args.exerciceSpectrogramme: g.genererExerciceSpectrogramme(lune, args.exerciceSpectrogramme[0], "thème 2") if args.transparent: g.genererTransparentSpectrogramme(lune, args.transparent[0], "thème 2", "Au clair de la lune") if args.correction: g.genererCorrectionSpectrogramme(lune, args.correction[0], "thème 2", "Au clair de la lune") else: print "Génération du son" s = BasicSequenceur(1, gamme.bpm, 0) s.genererMelodie(lune, "sons/lune.wav")