Strudelify

Piano Concerto No.5 Op.73

Ludwig van Beethoven

KeyB majorTempo45 bpm
0:00/0:00
// Piano Concerto No.5 Op.73 — Ludwig Van Beethoven
// 45 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 3 "Clarinette en La" named as a reed, played on clarinet (its tremolo strings patch is not one); ch 4 "Basson" named as a bass, played on electric bass finger (its contrabass patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5742868; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 86 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(45/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.

// other · viola · "Flûte"
const viola = note(`<
  A B C D E@2 F G H I J K L M N O@2 P@2 Q R S T U ~ V W U ~@5 X Y ~@3 Z AA AB AC AD AE ~@6 AF AG AH AI ~@4 AJ AK AL AM
  AN AO AP AQ AR AS AT AU AV AW AX AY@2 AZ BA BB BC ~@7
>`.pickRestart({
  A: "f#3@2 f#3!2", B: "g#3!2 f#3@2", C: "f#3 f#4 f4 e4", D: "d#4 f#3 f#3@2", E: "f#3@2 f#3@2 f#3@3 f#3", F: "d#3!3 ~",
  G: "d#3 f#3!2 ~", H: "[e4,b5]@2 [f#3,c#6]@2 [f#3,d#6]@2 g#5 b5, ~@3 g#3", I: "[f#3,b5] [c#4,a#5] [b3,b5] ~",
  J: "e4@2 f#3@2 f#3@2 g#3 e4", K: "d#4 ~ c#4 ~", L: "b3@2 g3@2 f#3@3 a#3",
  M: "b3@12 g3@12 e6@11 ~@7 a#3@6, ~@4 f#3@3 ~, ~@36 c#6@11 ~", N: "[b3,d#6] ~ [f#3,d#5] ~", O: "[f#3, d#5@11 ~@85]/2",
  P: "f#3/2", Q: "f#3@2 g#3 e4", R: "c#4!2", S: "d#4@2 b3 g#3", T: "g#3@3 g#3", U: "f#3 ~@3", V: "f#3 f3 f#3 ~",
  W: "f#3!2 g3@2", X: "~@2 b3!2", Y: "a3 ~@7", Z: "a3 ~@3 d3 ~@3", AA: "d3 ~ e3 ~ e3 ~ f#3 ~", AB: "f#3 ~@3 g3 ~@3",
  AC: "g3 ~ a3 ~ a3 ~ b3 ~", AD: "b3 ~@3 b3 ~@3", AE: "b3 ~@7", AF: "~@24 g#5@17 ~ g#5@6",
  AG: "g#5@11 ~@13 b5@17 ~ b5@6",
  AH: "g#3 b3 e4 f#3 c#4 e4 f#3 b3 d#4 [e3,g#5] ~ e4, b5@11 ~ c#6@11 ~ d#6@11 ~@5 b3@4 ~@4, ~@7 b5", // E
  AI: "f#3 b3 f#3!2 c#4 f#3 [g#3,b5]@3 ~@3, b5@11 ~ a#5@11 ~@25", AJ: "e5@23 ~",
  AK: "~ f#3 ~ f#3 ~ f#3 ~ f#3, d#5@11 ~ d#5@11 ~ c#5@11 ~ d#5@11 ~",
  AL: "~ g#3 ~ g#3 ~ f#3 ~ f#3, b4@11 ~ e5@11 ~ c#5@23 ~",
  AM: "~ f#3 ~ b3 ~ b3 ~ c#4, f#5@11 ~ f#5@11 ~ g#5@11 ~ a#5@11 ~",
  AN: "~ b3 ~ f#3 ~ f#3 ~ f#3, b5@11 ~ d#5@11 ~ c#5@23 ~", AO: "~ f#3 ~ f#3 ~ f#3 ~ f#3, ~@24 f#5@11 ~ d#6@11 ~",
  AP: "e6 f#3 ~ f#3 ~ f#3 d#6 [d#3,f#5], ~@24 f#5@11 ~@13", AQ: "~ d#3 ~ d#3 ~ d#3 ~ g#3, f#5@11 ~ g5@11 ~ g#5@11 ~@13",
  AR: "~ g#3 ~ f#3 ~ f#3 ~ b3, g#5@11 ~ a#5@11 ~ b5@11 ~@13",
  AS: "~ b3 ~ f#3 ~ f#3 g#5 [e3,b5], b5@11 ~ c#6@11 ~ d#6@11 ~@13", // E5
  AT: "~ f#3 ~ f#3 ~ g#3 ~ g#3, b5@11 ~ a#5@11 ~ b5@11 ~@13", AU: "b5 b3 c#6 f#3 d#6 b3 g#5 b3",
  AV: "b5 b3 b5 b3 a#5 c#4 a#5 c#4", AW: "a5 c4 a5 c4 g5 b3 g5 b3", AX: "f#5 a3 e5 g3 e5 g3 e5 f#3",
  AY: "~ f#3 ~ g3 ~ f#3 ~ f#3, d#5@11 ~ e5@34 ~@2", AZ: "d#5 f#3 d#5 f#3 d#5 f#3 d#5 f#3",
  BA: "d#5 f#3 b4 [d#3,f#3] b4 [d#3,f#3] b4 [d#3,f#3]", BB: "[b3,b4] ~@3 [b3,b4] ~@3", BC: "[b3,b4] ~@7",
})).s("gm_viola").gain(0.2)

