Strudelify

vals chayane

chayane

KeyA majorTempo170 bpm
0:00/0:00
// vals chayane — chayane
// 170 bpm, 3/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: ch 2 "Oboe" named as a reed, played on oboe (its pizzicato strings patch is not one); ch 5 "Clarinete en Si♭" named as a reed, played on clarinet (its acoustic bass patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5835980; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 258 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(170/3)

// 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 · cello · "Flauta"
const cello = note(`<
  A@6 B@4 C@6 D@5 E F E F E F E F G@2 H I J K L M N O P Q R S T@2 E U V@2 U@2 V@2 W@2 E@2 V@2 U X Y Z Y Z AA Z AB@2 Y AC
  AD Z AA Z AE@2 G@2 H I J K L M N O P Q R S T@2 AF@2 AG AH AI AJ AK AL AM AN AO AP@2 AQ AR@2 Y Z Y Z AA Z AB@2 Y AC AD
  Z AA Z AS AT AU@2 AV AW AX AY AZ BA BB BC BD BE BF BG BH BI Y Z Y Z AA Z AB@2 Y AC AD Z AA Z AS AT AF@2 AG AH AI AJ AK
  AL AM AN AO AP@2 AQ BJ@2 BK@2 BL@2 BM@7 BN@4 BO@8 BP@8 BO@8 BP@8 BO@8 BP@8 BO@8 BP@8 BQ@6
>`.pickRestart({
  A: "[~@7 a4@7 ~ a4@7 a4@7 ~ g#4@7 ~ f#4@7 g#4@7 ~ [f#2,a4]@43, ~@7 f#2@45 ~@44]/6", B: "[~ f#2@31]/4",
  C: "[~@6 f#4@7 ~ f#4@7 f#4@7 ~ e4@7 d4@7 ~ e4@7 [f#2,f#4]@23 e4@7 ~ d4@7 e4@7, ~@6 f#2@23 e2@23 ~@22 e2@22]/6", // F#
  D: "[~ f#4@7 f#4@7 ~ f#4@7 g#4@7 ~ f#4@7 g#4@39 ~@3, ~ d2@22 e2@57]/5", E: "f#2@5 ~@11", F: "c#2@5 ~@11",
  G: "[[f#2,c#5]@5 c#5@3 c#5@3 ~@5 c#3@5 b4@5 ~ a#4@5, ~@11 c#5@10 ~@11]/2", H: "[b2,a#4]@5 b4@5 ~ b4@5",
  I: "b4@10 ~ g#4@2 a#4@3, b2@5 ~@11", J: "[c#3,b4]@5 b4@5 ~ b4@5", K: "[c#3,b4]@5 a#4@5 ~ g#4@5",
  L: "[b2,g#4]@5 f#4@8 g#4@3", M: "f#4@5 ~@3, b2@5 ~@11", N: "[d3,f#4]@5 f#4@5 ~ f#4@5", O: "[d3,f#4]@5 g#4@5 ~ f#4@5",
  P: "[f#2,g#4]@5 a#4@5 ~ a#4@5", Q: "a#4@10 ~ a#4@5, f#2@5 ~@11", R: "a#4@10 ~ b4@5, b2@5 ~@11",
  S: "g#4@10 ~ f#4@5, b2@5 ~@11", T: "[c#3@5 ~@11 c#3@3 ~@2 g#2@3 ~@3 c#3@3 ~@2, g#4@5 ~@3]/2", U: "c#3@5 ~@11",
  V: "b2@5 ~@11", W: "d3@5 ~@11", X: "c#3@3 ~@2 g#2@3 ~@3 c#3@3 ~@2", Y: "[f#2,a4]@5 a4@5 ~ a4@5",
  Z: "[b2,g#4]@5 f#4@5 ~ g#4@5", AA: "a4@10 ~ a4@2 a4@3, f#2@5 ~@11", AB: "[c#3@5 ~@11 c#3@5 ~@11, f4@5 ~@3]/2",
  AC: "[b2,b4]@5 a4@5 ~ g#4@5", AD: "[f#2,f#4]@5 f#4@5 ~ f#4@5", AE: "[c#3@5 ~@11 c#3@5 ~@11, g#4@5 ~@3]/2",
  AF: "[c#5@5 c#5@3 c#5@3 c#5@10 [g#3,b4]@5 ~ [a#3,a#4]@5, f#3@21 ~@11]/2", AG: "[a#3,a#4]@5 [b3,b4]@5 ~ [b3,b4]@5",
  AH: "b4@10 ~ g#4@2 a#4@3, b3", AI: "b4@5 b4@5 ~ b4@5, f3", AJ: "[f3,b4]@5 [f#3,a#4]@5 ~ [g#3,g#4]@5",
  AK: "[g#3,g#4]@5 f#3@5 ~@3 g#4@3, ~@5 f#4@8 ~@3, ~@11 g#3@5", AL: "f#3, f#4@5 ~@3",
  AM: "[a3,f#4]@5 [g#3,f#4]@5 ~ [f#3,f#4]@5", AN: "[a3,f#4]@5 [g#3,g#4]@5 ~ [f#3,f#4]@5",
  AO: "[g#3,g#4]@5 [a#3,a#4]@5 ~ [a#3,a#4]@5", AP: "[a#4@10 ~ a#4@5 a#4@10 ~ b4@5, a#3]/2",
  AQ: "a#3@5 c#4@5 ~ [b3,f#4]@5, g#4@5 ~@3", AR: "[a#3@5 g#3@5 ~ f#3@5 f3@5 d#3@5 ~ c#3@5, g#4@5 ~@3]/2",
  AS: "g#4@15 ~, c#3@5 ~@11", AT: "c#6@3 g#5@2 f5@3 c#5@3 g#4@2 c#4@3, c#3@5 ~@11",
  AU: "[a#5@5 a#5@3 a#5@3 a#5@10 [g#3,g#5]@5 ~ [a#3,f#5]@5, f#3@21 ~@11]/2", // G# D#m
  AV: "[a#3,f#5]@5 b3@5 ~@3 g#5@3, ~@5 g#5@8 ~@3, ~@11 b3@5", AW: "g#5@10 ~ f5@2 f#5@3, b3",
  AX: "g#5@8 g#5@3 g#5@5, f3", AY: "[f3,g#5]@5 [f#3,f#5]@5 ~ [g#3,f5]@5",
  AZ: "[g#3,f5]@5 f#3@5 ~@3 f5@3, ~@5 d#5@8 ~@3, ~@11 g#3@5", BA: "d#5@10 ~ b4@2 c#5@3, f#3",
  BB: "[a3,d5]@5 [g#3,d5]@5 ~ [f#3,d5]@5", BC: "[a3,d5]@5 [g#3,e5]@5 ~ [f#3,d5]@5",
  BD: "[g#3,c#5]@5 a#3@5 ~@3 f#5@3, ~@5 f#5@8 ~@3, ~@11 a#3@5", BE: "f#5@10 ~ f#5@5, a#3", BF: "[b3,g#5]",
  BG: "[a#3,f#5]@5 [c#4,a#5]@5 ~ [b3,g#5]@5", BH: "[a#3,f#5]@5 [g#3,f5]@5 ~ [f#3,d#5]@5",
  BI: "[f3,c#5]@5 [d#3,b4]@5 ~ [c#3,g#4]@5", BJ: "[a#3@5 g#3@5 ~ f#3@5 f3@5 d#3@5 ~ [c#3,a#4]@5, g#4@5 ~@3]/2",
  BK: "[a#4@11 b4@21]/2", BL: "[~@2 g#4@11 f#4@11 ~ g#4@7]/2",
  BM: "[~@4 a#5@5 a#5@3 a#5@3 a#5@10 [g#3,g#5]@5 ~ [a#3,f#5]@5 [a#3,f#5]@5 b3@5 ~@3 g#5@3 g#5@10 ~ f5@2 f#5@3 g#5@8 g#5@3 g#5@5 [f3,g#5]@5 [f#3,f#5]@5 ~ [g#3,f5]@5 [g#3,f5]@5 d#5@6 g#3, ~@4 f#3@21 ~@16 g#5@8 ~@63, ~@47 b3@5 b3@16 f3@16 ~@21 f#3@5 ~@2]/7", // G# D#m Fm F# C#
  BN: "[~ f5@3 d#5@10 ~ b4@2 c#5@3 [a3,d5]@5 [g#3,d5]@5 ~ [f#3,d5]@5 [a3,d5]@5 [g#3,e5]@5 ~ [f#3,d5]@5 [g#3,c#5]@5 f#5@6 a#3, ~@4 f#3@16 ~@37 a#3@5 ~@2]/4", // D5 G#dim D D5 C#m D C#5
  BO: "[~ f#5@3 f#5@10 ~ f#5@5 [b3,g#5]@16 [a#3,f#5]@5 [c#4,a#5]@5 ~ [b3,g#5]@5 [a#3,f#5]@5 [g#3,f5]@5 ~ [f#3,d#5]@5 [f3,c#5]@5 [d#3,b4]@5 ~ [c#3,g#4]@5 a#5@5 a#5@3 a#5@3 a#5@10 [g#3,g#5]@5 ~ [a#3,f#5]@5 [a#3,f#5]@5 g#5@6 b3, ~@4 a#3@16 ~@64 f#3@21 ~@16 b3@5 ~@2]/8", // E D#m F# E D#m C# D#m C# …
  BP: "[~ g#5@3 g#5@10 ~ f5@2 f#5@3 g#5@8 g#5@3 g#5@5 [f3,g#5]@5 [f#3,f#5]@5 ~ [g#3,f5]@5 [g#3,f5]@5 f#3@5 ~@3 f5@3 d#5@10 ~ b4@2 c#5@3 [a3,d5]@5 [g#3,d5]@5 ~ [f#3,d5]@5 [a3,d5]@5 [g#3,e5]@5 ~ [f#3,d5]@5 [g#3,c#5]@5 f#5@6 a#3, ~@4 b3@16 f3@16 ~@21 d#5@8 ~@63, ~@63 g#3@5 f#3@16 ~@37 a#3@5 ~@2]/8", // Fm F# C# D5 G#dim D D5 C#m …
  BQ: "[~ f#5@3 f#5@10 ~ f#5@5 [b3,g#5]@16 [a#3,f#5]@5 [c#4,a#5]@5 ~ [b3,g#5]@5 [a#3,f#5]@5 [g#3,f5]@5 ~ [f#3,d#5]@5 [f3,c#5]@5 [d#3,b4]@5 ~ [c#3,g#4]@5 ~@12, ~ a#3@4 ~@19]/6", // E D#m F# E D#m C# D#m C# …
})).s("gm_cello").gain(0.4)

// other · tremolo strings · "Corno en Fa"
const tremolo_strings = note(`<
  A@7 ~@3 B@6 C D@4 ~@24 E@2 F G H I J K L M N O P Q R@2 S T S T U T R@2 S V W T U T X@2 ~@16 Y@2 F Z AA AB AC AD AE@2 N
  AF@2 AG AH AA S T S T U T R@2 S V W T U T X@2 Y@2 F Z AA AB AC AD AE@2 N AH Z AG AH AA S T S T U T R@2 S V W T U T X@2
  Y@2 F Z AA AB AC AD AE@2 N AF@2 AG AH AA ~@4 AI@8 AJ@8 AI@8 AJ@8 AI@8 AJ@8 AI@8 AJ@8 AI@8 AJ@8 ~
>`.pickRestart({
  A: "[~@7 c#4@8 c#4@7 c#4@8 b3@8 a3@7 b3@8 c#4@45 ~@14]/7",
  B: "[~@6 a3@8 a3@7 a3@8 g#3@7 f#3@8 g#3@7 a3@23 g#3@8 f#3@7 g#3@7]/6", C: "~ a3@7 a3@8",
  D: "[a3@7 b3@8 a3@7 b3@42]/4", E: "[c#4@5 c#4@3 c#4@3 c#4@10 b3@5 ~ a#3@5]/2", F: "a#3@5 b3@5 ~ b3@5",
  G: "b3@11 g#3@2 a#3@3", H: "b3@5 b3@5 ~ b3@5", I: "b3@5 a#3@5 ~ g#3@5", J: "g#3@5 f#3@8 g#3@3", K: "f#3@11 ~@5",
  L: "f#3@5 f#3@5 ~ f#3@5", M: "f#3@5 g#3@5 ~ f#3@5", N: "g#3@5 a#3@5 ~ a#3@5", O: "a#3@11 a#3@5", P: "a#3@11 b3@5",
  Q: "g#3@11 f#3@5", R: "[g#3@21 ~@11]/2", S: "c#4@5 c#4@5 ~ c#4@5", T: "b3@5 a3@5 ~ b3@5", U: "c#4@11 c#4@2 c#4@3",
  V: "d4@5 c#4@5 ~ b3@5", W: "a3@5 a3@5 ~ a3@5", X: "[c#4@21 ~@11]/2", Y: "[f#3@21 g#3@5 ~ a#3@5]/2", Z: "b3", AA: "f3",
  AB: "f3@5 f#3@5 ~ g#3@5", AC: "g#3@5 f#3@5 ~ g#3@5", AD: "f#3", AE: "a3/2", AF: "a#3/2", AG: "a#3@5 c#4@5 ~ b3@5",
  AH: "a#3",
  AI: "[~@4 f#3@21 g#3@5 ~ a#3@5 a#3@5 b3@5 ~ b3@5 b3@16 f3@16 f3@5 f#3@5 ~ g#3@5 g#3@5 f#3@5 ~ g#3@5 f#3@12]/8",
  AJ: "[~@4 a3@32 g#3@5 a#3@5 ~ a#3@5 a#3@16 b3@16 a#3@5 c#4@5 ~ b3@5 a#3@16 f3@12]/8",
})).s("gm_tremolo_strings").gain(0.25)

// bass · contrabass · "Trombón"
const bass = note(`<
  A@6 B@4 C@6 D@5 ~@8 E F G H F@2 G I G@2 E J G@2 F K E F G H F@2 G I G@2 E J G@2 F K G@6 F K G@6 F K E F G H F@2 G I
  G@2 E J G@2 F K L@2 M N O P Q I G@2 E J G@2 F K G@6 F K R S T U G U V K E F G H F@2 G I G@2 E J G@2 F K G@6 F K G@6 F
  K E F G H F@2 G I G@2 E J G@2 F K ~@4 W@8 X@8 W@8 X@8 W@8 X@8 W@8 X@8 W@8 X@8 ~
>`.pickRestart({
  A: "[~@7 c#4@8 c#4@7 c#4@8 b3@8 a3@7 b3@8 [f#2,c#4]@43, ~@7 f#2@45 ~@44]/6", B: "[~ f#2@31]/4",
  C: "[~@6 a3@8 a3@7 a3@8 g#3@7 f#3@8 g#3@7 [f#2,a3]@23 g#3@8 f#3@7 g#3@7, ~@6 f#2@23 e2@23 ~@22 e2@22]/6", // F#m
  D: "[~ a3@7 a3@8 a3@7 b3@8 a3@7 b3@42, ~ d2@22 e2@57]/5", E: "~@5 a#3@3 ~@3 a#3@3 ~@2", F: "~@5 g#3@3 ~@3 g#3@3 ~@2",
  G: "~@5 f#3@3 ~@3 f#3@3 ~@2", H: "b3@3 ~@2 f#3@3 ~@3 d#3@3 ~@2", I: "f#3@3 ~@2 d#3@3 ~@3 f#3@3 ~@2",
  J: "c#4@3 ~@2 a#3@3 ~@3 f#3@3 ~@2", K: "g#3@3 ~@2 f3@3 ~@3 c#3@3 ~@2", L: "[c#4@5 c#4@3 c#4@3 c#4@10 b3@5 ~ a#3@5]/2",
  M: "a#3@5 b3@5 ~ b3@5", N: "b3@11 d#3@3 ~@2", O: "b3@5 b3@5 ~ b3@5", P: "b3@5 a#3@5 ~ g#3@5", Q: "g#3@5 f#3@8 g#3@3",
  R: "a3@5 a3@5 ~ a3@5", S: "b3@5 a3@5 ~ g#3@5", T: "f#3@5 f#3@5 ~ f#3@5", U: "g#3@5 f#3@5 ~ g#3@5", V: "g#3",
  W: "[~@9 a#3@3 ~@3 a#3@3 ~@7 g#3@3 ~@3 g#3@3 ~@7 f#3@3 ~@3 f#3@3 ~@2 b3@3 ~@2 f#3@3 ~@3 d#3@3 ~@7 g#3@3 ~@3 g#3@3 ~@7 g#3@3 ~@3 g#3@3 ~@7 f#3@3 ~@3 f#3@3 ~@2 f#3@3 ~@2 d#3@3 ~@3 f#3]/8",
  X: "[~@9 f#3@3 ~@3 f#3@3 ~@7 f#3@3 ~@3 f#3@3 ~@7 a#3@3 ~@3 a#3@3 ~@2 c#4@3 ~@2 a#3@3 ~@3 f#3@3 ~@7 f#3@3 ~@3 f#3@3 ~@7 f#3@3 ~@3 f#3@3 ~@7 g#3@3 ~@3 g#3@3 ~@2 g#3@3 ~@2 f3@3 ~@3 c#3]/8",
})).s("gm_contrabass").gain(0.25)

// other · clarinet · "Clarinete en Si♭"
const clarinet = note(`<
  A@7 ~@3 B@6 C D@4 E F E F E F E G H@2 I J K L M N O P Q R S T U@2 V F W@2 F@2 W@2 X@2 V@2 W@2 F G Y Z Y Z AA Z U@2 Y
  AB AC Z AA Z AD@2 H@2 I J K L M N O P Q R S T U@2 V F W@2 F@2 W@2 X@2 V@2 W@2 F G Y Z Y Z AA Z U@2 Y AB AC Z AA Z AD@2
  AE@2 AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS Y Z Y Z AA Z U@2 Y AB AC Z AA Z AD@2 V F W@2 F@2 W@2 X@2 V@2 W@2 F G
  ~@4 AT@3 AU@4 AV@4 AW@8 AU@4 AV@4 AW@8 AU@4 AV@4 AW@8 AU@4 AV@4 AW@8 AU@4 AV@4 AX@6
>`.pickRestart({
  A: "[~@7 a4@8 a4@7 a4@8 g#4@8 f#4@7 g#4@8 a4@45 ~@14]/7",
  B: "[~@6 f#4@8 f#4@7 f#4@8 e4@7 d4@8 e4@7 f#4@23 e4@8 d4@7 e4@7]/6", C: "~ f#4@7 f#4@8",
  D: "[f#4@7 g#4@8 f#4@7 g#4@42]/4", E: "f#1@5 a#3@3 ~@3 a#3@3 ~@2", F: "c#2@5 ~@11",
  G: "c#2@3 ~@2 g#1@3 ~@3 c#2@3 ~@2", H: "[[f#1,c#5]@5 c#5@3 c#5@3 ~@5 c#2@5 b4@5 ~ a#4@5, ~@11 c#5@11 ~@10]/2",
  I: "[b1,a#4]@5 b4@5 ~ b4@5", J: "b4@11 g#4@2 a#4@3, b1@5 ~@11", K: "[c#2,b4]@5 b4@5 ~ b4@5",
  L: "[c#2,b4]@5 a#4@5 ~ g#4@5", M: "[b1,g#4]@5 f#4@8 g#4@3", N: "f#4@11 ~@5, b1@5 ~@11", O: "[d2,f#4]@5 f#4@5 ~ f#4@5",
  P: "[d2,f#4]@5 g#4@5 ~ f#4@5", Q: "[f#1,g#4]@5 a#4@5 ~ a#4@5", R: "a#4@11 a#4@5, f#1@5 ~@11",
  S: "a#4@11 b4@5, b1@5 ~@11", T: "g#4@11 f#4@5, b1@5 ~@11",
  U: "[c#2@5 ~@11 c#2@3 ~@2 g#1@3 ~@3 c#2@3 ~@2, g#4@21 ~@11]/2", V: "f#1@5 ~@11", W: "b1@5 ~@11", X: "d2@5 ~@11",
  Y: "[f#1,c#5]@5 c#5@5 ~ c#5@5", Z: "[b1,b4]@5 a4@5 ~ b4@5", AA: "c#5@11 c#5@2 c#5@3, f#1@5 ~@11",
  AB: "[b1,d5]@5 c#5@5 ~ b4@5", AC: "[f#1,a4]@5 a4@5 ~ a4@5", AD: "[c#2@5 ~@11 c#2@3 ~@2 g#1@3 ~@8, c#5@21 ~@11]/2",
  AE: "[c#5@5 c#5@3 c#5@3 ~@10 b4@5 ~ a#4@5, f#2@11 c#5@11 ~@10, ~@16 c#2@11 ~@5]/2", AF: "a#4@5 b4@8 b4@3, b1@11 ~@5",
  AG: "[b1,b4]@11 g#4@2 a#4@3", AH: "b4@8 b4@3 b4@5, c#2@11 ~@5", AI: "b4@5 a#4@5 ~ g#4@5, c#2@11 ~@5",
  AJ: "g#4@5 f#4@8 g#4@3, b1@11 ~@5", AK: "[b1,f#4]@11 d#4@2 f4@3", AL: "f#4@5 f#4@5 ~ f#4@5, d2@11 ~@5",
  AM: "f#4@5 g#4@5 ~ f#4@5, d2@11 ~@5", AN: "g#4@5 a#4@8 a#4@3, f#2@11 ~@5", AO: "[f#2,a#4]@11 a#4@5",
  AP: "b4, b1@11 ~@5", AQ: "a#4@5 c#5@5 ~ b4@5, b1@11 ~@5", AR: "a#4@5 g#4@5 ~ f#4@5, c#2@11 ~@5",
  AS: "f4@5 d#4@5 ~ c#4@5, c#2@11 ~@5",
  AT: "[~@4 [f#1,c#5]@5 c#5@3 c#5@3 ~@5 c#2@5 b4@5 ~ a#4@5 [b1,a#4]@5 b4@7, ~@15 c#5@11 ~@22]/3", // F#5 Bmaj7
  AU: "[~ b4@3 b4@11 g#4@2 a#4@3 b4@8 b4@3 b4@5 [c#2,b4]@5 a#4@5 ~ g#4@5 [b1,g#4]@5 f#4@7, ~@4 b1@5 ~@11 c#2@5 ~@39]/4", // C#7 E
  AV: "[~ g#4@3 f#4@11 d#4@2 f4@3 [d2,f#4]@5 f#4@5 ~ f#4@5 [d2,f#4]@5 g#4@5 ~ f#4@5 [f#1,g#4]@5 a#4@7, ~@4 b1@5 ~@55]/4", // D F#sus2
  AW: "[~ a#4@3 a#4@11 a#4@5 b4@16 [b1,a#4]@5 c#5@5 ~ b4@5 [c#2,a#4]@5 g#4@5 ~ f#4@5 f4@5 d#4@5 ~ c#4@5 [f#1,c#5]@5 c#5@3 c#5@3 ~@5 c#2@5 b4@5 ~ a#4@5 [b1,a#4]@5 b4@7, ~@4 f#1@5 ~@11 b1@5 ~@43 c#2@3 ~@2 g#1@3 ~@3 c#2@3 ~@13 c#5@11 ~@22]/8", // Bmaj7 F# F#5 Bmaj7
  AX: "[~ a#4@3 a#4@11 a#4@5 b4@16 [b1,a#4]@5 c#5@5 ~ b4@5 [c#2,a#4]@5 g#4@5 ~ f#4@5 f4@5 d#4@5 ~ c#4@5 ~@12, ~@4 f#1@5 ~@11 b1@5 ~@43 c#2@3 ~@2 g#1@3 ~@3 c#2@3 ~@14]/6", // Bmaj7 F#
})).s("gm_clarinet").gain(0.3)

// other · tremolo strings · "Fagot"
const tremolo_strings_2 = note(`<
  A@7 ~@3 B@6 C@5 D E D E D E D E D E F@2 G@2 F H I@2 D@2 F@2 G J D E F K G@2 F H I@2 D@2 F@2 G J L M L M L M N O L M L
  M L M N O D E F@2 G@2 F H I@2 D@2 F@2 G J D E F K G@2 F H I@2 D@2 F@2 G J L M L M L M N O L M L M L M N O P@2 Q K R@2
  Q H Q S D@2 F@2 T J L M L M L M N O L M L M L M N O D E F K G@2 F H I@2 D@2 F@2 G J ~@4 U@8 V@3 W X@2 Y@6 Z@7 W X@2
  Y@6 Z@7 W X@2 Y@6 Z@7 W X@2 Y@6 Z@7 W X@2 AA@3
>`.pickRestart({
  A: "[~@7 c#3@23 b2@8 a2@7 b2@8 c#3@45 ~@14]/7", B: "[~@6 a2@23 g#2@7 f#2@8 g#2@7 a2@23 g#2@8 f#2@7 g#2@7]/6",
  C: "[~ a2@22 b2@57]/5", D: "f#2@3 ~@13", E: "c#2@3 ~@13", F: "b2@3 ~@13", G: "c#3@3 ~@13",
  H: "b2@3 ~@2 d#3@3 ~@3 f#3@3 ~@2", I: "d3@3 ~@13", J: "c#3@3 ~@2 g#2@3 ~@3 c#3@3 ~@2",
  K: "b2@3 ~@2 d#3@3 ~@3 b2@3 ~@2", L: "f#3@5 ~@6 f#3@3 ~@2", M: "d3@5 ~@6 d3@3 ~@2", N: "g#3@5 ~@6 g#3@3 ~@2",
  O: "g#3@3 ~@2 f3@3 ~@3 c#3@3 ~@2", P: "[f#3@21 g#3@5 ~ a#3@5]/2", Q: "f#3", R: "[f3@21 f#3@5 ~ g#3@5]/2", S: "d3",
  T: "c#3@3 ~@2 f3@5 ~ g#3@5",
  U: "[~@4 f#3@21 g#3@5 ~ a#3@5 f#3@16 b2@3 ~@2 d#3@3 ~@3 b2@3 ~@2 f3@21 f#3@5 ~ g#3@5 f#3@16 b2@3 ~@2 d#3@3 ~@3 f#3]/8",
  V: "[~@4 f#3@16 d3@16 f#2@3 ~@9]/3", W: "~@4 f#2@3 ~@9", X: "~@4 b2@3 ~@9",
  Y: "[~@4 c#3@3 ~@2 f3@5 ~ g#3@5 c#3@3 ~@2 g#2@3 ~@3 c#3@3 ~@2 f#3@21 g#3@5 ~ a#3@5 f#3@16 b2@3 ~@2 d#3@3 ~@3 b2]/6",
  Z: "[~@4 f3@21 f#3@5 ~ g#3@5 f#3@16 b2@3 ~@2 d#3@3 ~@3 f#3@3 ~@2 f#3@16 d3@16 f#2@3 ~@9]/7",
  AA: "[~@4 c#3@3 ~@2 f3@5 ~ g#3@5 c#3@3 ~@2 g#2@3 ~@3 c#3@3 ~@14]/3",
})).s("gm_tremolo_strings").gain(0.3)

