Strudelify

Peter and the Wolf Op.67

Prokofiev

KeyA majorTempo92 bpm
0:00/0:00
// Peter and the Wolf Op.67 — Prokofiev
// 92 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 33, 4/4 at bar 48, 2/4 at bar 75, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5847217; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 100 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(92/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A B C D E F G H I B J K E F ~@2 L M ~ N ~ O P ~@5 Q R S T U@2 V@2 W X@2 Y V@2 W Z@2 AA@2 ~@2 AB@2 AC AD@3 AE AF AG@2
  AH AI AJ AK AL AM AN@4 AO AP AQ AR AS@2 AT AU AV AW@2 AX@2 AY@4 AZ BA@2 BB@2 BC@2 BD@4 BE@2 ~
>`.pickRestart({
  A: "g3 c4 e4 c4 g3 c4 e4 c4", B: "g3 c4 e4 c4 g3 c4 e4 g3", C: "~@2 c4 g#3 e4 g#3 c4 g#3",
  D: "c4 e4 g3 e4 c4 f4 g3 f#3", E: "g3 a#3 d#4 c4 a#3 d#4 g4 d#4", F: "a#3 d#4 g4 d#4 a#3 d#4 a#3 g3",
  G: "f#3 b3 d4 b3 c4 f4 c4 f4", H: "d4 g3 b3 a3 g3 f4 e4 d4", I: "~@2 e4 c4 g3 c4 e4 c4",
  J: "e4 g#3 c4 g#3 e4 g#3 c4 g#3", K: "~@2 g3 e4 c4 e4 g3 f#3", L: "c4 d4 e4 f4 g4 f4 e4 d#4", M: "c#4@2 c4 e4",
  N: "d5@4 c5 ~@3", O: "~@27 c5@5 b4@2 c5@2 b4@2 ~ b4@2 ~@5 c5@2",
  P: "c5@5 ~@2 g4@2 g4@5 ~@2 a4@2 a4@4 ~ a4@2 a4@4 ~@2 c5@2 c5@4 ~ f4@2 f4@4 b4@4",
  Q: "~@22 d5@3 ~@3 a4@3 ~@3 c#5@3 ~@2 a4@3 ~@3 d5@3",
  R: "~@2 a4@3 ~@3 c#5@3 ~@2 a4@3 ~@3 d5@3 ~@2 a4@3 ~@3 c#5@3 ~@2 a4@3 ~@3 d5@3 ~@2 a4@2",
  S: "~@4 c#5@3 ~@2 a#4@3 ~@3 a4@5 ~@6 c#5@3 c5@2 c#5@3 d5@3 e5@5 ~@6",
  T: "c#5@3 c5@2 c#5@3 f5@3 f#5@5 ~@6 g#5@3 ~@3 a5@3 ~@17",
  U: "[~@4 a#4@3 a4@3 g4@3 a4@3 a#4@6 a#4@6 f4@6 a4@6 a#4@3 a4@3 g4@2]/2",
  V: "[~ a4@3 a#4@6 a#4@6 f4@6 a4@6 ~@18 a#4@2]/2", W: "~ a4@3 g4@3 a4@3 a#4@6 a#4@3 a4@3 g4@2",
  X: "[~ a4@3 a#4@6 a#4@3 a4@3 g4@3 a4@3 a#4@6 a4@3 g4@3 f4@3 g4@3 a4@6 ~@2]/2", Y: "~@16 a#4@3 a4@3 g4@2",
  Z: "[~@2 a4@6 a#4@12 a#4@6 a4@6 g4@6 a4@6 a#4@12 a4@6 g4@6 f4@6 g4@6 a4@12 g4@3 ~]/2",
  AA: "[~@2 f4@3 ~@3 d#4@3 ~@3 f4@3 ~@3 g4@12 ~@12 d#5@24 ~@28]/2",
  AB: "[~@35 a4@21 ~@11 e4@3 ~@2 a4@3 ~@3 c#5@5 ~@5 a4@3 ~@3 e4@2]/2",
  AC: "~@3 d#4@5 ~@6 e4@3 ~@2 a4@3 ~@2 c#5@3 ~@3 e5@3 ~@2 d5@13",
  AD: "[~@3 c#5@5 e5@5 d5@5 ~ c#5@5 b4@5 d5@5 ~ c#5@5 b4@5 a4@5 ~ c#5@5 b4@5 g#4@21 a4@5 ~@6 c#5@5 ~@6 c#5@5 ~@5 e4@5 ~@16 c#5@5 ~@4]/3",
  AE: "~@2 c#5@5 ~@6 e4@5 ~@16 f#5@5 ~@9", AF: "~@39 e4@5 ~@4",
  AG: "[~@12 e4@5 ~@16 e4@3 ~@3 g4@3 ~@2 f4@16 e4@5 c4@5 ~ d4@5 e4@5 d4@5 ~ b3@3 ~@2 c4@3 ~]/2",
  AH: "~ d4@5 c4@5 ~ a3@3 ~@2 b3@3 ~@2 c4@21 ~ e4@4", AI: "~@6 g3@3 ~@3 c4@3 ~@2 f#4@5 ~@16 f#4@5 ~@5",
  AJ: "~@11 e4@3 ~@3 g4@3 ~@2 f4@16 e4@5 g4@5", AK: "f4@5 ~ e4@5 d4@5 f4@5 ~ e4@5 d4@5 c4@5 ~ e4@5 d4@5",
  AL: "b3@21 c4@5 ~@22", AM: "~@38 e4@3 b4@6 ~",
  AN: "[~ b4@3 e4@20 f#4@3 g4@9 a4@3 b4@8 g4@3 d5@6 d5@6 d5@5 d5@6 d5@4 e5@4 f5@4 f#5@15 g5@4 g#5@4 d#5@6 ~@5 a4@4 a4@4 a4@4 d5@6 ~@5 d5@6 ~@6 d5@6 ~@5 d5@6 ~@6 d5@6 ~@5 d5@4]/4",
  AO: "~@8 c#5@6 ~@5 c#5@6 ~@6 c5@6 ~@5 c5@6", AP: "~@6 b4@6 ~@5 b4@6 ~@25", AQ: "~@27 f4@6 ~@5 f5@6 ~@4",
  AR: "~@2 e5@6 ~@5 d5@6 ~@6 c5@6 ~@5 f4@6 ~@6",
  AS: "[g4@6 ~@5 g#4@6 ~@6 g4@6 ~@5 g4@4 g#4@4 a4@4 e4@6 ~@5 e4@6 ~@6 e4@6 ~@5 e4@6 ~@3 f#4@3 a#4@4]/2",
  AT: "~@4 g#3@3 a3@6 ~@3 a4@3 a#4@6 ~@2 g#3@3 a3@6 ~@3 a4@3 d4@6",
  AU: "~@2 e4@3 d4@6 ~@3 d#4@3 c#4@6 ~@2 d#4@3 c#4@6 ~@3 f#4@3 ~@8", AV: "~@19 a#4@3 ~ g#3",
  AW: "[~ a3@6 ~@3 a4@3 a#4@6 ~@2 g#3@3 a3@6 ~@11 c5@3 g#4@3 f4@3 d4@3 f#4@6 d#5@11 f4@3 ~@23]/2",
  AX: "[~@9 f#3@11 f#3@11 ~ d5@46 d4@6 ~@5 d#4@6 ~]/2",
  AY: "[~@28 d4@33 a4@4 a#4@4 ~ a4@4 a#4@4 a4@8 a4@8 ~ d5@8 a#4@8 d5@8 ~ a4@8 g4@33 ~ g4@30]/4",
  AZ: "~@3 d#5@4 e5@4 d#5@4 ~ e5@4 e5@8 e5@13 f#5@4 f5@3",
  BA: "[~ f#5@4 f5@8 ~ f5@12 d#5@4 e5@4 d#5@4 ~ e5@8 e5@8 e4@33 ~ b4@4 c5@3]/2",
  BB: "[~ b4@4 c5@4 ~ b4@8 b4@8 e5@8 ~ c5@8 e5@8 b4@8 ~ a4@33 d5@3]/2",
  BC: "[~ c#5@4 ~ d5@4 c#5@4 d5@8 d5@13 c#5@4 d5@4 c#5@4 d5@8 ~ d5@8 ~@32]/2",
  BD: "[~@35 b4@33 f#5@4 ~ g5@4 f#5@4 g5@4 f#5@8 ~ f#5@8 a4@8 f4@8 ~ a4@8 e4@8 d4@33 ~ d#5@17 d5@6]/4",
  BE: "[~@2 d#4@8 f4@8 ~ g4@8 a4@17 c5@16 a#4@33 ~@3]/2",
})).s("gm_trumpet").gain(0.25)

// other · clarinet · "B♭ Clarinet"
const clarinet = note(`<
  ~@3 A B C D ~@4 E F G H I J K L M ~ N O P Q R S@2 T ~@3 U@2 V@2 ~ W X Y Z@2 AA AB@2 AC@2 ~@9 AD AE AF AG AH AI AJ AK
  ~@4 AL AM AN AO AP@3 AQ AR AS AT@2 AU@2 ~@3 AV AW AX@2 AY@2 AZ@2 BA ~@6
>`.pickRestart({
  A: "d#5@2 a#4@2 a#4@3 ~", B: "~@6 a#4@6 d#5@9 g5 ~@2 a#5@3 ~@3 c6@3 ~@3 a#5@9 g5@3",
  C: "a#5 ~ c6 ~ d6@3 d#6 a#5@2 g5@2 d#5 ~ f5 ~", D: "f#5@2 f#5 d6 f#5@2 f#5 d6", E: "d#5@2 a#4@2 a#4@3 a4",
  F: "~@12 d#4@9 g4 ~@2 a#4@3 ~@3 c5@3 ~@3 a#4@9 g4@3", G: "a#4 ~ c5 ~ d5@3 d#5 a#4@2 g4@2 d#4 ~ f4 ~",
  H: "f#4@2 f#4 d5 f#4@2 f#4 d5", I: "g4 g3 ~@2", J: "c4 d4 e4 f4 g4 a4 b4 c5", K: "c#5 d#5 e5 f#5 g#5@2 c#6@2",
  L: "c#4 d#4 e4 f#4 g4 a4 a#4 b4", M: "b4 ~", N: "~@27 a5 g5@2 ~@2 e5@2 ~@2 a5 ~ g#5@2 ~ g#5@2 ~@3 g#5@2",
  O: "~@2 g#5@2 ~@3 a5 g#5@2 ~ e5@2 ~@3 d5@2 d#5@2 c#5@2 ~ b4@2 ~@2 a4 b4 ~ a4 g4@3 g4@2 ~@2 c5@2 ~@2 e5@2 ~@2 a5 g5, ~@11 c5 ~@12",
  P: "~ e5@2 ~@2 a5 g#5 ~@2 g#5@2 ~ g#5@2 ~@2 g#5@2 ~@2 a5 g#5 ~ e5@2 ~@23", Q: "~@38 a5 g5@2 ~@2 e5@3 ~@2",
  R: "~ a5 g#5@2 ~@2 g#5@3 ~@3 g#5@3 ~@2 g#5@3 ~@3 a5 g#5@2 ~@2 e5@3 ~@3 d5@3 d#5@3 c#5@2 c5@3 b4@3",
  S: "[~@4 b4@2 a4@2 g4@5 ~ g4@3 ~@2 c5@3 ~@3 e5@3 ~@2 a5 g5@2 ~@3 e5@3 ~@2 a5 g#5@2 ~@3 g#5@3 ~@2 g#5@3 ~@3 g#5@3 ~@2 a5 g#5@2 ~@3 e5@3 ~@2 d5@3 d#5@3 c#5@3 c5@2 g5@3 ~@3 b4 a4@2 ~@2, ~@3 a4@2 ~@91]/2",
  T: "g4@11 f4@11 ~@26", U: "[~@4 d5@3 c5@3 a#4@3 c5@3 d5@6 c#5@6 b4@6 c#5@6 d5@3 c5@3 a#4@2]/2",
  V: "[~ c5@3 d5@6 c#5@6 b4@6 c#5@6 ~@20]/2", W: "~@20 e5 d#5@2 ~@3 d#5@3 ~@3 d#5@12 e5 d#5@2 ~",
  X: "~@2 d#5@3 ~@3 d#5@3 e5@3 d#5 ~@2 d5 ~@2 d#4@12 ~@12 c4@4", Y: "~ a#3@3 g#3@3 a#3@3 c4@6 ~@8",
  Z: "[~@10 c4@3 a#3@3 g#3@3 a#3@3 c4@6 b3@6 a#3@6 b3@6 ~@2]/2", AA: "~@16 c#4@3 c4@3 a#3@2",
  AB: "[~@2 c4@6 c#4@12 c4@6 a#3@6 g#3@6 a#3@6 c4@12 ~@12 e5 d#5@2 ~@3 d#5@3 ~@3 d#5@12 e5 d#5@2 ~]/2",
  AC: "[~@2 d#5@3 ~@3 d#5@3 e5@3 d#5 ~@2 d5 ~@2 d#4@12 ~@12 d#5@24 ~@28]/2", AD: "~@28 g3@3 ~@3 c4@3 ~@2 e4@5 ~@4",
  AE: "~@2 c4@3 ~@2 g3@3 ~@2 f#3@5 ~@6 g3@3 ~@2 c4@3 ~@2 e5@5 ~@10", AF: "~@7 e5@5 ~@16 e5@5 ~@15",
  AG: "~ d5@5 ~@16 c4@3 ~@3 e4@5 ~@5 c4@3 ~@3 g3@3 ~", AH: "~ f#3@5 ~@6 g3@3 ~@2 c4@3 ~@18 e5@5 ~@5",
  AI: "~@11 e5@5 ~@27 e5@5", AJ: "~@16 e5@5 ~@17 f5@5 ~@5", AK: "~@11 b4@5 ~@5 e4@11 ~@16", AL: "~@33 f5@6 ~@5 f5@4",
  AM: "~@8 e5@6 ~@5 e5@6 ~@6 d#5@6 ~@5 d#5@6", AN: "~@6 d5@6 ~@5 d5@6 ~@25", AO: "~@27 c5@17 b4@4",
  AP: "[~@2 a4@5 g4@6 f#4@6 ~@3 e4@3 b4@6 ~@2 b4@3 e4@20 f#4@3 g4@9 a4@3 b4@8 g4@3 d5@6 d5@6 d5@5 d5@6 d5@4 e5@4 f5@4 f#5@11 f#5@4 g5@4 g#5@4 d#5@4]/3",
  AQ: "~@7 b5@4 b5@4 b5@4 ~@23 a#4@6", AR: "~@2 g#3@3 a3@6 ~@3 a4@3 a#4@6 ~@2 g#3@3 a3@6 ~@3 a4@3 a#4@6 ~@2",
  AS: "g#3@3 a3@6 ~@3 a4@3 a#4@6 ~@2 g#3@3 a3@6 ~@3 a4@3 ~@10",
  AT: "[~@36 f5@3 d5@2 f5@3 d5@3 f5@3 d5@3 f#5@6 c#5@11 a#4@3 ~@23]/2",
  AU: "[~@3 g#4@6 b3@11 b3@11 ~ d4@46 d4@6 ~@5 d#4@6 ~]/2", AV: "~@3 g4@5",
  AW: "~@3 d5@4 d#5@4 d5@4 ~ d#5@4 d5@8 d5@8 c4@4 ~ c4@4 c#4@3",
  AX: "[~ c4@4 c#4@8 ~ c#4@8 c4@4 c4@4 c#4@4 c4@4 ~ c#4@8 c#4@8 c4@33 ~ a4@4 g#4@3]/2",
  AY: "[~ a4@4 g#4@4 ~ a4@8 a4@8 c5@8 ~ a#4@8 c5@8 a4@8 ~ g4@33 b4@3]/2",
  AZ: "[~ a4@4 ~ b4@4 a4@4 b4@8 b4@13 a#4@4 b4@4 a#4@4 b4@8 ~ b4@8 e5@4 ~@4 f5@4 ~@5 e5@4 ~@4 f5@4 ~@3]/2",
  BA: "~@2 f#5@4 ~@4 g5@4 ~@4 g#5@4 ~@5 a#5@4 ~@17",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "B♭ Clarinet" · soft notes
const clarinet_soft = note(`<
  A B C ~@4 D E B C ~@8 F ~@26 G@2 H@2 ~@3 I@2 J@2 ~@7 K L M N@2 ~@13 O@4 ~@7 P@4 Q@2 ~
>`.pickRestart({
  A: "g4@12 c5@9 e5 ~@2 g5@3 ~@3 a5@3 ~@3 g5@9 e5@3", B: "g5 ~ a5 ~ b5@3 c6 g5@2 e5@2 c5 ~ d5 ~",
  C: "d#5@2 d#5 b5 d#5@2 d#5 b5", D: "g5@2 g4@2 g4@3 ~", E: "~@12 c5@9 e5 ~@2 g5@3 ~@3 a5@3 ~@3 g5@9 e5@3",
  F: "~@4 c5 ~@3", G: "[~@41 e4@3 ~@3 a4@3 ~@2 c#5@5 ~@6 a4@3 ~@2 e4@3 ~@2 d#4@5 ~@6 e4@3 ~@2 a4@3 ~@2 c#5@2]/2",
  H: "[~@4 e5@3 ~@2 d5@16 c#5@5 a4@5 ~ b4@5 c#5@5 b4@5 g#4@3 ~@3 a4@3 ~@2 b4@5 a4@5 ~ f#4@3 ~@2 g#4@3 ~@15]/2",
  I: "[~@45 d5@5 ~@6 d4@5 ~@26 d5@5 ~@4]/2", J: "[~@2 d4@5 ~@27 e5@5 ~@6 d5@5 ~@46]/2", K: "~@41 c4@6 ~",
  L: "~@4 c4@6 ~@6 c4@6 ~@5 c4@6 ~@6 c4@6 ~@3", M: "~@2 c4@6 ~@6 c4@6 ~@5 c4@6 ~@6 a#3@6 ~@5",
  N: "[a#3@4 b3@4 c4@4 ~@23 f5@6 ~@5 f5@6 ~@6 f5@6 ~@5 f5@6 ~@21]/2",
  O: "[~@28 c4@33 a4@4 g#4@4 ~ a4@4 g#4@4 a4@8 a4@8 ~ c5@8 b4@8 c5@8 ~ a4@8 g4@33 ~@31]/4",
  P: "[~@35 g4@33 e5@4 ~ d#5@4 e5@4 d#5@4 e5@8 ~ e5@8 c5@8 b4@8 ~ c5@8 a4@8 g4@33 ~ d#5@17 d5@6]/4",
  Q: "[~@2 d#4@8 f4@8 ~ g4@8 a4@17 c5@16 a#4@33 ~@3]/2",
})).s("gm_clarinet").gain(0.2)

// other · flute
const flute = note(`<
  ~@3 A B C D ~@4 A B C D E F G H I J@3 ~ K L M@2 N ~@8 O@2 ~@5 P Q ~@11 R S T U V W ~@15 X@2 Y ~@4 Z AA AB@2 AC@2 AD@2
  ~@7