// other · pizzicato strings · "Hautbois"
const pizzicato_strings = note("<~@27 A@2 B@2 C D E F ~@9 G H I J K L M N ~@2 O P ~@23 Q R ~@5>".pickRestart({
  A: "[f#4,d5]/2", B: "[[g4,c#5], a3 ~@7]/2", C: "[a3,f#4,d5] ~@3", D: "a3 ~@3",
  E: "[g3,g4,b4] [a4,c5] [b4,d5] [b4,e5]", F: "[d5,f#5] ~@7", G: "f#3!4", H: "e3 g#3 f#3 ~", I: "f#3!2 b3 f#3",
  J: "f#3!3 ~", K: "f#3@2 f#3@2 f#3@2 ~ f#3", L: "f#3@2 f#3@2 f#3@2 ~ b3", M: "b3 d#3!2 ~", N: "d#3 f#3!2 ~",
  O: "~@3 b3", P: "f#3 ~ f#3 ~", Q: "a#3 ~@3", R: "~ a#3@5 a#3@10",
})).s("gm_pizzicato_strings").gain(0.2)

// other · clarinet · "Clarinette en La"
const clarinet = note(`<
  ~@8 A B ~@3 C D E ~@32 F G H I A B ~@4 J K L M N O@2 P Q A B R S T U V@2 W X Y Z ~@7
>`.pickRestart({
  A: "b4@2 c#5@2 d#5@2 g#4 b4", B: "b4 a#4 b4 ~", C: "~@2 e5 c#5", D: "d#5 ~ b4 ~", E: "b4 ~@3", F: "~@2 f#4 d#5",
  G: "e5 ~ f#4 d#5", H: "d#5@2 ~@2 b4@3 b4", I: "b4@2 ~@2 d#5@3 d#5", J: "c#5", K: "b4 f#4!3", L: "g#4 c#5 a#4@2",
  M: "f#4 b4!2 c#5", N: "d#5 b4 a#4@2", O: "f#4@4 e5@4 d#5@3 b4 f#4@2 f#4@2", P: "f#4 g4 g#4 ~", Q: "g#4 a#4 b4 ~",
  R: "g#4 ~ a#4 ~ b4 ~ b4 ~", S: "d#5 ~ d#5 ~ c#5 ~ c#5 ~", T: "c5 ~ c5 ~ b4 ~ b4 ~", U: "a4 ~ c#5 ~ c#5 ~ c#5 ~",
  V: "b4 c#5", W: "b4 ~ f#4 ~ f#4 ~ f#4 ~", X: "f#4 ~ d#4 ~ d#4 ~ d#4 ~", Y: "d#4 ~@3 b3 ~@3", Z: "b3 ~@7",
})).s("gm_clarinet").gain(0.2)

// bass · electric bass finger · "Basson"
const bass = note(`<
  ~@5 A B C D E F G H I J K@2 L@2 M N O P Q ~ R S T ~@5 U V ~@3 W X Y Z AA AB ~@4 AC AD AE AF AG AH ~@4 AI AJ AK AL AM
  AN@2 AO AP AQ AR AS AT AU AV AW@2 AX@2 AY AZ BA ~@6
>`.pickRestart({
  A: "~@7 b1", B: "b1 d#2 g#1 ~", C: "g#2 f#2 b2 ~", D: "[e2,b3]@2 [c#2,c#4]@2 [b1,d#4]@2 g#3 b3, ~@3 e2",
  E: "[f#2,b3] [f#1,a#3] [g#1,b3] ~", F: "e2@2 c#2@2 b1@2 e2 g#2", G: "f#2 ~ f#2 ~", H: "b1", I: "~@2 e4 c#4, b1",
  J: "[b1,d#4] ~ [b1,b3] ~", K: "[b1, b3 ~@7]/2", L: "f#1/2", M: "b1 e2", N: "c#2 f#2", O: "d#2 g#2", P: "c#2@3 c#2",
  Q: "f#2 ~@3", R: "f#2 c#2 f#2 ~", S: "f#2 b1 a1@2", T: "d2 ~@3", U: "[g3,b3] [a3,c4] [g2,b3,d4] [g#2,b3,e4]",
  V: "[a2,d4,f#4] ~@7", W: "a2 ~@3 d2 ~@3", X: "g2 ~ e2 ~ a2 ~ f#2 ~", Y: "b2 ~@3 g2 ~@3", Z: "c2 ~ a1 ~ d2 ~ b1 ~",
  AA: "e2 ~@3 c#2 ~@3", AB: "d#2 ~@7", AC: "~@2 f#3 d#4", AD: "e4 ~ f#3 d#4", AE: "d#4@2 ~@2 d#4@3 d#4",
  AF: "d#4@2 ~@2 f#4@3 f#4", AG: "[e2,e3,b3]@2 [c#2,c#3,c#4]@2 [b1,b2,d#4]@2 g#3 b3, ~@3 [e2,e3]",
  AH: "[f#2,f#3,b3] [f#1,f#2,a#3] [g#1,g#2,b3] ~", AI: "~ f#4", AJ: "~ b1 ~ b1 ~ f#2 ~ b1, b3!2 a#3 b3",
  AK: "~ e2 ~ c#2 ~ f#2 ~ [e2,e4], e4@2 c#4@2 f#4@3 ~", AL: "~ d#2 ~ d2 ~ c#2 ~ f#1, d#4 d4 c#4 f#4",
  AM: "~ b1 ~ d#2 ~ f#2 ~ f#2, f#4!2 f#4@2", AN: "~@2 a#1@2 ~@2 f#1@2 d#4@2 ~ b3 f#3@2 [b1,f#3]@2, f#3@2 e4@2 ~ b1 ~@2",
  AO: "~ b1 ~ d#2 ~ g#1 ~ g#1, f#3 g3 g#3 ~", AP: "~ g#1 ~ f#1 ~ b1 ~ b1, g#3 a#3 b3 ~",
  AQ: "~ e2 ~ c#2 ~ b1 g#3 [e2,b3], b3 c#4 d#4 ~", AR: "~ f#2 ~ f#2 ~ g#2 ~ g#2, b3 a#3 b3 ~",
  AS: "d#4 g#2 c#4 f#2 b3 b2 e4 e2", AT: "f#4 f#2 f#4 f#2 f#4 f#2 f#4 f#2", AU: "d#4 b1 d#4 b1 e4 b1 e4 b1",
  AV: "c4 b1 g4 b1 g4 b1 f#4 b1", AW: "[b3 g3 f#3 a#3 b3 g3 f#3 a#3, b1]/2", AX: "b3 b1 b3 b1 b3 b1 b3 b1",
  AY: "[b1,b3] ~@3 [b1,b2] ~@3", AZ: "[b2,b3], b1 ~@7", BA: "[a#2,a#3] ~@3",
})).s("gm_electric_bass_finger").gain(0.2)

// bass · acoustic bass
const bass_2 = note("<A B C D E F ~@21 G@2 H@2 I J K L@2 ~@8 M N O D E@2 P Q ~@2 R S ~@23 T U ~@5>".pickRestart({
  A: "b1 ~ f#2 b1", B: "e2@2 c#2@2 f#2@3 e2", C: "d#2 d2 c#2 f#1", D: "b1 d#2 f#2 ~", E: "a#1@2 f#1@2 b1@2 ~ b1",
  F: "a#1 f#1 b1 ~", G: "a3/2", H: "[[a3,e4], a1 ~@7]/2", I: "[d2,f#3,d4] [a3,e4] [d4,f#4] ~",
  J: "[d2,d4,f#4] [e4,g4] [f#4,a4] ~", K: "g2 ~ d4!2", L: "[a3@12 a3 ~@3]/2", M: "b1 b2 f#2 b2",
  N: "e2@2 c#2@2 f#2@2 ~ e2", O: "d#2 d2 c#2 f#2", P: "b1 d#2 g#1 ~", Q: "g#2 f#2 b1 ~", R: "g#2 a#2 b2 e2",
  S: "f#2 ~ f#2 ~", T: "a#1 ~@3", U: "~ a#1@5 a#1@10",
})).s("gm_acoustic_bass").gain(0.2)

// other · muted trumpet
const muted_trumpet = note("<~@79 A@7>".pickRestart({
  A: "[[a#2,a#3]@51 ~@5]/7", // A#
})).s("gm_muted_trumpet").gain(0.15)