// chords · piano
const piano = note(`<
  A@6 B@5 ~@10 C D C D C E C F C F G H F@2 G I J K C L G@2 F M C F G H F@2 G I J K C L G@2 F M N G N G N G F M N G N G N
  G F M C F G H F@2 G I J K C L G@2 F M C F G H F@2 G I J K C L G@2 F M N G N G N G F M N G N G N G F M O@2 P Q R S T U
  V W X Y Z AA AB AC N G N G N G F M N G N G N G F M C F G H F@2 G I J K C L G@2 F@2 AD@4 AE@7 AF@4 AG@8 AH@8 AG@8 AH@8
  AG@8 AH@8 AG@8 AH@8 AI@6
>`.pickRestart({
  A: "[~@7 c#5@45 ~@21 [f#2,f#3,f#4]@2 [f#2,f#3,f#4]@14 ~@7, ~@53 c#5@43]/6", // F#
  B: "[[f#1,f#2,f#3] [f#1,f#2,f#3]@18 ~@21, ~ c#5@34 ~@5]/5", C: "[f#1,f#2]@5 [f#3,a#3]@5 ~ [f#3,a#3]@5",
  D: "[c#2,c#3]@5 b3@3 a#3@3 [c#3,g#3]@5, ~@5 [c#3,g#3]@5 ~ b3@3 ~@2", // C# C#5
  E: "[c#2,c#3]@5 d#4@3 c#4@3 [c#3,g#3]@5, ~@5 [c#3,g#3]@5 ~ d#4@3 ~@2", F: "[c#2,c#3]@5 [c#3,g#3]@5 ~ [c#3,g#3]@5",
  G: "[b1,b2]@5 [f#3,b3]@5 ~ [f#3,b3]@5", H: "[b1,b2,d#5,b5]@5 [f#3,b3,b4,f#5]@5 ~ [f#3,b3,f#4,d#5]@5",
  I: "[b1,b2,f#4,b4]@5 [f#3,b3,f#4,d#5]@5 ~ [f#3,b3,b4,f#5]@5", J: "[d2,d3,a4,d5,a5]@5 [d3,a3]@5 ~ [d3,a3]@5",
  K: "[d2,d3]@5 [d3,a3]@5 ~ [d3,a3]@5", L: "[f#1,f#2,c#5,a#5]@5 [f#3,a#3,a#4,f#5]@5 ~ [f#3,a#3,f#4,c#5]@5",
  M: "c#6@3 g#5@2 f5@3 c#5@3 g#4@2 c#4@3, [c#2,c#3]@5 [c#3,g#3]@5 ~ [c#3,g#3]@5", // C# C#5
  N: "[f#1,f#2]@5 [f#3,a3]@5 ~ [f#3,a3]@5", // F# F#m
  O: "[[f#1,f#2,c#6]@5 c#6@3 c#6@3 [f#3,a#3]@5 [c#2,c#3]@5 [c#3,g#3,b5]@5 ~ [c#3,g#3,a#5]@5, ~@5 [f#3,a#3]@5 ~ c#6@11 ~@10]/2", // F#5 F# C# C#7 A#m7 F#
  P: "[b1,b2,a#5]@5 [f#3,b3]@5 ~@3 b5@3, ~@5 b5@8 ~@3, ~@11 [f#3,b3]@5", // Bmaj7 B5
  Q: "[b1,b2,d#5]@5 [f#3,b3,b4,f#5]@5 ~ g#5@2 a#5@3, b5@11 [f#3,b3,f#4,d#5]@5", // B B5 B
  R: "[c#2,c#3]@5 ~@3 b5@3 [c#3,g#3,b5]@5, b5 ~, ~@5 [c#3,g#3]@5 ~@6", // C# C#7 C#5
  S: "[c#2,c#3,b5]@5 [c#3,g#3,a#5]@5 ~ [c#3,g#3,g#5]@5", // C#7 A#m7 C#5
  T: "[b1,b2,g#5]@5 [f#3,b3]@5 ~@3 g#5@3, ~@5 f#5@8 ~@3, ~@11 [f#3,b3]@5", // E B5
  U: "[b1,b2,f#4,b4]@5 [f#3,b3,f#4,d#5]@5 ~ d#5@2 f5@3, f#5@11 [f#3,b3,b4,f#5]@5", // B5 B B5
  V: "[d2,d3,a4,d5,f#5,a5]@5 [d3,a3,f#5]@5 ~ [d3,a3,f#5]@5", W: "[d2,d3,f#5]@5 [d3,a3,g#5]@5 ~ [d3,a3,f#5]@5",
  X: "[f#1,f#2,g#5]@5 [f#3,a#3]@5 ~@3 a#5@3, ~@5 a#5@8 ~@3, ~@11 [f#3,a#3]@5", // F#sus2 F#
  Y: "[f#1,f#2,c#5]@5 [f#3,a#3,a#4,f#5]@5 ~ [f#3,a#3,f#4,c#5,a#5]@5, a#5@11 ~@5", // F#5 F#
  Z: "[b1,b2]@5 [f#3,b3]@5 ~ [f#3,b3]@5, b5", AA: "[b1,b2,a#5]@5 [f#3,b3,c#6]@5 ~ [f#3,b3,b5]@5",
  AB: "[c#2,c#3,a#5]@5 [c#3,g#3,g#5]@5 ~ [c#3,g#3,f#5]@5", // F# C#5 C#sus4
  AC: "c#6@3 g#5@2 f5@3 c#5@3 g#4@2 c#4@3, [c#2,c#3,f5]@5 [c#3,g#3,d#5]@5 ~ [c#3,g#3,c#5]@5", AD: "[b1,b2,f#3,b3]/4",
  AE: "[~@4 [f#1,f#2,c#6]@5 c#6@3 c#6@3 [f#3,a#3]@5 [c#2,c#3]@5 [c#3,g#3,b5]@5 ~ [c#3,g#3,a#5]@5 [b1,b2,a#5]@5 [f#3,b3]@5 ~@3 b5@3 [b1,b2,d#5]@5 [f#3,b3,b4,f#5]@5 ~ g#5@2 a#5@3 [c#2,c#3]@5 ~@3 b5@3 [c#3,g#3,b5]@5 [c#2,c#3,b5]@5 [c#3,g#3,a#5]@5 ~ [c#3,g#3,g#5]@5 [b1,b2,g#5]@5 [f#3,b3]@5 ~ [f#3,b3], ~@9 [f#3,a#3]@5 ~ c#6@11 ~@15 b5@8 ~@3 b5@11 ~@5 b5@8 ~@29 f#5@6 ~, ~@47 [f#3,b3]@5 ~@11 [f#3,b3,f#4,d#5]@5 ~@5 [c#3,g#3]@5 ~@34]/7", // F#5 F# C# C#7 A#m7 Bmaj7 B5 B …
  AF: "[~ g#5@3 [b1,b2,f#4,b4]@5 [f#3,b3,f#4,d#5]@5 ~ d#5@2 f5@3 [d2,d3,a4,d5,f#5,a5]@5 [d3,a3,f#5]@5 ~ [d3,a3,f#5]@5 [d2,d3,f#5]@5 [d3,a3,g#5]@5 ~ [d3,a3,f#5]@5 [f#1,f#2,g#5]@5 [f#3,a#3]@5 ~ [f#3,a#3], ~@4 f#5@11 [f#3,b3,b4,f#5]@5 ~@37 a#5@6 ~]/4", // B5 B D F#sus2 F# B5
  AG: "[~ a#5@3 [f#1,f#2,c#5]@5 [f#3,a#3,a#4,f#5]@5 ~ [f#3,a#3,f#4,c#5,a#5]@5 [b1,b2]@5 [f#3,b3]@5 ~ [f#3,b3]@5 [b1,b2,a#5]@5 [f#3,b3,c#6]@5 ~ [f#3,b3,b5]@5 [c#2,c#3,a#5]@5 [c#3,g#3,g#5]@5 ~ [c#3,g#3,f#5]@5 c#6@3 g#5@2 f5@3 c#5@3 g#4@2 c#4@3 [f#1,f#2,c#6]@5 c#6@3 c#6@3 [f#3,a#3]@5 [c#2,c#3]@5 [c#3,g#3,b5]@5 ~ [c#3,g#3,a#5]@5 [b1,b2,a#5]@5 [f#3,b3]@5 ~ [f#3,b3], ~@4 a#5@11 ~@5 b5@16 ~@32 [c#2,c#3,f5]@5 [c#3,g#3,d#5]@5 ~ [c#3,g#3,c#5]@5 ~@5 [f#3,a#3]@5 ~ c#6@11 ~@15 b5@6 ~]/8", // F#5 F# B B5 Bmaj7 F#sus4 B5 F# …
  AH: "[~ b5@3 [b1,b2,d#5]@5 [f#3,b3,b4,f#5]@5 ~ g#5@2 a#5@3 [c#2,c#3]@5 ~@3 b5@3 [c#3,g#3,b5]@5 [c#2,c#3,b5]@5 [c#3,g#3,a#5]@5 ~ [c#3,g#3,g#5]@5 [b1,b2,g#5]@5 [f#3,b3]@5 ~@3 g#5@3 [b1,b2,f#4,b4]@5 [f#3,b3,f#4,d#5]@5 ~ d#5@2 f5@3 [d2,d3,a4,d5,f#5,a5]@5 [d3,a3,f#5]@5 ~ [d3,a3,f#5]@5 [d2,d3,f#5]@5 [d3,a3,g#5]@5 ~ [d3,a3,f#5]@5 [f#1,f#2,g#5]@5 [f#3,a#3]@5 ~ [f#3,a#3], ~@4 b5@11 [f#3,b3,f#4,d#5]@5 b5@8 ~@29 f#5@8 ~@3 f#5@11 ~@42 a#5@6 ~, ~@25 [c#3,g#3]@5 ~@33 [f#3,b3]@5 ~@11 [f#3,b3,b4,f#5]@5 ~@44]/8", // B B5 C# C#7 A#m7 C#5 E B5 …
  AI: "[~ a#5@3 [f#1,f#2,c#5]@5 [f#3,a#3,a#4,f#5]@5 ~ [f#3,a#3,f#4,c#5,a#5]@5 [b1,b2]@5 [f#3,b3]@5 ~ [f#3,b3]@5 [b1,b2,a#5]@5 [f#3,b3,c#6]@5 ~ [f#3,b3,b5]@5 [c#2,c#3,a#5]@5 [c#3,g#3,g#5]@5 ~ [c#3,g#3,f#5]@5 c#6@3 g#5@2 f5@3 c#5@3 g#4@2 c#4@3 ~@12, ~@4 a#5@11 ~@5 b5@16 ~@32 [c#2,c#3,f5]@5 [c#3,g#3,d#5]@5 ~ [c#3,g#3,c#5]@5 ~@12]/6", // F#5 F# B B5 Bmaj7 F#sus4 B5 F# …
})).s("gm_piano").gain(0.3)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@10 A@6 B@5 ~@48 C D C D C E F ~@33 C D C D C E F ~ C D C D C E F ~@17 G D G D G E F ~ C D C D C E F ~@102
>`.pickRestart({
  A: "[~@2 c#5@15 c#5@15]/6", B: "[~ d5@22 c#5@57]/5", C: "~@5 a5@3 a5@3 a5@2 a5@3", D: "b5@3 ~@2 f#5@3 ~@3 g#5@3 ~@2",
  E: "g#5@3 ~@2 f#5@3 ~@3 g#5@3 ~@2", F: "g#5@13 ~@3", G: "~@5 c#6@3 c#6@3 c#6@2 c#6@3",
})).s("gm_piano").gain(0.2)

// other · timpani · "Timbales"
const timpani = note(`<
  ~@4 A@2 B C D@3 ~@2 E@2 ~ F G@2 H I J ~@7 K L M N L@2 O@2 P@2 K@2 M N L Q K L M N L@2 O@2 P@2 K@2 M N L Q J ~ J ~ J
  ~@2 R J ~ J ~ J ~@2 R K L M N L@2 O@2 P@2 K@2 M N L Q K L M N L@2 O@2 P@2 K@2 M N L Q J ~ J ~ J ~@2 R J ~ J ~ J ~@2 R
  S ~ T ~ U ~ T ~ V ~ S ~ T ~ U R J ~ J ~ J ~@2 R J ~ J ~ J ~@2 R K L M N L@2 O@2 P@2 K@2 M N L Q ~@4 W ~ X ~ Y ~ X ~ Z
  ~ W ~ X ~ Y AA@2 ~ X ~ Y ~ X ~ Z ~ W ~ X ~ Y AA@2 ~ X ~ Y ~ X ~ Z ~ W ~ X ~ Y AA@2 ~ X ~ Y ~ X ~ Z ~ W ~ X ~ Y AA@2 ~
  X ~ Y ~ X ~ Z ~ W ~ X ~ Y AB@2
