Skip to content
Snippets Groups Projects
Commit e3720758 authored by Jean-Marie Favreau's avatar Jean-Marie Favreau
Browse files

Suite développement exercices (WIP)

parent f8903326
No related branches found
No related tags found
No related merge requests found
{
"do1": { "couleur": "#a73824", "capsule": "0" },
"re1": { "couleur": "#c56528", "capsule": "0" },
"mi1": { "couleur": "#f4e236", "capsule": "0" },
"fa1": { "couleur": "#f4e236", "capsule": "0" },
"sol1": { "couleur": "#27476d", "capsule": "0" },
"la1": { "couleur": "#413a88", "capsule": "0" },
"si1": { "couleur": "#682174", "capsule": "0" },
"do2": { "couleur": "#9c3922", "capsule": "0" }
}
......@@ -42,6 +42,7 @@ happy = [ [ [gamme.do(4), gamme.crochepointee],
[gamme.fa(4), gamme.blanchepointee]
] ]
if args.exerciceSpectrogramme:
g = GenerateurExercice(gamme.bpm)
g.genererExerciceSpectrogramme(happy, "exercices/ex-spec-happybirthday.tex", "thème joyeux anniversaire")
......
......@@ -13,7 +13,7 @@ class GenerateurExercice(GammeTemperee):
# Paramètres:
# * bpm: nombre de battements par minute (= nombre de noires par minute)
# * dureeFrappe: duree de la frappe
def __init__(self, bpm = 120, dureeFrappe = 0.04):
def __init__(self, bpm = 120, dureeFrappe = 0.12):
GammeTemperee.__init__(self, bpm)
self.dureeFrappe = dureeFrappe
self.margeDocument = 1.0
......@@ -236,10 +236,10 @@ class GenerateurExercice(GammeTemperee):
def estDessinable(self, partitions):
if len(partitions) != 1:
print "plus d'une partition"
print "La partition contient plusieurs mains."
return False
if self.contientNoteAlteree(partitions):
print "note alteree"
print "La partition contient une alterée."
return False
notes = [ self.getOctaveEtIDNote(p) for p in self.notesDansPartition(partitions) ]
......@@ -309,6 +309,9 @@ class GenerateurExercice(GammeTemperee):
# dessine sur le spectrogramme l'accord donné en paramètre,
# à l'horodatage donné
def noteSpectrogrammePartition(self, frequence, duree, horodatage, couleur = "black"):
if frequence == 0:
return ''
else:
y = self.frequenceEnCm(frequence)
return self.noteGraphique(y, self.margeDureeDebut, duree, horodatage, couleur)
......
......@@ -144,7 +144,7 @@ class GammeTemperee:
# retourne la fréquence minimum utilisée dans les partitions
def minFrequence(self, partitions):
return min([min([ x for x in [note[0] if isinstance(note[0], float) else min(note[0]) for note in partition] if x != 0.]) for partition in partitions])
return min([min([ x for x in [note[0] if isinstance(note[0], float) else min(note[0]) for note in partition] if x > 0]) for partition in partitions])
# retourne la fréquence maximum utilisée dans les partitions
def maxFrequence(self, partitions):
return max([max([note[0] if isinstance(note[0], float) else max(note[0]) for note in partition]) for partition in partitions])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment