Strudelify

Siegfried-Idyll WWV 103

Richard Wagner

KeyE majorTempo80 bpm
0:00/0:00
// Siegfried-Idyll WWV 103 — Richard Wagner
// 80 bpm, 4/4, key E 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 (1/4 at bar 1, 4/4 at bar 1, 3/4 at bar 198, 4/4 at bar 279) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 1 "Flute" named as a pipe, played on flute (its string ensemble 2 patch is not one); ch 2 "Oboe" named as a reed, played on oboe (its string ensemble 1 patch is not one); ch 11 "Bassoon" named as a reed, played on bassoon (its string ensemble 2 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5081047; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 294 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "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.

// chords · flute
const flute = note(`<
  ~@50 A@2 B C ~@8 D@3 E@6 ~@25 F@3 ~@7 G@2 H@7 ~@5 I@4 ~@50 J@5 K L@2 ~@4 M@7 N@3 ~@2 O@5 P@5 ~@2 Q@2 R@2 ~@7 S@2 ~@45
  T@4 U@3 V@4 ~@7 W X@2 ~@5
>`.pickRestart({
  A: "[~@4 b4@17 ~ b5@51 ~@23]/2", B: "~@13 c#6@17 b5@17 ~", C: "g#5@13 f#5@4 e5@17 ~@14",
  D: "[~@22 e6@17 d#6@17 ~ c#6@13 a#5@4 c#6@35 b5@17 a5@17 ~]/3",
  E: "[e6@17 d#6@17 ~ c#6@17 b5@17 ~ e6@17 d#6@17 ~ c#6@17 b5@17 e6@105 e5@33 ~@11]/6",
  F: "[~@40 f#5@16 a#5@5 ~ b5@5 c#6@5 c#6@5 ~ a#5@5 g#5@5 f#5@5 ~ c#5@5 a#4@5 g#4@15 ~@25]/3", G: "[~@7 b5@9]/2",
  H: "[~@10 e6@61 ~@3 e6@32 g#6@32 a#5@26 ~ a#5@9 ~ a#5@57 g#5@19 d#5@46 ~@39]/7",
  I: "[~@3 b5@41 a#5@9 ~ a#5@58 g#5@19 d#5@46 ~@15]/4",
  J: "[~@41 d#4@16 e4@16 f4@16 f#4@16 g4@123 g4 ~@3 g4 ~@4 g4 ~@2]/5",
  K: "~ g4 ~@4 g4 ~@3 g4@2 ~@5 g4@2 ~@12 g4@2 ~@15",
  L: "[~@4 g4@7 ~@20 a4@2 ~ a4@2 b4@2 a4@2 ~ g4@2 a4@2 b4@7 ~@44, ~@33 b4@2 ~@5 b4@2 ~@54]/2",
  M: "[~@31 f4@110 ~ d5@2 b4@2 d5@2 ~ d5@2 b4@2 ~ b4@2 d5@2 b4@2 ~ b4@2 d5@2 ~ d5@2 [g#3,b4]@2 d5@2 ~ d5@2 b4@2 ~ [b4,g#5]@2 d5@2 [b4,g#5]@2 ~ b4@2 d5@2 ~ d5@2 [g#3,b4]@2 d5@2 ~ d5@2 [d#4,b4]@2 ~ b4@2 d5@2 [b4,g#5]@2 ~ [b4,g#5]@2 d5@2 ~ d5@2 [d#4,b4]@2 d5@2 ~ d5@2 [b3,b4]@2 ~ [g#4,b4]@2 d5@2 [b4,d#5]@2 ~ [b4,b5]@2 d5@2 ~ d5@2 [b4,d#5]@2 d5@2 ~ d5@2 [b3,b4]@2 ~ [b3,b4]@2 d5@2 [g#4,b4]@2 ~ [b4,d#5]@2 d5@2 ~ d5@2 [b4,b5]@2 d5@2 ~ d5@2 [g#4,b4]@2 ~ [b3,b4]@2 d5@2 [g#3,b4]@2 ~ [d#4,b4]@2 d5@2 ~ d5@2 [b4,g#5]@2 d5@2 ~ d5@2 b4@2 ~ [d#4,b4]@2 d5@2 [g#3,b4]@2 ~ [g#3,b4]@2 d5@2 ~ d5@2 b4@2 d5@2 ~ d5@2 [b4,g#5]@2 ~ b4@2 d5@2 [d#4,b4]@2 ~ [g#3,b4]@2 d5@2 ~ d5@2, ~@31 a#2@305, ~@141 g#3@27 ~@4 [d#4,b4]@3 ~@14 [d#4,b4]@3 ~@4 [g#3,b4]@3 ~@21 [g#3,b4]@3 ~@86 [d#4,b4]@3 ~@24, ~@141 b4@2 ~@5 b4@2 ~@3 d5@2 ~@5 d5@2 ~@3 b4@2 ~@10 d5@2 ~@5 d5@2 ~@15 d5@2 ~@5 d5@2 ~@3 b4@3 ~@9 d5@2 ~@5 d5@2 ~@3 [b4,b5]@3 ~@4 [g#4,b4]@3 ~@2 d5@2 ~@5 d5@2 ~@3 [b4,b5]@3 ~@4 [b4,d#5]@3 ~@2 d5@2 ~@5 d5@2 ~@3 b4@3 ~@4 [b4,g#5]@3 ~@2 d5@2 ~@5 d5@2 ~@10 [b4,g#5]@3 ~@2 d5@2 ~@5 d5@2 ~@3 b4@2 ~]/7", // G#m E G#m E G#m B G#m B …
  N: "[b4@2 d5@2 ~ d5@2 b4@2 ~ b4@2 d5@2 b4@2 ~ b4@2 d5@2 ~ b4@2 [a#2,f4]@96 ~@24, ~@4 b4@2 ~@3 d5@2 ~@5 d5@2 ~@3 a#4@2 ~@121]/3", // A#5
  O: "[~@34 g4@12 g#4@12 a#4@12 g#4@12 g4@12 g#4@12 g#4@47 g4@55 ~@32]/5",
  P: "[~@43 g4@48 g#4@12 a#4@12 g#4@12 g4@12 g#4@12 g#4@24 g4@12 g#4@11 ~@42]/5",
  Q: "[~@31 b4@12 c5@12 d#5@11 ~ g#5@12 d#5@17]/2",
  R: "[~ c5@6 c6@12 g#5@18 d#5@6 d#6@12 c6@15 g#5@3 d#5@3 c5@3 ~@17]/2", S: "[~@7 g#5@46 ~@43]/2",
  T: "[~@35 g#5@12 a5@12 c6@12 f6@9 c6@14 ~ a5@5 g#5@9 a5@10 c6@9 f6@10 c6@14 a5@5 g#5@10 a5@9 c6@10 f6@6]/4",
  U: "[~@4 c6@14 a5@5 f6@9 c6@14 ~ a5@5 f6@9 c6@14 ~ a5@4 e6@9 ~ c6@14 a5@5 e6@9 ~ c6@14 a5@5 e6@6]/3",
  V: "[~@4 c6@14 a5@5 e6@9 c6@14 ~ a5@6 a6@38 ~ e6@3 c6@3 b5@3 ~ c6@3 e6@3 c6@3 a5@3 e5@3 ~ d#5@3 e5@3 c6@3 b5@3 a5@3 ~ e5@3 b4@3 c5@3 a5@3 e5@5 ~@41]/4",
  W: "~@26 c5@2 ~@2 e5@2 ~ d6 ~@2 a5 ~@2 c6@3 ~@6",
  X: "[~@21 c5@2 ~ e5@2 ~@2 d6 ~@2 a5 ~ c6@3 ~@3 a5@2 c6@3 a5@3 c6@3 ~@46]/2",
})).s("gm_flute").gain(0.2)

// other · pizzicato strings
const pizzicato_strings = note(`<
  ~@58 A@7 B@4 C@2 ~@8 D@8 ~@4 E F ~ G H ~@9 I J@2 K@8 ~@4 L M@8 ~@11 N@2 ~@11 O P ~@26 Q ~@112
>`.pickRestart({
  A: "[~@4 a5@17 ~ g#5@17 f#5@13 c#5@4 ~ e5@17 d#5@52 d5@52 ~ c#5@17 d#5@70 d5@52 c#5@17 ~]/7",
  B: "[a5@131 f#5@8 b5@9 a5@17 ~ g#5@8 g5@9 g#5@9]/4", C: "[f#5@9 e5@8 b5@9 a5@17 g#5@9 g5@9 g#5@9 f#5@8 e5@9 ~@9]/2",
  D: "[~@39 f#5@48 g#5@8 f#5@8 f#5@48 d#5@8 e5@8 e5@48 d#5@8 e5@8 g#5@16 f#5@8 e5@16 d5@8 d#5@8 f#5@8 c#6@8 b5@8 f#5@8 d#5@8 c#5@19 ~@38]/8",
  E: "~@3 [a3,d#4]@2 f#4, ~@3 a4 ~@2", F: "~ a4@2 ~@3", G: "~@8 c#5@16 d#5@5 ~ f5@5 f#5@5 f#5@8",
  H: "f5@2 d#5 ~ c#5 ~@7", I: "~ [d#4,f#5]", J: "[~@5 [f#4,b4]@16 [f#4,b4]@16 [g#4,b4]@11]/2",
  K: "[~@10 b4@32 a#4@64 c#5@32 ~@27 a#4@10 a#5@57 g#5@19 d#5@96 ~@37, ~@10 e5@128 c#5@27 ~@86 b4@19 ~@114, ~@155 e4@19 ~ g#4@77 ~@132]/8",
  L: "~@3 b4@16 d#5@8 g#5@8 b5@9 a#5@4", M: "[~@6 a#5@58 g#5@19 d#5@192 b4@39 g#4@53 ~@17]/8",
  N: "[~@12 [f#3,e4]@77 [g#3,b3]@7]/2", O: "d#5@3 c#5 b4 ~ f#4 ~", P: "d#4@2 f#4 ~", Q: "~@38 c4@7 ~@3",
})).s("gm_pizzicato_strings").gain(0.32)

// other · string ensemble 2
const string_ensemble_2 = note(`<
  ~@50 A@7 B@8 C@6 D@2 ~ E@2 ~@98 F@5 G H@2 ~@4 I@4 J K L M@3 ~@25 N@8 O@2 P@8 Q@8 R@2 S@7 T@8 U@7 V@6 ~@17
>`.pickRestart({
  A: "[~@11 e1@157]/7", B: "[~@35 b2@139 e3@70 b2@70 e3@70]/8",
  C: "[f#4@35 e4@17 d#4@17 ~ f#4@35 e4@17 d#4@17 e4@140 ~@6 c#4@3]/6",
  D: "[~@3 c#4@3 ~@3 c#4@3 ~@2 c#4@3 ~@3 c#4@3 ~@3 c#4@39 ~@31]/2",
  E: "[~@13 c#4@3 ~@3 c#4@3 ~@3 c#4@3 ~@3 c#4@3 ~@3 c#4@3 ~@2 c#4@39 ~@15]/2",
  F: "[~@41 c4@16 c#4@16 d4@16 d#4@16 e4@123 e4 ~@3 e4 ~@4 e4 ~@2]/5",
  G: "~ e4 ~@4 e4 ~@3 e4@2 ~@5 e4@2 ~@12 e4@2 ~@15",
  H: "[~@4 e4@7 ~@20 f#4@2 ~ f#4@2 g4@2 f#4@2 ~ e4@2 f#4@2 g4@7 ~@44, ~@33 g4@2 ~@5 g4@2 ~@54]/2",
  I: "[~@31 [g#3,a#4]@110 ~@3 b3@3 ~ g#4@3 d#5@3 d#5@3 ~ g#4@3 b3@3 ~ d#3@3 d#3@3 ~ b3@3 g#4@3 d#5@3 ~ d#5@3 g#4@3 ~ b3@3, ~@47 d#3@8 ~@9, ~@141 g#4@7 ~@44]/4", // G#sus2
  J: "d#3@3 ~ d#3@3 b3@3 g#4@3 ~ d#5@3 d#5@3 ~ g#4@3 b3@3 ~ d#3@3 g#3@3 d#4@3 ~ b4@3 g#5@3 ~ g#5@3",
  K: "b4@3 ~ d#4@3 g#3@3 g#3@3 ~ d#4@3 b4@3 ~ g#5@3 g#5@3 ~ b4@3 d#4@3 g#3@3 ~ d#3@3 b3@3 ~ g#4@3",
  L: "d#5@3 ~ d#5@3 g#4@3 b3@3 ~ d#3@3 d#3@3 ~ b3@3 g#4@3 ~ d#5@3 d#5@3 g#4@3 ~ b3@3 d#3@3 ~ d#3@3",
  M: "[b3@3 ~ g#4@3 d#5@3 d#5@3 ~ g#4@3 b3@3 ~ d#3@3 [g#3,a#4]@96 ~@24]/3", // G#sus2
  N: "[~@7 f3@48 g3@12 f3@12 g3@12 d#3@12 c#3@12 c3@12 f3@24 e3@12 d#3@12 g#3@12 c3@12 c#3@24 e3@12 d#3@12 g#3@12 c4@12 g3@12 f3@12 g3@12 d#3@12 c#3@12 c3@12 g3@12 f3@12 g3@12 d#3@5]/8",
  O: "[~@7 c#3@12 c3@12 g3@12 f3@12 g3@12 d#3@12 f3@12 g3@5]/2",
  P: "[~@7 d#3@12 f3@12 g3@16 g#3@12 f#3@12 g#3@12 e3@12 d3@12 c#3@12 g#3@12 f#3@12 g#3@12 e3@12 f#3@12 g#3@12 a3@12 g3@12 a3@12 f3@12 g3@12 a3@12 a#3@12 g#3@12 a#3@12 f#3@12 g#3@12 a#3@12 f#3@12 g#3@12 a#3@12 f#3@12 e3]/8",
  Q: "[~@11 d#3@12 a#3@12 g#3@12 a#3@12 f#3@12 e3@12 d#3@12 f#3@12 b3@12 d#3@12 g#3@24 g3@12 e3@36 ~@36 f#3@12 g#3@12 a#3@12 f#3@12 e3@12 d#3@12 a#3@12 g#3@12 a#3@12 f#3@12 e3@12 d#3@12 f#3]/8",
  R: "[~@11 d#3@12 b3@12 d#4@12 b3@12 f#3@12 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]]/2", // G
  S: "[~@3 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 [g3,g4]@4 g3@48 g#3@12 a#3@12 c4@12 c#4@12 c4@12 g3@12 g#3@12 a#3@12 c4@12 c#4@12 c4@12 g#4@12 d#4@12 c4@12 a#3@12 f3@12 a#3@12 g3@37, ~@47 g4@36 ~@253]/7", // G
  T: "[~@5 [g3,g4]@12 [g3,g4]@12 [g3,g4]@18 [g#3,f4]@12 [a#3,g4]@12 [c4,g#4]@12 [c#4,g4]@12 [c4,g#4]@12 [g3,g4]@12 [g#3,f4]@12 [a#3,g4]@12 [c4,g#4]@12 [c#4,g4]@12 [c4,g#4]@12 [g#3,d#4]@12 [d#3,c4]@12 [c4,g#4]@12 [g#3,c4]@12 [c4,g#4]@12 [g#3,c4]@12 f3@12 f4@12 a#3@12 d#4@12 c4@12 g#4@12 g#3@12 g#4@12 a#3@12 d#4@12 f4@12 g#4]/8", // G C# D# Fm C#dim Fm G C# …
  U: "[~@11 d#5@12 c#5@18 c5@6 f5@12 d#5@18 d5@6 f5@12 d#5@18 e5@6 g5@12 f5@18 e5@6 g5@12 f5@18 f#5@6 a5@12 g5@12 d#5@6 d#4@6 e4@12 [d4,f4]@8 ~@4 [c4,g4]@8 ~@4 [f4,c5]@9 e4@10 f4@10 e4@9 [d4,f4]@10 [c4,g4]@9 [f4,c5]@10 e4@6]/7", // Dm C5 F5 Dm C5 F5
  V: "[~@4 f4@9 e4@10 [d4,f4]@9 [c4,g4]@10 [f4,c5]@10 e4@9 f4@10 a4@9 f4@10 a4@10 d4@9 e4@10 f4@9 [c4,a4]@10 e4@14 c4@5 [c4,a4]@10 e4@14 c4@5 [c4,a4]@10 e4@14 c4@5 [c4,a4]@9 e4@14 ~ c4@6 [e4,c5]@43]/6", // Dm C5 F5 F C
})).s("gm_string_ensemble_2").gain(0.2)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A B C D E@6 F B G H@6 I J K L M N@8 O@7 P Q@4 R@4 S@4 T@3 U V@8 W@4 X@8 Y@2 Z@8 AA@6 ~ AB@5 AC@4 AD@8 AE@5 AF@4 AG@3
  AH AI@7 ~@2 AJ@3 AK AL AK AM@2 AN@8 ~ AO AP AQ AR@4 AS AT AU AV AW AX AY AZ BA@2 ~@3 BB@3 ~@24 BC@4 BD@2 BE@3 BF@2 BG
  BH@2 ~@2 BI@2 BJ@3 BK BL@8 BM@4 BN@8 BO@8 BP@5 BQ@5 BR@7 BS@8 BT@5 ~@5 BU ~@6 BV@2 ~@3
>`.pickRestart({
  A: "~@19 a3@16 g#3@13", B: "~@3 e3@16 d#3@16 c#3@13", C: "~@3 b2@16 a2@16 e2@13", D: "~@3 a2@16 e2@16 a2@13",
  E: "[~@3 e2@240 ~@32 c#4@13]/6", F: "~@3 b3@16 a3@16 g#3@13", G: "~@3 g#2@16 c#3@16 g#2@13",
  H: "[~@3 c#3@16 b2@240 ~@29]/6", I: "~@3 b3@16 a3@16 f#3@13", J: "~@3 f3@16 g#3@16 a3@13",
  K: "~@3 f#3@16 e3@16 c#3@13", L: "~@3 b2@16 a2@16 g#2@13", M: "~@3 f#2@16 f2@16 f#2@13",
  N: "[~@3 b2@133 [a2,e3]@248]/8", // A5
  O: "[~@18 c#3@6 d#3@6 ~ e3@6 b2@58 c#3@6 d#3@6 e3@6 ~ b2@57 c#3@6 ~ d#3@6 e3@6 ~ b2@134 ~@11]/7",
  P: "~@13 b2@17 f#3@17 ~",
  Q: "[e3@17 c#3@17 ~ b2@17 a2@17 ~ g#2@8 e2@9 f#2@6 g#2@6 a2@6 b2@17 f#3@17 e3@17 ~ c#3@17 b2@17 ~]/4",
  R: "[g#2@9 a2@8 b2@9 e3@9 d#3@6 c#3@5 c3@6 c#3@17 ~ g#3@17 f#3@17 ~ e3@17 d#3@17 c#4@17 ~ b3@17 a3@17 ~]/4",
  S: "[g#3@9 f#3@8 e3@9 d#3@9 c#3@17 b2@17 ~ g#3@17 f#3@17 ~ e3@17 c#3@17 b2@17 ~ a2@17 g#2@9 e2@9]/4",
  T: "[f#2@6 g#2@5 a2@6 b2@17 ~ f#3@17 e3@17 ~ c#3@17 b2@17 ~ g#2@8 a2@9 b2@9 e3@8 d#3@5]/3",
  U: "~ c#3@6 c3@6 c#3@17 g#3@17 ~",
  V: "[f#3@17 e3@17 ~ d#3@17 c#4@17 ~ b3@17 a3@17 ~ g#3@8 f#3@9 e3@9 d#3@8 c#3@17 ~ b2@17 b3@44 e3@9 f#3@6 g#3@5 a3@6 b3@52 ~ b2@17 b3@44 e3@8 f#3@6 g#3@6 a3@6]/8",
  W: "[b3@43 e3@9 f#3@6 g#3@6 a3@6 b3@43 e3@9 f#3@6 g#3@6 a3@5 c#4@9 ~@9 b3@35]/4",
  X: "[e4@17 c#4@9 ~@9 b3@35 e4@17 f#3@138 e4@21 f#3@138]/8", Y: "[~ e4@21 a2@41 ~ g#2@18 g2@14]/2",
  Z: "[~@5 f#2@50 g#3@16 f#2@48 g#3@16 f#2@48 g#3@16 ~@80 a#3@16 d4@16 f4@16 f#3@19 ~@20 d#3@18, ~@5 f3@342 ~@37, ~@199 f#2@128 ~@57]/8",
  AA: "[~@3 a#2@14 b3@2 c#3@16 ~]/6", AB: "[~ c#3@6 f#3@2 a#2@6 b2@2 f#2@6 a#2@2 c#3@4 ~]/5",
  AC: "[~@3 a#2@4 ~@4 f2@13]/4", AD: "[~@8 f#3@16 g#2@48 g2@16 f#2@49 ~ g#3@16 d#3@48 b3@16 c#3@48 e3@16 f#2@102]/8",
  AE: "[~@31 e2@76 g2@133]/5", AF: "[~@2 g#2@19 e2@77 f#2@81 ~@13]/4", AG: "[~@3 g#2@32 f#2@19 e2@77 g2@6 g2@6 ~]/3",
  AH: "g2@6 g2@6 g2@6 ~ g2@6 g2@6 ~ g2@6 g2@6 g2@4", AI: "[~@3 g2@6 g2@6 ~ g2@115 g#2@39 e2@85 ~ f#2@59 ~@21]/7",
  AJ: "[~@10 b3@6 ~@6 a#3@3 ~@3 g#3@3 ~@3 f#3@6 ~@6 e3@6 ~@6 d#3@6 ~@6 e3@6 ~@6 d#3@6 ~@6 c#3@6 ~@6 b2@6 ~@32]/3",
  AK: "~@10 f#3@6 ~@6 e3@3 ~@3 d#3@3 ~@3 c#3@6 ~@6 b2@2", AL: "~@4 a#2@3 ~@3 b2@6 ~@32",
  AM: "[~@4 a#2@3 ~@3 b2@3 ~@3 a#2@3 ~@3 b2@3 ~@3 a#2@3 ~@3 b2@2 ~@2 a#2@2 ~@2 b2@2 ~@2 a#2@4 ~ b2@4 e3@2 ~@39]/2",
  AN: "[~@41 e2@77 g2@115 g#2@38 e2@77 f#2@36]/8", AO: "~@6 c#4@2 d#4@2 c#4@2 b3@3 ~@3 g#3@2 a#3@2 g#3@2",
  AP: "f#3@3 ~@3 e3@3 ~@3 d#3@3 ~@3 c#3@2 b2@2 a#2@2", AQ: "d#3@3 ~@3 c#3@2 b2@2 a#2@2 d#3@3 ~@3 c#3@2 b2@2 a#2@2",
  AR: "[b2@13 g#2 f#2 e2]/4", AS: "b2 g#2 f#2 e2", AT: "b2", AU: "g#2", AV: "e2 f#3 e3 a2",
  AW: "b2@15 e2@3 f#2@2 g#2@2 a2@2", AX: "b2 f#3 e3 c#3", AY: "b2 ~@3", AZ: "b2@3 a2 g#2 ~ e2 ~", BA: "[a2@61 ~@35]/2",
  BB: "[~ g2@55 d2@48 ~@40]/3", BC: "[~@12 b4@35 c5@6 d#5@6 g#5@6 d#5@9 c5@3 d#5@7 c#5@12]/4",
  BD: "[c5@9 a#4@58 ~@29]/2", BE: "[~@43 b4@48 c5@12 d#5@12 g#5@12 d#5@17]/3",
  BF: "[~ c5@6 d#5@12 c#5@18 a#4@6 d#5@12 ~@41]/2", BG: "~@7 a#4@12 g#5@12 d#5@17",
  BH: "[~ c5@6 g#4@12 ~@24 g#5@12 d#5@18 c5@6 ~@17]/2", BI: "[~@19 c5@12 d#5@12 c#5@18 a#4@6 g#5@12 d#5@17]/2",
  BJ: "[~ c5@6 a#4@24 g4@12 d#5@12 c5@24 b4@12 c5@12 d#5@12 c6@12 g#5@17]/3", BK: "~ c5@6 ~@41",
  BL: "[~@25 c5@6 [g3,g#5]@12 f3@12 ~@6 c5@6 [d3,g#5]@12 c#3@12 ~@6 c5@6 c6@26 a#5@2 g#5@2 f5@2 d5@2 a#4@2 g#4@2 f4@2 d4@2 a#3@2 g#3@2 f3@2 ~ f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ d#3 f3 ~ c3@12 a#2@12 g#2@12 f2@24 c#3@12 c3@12 g#2@12 e2@12 f2@24 c#3@12 c3@12 f3@12 e3@12 d#3@12 d3@5, ~@19 g#3@12 ~@12 d#5@18 ~@18 d#5@18 ~@287, ~@55 d#3@12 ~@24 c3@12 a#2@48 d#3@3 ~@9 d3@12 c#3@12 ~@197]/8", // G#maj7 Ddim
  BM: "[~@7 c#3@12 c3@12 a#2@12 g#2@12 d#3@12 d3@12 c#3@12 c3@12 a#2@12 g#2@12 d#3@12 d3@12 c#3@12 d#3@12 d3@12 c#3@5]/4",
  BN: "[~@7 d#3@12 d3@12 c#3@16 e3@12 d#3@12 d3@12 c#3@12 b2@12 a2@12 e3@12 d#3@12 d3@12 e3@12 d#3@12 d3@12 f3@12 e3@12 d#3@12 f3@12 e3@12 d#3@12 f#3@12 f3@12 e3@12 f#3@12 f3@12 e3@12 f#3@12 f3@12 e3@12 d#3@12 c#3]/8",
  BO: "[~@11 b2@12 f#3@12 f3@12 e3@12 d#3@12 c#3@12 b2@12 a#2@12 g#2@12 f#2@12 e2@36 f#2@36 f#3@48 f3@12 e3@12 d#3@12 c#3@12 b2@12 f#3@12 f3@12 e3@12 d#3@12 c#3@12 b2@12 a#2]/8",
  BP: "[~@11 g#2@12 g2@12 f#2@12 f2@12 e2@12 d#2@72 ~@54 g#3@6 a#3@4 c4@4 c#4@4 [d#4,g#4,g#5]@12 [d#4,d#5]@13, ~@71 [b3,b4]@120 [c4,c5]@12 ~@37, ~@143 d#4@54 ~@6 [d#4,d#5]@12 ~@25]/5", // G#5 D# B C D#
  BQ: "[~@5 [c4,c5]@6 [b3,b4]@12 ~@6 g#3@6 a#3@4 c4@4 c#4@4 [f4,g#4,g#5]@12 d#5@18 [c4,c5]@6 [c5,c6]@12 g#5@18 [c4,c5]@6 [d#4,d#5]@12 [c#4,c#5]@18 [c4,c5]@6 ~@6 c4@6 c#4@4 d#4@4 f4@4 ~@24 d#4@36 [g#3,f4], ~@23 [c4,c5]@12 [d#4,d#5]@12 ~@12 d#4@36 g#4@24 a#3@36 [a#3,a#4]@36 [g3,g4]@48 ~, ~@179 f4@24 ~@37]/5", // C B Fm C D# C# C C# …
  BR: "[~@5 g#3@6 ~@4 c4@4 c#4@4 g#4@12 [c#4,g4]@12 [c4,g#4]@12 [g3,g4]@12 g#3@6 g#3@6 ~@4 c4@4 c#4@4 [d#4,f4,g#4]@12 [c#4,g4]@12 [c4,g#4]@12 [g#4,d#5]@12 [d#4,g#4,c5]@12 [c4,g#4]@12 [c5,g#5]@12 d#5@6 [d#4,c5]@6 [c4,g#4]@12 [f3,a#3,f4]@24 [g3,a#3,d#4]@12 [g#3,g#4]@12 [c4,c5]@12 [g#3,g#4]@12 [g#3,a#3,g#4]@24 [g3,a#3,d#4]@12 [d#4,d#5]@12 [f4,f5]@12 [c4,g#4], ~@11 [a#3,g4]@12 d#4@54 ~@6 [a#3,g4]@12 ~@144 d#4@24 ~@73, ~@71 f4@12 ~@24 d#4@36 ~@36 g#4@12 ~@120 g#4@24 ~]/7", // C#dim Fm G Fm7 C#dim Fm G#5 G# …
  BS: "[~@5 c4@6 d#4@12 ~@18 c4@6 f4@12 d#4@18 d4@6 f4@12 ~@18 e4@6 g4@12 ~@18 e4@6 g4@12 ~@18 f#4@6 a4@12 g4@12 b2@12 [c3,e4,e5]@12 [b2,f4,f5]@12 [g4,g5]@4 [a4,a5]@4 [a#4,a#5]@4 a2@9 g2@10 f2@10 c3@9 ~@5 [f4,f5]@5 [g4,g5]@3 [a4,a5]@3 [a#4,a#5]@3 a2@10 g2@10 f2@9 c3@10 ~@5 [f4,f5]@4 [g4,g5]@3 ~ [a4,a5]@3 [a#4,a#5]@3 [a2,c5,c6]@6, ~@11 [g#3,g#4]@24 [a3,a4]@12 [a#3,a#4]@36 [b3,b4]@24 [c4,c5]@36 [c#4,c#5]@36 [d4,d5]@24 [d#4,d#5]@24 ~@24 a#2@12 ~@38 b2@10 a#2@10 ~@38 b2@10 ~@15, ~@23 c#4@18 ~@54 d#4@18 ~@18 f4@18 ~@18 f4@18 ~@78 [c5,c6]@43 ~@14 [c5,c6]@43 ~@5 a#2@10 ~@6]/8", // C Bdim G A A# F G A …
  BT: "[~@4 g3@9 f3@10 e3@9 d3@10 c3@10 b2@9 a#2@10 a2@9 g2@10 f#2@10 ~@4 [e4,e5]@5 [g2,c5,c6]@10 f#2@9 ~@5 [e4,e5]@5 [g2,c5,c6]@10 f#2@9 ~@5 [e4,e5]@5 [g#2,c5,c6]@9 a2@10 ~@5 [e4,e5]@6 [f#2,e4,a5]@43, ~@13 [c5,c6]@29 [c5,c6]@29 [c5,c6]@19 [a4,a5]@14 ~@15 [a4,a5]@14 ~@15 [a4,a5]@14 ~@14 [a4,a5]@14 ~@50, ~@100 a2@10 ~@18 a2@10 ~@19 a2@10 ~@19 g2@11 ~@43]/5", // E C5 E C5 E G# E F#m7 …
  BU: "~@5 g4@2 ~ c5@2 ~@2 a5 ~@2 e5 ~ g5@3 ~@3 d5@2 f5@3 d5@3 f5@3 ~@14",
  BV: "[~@10 g4@2 ~@2 c5@2 ~ a5 ~@2 e5 ~@2 g5@3 ~@2 d5@3 f5@2 d5@3 f5@3 d5@3 f5@4 d5@3 f5@16 ~@31]/2",
})).s("gm_string_ensemble_1").gain(0.32)

// other · string ensemble 2
const string_ensemble_2_2 = note(`<
  ~@62 A@3 B@4 C@2 D@2 ~@6 E@8 ~@4 F G ~ H@2 ~@24 I@4 ~@30 J K ~@58 L@3 ~@2 M@4 ~@45 N@8 ~@18
>`.pickRestart({
  A: "[~@4 a4@70 g#4@17 a4@17 ~ b4@17 a4@17 ~]/3",
  B: "[f#5@35 e5@17 d#5@17 ~ f#5@35 e5@17 d#5@17 e5@9 f#4@9 g#4@9 a4@8 a#4@9 b4@9]/4",
  C: "[c5@9 c#5@8 f4@9 f#4@9 g#4@8 a4@9 a#4@9 b4@9 c5@8 c#5@9 ~@6 g#4@3]/2",
  D: "[~@3 g#4@3 ~@3 g#4@3 ~@2 g#4@3 ~@3 g#4@3 ~@3 g#4@39 ~@31]/2",
  E: "[~@23 b3@5 ~ d#4@5 f#4@5 b4@48 a#4@8 b4@8 b4@48 a4@8 a#4@8 a#4@48 a4@8 a#4@8 c#5@16 a#4@16 b4@16 f#4@16 d#4@16 b3@16 f#4@19 ~@38]/8",
  F: "~@3 f#4 ~ d#4", G: "~ f#4@2 ~@3", H: "[~ f#4@2 a#4@2 f#4@4 ~@3]/2",
  I: "[~@3 d#4@8 g#4@8 b4@16 d#5@19 g#4@77 b4@48 ~@13]/4", J: "f#4@3 e4 d#4 ~ c#4 ~", K: "b3@2 f#3 ~",
  L: "[~@19 d#3@12 g#3@12 a3@12 a#3@24 c#4@12 c4@12 ~@41]/3",
  M: "[~@7 c#4@12 c4@12 d#4@12 c4@12 g#3@12 c4@12 a#3@12 d#4@12 a#3@48 ~@41]/4",
  N: "[~@35 c4@18 f3@6 g3@4 a3@4 a#3@4 c4@43 f3@5 g3@3 a3@3 a#3@3 c4@43 ~ f3@4 g3@3 ~ a3@3 a#3@3 c4@19 c4@29 c4@29 c4@19 a3@14 e3@5 c4@10 a3@14 e3@5 c4@10 a3@14 e3@5 ~@25]/8",
})).s("gm_string_ensemble_2").gain(0.25)

// other · string ensemble 2 · soft notes
const string_ensemble_2_soft = note("<~@74 A@2 ~@87 B C ~@129>".pickRestart({
  A: "[~@13 g#4@3 ~@3 g#4@3 ~@3 g#4@3 ~@3 g#4@3 ~@3 g#4@3 ~@2 g#4@39 ~@15]/2", B: "b3@3 a3 g#3 ~ f#3 ~", C: "e3 ~@7",
})).s("gm_string_ensemble_2").gain(0.15)

// other · pizzicato strings
const pizzicato_strings_2 = note(`<
  ~@85 A@2 ~@4 B ~@2 C D E@2 F ~@17 G ~ H ~@8 I ~ J ~@20 K L M ~@21 N@2 ~@12 O@2 ~@7 P@6 ~ Q@8 R@6 S@5 ~@26 T@2 U V@2 W
  X ~@38