>`.pickRestart({
  A: "[~@9 f#3@2 f#3@15 ~@6]/2", B: "f#3 f#3@7", C: "~@9 f#3@7", D: "[f#3@8 c#3@7 f#2@23 ~@10]/3",
  E: "[~@3 f#2@23 ~@6]/2", F: "~ d2@7 d2@8", G: "[d2@7 e2@15 ~@8 e2!2]/2", H: "~ e2!2 ~ e2!3 ~ e2!2 ~ e2!2 ~ e2!2",
  I: "e2 ~ e2!2 ~ e2!3 ~ e2!2 ~ e2!2 ~ e2", J: "f#2@5 ~@11", K: "~@5 f#4@5 ~ a#4@5", L: "~@5 g#4@5 ~ g#4@5",
  M: "~@5 f#4@5 ~ b4@5", N: "~@5 b4@5 ~ f#4@5", O: "~@5 b3@5 ~ d#4@5", P: "~@5 f#4@5 ~ a4@5", Q: "c#5@5 g#4@5 ~ f4@5",
  R: "c#3@5 c#3@5 ~ c#3@5", S: "f#3@5 ~@11", T: "b2@5 ~@11", U: "c#3@5 ~@11", V: "d3@5 ~@11", W: "~@4 f#3@5 ~@7",
  X: "~@4 b2@5 ~@7", Y: "~@4 c#3@5 ~@7", Z: "~@4 d3@5 ~@7", AA: "[~@4 c#3@5 c#3@5 ~ c#3@5 f#3@5 ~@7]/2",
  AB: "[~@4 c#3@5 c#3@5 ~ c#3@5 ~@12]/2",
})).s("gm_timpani").gain(0.3)
// … 73 more lines