// chords · piano
const piano = note(`<
  ~@15 A@2 B@2 C D E F G H I ~ J@2 K@2 L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF ~ AG AH AI AJ AK AL AM AN AO AP
  AQ@2 AR AS AT AU AV AW AX AY AZ@2 BA@4 ~ BB@6
>`.pickRestart({
  A: "[~@23 b3, b1@5 b3 [d#3,c#6] [f#3,b5] [b3,a#5] [d#3,c#6] [f#3,b5] [b3,g#5] [d#3,f#5] [f#3,e5] [b3,d#5] [d#3,c#5] [f#3,b4] [b3,a#4] [d#3,b4] [f#3,f#4] [b3,e4] [d#3,d#4] [f#3,c#4]@2, f#5@4 f#3 d#6@19, ~ f#3@2 f#6@21, ~@3 f#6 b3@2 d#3@2 e6@40]/2", // D#7 B5 Bmaj7 D#7 B5 E D#m F#7 …
  B: "[~@9 e6@3 ~@80 [a#3,e4]@4, f#2@20 f#3@2 [a#3,b5]@2 [c#3,a#5]@2 [f#3,g#5]@2 [a#3,f#5]@2 [c#3,e5]@2 [f#3,d#5]@2 [a#3,c#5]@2 [c#3,b4]@2 [f#3,a#4]@2 [a#3,b4]@2 [c#3,a#4] c#5 [f#3,a#4]@4, a#3@3 e5@15 c#3@2 c#6@28, ~ f#3@2 e6@21, ~@2 a#3 c#3 [f#3,d#6] [a#3,c#6] [c#3,b5] [f#3,a#5] [a#3,b5] d#6@15]/2", // A#dim Bmaj7 F# F#sus2 D#m C#m D#m A#m …
  C: "[b2,d#4]@2 [f#3,d#5]@2 ~ c#5 [b2,c#5]@2 [f#3,b4]@2 [b3,a#4]@2 e3@2 g#3@2 b3@2 [e3,g#4]@2 ~@2 b3@2, ~@8 b3@4 ~@12 a#4@11 ~@5 g#3@4 ~@4, ~@7 g#4", // B D#m Bsus2 B5 Bmaj7 E
  D: "[c#3,g#4]@2 [g#3,e5]@2 ~ d#5 [c#3,d#5]@2 [g#3,c#5]@2 [c#4,b4]@2 f#3@2 a#3@2 c#4@2 [f#3,a#4]@2 ~@2 c#4@2, ~@8 c#4@4 ~@12 b4@11 ~@5 a#3@4 ~@4, ~@7 a#4", // C#5 C#m C#sus2 C#5 C#7 F#
  E: "[d#3,a#4]@4 [a#3,f#5]@4 ~@2 e5@2 [d#3,e5]@4 [a#3,d#5]@4 [d#4,c#5]@4 b4 [c#5,d#5] ~@6 d#4@4 g#3@4 ~@4 d#4@4, ~@2 d#4 ~@3 g#3 b3 ~@2 b3 ~, ~@26 c#5@4 b4@11 ~ b4@6", // D#5 D#m Emaj7 D#5 D#7 C#sus2
  F: "g#3@4 b3@4 f4@4 c#5 [a#4,b4] b4 ~@3 f5@2 ~ f#5@3 [g#3,b5]@3 ~@3 f6@2 ~ g#6@3 [g#3,b6]@3 ~@3 b6@2 ~ f6@3, b4@11 ~ g#3@3 c#5@3 ~@9 c#6@3 ~@9 g#6@3 ~@6, ~@4 b3 f4 ~ b3 c#4 ~ b3 c#4", // Bmaj7 G#m
  G: "g#6 f#6 d#6 c#6 b5 a#5 g#5 f#5 d#5 c#5 b4 a#4 c#5 b4 g#4 f4, f#3@11 ~@37",
  H: "g#4@12 g#4@3 f#4@3 f4@3 f#4@3 f#4 [f#4,g#4] g#4 f#4 [f#4,g#4] g#4 f#4 [f#4,g#4] g#4 f#4 [f#4,g#4] g#4 f#4 [f#4,g#4] g#4 f#4 [f#4,g#4] g#4 f#4 [f#4,g#4] g#4 f#4 g#4 f4", // F#sus2
  I: "f#4@11 ~@37",
  J: "[~@23 [f#3,d4], d2@5 d4 [f#3,e6] [a3,d6] [d4,c#6] [f#3,e6] [a3,d6] [d4,b5] [f#3,a5] [a3,g5] [d4,f#5] [f#3,e5] [a3,d5] [d4,c#5] [f#3,d5] [a3,a4] [d4,g4] [f#3,f#4] [a3,e4]@2, a5@4 a3 f#6@19, ~ a6@7 d4@4 f#3@4 g6@80, ~ a3@2 a6@21]/2", // D F#7 D5 Dmaj7 F#7 D5 G F#m …
  K: "[~@31 g4, a2@20 c#4@4 [e3,f#6]@4 [g3,e6]@4 [c#4,d6]@4 [e3,c#6]@4 [g3,d6]@4 [c#4,d#6]@4 [e3,f#6]@4 [g3,e6]@4 [c#4,d6]@4 [e3,c#6]@4 [g3,a#5]@4 [c#4,a5]@4 [e3,g5]@3 f#5 g3@2 e5@2 c#4 d5@3 [e3,c#5]@3 a#4 g3@2 a4@2 c#4@4, c#4@3 a#5@5 g3@2 g6@38, ~ g3@2 a#6@21, ~@7 a#6 c#4@4 e3@4 a6@80]/2", // Esus2 C Dmaj7 C#m G5 C#sus2 Esus2 C …
  L: "[d3,d4,f#4]@11 ~@7 a4@6 a4@4 a5@6 g5@2 g5@4 f#5@4 e5@2 ~@2", // D
  M: "d5 [e5,f#5] e5@4 d5@6 ~@9 d5@3 d5 d6@2 c6@3 b5 ~@2 a5 ~@2 g5 ~@2 f#5 ~@2 e5 ~@2 d5 ~@2", N: "c5 b4 ~@6",
  O: "[d4,f#4,d5,f#5]@11 ~ [e4,g4,e5,g5]@3 [f#4,a4,f#5,a5] ~@2 [g4,b4,g5,b5] ~@2 [a4,c#5,a5,c#6] ~@2 [b4,d5,b5,d6] ~@2 [c#5,e5,c#6,e6] ~@2 [d5,f#5,d6,f#6] ~@2 [e5,g5,e6,g6] ~@2 [f#5,a5,f#6,a6] ~@2 [e5,g5,e6,g6] ~@2 [d5,f#5,d6,f#6] ~@2 [g4,e5,g5,e6] ~@2", // D Em F#m G A Bm C#m D …
  P: "[f#4,d5,f#5,d6] ~@2 [e4,c#5,e5,c#6] ~@2 [d4,b4,d5,b5] ~@2 [c#4,a4,c#5,a5] ~@2 [b3,g4,b4,g5] ~@2 [a3,f#4,a4,f#5] ~@2 [g3,e4,g4,e5] ~@2 [f#3,d4,f#4,d5] ~@2 [e3,c#4,e4,c#5] ~@2 [b3,d4,b4,d5] ~@2 [c#4,e4,c#5,e5] ~@2 [d4,f#4,d5,f#5] ~@2 [e4,g4,e5,g5] ~@2 [d#4,f#4,d#5,f#5] ~@2 [e4,g4,e5,g5] ~@2 [c#4,e4,c#5,e5] ~@2", // D C#m G F#m Em D C D …
  Q: "[e4,g4,e5,g5] [c#4,e4,c#5,e5] [e4,g4,e5,g5] [d#4,f#4,d#5,f#5] [e4,g4,e5,g5] [d#4,f#4,d#5,f#5] [e4,g4,e5,g5] [d#4,f#4,d#5,f#5] [e4,g4,e5,g5] [d#4,f#4,d#5,f#5] [e4,g4,e5,g5] [d#4,f#4,d#5,f#5] [e4,g4,e5,g5] [d#4,f#4,d#5,f#5] [e4,g4,e5,g5] [d#4,f#4,d#5,f#5]", // Em C#m Em D#m Em D#m Em D#m …
  R: "[e4,g4,e5,g5]@3 [c#4,e4,c#5,e5]@3 [e4,g4,e5,g5]@3 [d#4,f#4,d#5,f#5]@3 [e4,g4,e5,g5]@3 [d#4,f#4,d#5,f#5]@3 [e4,g4,e5,g5]@3 [d#4,f#4,d#5,f#5]@3 [e4,g4,e5,g5] ~@2 [d#4,f#4,d#5,f#5] ~@2 [e4,g4,e5,g5] ~@2 [d#4,f#4,d#5,f#5] ~@2 [e4,g4,e5,g5] ~@2 [d#4,f#4,d#5,f#5] ~@2 [e4,g4,e5,g5] ~@2 [d#4,f#4,d#5,f#5] ~@2", // Em C#m Em D#m Em D#m Em D#m …
  S: "e5 [e5,f#5] f#5 e5 [e5,f#5] f#5 e5 [e5,f#5] f#5 e5 [e5,f#5] f#5 e5 [e5,f#5] f#5 e5 [e5,f#5] f#5 e5 [e5,f#5] f#5 e5 [e5,f#5] f#5!2 [f#5,g#5] g#5 f#5 [f#5,g#5] g#5 f#5 [f#5,g#5] g#5 f#5 [f#5,g#5] g#5 f#5 [f#5,g#5] g#5 f#5 [f#5,g#5] g#5 f#5 [f#5,g#5] g#5 f#5 [f#5,g#5] g#5, ~@2 [a3,c#4,e4] ~@3 [a3,c4,d4,f#4] ~", // Esus2 F#sus2 A D7
  T: "g5 [g5,a#5] a#5 g5 [g5,a#5] a#5 g5 [g5,a#5] a#5 g5 [g5,a#5] a#5 g#5 [g#5,a#5] a#5 g#5 [g#5,a#5] a#5 g#5 [g#5,a#5] a#5 g#5 [g#5,a#5] a#5 a5 [a5,b5] b5 a5 [a5,b5] b5 a5 [a5,b5] b5 a5 [a5,b5] b5 a#5 [a#5,b5] b5 a#5 [a#5,b5] b5 a#5 [a#5,b5] b5 a#5 [a#5,b5] b5, ~ [b3,d4,g4] ~ [b3,d4,e4,g#4] ~ [c#4,e4,a4] ~ [c#4,e4,a#4]", // Gm G#sus2 Asus2 Bmaj7 G E7 A A#dim
  U: "b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6 b5 [b5,c#6] c#6, ~@2 [d4,f#4,b4] ~@3 [d4,f4,b4] ~", // Bsus2 Bm Bdim
  V: "c6 [c6,d#6] d#6 c6 [c6,d#6] d#6 c6 [c6,d#6] d#6 c6 [c6,d#6] d#6 c#6 [c#6,d#6] d#6 c#6 [c#6,d#6] d#6 c#6 [c#6,d#6] d#6 c#6 [c#6,d#6] d#6 d6 [d6,e6] e6 d6 [d6,e6] e6 d6 [d6,e6] e6 d6 [d6,e6] e6 d#6 [d#6,e6] e6 d#6 [d#6,e6] e6 d#6 [d#6,e6] e6 d#6 [d#6,e6] e6, ~ [e4,g4,c5] ~ [e4,g4,c#5] ~ [f#4,a4,d5] ~ [f#4,a4,d#5]", // Cm C#sus2 Dsus2 Emaj7 C C#dim D D#dim
  W: "e6 [e6,f#6] f#6 e6 [e6,f#6] f#6 e6 [e6,f#6] f#6 e6 [e6,f#6] f#6 e6 [e6,f#6] f#6 e6 [e6,f#6] f#6 e6 [e6,f#6] f#6 e6 [e6,f#6] f#6 f6 [f6,f#6] f#6 f6 [f6,f#6] f#6 f6 [f6,f#6] f#6 f6 [f6,f#6] f#6 f6 [f6,f#6] f#6 f6 [f6,f#6] f#6 f6 [f6,f#6] f#6 f6 [f6,f#6] f#6, ~ [g4,b4,e5] ~@3 [g#4,b4,f5] ~@2", // Esus2 F#maj7 Em Fdim
  X: "~@6 [b4,f#5]@6 f6 [f#6,g#6] ~@2 f#6@2 ~@2 e6@2 ~@2 d#6@2 ~@2 c#6@2 ~@2 b5@2 ~@2 a#5@3 g#5@3 f#5 ~@2 e5 ~@2, f#6 ~@3", // B5 F#sus2
  Y: "f#3 b3 d#4 f#3 b3 d#4 f#3 a#3 c#4 f#3 b3 d#4, [f#4,b4,d#5]@11 ~ [f#4,b4,d#5]@12 [f#4,a#4,c#5]@12 [f#4,b4,d#5]@11 ~", // B F# B
  Z: "g#3@4 b3@4 e4@4 f#5@3 ~ c#4@4 ~ [b4,d#5]@3 [f#3,b4,d#5]@4 ~@4 c#4@4 e3@4 a#3@4 c#4@4, [g#4,b4]@11 ~ [g#3,c#5]@6 ~@2 e4@4 ~@4 a#3@4 ~@16, ~@15 e5@3 ~@12 [a#4,c#5]@17 ~", // B G#m C#5 A#m
  AA: "d#3 f#3 b3 d3 f#3 b3 c#3 g#3 b3 f#3 a#3 c#4, [f#4,b4,f#5]@11 ~ [f#4,b4,f#5]@12 [g#4,b4,f5,g#5]@12 [a#4,c#5,e5,a#5]@11 ~", // B5 Fdim A#dim
  AB: "[f#3,e5,c#6]@3 ~@3 [f#5,a#5] ~@2 [e5,g#5] ~@2 [f#3,e5,g#5]@3 ~@3 [c#5,e5] ~@2 [b4,d#5] ~@2 [f#3,b4,d#5]@4 ~@4 c#4@4 f#3@4 a#3@4 c#4@4, ~@3 [d#5,b5]@3 ~@9 [d#5,f#5]@3 ~@12 [a#4,c#5]@17 ~, ~ b3 d#4 ~ b3 d#4 ~ a#3 ~@4", // F#7 F# E C#m B G#m D#m A#m
  AC: "f#3@4 c#4@4 e4@4 f#3@4 c#4@4 e4@4 f#3@4 b3@4 ~ b5@3 [f#3,f#4,b4,d#5,f#5]@4 ~@4 d#4@4, [f#4,c#5,f#5]@11 ~ [e5,f#5,e6]@11 ~ [d#5,f#5,d#6]@12 ~@6 [f#4,b4,d#5,f#5]@6, ~@8 d#4 ~ b3 ~", // B F#5 Esus2 D#m B
  AD: "[f#3,f#5]@4 ~@2 f5@2 ~ f#5@3 f#3@4 c#4@4 ~ c#6@3 f#3@4 b3@4 ~ b5@3 [f#3,f#4,b4,d#5,f#5]@4 ~@4 d#4@4, ~@2 c#4@2 e4@2 [e5,f#5,e6]@6 [d#5,f#5,d#6]@6 ~@3 [f#4,b4,d#5,f#5]@3, ~@5 e4 ~@2 d#4 ~ b3 ~", // F# B Esus2 D#m B
  AE: "f#3 b3 d#4 d#3 a#3 c#4 d#3 g#3 b3 d#3 g#3 b3, [f#4,b4,d#5,f#5]@12 [g4,a#4,c#5,g5]@12 [g#4,b4,g#5]@11 ~@13", // B Gdim G#m
  AF: "d#3 g#3 b3 f#3 a#3 c#4 f#3 b3 d#4 f#3 b3 d#4, [g#4,b4,g#5]@11 ~ [a#4,c#5,a#5]@11 ~ [b4,d#5,b5]@11 ~@13", // G#m A#m B
  AG: "~@8 [g#4,b4] d#4 [c#4,d#5] [g#4,b4] g4 [e4,e5] [c#4,c#5] [g4,a#5], ~@24 g#3@11 ~ [g3,a#5]@11 ~, ~@9 b5@3 ~@4", // G#m C#sus2 G#m E C# Gm
  AH: "g#4 [d#4,b5] [b3,d#5] [g#4,b4] a#4 [g4,g5] [e4,e5] [a#4,c#6] b4 [f#4,d#6] [d#4,f#5] [f#4,d#5] [d#5,f#6] [c#5,e6] [g#4,g#5] [e5,c#6], [g#3,b4]@11 ~ [a#3,c#6]@11 ~ [b3,d#5]@11 ~ e4@11 ~", // G#m B G#m G E A#m D#m C#m …
  AI: "b5 d#6 b5 f#6 d#6 b6 f#6 d#7 a#6 e7 c#7 a#6 f#6 e6 c#6 b5, [f#4,b4,d#5] ~@3 [f#4,c#5,e5] ~@3", // B F#7
  AJ: "a#5 e6 g5 e6 f#5 e6 b5 e6 a#5 e6 g5 e6 f#5 e6 b5 e6",
  AK: "a#5 [c#6,e6] g5 [c#6,e6] f#5 [c#6,e6] g5 [c#6,e6] f#5 [c#6,e6] g5 [c#6,e6] f#5 [c#6,e6] g5 [c#6,e6]", // C#m
  AL: "f#5 [c#6,e6] f#5 [c#5,e5] f#4 [c#6,e6] f#5 [c#5,e5] f#4 [c#6,e6] f#5 [c#5,e5] f#4 [c#5,e5,c#6,e6] [f#4,f#5] [c#5,e5,c#6,e6]", // C#m F# C#m
  AM: "[f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [f#4,f#5] [c#5,c#6] [a#4,a#5] [c#5,c#6] [f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6]", // F# D# B D# F# D# B D# …
  AN: "[g#4,g#5] [e5,e6] [g#4,g#5] [e5,e6] [g#4,g#5] [e5,e6] [c#5,c#6] [e5,e6] [f#4,f#5] [c#5,c#6] [a#4,a#5] [c#5,c#6] [f#4,f#5] [c#5,c#6] [a#4,a#5] [c#5,c#6]", // G# E G# E G# E C# E …
  AO: "[f#4,f#5] [f#5,f#6] [b4,b5] [f#5,f#6] [f#4,f#5] [f#5,f#6] [b4,b5] [f#5,f#6] [g#4,g#5] [g#5,g#6] [b4,b5] [g#5,g#6] [a#4,a#5] [a#5,f#6] [c#5,a#5] [a#5,f#6]", // F# B F# B F# G# B G# …
  AP: "[b4,b5] [b5,b6] [d#5,d#6] [b5,b6] [f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [f#4,f#5] [c#5,c#6] [b4,a#5] [c#5,c#6] [f#4,f#5] [c#5,c#6] [a#4,a#5] [c#5,c#6]", // B D# B F# D# B D# F# …
  AQ: "[f#4,f#5] [e5,e6] [c#5,c#6] [e5,e6] [f#4,f#5] [e5,e6] [c#5,c#6] [e5,e6] [f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6]", // F# E C# E F# E C# E …
  AR: "[f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [g4,g5] [d#5,d#6] [a#4,a#5] [d#5,d#6] [g#4,g#5] [d#5,d#6] [b4,b5] [d#5,d#6] [g#4,g#5] [d#5,d#6] [b4,b5] [d#5,d#6]", // F# D# B D# G D# A# D# …
  AS: "[g#4,g#5] [d#5,d#6] [b4,b5] [d#5,d#6] [a#4,a#5] [f#5,f#6] [c#5,c#6] [f#5,f#6] [b4,b5] [f#5,f#6] [d#5,d#6] [b4,b5] [f#4,f#5] [d#4,d#5] [b3,b4] [d#4,d#5]", // G# D# B D# A# F# C# F# …
  AT: "[b3,b4] [g#4,g#5] [e4,e5] [g#4,g#5] [c#4,c#5] [a#4,a#5] [f#4,f#5] [a#4,a#5] [d#4,d#5] [b4,b5] [g#4,g#5] [b4,b5] [g#4,g#5] [b4,b5] [g#4,g#5] [e5,e6]", // B G# E G# C# A# F# A# …
  AU: "[f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [f#4,f#5] [e5,e6] [c#5,c#6] [e5,e6] [f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6]", // F# D# B D# F# E C# E …
  AV: "[g#4,g#5] [d#5,d#6] [b4,b5] [d#5,d#6] [a#4,a#5] [f#5,f#6] [c#5,c#6] [f#5,f#6] [b4,b5] [f#5,f#6] [d#5,d#6] [f#5,f#6] [b4,b5] [g#5,g#6] [e5,e6] [g#5,g#6]", // G# D# B D# A# F# C# F# …
  AW: "[b4,b5] [f#5,f#6] [d#5,d#6] [f#5,f#6] [b4,b5] [b5,b6] [d#5,d#6] [b5,b6] [c#5,c#6] [a#5,a#6] [e5,e6] [a#5,a#6] [c#5,c#6] [a#5,a#6] [e5,e6] [a#5,a#6]", // B F# D# F# B D# B C# …
  AX: "[c5,c6] [a5,a6] [d#5,d#6] [a5,a6] [c5,c6] [a5,a6] [d#5,d#6] [a5,a6] [b4,b5] [g5,g6] [e5,e6] [g5,g6] [b4,b5] [g5,g6] [e5,e6] [g5,g6]", // C A D# A C A D# A …
  AY: "[a4,a5] [f#5,f#6] [c5,c6] [f#5,f#6] [g4,g5] [e5,e6] [c#5,c#6] [e5,e6] [g4,g5] [e5,e6] [c#5,c#6] [e5,e6] [f#4,f#5] [e5,e6] [c#5,c#6] [e5,e6]", // A F# C F# G E C# E …
  AZ: "[f#4,f#5] [d#5,d#6] [b4,b5] [d#5,d#6] [g4,g5] [e5,e6] [c#5,c#6] [e5,e6] [f#4,f#5] [e5,e6] [c#5,c#6] [e5,e6] [f#4,f#5] [e5,e6] [c#5,c#6] [e5,e6]", // F# D# B D# G E C# E …
  BA: "[~@3 d#5 ~@3 b4 ~@3 f#4 ~@3 d#4 ~@3 b3 ~@3 f#3 ~@3 d#3 ~@3 b2 ~@16 [b1,b2]@2 ~@14, [f#4,f#5]@5 [b4,b5]@2 b5@13 [b2,b3] [f#3,f#4] [d#3,d#4] f#4@9 [b1,b2] [f#2,f#3] [d#2,d#3] [f#2,f#3] [b1,b2] [f#2,f#3] [d#2,d#3] [f#2,f#3] [b1,b2] [f#2,f#3] [d#2,d#3] [f#2,f#3] [b1,b2] [f#2,f#3] [d#2,d#3] [f#2,f#3]@3 ~@14, ~ [d#5,d#6]@2 d#6@13 [d#3,d#4] [b3,b4] [f#3,f#4] b4@31 ~@14, ~@2 [b4,b5]@2 [d#4,d#5]@5 [f#4,f#5] [d#4,d#5] f#5@13 [f#2,f#3] [d#3,d#4] [b2,b3] d#4@23 ~@14, ~@6 [f#4,f#5]@2 [b3,b4]@4 [f#3,f#4] [d#4,d#5] [b3,b4] d#5@13 [d#2,d#3] [b2,b3] [f#2,f#3] b3@19 ~@14]/4", // B F# B F# D# B F# D# …
  BB: "[~@10 a#4@7 ~@8 d#5@15 ~@8 g5@22 [a#2,d#3,g3,a#3,a#4,d#5,g5]@8 ~@4 a#5@3 a#4@45 a#4@8 ~@7 d#5@15 ~@8 g5@22 ~@4 a#5@4 ~@4 d#6@3 [d#3,g3,a#3,d#4,d#5,g5,a#5,d#6]@53 ~@30, ~@3 [d#2,d#4]@16 ~@4 d#2@16 ~@9, ~@9 [g4,a#4]@11 g4@48 ~ [d#4,g4,a#4]@11 g4@48 ~@16, ~@40 [a#2,d#3,g3,a#3,a#4,d#5]@30 ~@8 [a#2,d#3,g3,a#3,a#4,d#5,g5]@7 [a#2,d#3,g3,a#3,d#5,g5,a#5]@53 ~@22 [d#3,g3,a#3,d#4,a#4,d#5]@30 a#4@67 ~@31, ~@190 [d#3,g3,a#3,d#4,d#5,g5]@7 ~ [d#3,g3,a#3,d#4,d#5,g5,a#5]@7 ~@83]/6", // D# Gm D#
})).s("gm_piano").gain(0.3)