>`.pickRestart({
  A: "[~@7 f#2@16 ~@16 f#1@19 ~@38]/2", B: "~@3 c#2@2 ~", C: "~ c#3@2 ~@3", D: "~@3 a#2@2 ~", E: "[~@5 f#2@2 ~@5]/2",
  F: "~ c#2@2 ~@3", G: "~@21 e2@19 ~@8", H: "~@2 f#2@19 ~@27", I: "~@26 e2@21 ~", J: "~@16 f#2@21 ~@11",
  K: "~ e3 d#3 b2", L: "a#2 g#2 f#2 e2", M: "b1 e2 b1 e2", N: "[~@41 g2@16 ~@39]/2", O: "[~@45 a#2@14 ~@37]/2",
  P: "[~@24 g4@70 f4@12 g4@12 d#4@12 c#4@12 c4@12 g#3@30 f4@17 d#4@58 ~@29]/6",
  Q: "[~@31 g4@12 f4@12 g4@12 d#4@12 c#4@12 c4@12 f4@24 e4@12 d#4@12 c#4@12 c4@12 g#4@24 g4@12 g#4@12 g4@12 g#4@12 d#4@12 c#4@12 c4@12 g#4@12 g4@12 g#4@12 g4@12 g#4@12 a#4@12 g#4@12 g4@12 g#4@5]/8",
  R: "[~@7 f4@12 g#4@12 c5@12 c#5@12 c5@12 g#4@12 g#4@12 f4@12 e4@12 d#4@12 c4@12 d#4@12 c#4@12 f4@12 e4@12 d#4@12 ~@24 g4@12 g#4@12 a#4@12 d#5@12 c5@17]/6",
  S: "[~ g#4@6 g4@12 g#4@12 a#4@12 d#5@12 g4@12 g#4@12 c5@12 g#4@12 c5@12 g#4@12 a#4@12 c5@12 [a#1,d5]@48 ~@41]/5", // A#
  T: "[~@47 d#2@12 ~@24 d#3@12 ~]/2", U: "~@23 c3@12 ~@13", V: "[~@11 d#3@12 ~@24 c3@12 ~@37]/2", W: "~@23 c#2@12 ~@13",
  X: "~@11 d#2@12 ~@25",
})).s("gm_pizzicato_strings").gain(0.32)

// other · bassoon
const bassoon = note(`<
  ~@59 A@6 B@4 C@2 D@2 ~ E@2 ~@15 F G@2 H@2 ~@7 I@4 J@6 K@4 ~@3 L M@8 ~@11 N@2 ~@13 O P@3 ~@4 Q R ~@9 S@5 ~@7 T@7 U@3 ~
  V@6 W@8 X@4 ~ Y@7 ~@26 Z@8 AA@8 AB@8 AC@4 ~@17
