diff --git a/Makefile b/Makefile
index 530843001df78112e8f373c497c4bffe4ce75778..2991122938b88c9a34ff8b623559b6a93db04e44 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,7 @@ PDF=$(EXECOLLPDF) $(EXEPROJPDF) $(EXEPRIMPDF) $(EXECORRPDF)
 
 WAVES=$(addprefix $(SONS)/,$(SCRIPTS:.py=.wav))
 
-BOOMWHACKERS=boomwhackers-8.json
+BOOMWHACKERS=boomwhackers-8+5.json
 
 .PRECIOUS: $(TEX)
 
diff --git a/boomwhackers-8+5.json b/boomwhackers-8+5.json
new file mode 100644
index 0000000000000000000000000000000000000000..3cf596ee2a4a714b8d7bd2dbf24486bfe48c4e29
--- /dev/null
+++ b/boomwhackers-8+5.json
@@ -0,0 +1,16 @@
+{
+  "do1": { "couleur": [255, 0, 0], "capsule": "0", "court": "1" },
+  "re1": { "couleur": [255, 170, 20], "capsule": "0", "court": "1" },
+  "mi1": { "couleur": [255, 238, 0], "capsule": "0", "court": "1" },
+  "fa1": { "couleur": [81, 255, 0], "capsule": "0", "court": "1" },
+  "sol1": { "couleur": [0, 118, 88], "capsule": "0", "court": "1" },
+  "la1": { "couleur": [140, 0, 255], "capsule": "0", "court": "1" },
+  "si1": { "couleur": [221, 0, 115], "capsule": "0", "court": "1" },
+  "do2": { "couleur": [255, 0, 0], "capsule": "0", "court": "0" },
+  
+  "dod1": { "couleur": [255, 0, 0], "capsule": "0", "court": "1", "alteration": "#" },
+  "mib1": { "couleur": [255, 238, 0], "capsule": "0", "court": "1", "alteration" : "b"},
+  "fad1": { "couleur": [81, 255, 0], "capsule": "0", "court": "1", "alteration": "#" },
+  "sold1": { "couleur": [0, 118, 88], "capsule": "0", "court": "1", "alteration": "#" },
+  "sib1": { "couleur": [221, 0, 115], "capsule": "0", "court": "1", "alteration" : "b"  }
+}
diff --git a/boomwhackers-8.json b/boomwhackers-8.json
index 7d1d8e62084789d107b4ba0ca6f60c0a079a6ed3..4ccc82a347bcc0feffbe9d425febc09780657ec8 100644
--- a/boomwhackers-8.json
+++ b/boomwhackers-8.json
@@ -6,5 +6,11 @@
   "sol1": { "couleur": [0, 118, 88], "capsule": "0", "court": "1" },
   "la1": { "couleur": [140, 0, 255], "capsule": "0", "court": "1" },
   "si1": { "couleur": [221, 0, 115], "capsule": "0", "court": "1" },
-  "do2": { "couleur": [255, 0, 0], "capsule": "0", "court": "0" }
+  "do2": { "couleur": [255, 0, 0], "capsule": "0", "court": "0" },
+  
+  "dod1": { "couleur": [255, 0, 0], "capsule": "0", "court": "1", "alteration": "#" },
+  "mib1": { "couleur": [255, 238, 0], "capsule": "0", "court": "1", "alteration" : "♭"},
+  "fad1": { "couleur": [81, 255, 0], "capsule": "0", "court": "1", "alteration": "#" },
+  "sold1": { "couleur": [0, 118, 88], "capsule": "0", "court": "1", "alteration": "#" },
+  "sib1": { "couleur": [221, 0, 115], "capsule": "0", "court": "1", "alteration" : "♭"  },  
 }
diff --git a/happybirthday.py b/happybirthday.py
index 8984bb278246cba28d8f446240e8d3d934b5e28c..224c59b839c30967609bb7469ce6cfd189338176 100755
--- a/happybirthday.py
+++ b/happybirthday.py
@@ -51,11 +51,11 @@ happy = [ [ [gamme.do(4), gamme.crochepointee],
         ] ]
 
 
-if args.exerciceSpectrogramme:
+if args.exerciceSpectrogramme or args.transparent or args.correction:
   g = GenerateurExercice(gamme.bpm)
   g.setBoomwhackers(boomwhackers)
   g.setLongueurPartitionColoree(6)
-  g.setLongueurPartitionMusicale(8)
+  g.setLongueurPartitionMusicale(12)
   if args.primaire:
     g.setTableauSimplifie(True)
   if args.exerciceSpectrogramme:
diff --git a/musique/exercice.py b/musique/exercice.py
index 2671e0c303078aaf1e8bd89dbf3888be00f2665b..1f52c082fefc036fdd9d36fed90870fb97210332 100644
--- a/musique/exercice.py
+++ b/musique/exercice.py
@@ -338,6 +338,11 @@ class GenerateurExercice(GammeTemperee):
       rayon = r * 1.2 if boomwhacker["court"] == "0" else r
       result += "\\fill[fill=tempcolor] ("+ \
                 str(x) + "," +  str(y) + ") circle (" + str(rayon) + ");"
+      if "alteration" in boomwhacker:
+        if (boomwhacker["couleur"][0] + boomwhacker["couleur"][1] + boomwhacker["couleur"][2]) > 128 * 3:
+          result += "\\draw (" + str(x) + "," + str(y) + ") node{" + str(boomwhacker["alteration"]) + "};"
+        else:
+          result += "\\draw[color=white] (" + str(x) + "," + str(y) + ") node{" + str(boomwhacker["alteration"]) + "};"
       if boomwhacker["capsule"] == "1":
          result += "\\fill [black] (" + str(x - r) + "," + str(y - 1.2 * r) + \
                     ") rectangle (" + str(x + r) + ", " + str(y - 1.9 * r) + ");"
@@ -351,6 +356,7 @@ class GenerateurExercice(GammeTemperee):
       notes = sorted(list(set(frequences)))
       
       result += "\\begin{table}[H]\n\centering\n"
+      result += '\\resizebox{1\\textwidth}{!}{%\n'
       if not beamer:
         result += "\\begin{tabular}{|r|" + "".join(["c|"] * len(notes)) +  "}\n"
       else:
@@ -385,6 +391,7 @@ class GenerateurExercice(GammeTemperee):
       if not beamer:
         result += "\\hline\n"
       result += "\\end{tabular}\n"
+      result += "}\n"
       result += "\\caption{Représentation colorée des notes}\n"
       result += "\\end{table}\n"
       return result