>`.pickRestart({
  A: "d#5@11 ~ a#4@11 ~ a#4@17 ~ a4@6", B: "a#4@11 ~ d#5@9 g5 ~@2 a#5@3 ~@3 c6@3 ~@3 a#5@9 g5@3",
  C: "a#5 ~ c6 ~ d6@3 d#6 a#5@2 g5@2 d#5 ~ f5 ~", D: "f#5@11 ~ f#5@6 d6@6 f#5@11 ~ f#5@6 d6@6", E: "g5@11 ~ g4@11 ~@25",
  F: "c4 d4 e4 f4 g4 a4 b4 c5", G: "c#5@6 d#5@6 e5@6 f#5@6 g#5@11 ~ c#6@11 ~", H: "c#4 d#4 e4 f#4 g4 a4 a#4 b4",
  I: "b4@23 ~@25",
  J: "[a5 g5 ~ e5@2 ~ a5 g#5 ~ g#5@2 ~@2 g#5@2 ~ g#5@2 ~ a5 g#5 ~ e5@2 ~ d5 ~ d#5 c#5 ~ c5 b4@2 ~@2 a4 b4 a4 g4@3 g4@2 ~ c5@2 ~ e5@2 ~ a5 g5 ~ e5@2 ~ a5 ~ g#5 ~ g#5@2 ~ g#5@2 ~ g#5@2 ~ a5 g#5 ~ e5@2 ~ d5@2 ~ d#5@2 c#5@2 c5@2 g5@2 ~@3 a4@2 ~@3 g4@17 ~@33]/3",
  K: "~@38 a5 g5@2 ~@2 e5@3 ~@2",
  L: "~ a5 g#5@2 ~@2 g#5@3 ~@3 g#5@3 ~@2 g#5@3 ~@3 a5 g#5@2 ~@2 e5@3 ~@3 d5@3 d#5@3 c#5@2 c5@3 b4@3",
  M: "[~@4 b4@2 a4@2 g4@5 ~ g4@3 ~@2 c5@3 ~@3 e5@3 ~@2 a5 g5@2 ~@3 e5@3 ~@2 a5 g#5@2 ~@3 g#5@3 ~@2 g#5@3 ~@3 g#5@3 ~@2 a5 g#5@2 ~@3 e5@3 ~@2 d5@3 d#5@3 c#5@3 c5@2 g5@3 ~@3 b4 a4@2 ~@2, ~@3 a4@2 ~@91]/2",
  N: "g4@10 ~ f4@10 ~@27",
  O: "[~@32 e5 d#5@2 ~@3 d#5@3 ~@3 d#5@11 ~ e5 d#5@2 ~@3 d#5@3 ~@3 d#5@3 e5@3 d#5 ~@2 d5 ~@2 d#4@11 ~@5]/2",
  P: "~@20 e5 d#5@2 ~@3 d#5@3 ~@3 d#5@11 ~ e5 d#5@2 ~", Q: "~@2 d#5@3 ~@3 d#5@3 e5@3 d#5 ~@2 d5 ~@2 d#4@11 ~@17",
  R: "~@2 e5@5 ~@16 e5@5 ~@16 e5@4", S: "~@17 e5@5 ~@17 e5@5 ~@4", T: "~@12 d5@5 ~@31", U: "~@27 e5@5 ~@16",
  V: "~ e5@5 ~@16 e5@5 ~@16 e5@5", W: "~@16 f5@5 ~@17 e5@5 ~@5",
  X: "[~@36 f5@3 d5@2 f5@3 d5@3 f5@3 d5@3 f#5@5 ~ d#6@11 a#4@3 ~@23]/2", Y: "~@3 g#4@5 ~ b3@11 b3@11 ~@17",
  Z: "~@3 g4@5", AA: "~@3 d#5@4 e5@4 d#5@4 ~ e5@4 e5@8 e5@12 ~ f#5@4 f5@3",
  AB: "[~ f#5@4 f5@8 ~ f5@12 d#5@4 e5@4 d#5@4 ~ e5@8 e5@8 e4@32 ~@2 b4@4 c5@3]/2",
  AC: "[~ b4@4 c5@4 ~ b4@8 b4@8 e5@8 ~ c5@8 e5@8 b4@8 ~ a4@32 ~ d5@3]/2",
  AD: "[~ c#5@4 ~ d5@4 c#5@4 d5@8 d5@12 ~ c#5@4 d5@4 c#5@4 d5@8 ~ d5@8 ~@32]/2",
})).s("gm_flute").gain(0.3)

// other · flute · soft notes
const flute_soft = note(`<
  A B C ~@4 D A B C ~@4 E ~@3 F ~@25 G@2 ~@6 H@2 I@2 ~@7 J K L M ~@3 N O P ~@3 Q R ~@3 S@4 ~@7 T@4 U@2 ~