>`.pickRestart({
  A: "[~@43 b1@35 b2@44 e2@9 f#2@6 g#2@5 a2@6 b2@52 ~ b1@17 b2@44 e2@8 f#2@6 g#2@6 a2@6]/6",
  B: "[b2@43 e2@9 f#2@6 g#2@6 a2@6 b2@43 e2@9 f#2@6 g#2@6 a2@5 c#3@17 ~ b2@35]/4",
  C: "[e3@17 c#3@17 ~ b2@35 e3@17 ~@6 a#3@3]/2", D: "[~@3 a#3@3 ~@3 a#3@3 ~@2 a#3@3 ~@3 a#3@3 ~@3 a#3@39 ~@31]/2",
  E: "[~@13 a#3@3 ~@3 a#3@3 ~@3 a#3@3 ~@3 a#3@3 ~@3 a#3@3 ~@2 a#3@39 ~@15]/2", F: "~@3 d#4 ~ a3",
  G: "[~ c4@2 c#4 d#4 f4@2 ~@5]/2", H: "[~ a#3@2 c#4@2 a#3@4 ~@3]/2",
  I: "[~@8 f#3@16 g#2@48 g2@16 f#2@49 ~ g#3@16 d#3@38]/4", J: "[~@10 b3@16 c#3@48 e3@16 f#2@133 g#3@65]/6",
  K: "[~@11 d#4@154 g#3@27]/4", L: "~@3 b3@16 g#3@16 d#3@13", M: "[~@6 g#3@77 d#4@192 b3@39 g#3@53 ~@17]/8",
  N: "[~@12 f#2@77 b2@7]/2", O: "d#3@3 c#3 b2 ~ f#2 ~", P: "[b1@3 ~]/3", Q: "g#3@3 f#3 e3 ~ b2 ~", R: "e2",
  S: "[~@41 c4@176 ~@23]/5", T: "[~@31 d4@110 b3@195]/7", U: "[~ d4@4 ~]/3",
  V: "[~@24 d#4@58 d#4@12 d4@12 c#4@12 c4@12 a#3@12 g#3@12 f3@30 c#4@17 d#3@58 ~@29]/6",
  W: "[~@43 d#4@48 d4@12 c#4@12 c4@12 a#3@12 g#3@12 f3@24 c#4@12 c4@12 a#3@12 g#3@12 f3@24 c#4@12 c4@12 a#3@12 g#3@12 c4@12 a#3@12 g#3@12 c4@12 a#3@12 g#3@12 d#4@12 d4@5]/8",
  X: "[~@7 c#4@12 c4@12 a#3@12 g#3@12 d4@12 d#4@12 c4@12 a#3@12 g#3@12 g3@12 f3@24 c#4@12 c4@12 ~@17]/4",
  Y: "[~@7 f4@12 e4@12 d#4@12 d4@12 c#4@12 c4@12 f4@12 e4@12 d#4@12 d4@12 c#4@12 c4@12 a#3@12 g#3@12 g3@12 f3@12 d#3@12 d3@12 c#3@12 c3@12 a#2@48 ~@41]/7",
  Z: "[~@47 d#3@48 d3@12 c#3@12 c3@12 a#2@12 g#2@12 d#3@12 d3@12 c#3@12 c3@12 a#2@12 g#2@12 g2@12 f2@12 d#2@12 c#2@36 d#2@36 d#3@48 d3]/8",
  AA: "[~@11 c#3@12 c3@12 a#2@12 g#2@12 d#3@12 d3@12 c#3@12 c3@12 a#2@12 g#2@12 g2@12 f#2@12 f2@12 e2@12 d#2@12 d2@12 c#2@24 c#3@12 c3@12 g#2@12 e2@12 f2@24 c#3@12 c3@12 d2@12 d#2@12 e2@12 f2@12 f#2@12 g2]/8",
  AB: "[~@11 f#2@12 g2@12 g#2@12 g2@12 g#2@12 a2@12 g#2@12 a2@12 a#2@12 a2@12 a#2@12 b2@12 a#2@12 b2@12 c3@12 b2@12 a#2@12 a2@9 g2@10 f2@10 c3@9 b2@10 a#2@9 a2@10 g2@10 f2@9 c3@10 b2@9 a#2@10 a2@10 g3@6 ~@3 f3@6 ~@4 e3@9 d3@10 c3@6]/8",
  AC: "[~@4 b2@9 a#2@10 a2@9 g2@10 f#2@10 a2@9 g2@10 f#2@9 a2@10 g2@10 f#2@9 a2@10 g#2@9 a2@10 g2@11 f#2@43]/4",
})).s("gm_bassoon").gain(0.2)

// other · pizzicato strings
const pizzicato_strings_3 = note("<~@59 A@6 B@6 C@2 ~ D@2 ~@218>".pickRestart({
  A: "[~@43 b3@35 e4@52 ~ a4@17 f#4@70 e4@52 a4@17 ~]/6",
  B: "[a4@131 f#4@8 b4@9 a4@17 ~ g#4@8 g4@9 g#4@26 b4@9 a4@17 g#4@9 g4@9 g#4@26 ~@6 e4@3]/6",
  C: "[~@3 e4@3 ~@3 e4@3 ~@2 e4@3 ~@3 e4@3 ~@3 e4@39 ~@31]/2",
  D: "[~@13 e4@3 ~@3 e4@3 ~@3 e4@3 ~@3 e4@3 ~@3 e4@3 ~@2 e4@39 ~@15]/2",
})).s("gm_pizzicato_strings").gain(0.32)
// … 176 more lines

More by Richard Wagner