// other · pizzicato strings
const pizzicato_strings_2 = note("<~@29 A ~ B@2 C ~@10 D E F G H I J K ~@2 L M ~@23 N O ~@5>".pickRestart({
  A: "g4 ~@3", B: "f#4 ~@3", C: "b3 ~@3", D: "d#4!2 c#4 d#4", E: "b3 e4 c#4 ~", F: "f#4!2 g#4 a#4", G: "b4 d#4 c#4 ~",
  H: "e4@2 e4@2 d#4@2 ~ d#4", I: "e4@2 e4@2 d#4@2 ~ f#4", J: "f#4 g4 g#4 ~", K: "g#4 a#4 b4 ~", L: "b4 c#5 d#5 g#4",
  M: "b4 ~ a#4 ~", N: "a#3 ~@3", O: "~ a#3@5 a#3@10",
})).s("gm_pizzicato_strings").gain(0.2)

// other · violin
const violin = note(`<
  A B C D E@2 F G H I J K L@2 M N@2 O@2 P Q R S T ~ U V W ~@5 X Y ~@3 Z AA AB AC AD AE ~@8 AF I ~@5 AG AH AI AJ AK@2 AL
  AM AN AO AP AQ AR AS AT@2 AU AV ~@9
>`.pickRestart({
  A: "b3@2 a#3 b3", B: "g#3 c#4 a#3@2", C: "b3!3 c#4", D: "b3!2 a#3@2", E: "c#4@2 c#4@2 d#4@3 d#4", F: "d#4 c#4 b3 ~",
  G: "b3 c#4 d#4 ~", H: "g#4@2 a#4@2 b4@2 b3 e4", I: "d#4 e4 d#4 ~", J: "g#4@2 a#4@2 b4@2 e4 b3", K: "b3 ~ e4 ~",
  L: "d#4 e4@3", M: "d#4 ~ b3 ~", N: "b3/2", O: "c#4/2", P: "b3!2", Q: "e4@3 f#4", R: "f#4@2 d#4!2", S: "f4@3 f4",
  T: "f#4 ~@3", U: "a#3 c#4!2 ~", V: "c#4 d4 e4 a4", W: "a4 ~@3", X: "~@2 b3 d4", Y: "d4 ~@7", Z: "c#4 ~@3 c4 ~@3",
  AA: "b3 ~ b3 ~ c#4 ~ c#4 ~", AB: "d4 ~@3 d4 ~@3", AC: "e4 ~ e4 ~ f#4 ~ f#4 ~", AD: "g4 ~@3 g#4 ~@3", AE: "f#4 ~@7",
  AF: "g#4@2 a#4@2 b4@2 b3 g#4", AG: "~ b3 ~ b3 ~ a#3 ~ b3", AH: "~ b3 ~ c#4 ~ a#3 ~ a#3", AI: "~ b3 ~ b3 ~ f4 ~ e4",
  AJ: "~ d#4 ~ b3 ~ a#3 ~ a#3", AK: "~ c#4 ~ c#4 ~ b3 ~ b3", AL: "~ b3 ~ c#4 ~ b3 ~ b3", AM: "~ d#4 ~ f#4 ~ b3 ~ d#4",
  AN: "~ e4 ~ e4 ~ d#4 ~ b3", AO: "~ b3 ~ c#4 ~ b3 ~ d#4", AP: "~ d#4 ~ f#4 ~ f#4 ~ e4", AQ: "~ d#4 ~ d#4 ~ e4 ~ e4",
  AR: "~ [d#4,f#4] ~ [d#4,f#4] ~ e4 ~ e4", AS: "~ c4 ~ a#3 ~ a#3 ~ c#4", AT: "~ b3 ~ b3 ~ a#3 ~ c#4",
  AU: "~ b3 ~ b3 ~ b3 ~ b3", AV: "~ b3 ~@6",
})).s("gm_violin").gain(0.2)

// other · pizzicato strings
const pizzicato_strings_3 = note("<~@29 A ~ B@3 ~@10 C D E F G H I J ~@2 K L ~@23 M N ~@5>".pickRestart({
  A: "[c#4,e4] ~@3", B: "d4 ~@3", C: "b3!2 a#3 b3", D: "g#3 c#4 a#3 ~", E: "b3!2 f4 [c#4,e4]", F: "d#4 b3 a#3 ~",
  G: "c#4@2 c#4@2 b3@2 ~ b3", H: "c#4@2 c#4@2 b3@2 ~ d#4", I: "d#4 c#4 b3 ~", J: "b3 c#4 d#4 ~", K: "b3 c#4 d#4 g#3",
  L: "d#4 ~ [c#4,e4] ~", M: "a#3 ~@3", N: "~ a#3@5 a#3@10",
})).s("gm_pizzicato_strings").gain(0.2)

stack(
  viola, pizzicato_strings, clarinet, bass, bass_2, muted_trumpet, piano, pizzicato_strings_2, violin,
  pizzicato_strings_3
)

More by Ludwig van Beethoven