>`.pickRestart({
  A: "g4@11 ~ c5@9 e5 ~@2 g5@3 ~@3 a5@3 ~@3 g5@9 e5@3", B: "g5 ~ a5 ~ b5@3 c6 g5@2 e5@2 c5 ~ d5 ~",
  C: "d#5@11 ~ d#5@6 b5@6 d#5@11 ~ d#5@6 b5@6", D: "g5@11 ~ g4@11 ~ g4@17 ~@7", E: "~@24 g4@23 ~", F: "~@4 c6 ~@3",
  G: "[~@44 d#5@23 ~@29]/2", H: "[~@45 d5@5 ~@6 d4@5 ~@26 d5@5 ~@4]/2", I: "[~@2 d4@5 ~@27 e5@5 ~@6 d5@5 ~@46]/2",
  J: "~@41 c4@5 ~@2", K: "~@4 c4@5 ~@7 c4@5 ~@6 c4@5 ~@7 c4@5 ~@4", L: "~@2 c4@5 ~@7 c4@5 ~@6 c4@5 ~@7 c5@5 ~@6",
  M: "c5 c#5 d5 ~@9", N: "~@27 c4@5 ~@6 c5@5 ~@5", O: "~@2 a#4@5 ~@6 g#4@5 ~@7 g4@5 ~@18",
  P: "~@23 c5@5 ~@6 c5@4 c#5@4 d5@4 ~@2", Q: "e4@3 f4@5 ~@15 d#4@3 e4@5 ~@15 d4@2", R: "~ d#4@5 ~@15 c#4@3 d4@5 ~@19",
  S: "[~@28 d4@32 ~ a4@4 a#4@4 ~ a4@4 a#4@4 a4@8 a4@8 ~ d5@8 a#4@8 d5@8 ~ a4@8 g4@32 ~@32]/4",
  T: "[~@35 b4@32 ~ f#5@4 ~ g5@4 f#5@4 g5@4 f#5@8 ~ f#5@8 a4@8 f4@8 ~ a4@8 e4@8 d4@32 ~@2 d#5@16 ~ d5@6]/4",
  U: "[~@2 d#4@8 f4@8 ~ g4@8 a4@16 ~ a#4@16 a#4@32 ~@4]/2",
})).s("gm_flute").gain(0.2)

stack(trumpet, clarinet, clarinet_soft, flute, flute_soft)