Strudelify

Ik droom alleen maar van jou

Robert Leroy

KeyE♭ minorTempo130 bpm
0:00/0:00
// Ik droom alleen maar van jou — Robert Leroy
// 130 bpm, 4/4, key D# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 106 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/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 · piano · "A.PIANO 2"
const piano = note(`<
  A B C D E F G@2 H@2 I J K L M N H@2 I J O P Q R S T U A V F W D S T U A F D X F W D H@2 I J K L M N H@2 I J O P Q R S
  T U A V F W D S T U A F D Y Z AA AB X F W D S T U A F D X V AC AD AE AF AG AH V AI AC AD AE AF AH AI AJ AH V AK
>`.pickRestart({
  A: "[eb3,bb3,db4,gb4]", B: "[ab2,b3,eb4,gb4]", C: "[f2,b3,eb4,ab4]", D: "[bb2,bb3,d4,f4]", E: "[b2,gb3,bb3,eb4]",
  F: "[ab2,gb3,b3,eb4]", G: "[[f3,bb3,d4] [bb3,d4,f4], bb2]/2",
  H: "[[eb3,gb3,bb3,eb4]@25 ~ [eb3,gb3,bb3,eb4]@2 ~ [eb3,gb3,bb3,eb4]@2 ~]/2", I: "[eb3,g3,bb3,db4,eb4]@15 ~",
  J: "[ab2,eb3,gb3,b3]@9 ~ [ab2,eb3,gb3,b3]@2 ~ [ab2,eb3,gb3,b3]@2 ~", K: "[f3,ab3,b3,db4]", L: "[gb3,bb3,eb4]@15 ~",
  M: "[gb3,b3,eb4]@15 ~", N: "[f3,bb3,d4]@15 ~", O: "[f3,ab3,b3,db4]@15 ~",
  P: "[gb3,bb3,db4]@8 ~@2 [gb3,bb3,db4]@2 ~ [gb3,bb3,db4]@2 ~", Q: "[f3,bb3,d4]@3 ~", R: "[bb3,d4,f4]@3 ~",
  S: "[ab2,gb3,b3,gb4]", T: "[db3,ab3,b3,f4]", U: "[gb2,bb3,db4,gb4]", V: "[b2,gb3,b3,eb4]", W: "[bb2,f3,bb3,d4]",
  X: "[eb3,gb3,bb3,eb4]", Y: "[eb3,bb3,eb4,gb4]@15 ~", Z: "[ab2,b3,eb4,gb4]@15 ~", AA: "[ab2,b3,eb4,gb4,ab4]@15 ~",
  AB: "[bb2,eb4,f4,bb4]@7 ~ [bb2,d4,f4,bb4]@7 ~", AC: "[a2,g3,c4,g4]", AD: "[d3,a3,c4,gb4]", AE: "[g2,b3,d4,g4]",
  AF: "[e3,b3,d4,g4]", AG: "[c3,g3,c4,e4]", AH: "[a2,g3,c4,e4]", AI: "[b2,b3,eb4,gb4]", AJ: "[e3,g3,b3,e4]",
  AK: "[e1,g3,e4]@3 ~@13, b3", // Em
})).s("gm_piano").gain(0.22)

// bass · electric bass pick · "PICK BASS"
const bass = note(`<
  A B C D E B D@2 F@2 G H I G J K F@2 G H I L M K N O P Q R S M T N O P G S U V B D@2 F@2 G H I G J K F@2 G H I L M K N
  O P Q R S M T N O P G S U A B@2 D V B D@2 N O P G S U F W X Y Z AA AB X AC@2 AD AE AF AG AH R AI AJ E AK
>`.pickRestart({
  A: "eb2@2 eb2 ~ eb2@2 eb2 ~ eb2@2 eb2 ~ eb2@2 eb2 ~", B: "ab1@2 ab1 ~ ab1@2 ab1 ~ ab1@2 ab1 ~ ab1@2 ab1 ~",
  C: "f1@2 f1 ~ f1@2 f1 ~ f1@2 f1 ~ f1@2 f1 ~", D: "bb1@2 bb1 ~ bb1@2 bb1 ~ bb1@2 bb1 ~ bb1@2 bb1 ~",
  E: "b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~ b1@2 b1 ~", F: "eb2!2 bb1 db2 eb2!2 bb1 db2", G: "eb2!2 bb1 db2 eb2!2 bb1 eb2",
  H: "ab2!2 eb2 gb2 ab2!2 eb2 ab2", I: "db2!2 ab1 b1 db2!2 ab1 db2", J: "ab1!2 eb1 gb1 ab1!2 eb1 ab1",
  K: "bb1!2 f1 ab1 bb1!2 f1 bb1", L: "gb2!2 db2 eb2 gb2!2 db2 gb2", M: "bb1!2 f1 ab1 bb1!2 f1 ab1",
  N: "ab2!2 eb2 gb2 ab2!2 eb2 d2", O: "db2!2 ab1 bb1 db2!2 eb1 f1", P: "gb1!2 bb1 db2 gb2!2 db2 d2",
  Q: "eb2!2 bb1 db2 eb2!3 db2", R: "b1!2 gb1 ab1 b1!2 gb1 b1", S: "ab1!2 eb1 f1 ab1!2 eb1 ab1",
  T: "bb1!2 f1 ab1 bb1!3 a1", U: "bb1!2 f1 g1 bb1!2 f1 bb1", V: "eb1@2 eb1 ~ eb1@2 eb1 ~ eb1@2 eb1 ~ eb1@2 eb1 ~",
  W: "b1!2 gb1 a1 b1!2 gb1 b1", X: "a1", Y: "d2", Z: "g1", AA: "e1", AB: "c2", AC: "b1 b2!2 b1!2 b2!2 b1",
  AD: "a2!2 e2 g2 a2!2 e2 eb2", AE: "d2!2 a1 b1 d2!2 e1 gb1", AF: "g1!2 b1 d2 g2!2 d2 eb2", AG: "e2!2 b1 d2 e2!2 b1 e2",
  AH: "a1!2 e1 gb1 a1!2 e1 a1", AI: "e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~ e1@2 e1 ~",
  AJ: "a1@2 a1 ~ a1@2 a1 ~ a1@2 a1 ~ a1@2 a1 ~", AK: "e1 ~@7",
})).s("gm_electric_bass_pick").gain(0.56)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  A B C D E B D@2 A@2 F B G A B D A@2 F H G I D@2 B J I A K B D@2 B J I A L D M N O@2 A@2 F B G A B D A@2 F H G I D@2 B
  J I A K B D@2 B J I A L D ~@4 M N O@2 ~ J I A L D M P ~@6 Q@2 R S T U V Q W X P Y
>`.pickRestart({
  A: "[bb3,eb4,gb4,bb4]@3 [bb3,eb4,gb4,bb4] [bb3,eb4,gb4] ~ [bb3,eb4,gb4,bb4] ~@2 [eb4,gb4,bb4] [bb3,eb4,gb4,bb4] ~ [bb3,eb4,gb4,bb4] [eb4,gb4,bb4]@2 ~", // Ebm
  B: "[ab3,b3,eb4,gb4,ab4]@3 [b3,eb4,gb4,ab4] [b3,eb4,gb4] ~ [ab3,b3,eb4,gb4,ab4] ~@2 [b3,eb4,gb4,ab4] [ab3,b3,eb4,gb4,ab4] ~ [ab3,b3,eb4,gb4,ab4] [b3,eb4,gb4,ab4]@2 ~, ~@3 ab3@3 ~@10", // Abm7 B Abm7
  C: "[f3,b3,eb4,ab4]@3 [b3,eb4,ab4] [b3,eb4] ~ [f3,b3,eb4,ab4] ~@2 [b3,eb4,ab4] [f3,b3,eb4,ab4] ~ [f3,b3,eb4,ab4] [b3,eb4,ab4]@2 ~, ~@3 f3@3 ~@10", // Fm7b5 Abm B Fm7b5 Abm Fm7b5 Abm
  D: "[bb3,d4,f4,bb4]@3 [bb3,d4,f4,bb4] [bb3,d4,f4] ~ [bb3,d4,f4,bb4] ~@2 [d4,f4,bb4] [bb3,d4,f4,bb4] ~ [bb3,d4,f4,bb4] [d4,f4,bb4]@2 ~", // Bb
  E: "[b3,eb4,gb4,bb4]@3 [b3,eb4,gb4,bb4] [b3,eb4,gb4] ~ [b3,eb4,gb4,bb4] ~@2 [b3,eb4,gb4,bb4]!2 ~ [b3,eb4,gb4,bb4] [b3,eb4,gb4,bb4]@2 ~", // Bmaj7 B Bmaj7
  F: "[bb3,eb4,g4,bb4]@3 [bb3,eb4,g4,bb4] [bb3,eb4,g4] ~ [bb3,eb4,g4,bb4] ~@2 [eb4,g4,bb4] [bb3,eb4,g4,bb4] ~ [bb3,eb4,g4,bb4] [eb4,g4,bb4]@2 ~", // Eb
  G: "[ab3,db4,f4,ab4]@3 [db4,f4,ab4] [db4,f4] ~ [ab3,db4,f4,ab4] ~@2 [db4,f4,ab4] [ab3,db4,f4,ab4] ~ [ab3,db4,f4,ab4] [db4,f4,ab4]@2 ~, ~@3 ab3@3 ~@10", // Db
  H: "[ab3,b3,eb4,ab4]@3 [b3,eb4,ab4] [b3,eb4] ~ [ab3,b3,eb4,ab4] ~@2 [b3,eb4,ab4] [ab3,b3,eb4,ab4] ~ [ab3,b3,eb4,ab4] [b3,eb4,ab4]@2 ~, ~@3 ab3@3 ~@10", // Abm B Abm
  I: "[gb3,db4,gb4,bb4]@3 [gb3,db4,gb4,bb4] [gb3,db4,gb4] ~ [gb3,db4,gb4,bb4] ~@2 [db4,gb4,bb4] [gb3,db4,gb4,bb4] ~ [gb3,db4,gb4,bb4] [db4,gb4,bb4]@2 ~", // Gb Gb5 Gb
  J: "[ab3,b3,db4,f4,ab4]@3 [b3,db4,f4,ab4] [b3,db4,f4] ~ [ab3,b3,db4,f4,ab4] ~@2 [b3,db4,f4,ab4] [ab3,b3,db4,f4,ab4] ~ [ab3,b3,db4,f4,ab4] [b3,db4,f4,ab4]@2 ~, ~@3 ab3@3 ~@10", // Db7
  K: "[b3,eb4,gb4,b4]@3 [b3,eb4,gb4,b4] [b3,eb4,gb4] ~ [b3,eb4,gb4,b4] ~@2 [b3,eb4,gb4,b4]!2 ~ [b3,eb4,gb4,b4] [b3,eb4,gb4,b4]@2 ~", // B
  L: "[ab3,eb4,gb4,b4]@3 [ab3,eb4,gb4,b4] [ab3,eb4,gb4] ~ [ab3,eb4,gb4,b4] ~@2 [ab3,eb4,gb4,b4]!2 ~ [ab3,eb4,gb4,b4] [ab3,eb4,gb4,b4]@2 ~", // Abm7 Ab7 Abm7
  M: "~ [eb4,gb4,bb4] [bb3,eb4,gb4,bb4] ~ [bb3,eb4,gb4,bb4] [eb4,gb4,bb4]@2 ~ [bb3,eb4,gb4,bb4]@3 [bb3,eb4,gb4,bb4] [bb3,eb4,gb4] ~ [bb3,eb4,gb4,bb4] ~", // Ebm
  N: "~ [eb4,gb4,ab4] [b3,eb4,gb4,ab4] ~ [b3,eb4,gb4,ab4] [eb4,gb4,ab4]@2 ~ [b3,eb4,gb4,ab4]@3 [b3,eb4,gb4,ab4] [b3,eb4,gb4] ~ [b3,eb4,gb4,ab4] ~", // Ab7 Abm7 Ab7 Abm7 B Abm7
  O: "~ [d4,f4,bb4] [bb3,d4,f4,bb4] ~ [bb3,d4,f4,bb4] [d4,f4,bb4]@2 ~ [bb3,d4,f4,bb4]@3 [bb3,d4,f4,bb4] [bb3,d4,f4] ~ [bb3,d4,f4,bb4] ~", // Bb
  P: "~ [eb4,gb4,b4] [b3,eb4,gb4,b4] ~ [b3,eb4,gb4,b4] [eb4,gb4,b4]@2 ~ [b3,eb4,gb4,b4]@3 [b3,eb4,gb4,b4] [b3,eb4,gb4] ~ [b3,eb4,gb4,b4] ~", // B
  Q: "[b3,eb4,gb4,b4]@3 [b3,eb4,gb4,b4] [b3,eb4,gb4] ~ [b3,eb4,gb4,b4] ~@2 [eb4,gb4,b4] [b3,eb4,gb4,b4] ~ [b3,eb4,gb4,b4] [eb4,gb4,b4]@2 ~", // B
  R: "[a3,c4,e4,g4,a4]@3 [c4,e4,g4,a4] [c4,e4,g4] ~ [a3,c4,e4,g4,a4] ~@2 [c4,e4,g4,a4] [a3,c4,e4,g4,a4] ~ [a3,c4,e4,g4,a4] [c4,e4,g4,a4]@2 ~, ~@3 a3@3 ~@10", // Am7 C Am7
  S: "[a3,c4,d4,gb4,a4]@3 [c4,d4,gb4,a4] [c4,d4,gb4] ~ [a3,c4,d4,gb4,a4] ~@2 [c4,d4,gb4,a4] [a3,c4,d4,gb4,a4] ~ [a3,c4,d4,gb4,a4] [c4,d4,gb4,a4]@2 ~, ~@3 a3@3 ~@10", // D7
  T: "[g3,d4,g4,b4]@3 [g3,d4,g4,b4] [g3,d4,g4] ~ [g3,d4,g4,b4] ~@2 [d4,g4,b4] [g3,d4,g4,b4] ~ [g3,d4,g4,b4] [d4,g4,b4]@2 ~", // G G5 G
  U: "[b3,e4,g4,b4]@3 [b3,e4,g4,b4] [b3,e4,g4] ~ [b3,e4,g4,b4] ~@2 [e4,g4,b4] [b3,e4,g4,b4] ~ [b3,e4,g4,b4] [e4,g4,b4]@2 ~", // Em
  V: "[a3,e4,g4,c5]@3 [a3,e4,g4,c5] [a3,e4,g4] ~ [a3,e4,g4,c5] ~@2 [a3,e4,g4,c5]!2 ~ [a3,e4,g4,c5] [a3,e4,g4,c5]@2 ~", // Am7 A7 Am7
  W: "~ [e4,g4,b4] [b3,e4,g4,b4] ~ [b3,e4,g4,b4] [e4,g4,b4]@2 ~ [b3,e4,g4,b4]@3 [b3,e4,g4,b4] [b3,e4,g4] ~ [b3,e4,g4,b4] ~", // Em
  X: "~ [e4,g4,a4] [c4,e4,g4,a4] ~ [c4,e4,g4,a4] [e4,g4,a4]@2 ~ [c4,e4,g4,a4]@3 [c4,e4,g4,a4] [c4,e4,g4] ~ [c4,e4,g4,a4] ~", // A7 Am7 A7 Am7 C Am7
  Y: "[b3,e4,g4], b4@3 ~@13", // Em
})).s("gm_electric_guitar_clean").gain(0.17).pan(0.2)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  A B C D E B D@2 A@2 F B G A B D A@2 F H G I D@2 B G I A J B D@2 B G I A J D K L M@2 A@2 F B G A B D A@2 F H G I D@2 B
  G I A J B D@2 B G I A J D ~@4 K L M@2 ~ G I A J D K N ~@6 O@2 P Q R S T O U V N ~
>`.pickRestart({
  A: "~@5 [gb4,bb4] ~@3 bb3 ~@3 bb3@2 ~", B: "~@5 [gb4,ab4] ~@3 ab3 ~@3 ab3@2 ~", C: "~@5 ab4 ~@3 f3 ~@3 f3@2 ~",
  D: "~@5 [f4,bb4] ~@3 bb3 ~@3 bb3@2 ~", E: "~@5 [gb4,bb4] ~@10", F: "~@5 [g4,bb4] ~@3 bb3 ~@3 bb3@2 ~",
  G: "~@5 [f4,ab4] ~@3 ab3 ~@3 ab3@2 ~", H: "~@5 ab4 ~@3 ab3 ~@3 ab3@2 ~", I: "~@5 [gb4,bb4] ~@3 gb3 ~@3 gb3@2 ~",
  J: "~@5 [gb4,b4] ~@10", K: "~ bb3 ~@3 bb3@2 ~@6 [gb4,bb4] ~@2", L: "~ b3 ~@3 b3@2 ~@6 [gb4,ab4] ~@2",
  M: "~ bb3 ~@3 bb3@2 ~@6 [f4,bb4] ~@2", N: "~ b3 ~@3 b3@2 ~@6 [gb4,b4] ~@2", O: "~@5 [gb4,b4] ~@3 b3 ~@3 b3@2 ~",
  P: "~@5 [g4,a4] ~@3 a3 ~@3 a3@2 ~", Q: "~@5 [gb4,a4] ~@3 a3 ~@3 a3@2 ~", R: "~@5 [g4,b4] ~@3 g3 ~@3 g3@2 ~",
  S: "~@5 [g4,b4] ~@3 b3 ~@3 b3@2 ~", T: "~@5 [g4,c5] ~@10", U: "~ b3 ~@3 b3@2 ~@6 [g4,b4] ~@2",
  V: "~ c4 ~@3 c4@2 ~@6 [g4,a4] ~@2", // Gsus2
})).s("gm_electric_guitar_clean").gain(0.11).pan(0.2)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A B C D E F G@2 ~@5 H I J K@2 L M N O N P Q R S T U@2 V W Q R S X Y Z AA AB@3 ~@5 H I J K@2 L M N O N P Q R S T U@2 V
  W Q R S X Y Z AC AD AE AF AA AG@3 AH@5 Z AI AJ AK AL AM AN AO@2 AP AQ AK AL AM AR AS AT AU AV@2 AW
>`.pickRestart({
  A: "[bb3,eb4,gb4]", B: "[b3,eb4,gb4]", C: "[b3,eb4,ab4]",
  D: "~@9 [eb4,eb5] f5 [gb4,gb5] [ab4,ab5] [bb4,bb5] [b4,b5] [db5,db6], [bb3,d4,f4]", // Eb Gb Ab Bb B Db Bb
  E: "[eb5,eb6]@7 [db5,db6], [bb3,eb4,gb4]", F: "[ab4,b4,b5]@12 bb4 ~ [gb4,ab5] ~, [b3,eb4], ~@13 [ab4,bb5]@2 ~",
  G: "[[bb3,d4], [f4,f5]@7 ~]/2", H: "gb4@2 f4 eb4 bb3@2 [db4,bb4]@2", I: "[eb4,b4]@3 [db4,bb4] [b3,ab4]@2 [eb4,gb4]@2",
  J: "f4@8 bb4@7 ~, d4@15 ~", K: "[[gb4,gb5]@31 ~]/2", L: "[g4,g5]", M: "[ab4,ab5]@15 ~", N: "[f4,f5]@15 ~",
  O: "[gb4,gb5]@7 ~ [db4,db5]@7 ~", P: "[bb4,bb5]@5 [eb5,eb6]!2 [db5,db6]",
  Q: "[eb5,eb6]@5 [db5,db6] [b4,b5] [bb4,bb5], [ab3,b3,eb4]", R: "[ab4,ab5]@6 [bb4,bb5] [b4,b5], [ab3,db4,f4]",
  S: "[db5,db6]@4 [eb5,eb6] [db5,db6] [bb4,bb5] [ab4,ab5], [bb3,db4,gb4]", T: "[gb3,bb3,eb4,gb4,gb5]",
  U: "[[gb3,b3,eb4] [ab3,b3,eb4], [eb5,eb6]]/2", V: "[d5,d6] [f5,f6], [f3,bb3,d4]",
  W: "[bb5,bb6]@5 [eb5,eb6]!2 [db5,db6], [bb3,d4,f4]", X: "[gb4,gb5]@3 [db5,db6], [gb3,bb3,eb4]",
  Y: "[b4,b5]@3 [eb5,eb6], [ab3,b3,eb4]", Z: "[d5,d6] [f5,f6], [ab3,d4,f4]",
  AA: "[eb5,eb6]@13 ~ [db5,db6]@2, [gb3,bb3,eb4]", // Eb Db Ebm
  AB: "[[b4,b5]@13 bb5 ab4 gb5 [f4,f5]@8 [bb4,bb5]@8 [f5,f6]@8 [bb5,bb6]@7 ~, [ab3,b3,eb4] [f3,bb3,d4]@2, ~@13 bb4@2 gb4@2 ~@31, ~@7 ab5 ~@16]/3", // B F Bb F Bb Abm Bb
  AC: "[bb4,eb5,gb5] ~@3 [bb4,eb5,gb5] ~@3 [bb4,eb5,gb5] ~@3 gb5 f5 ~@2, ~@6 [bb4,eb5] ~", // Ebm Eb5
  AD: "[b4,eb5,gb5] ~@3 [b4,eb5,gb5] ~@3 [b4,eb5,gb5] ~@3 gb5 f5 ~@2, ~@12 [b4,eb5]@3 ~", // B
  AE: "[b4,eb5,gb5] ~@3 [b4,eb5,gb5] ~@3 [b4,eb5,gb5] ~@3 gb5 f5 ~@2, ~@6 [b4,eb5] ~", // B
  AF: "[f4,bb4,eb5] ~@3 [f4,bb4,eb5] ~@3 [f4,bb4,eb5] [eb4,eb5] f5 [gb4,gb5] [f4,ab4,bb4,d5,ab5] [bb4,bb5] [b4,b5] [db5,db6]", // Ebsus2 Eb Gb Bb7 Bb B Db
  AG: "[[b4,b5]@13 bb5 ab4 gb5 [f4,f5]@8 [bb4,bb5]@8 [f5,f6]@8 ~@2 [eb5,eb6]@2 [eb5,eb6]@2 [db5,db6]@2, [ab3,b3,eb4] [f3,bb3,d4]@2, ~@13 bb4@2 gb4@2 ~@31, ~@14 ab5@2 ~@24 [bb5,bb6]@7 ~]/3", // B F Bb F Eb Db Abm Bb
  AH: "[[eb5,eb6]@10 [db5,db6]@2 [b4,b5]@2 ~@2 [ab4,ab5]@11 [bb4,bb5]@2 ~@3 db6@8 [eb5,eb6]@2 [db5,db6]@2 [bb4,bb5]@2 ~@2 [gb4,gb5]@12 [db5,db6]@3 ~ [b4,b5]@12 [eb5,eb6]@4, [ab3,b3,eb4]@15 [ab3,f4]@15 b5@2 ~@15 eb4@16 eb4@16 ~, ~@7 [bb4,bb5] db4@8 [bb3,db4,gb4]@8 [gb3,bb3]@8 [ab3,b3]@8, ~@29 b4@2 db5@8 ~@7 [ab4,ab5]@2 ~@32]/5", // Eb Db B Ab Bb Eb Db Bb …
  AI: "[gb3,bb3,eb4,eb5,eb6]", AJ: "[gb3,b3,eb4,eb5,eb6]@4 ~ [e5,e6]!2 [d5,d6]",
  AK: "[e5,e6]@5 [d5,d6] [c5,c6] [b4,b5], [a3,c4,e4]", AL: "[a4,a5]@6 [b4,b5] [c5,c6], [a3,d4,gb4]",
  AM: "[d5,d6]@4 [e5,e6] [d5,d6] [b4,b5] [a4,a5], [b3,d4,g4]", AN: "[g3,b3,e4,g4,g5]",
  AO: "[[g3,c4,e4] [a3,c4,e4], [e5,e6]]/2", AP: "[eb5,eb6] [gb5,gb6], [gb3,b3,eb4]",
  AQ: "[b5,b6]@5 [e5,e6]!2 [d5,d6], [b3,eb4,gb4]", AR: "[g4,g5]@3 [d5,d6], [g3,b3,e4]",
  AS: "[c5,c6]@3 [e5,e6], [a3,c4,e4]", AT: "[eb5,eb6] [gb5,gb6], [a3,eb4,gb4]",
  AU: "[e5,e6]@13 ~ [d5,d6]@2, [g3,b3,e4]", // E D Em
  AV: "[[c5,c6]@13 b5 a4 g5 [gb4,gb5]@8 [b4,b5]@3 ~ [eb5,eb6]@3 ~, [a3,c4,e4] [gb3,b3,eb4], ~@13 b4@2 g4@2 ~@15, ~@7 a5 ~@8]/2", // C Gb B Eb Am B
  AW: "[e2,e4,g4,b4,e5,e6] ~@15, b3", // Em
})).s("gm_string_ensemble_1").gain(0.29)

// chords · brass section · "+BRASS 2"
const brass_section = note(`<
  A B ~ C ~@3 D ~@5 E ~ F ~ G ~ H ~@2 I J K L M N ~@2 O P K L M N ~@5 Q ~@5 E ~ F ~ G ~ H ~@2 I J K L M N ~@2 O P K L M
  N ~@9 Q K L M N ~@12 R S T U ~@5 V
>`.pickRestart({
  A: "~@10 [eb4,eb5]!2 ~ [eb4,eb5]!2 ~", B: "~@10 [eb4,eb5]!2 ~ [eb4,eb5] [b3,b4] ~",
  C: "~@6 [bb3,bb4]!2 ~ [bb3,bb4]!2 ~ [bb3,bb4]@2 [bb3,bb4] ~", // Bb
  D: "~@4 [bb4,bb5]!2 ~@2 [bb4,bb5]!2 ~@2 [bb4,bb5]!2 ~@2", E: "~@10 [bb3,bb4] ~ [bb3,bb4]!2 ~@2",
  F: "~@2 [f4,f5] ~@2 [f4,f5] ~@2 [f4,f5]!2 ~@6", G: "~@7 [eb4,eb5] [ab4,ab5] [gb4,gb5] ~ [gb4,gb5] ~@4",
  H: "~@8 [eb4,eb5] [gb4,gb5] [ab4,ab5] ~ [eb4,eb5] [gb4,gb5] [ab4,ab5] ~", // Eb Gb Ab Eb Gb Ab
  I: "~@2 [bb3,bb4] ~@2 [bb3,bb4] ~@2 [bb3,bb4] ~@3 [bb3,bb4]!2 ~@2", // Bb
  J: "~@2 [bb3,f4,bb4,f5] ~@2 [bb3,f4,bb4,f5] ~@2 [bb3,f4,bb4,f5] ~@3 [bb3,f4,bb4,f5]!2 ~@2", // Bb5
  K: "~@2 [eb4,gb4,ab4,b4] ~ [eb4,gb4,ab4,b4]!2 ~ [eb4,gb4,ab4,b4] ~@8", // Abm7
  L: "~@2 [f4,ab4,b4,db5] ~ [f4,ab4,b4,db5]!2 ~ [f4,ab4,b4,db5] ~@8", // Db7
  M: "~@2 [gb4,bb4,db5] ~ [gb4,bb4,db5]!2 ~ [gb4,bb4,db5] ~@8", // Gb
  N: "~@2 [gb4,bb4,db5,eb5] ~ [gb4,bb4,db5,eb5]!2 ~ [gb4,bb4,db5,eb5] ~@8", // Ebm7
  O: "~@2 [d4,f4,ab4,bb4] ~@2 [d4,f4,ab4,bb4] ~@4 [f4,ab4,bb4,d5] ~ [f4,ab4,bb4,d5]!2 ~@2", // Bb7
  P: "~@2 [bb4,bb5] ~@2 [bb4,bb5] ~@2 [bb4,bb5] ~@7", // Bb
  Q: "[bb4,bb5]!2 ~@2 [bb4,bb5]!2 ~@2 [bb4,bb5]!2 ~@2 [bb4,bb5]!2 ~@2", // Bb
  R: "~@2 [e4,g4,a4,c5] ~ [e4,g4,a4,c5]!2 ~ [e4,g4,a4,c5] ~@8", // Am7
  S: "~@2 [gb4,a4,c5,d5] ~ [gb4,a4,c5,d5]!2 ~ [gb4,a4,c5,d5] ~@8", T: "~@2 [g4,b4,d5] ~ [g4,b4,d5]!2 ~ [g4,b4,d5] ~@8",
  U: "~@2 [g4,b4,d5,e5] ~ [g4,b4,d5,e5]!2 ~ [g4,b4,d5,e5] ~@8", V: "[b4,b5] ~@15",
})).s("gm_brass_section").gain(0.21).pan(0.6)

// other · distortion guitar · "+FEEDBCKGT"
const distortion_guitar = note("<A B C D E F G@2 ~@30 E F G@2 ~@33 H E F G@2 ~@22 I J K L>".pickRestart({
  A: "~@3 bb4 gb5@3 bb4", B: "b4 gb5@3", C: "f5 e5 ~@6 ab5@3 eb5@3 ab5@2", D: "ab5@14 g5 ~", E: "[eb5,eb6]@7 [db5,db6]",
  F: "[b4,b5]@13 [bb4,bb5] [ab4,ab5] [gb4,gb5]", G: "[f4@14 eb4 [eb4,f4] d4@16, f5]/2",
  H: "~@9 eb4 f4 gb4 ab4 bb4 b4 db5", I: "[e5,e6]@7 [d5,d6]", J: "[c5,c6]@13 [b4,b5] [a4,a5] [g4,g5]",
  K: "[gb4,gb5]@8 [b4,b5]@3 [db5,db6] [eb5,eb6]@2 [b4,b5] [eb5,eb6]", L: "[e5,e6] ~@7",
})).s("gm_distortion_guitar").gain(0.5).pan(0.4)

// other · distortion guitar · "+FEEDBCKGT" · soft notes
const distortion_guitar_soft = note("<~@2 [~ [c5,db5,d5] bb4 ~@13] [~@15 [d5,eb5,e5,gb5]] ~@102>")
  .s("gm_distortion_guitar").gain(0.2).pan(0.4)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@8 A B C D E F G H I B@2 J K L H M ~@18 A B C D E F G H I B@2 J K L H M ~@14 N O P Q N O P Q ~@26
>`.pickRestart({
  A: "~@2 eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3!2 ~@2 eb3!2", B: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3!2 ~@2 eb3!2",
  C: "eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3 ~ eb3!2 ~@2 eb3 ~", D: "ab3 ~ ab3 ~ ab3 ~@2 ab3 ~@2 ab3!2 ~@2 ab3!2",
  E: "db3 ~@3 db3 ~ db3 ~ db3 ~ db3!2 ~@2 db3!2", F: "eb3 ~@3 eb3 ~ eb3 ~ eb3 ~ eb3!2 ~@2 eb3!2",
  G: "ab3 ~ ab3 ~ ab3 ~ ab3!2 ~@2 ab3!2 ~@2 ab3!2", H: "bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3!2 ~@2 bb3!2",
  I: "~@4 eb3 ~ eb3 ~ eb3 ~@2 eb3 ~@2 eb3!2", J: "ab3 ~@3 ab3 ~@3 ab3 ~ ab3!2 ~@2 ab3!2",
  K: "db3 ~ db3 ~ db3 ~@2 db3 ~@2 db3!2 ~@2 db3!2", L: "gb3 ~ gb3 ~ gb3 ~@2 gb3 ~@2 gb3!2 ~@2 gb3!2",
  M: "bb3 ~ bb3!3 ~ bb3!3 ~ bb3!2 ~@2 bb3!2", N: "~@2 eb3 ~ eb3!2 ~@2 eb3 ~@2 eb3 ~@2 eb3!2",
  O: "eb3 ~ eb3 ~ eb3!2 ~@2 eb3 ~@2 eb3 ~@2 eb3!2", P: "~@2 eb3 ~ eb3!2 ~@2 eb3 ~ eb3!2 ~@2 eb3!2",
  Q: "~@2 eb3 ~ eb3!2 ~@2 eb3 ~ eb3!3 ~ d3 eb3",
})).s("gm_electric_guitar_muted").gain(0.27).pan(0.6)

// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
  ~@9 A ~ B C D ~@2 E ~@2 F G H ~@21 A ~ B C D ~@2 E ~@2 F G H ~@16 I J K L I J K L ~@26
>`.pickRestart({
  A: "~@12 eb3 ~@3", B: "~@6 ab3 ~@9", C: "~@2 db3 ~@13", D: "~@2 eb3 ~@13", E: "~@2 eb3 ~@7 eb3 ~@5",
  F: "~@2 ab3 ~@3 ab3 ~@9", G: "~@6 db3 ~@9", H: "~@6 gb3 ~@9", I: "eb3 ~@5 eb3 ~@3 eb3 ~ eb3 ~@3",
  J: "~@6 eb3 ~@3 eb3 ~ eb3 ~@3", K: "eb3 ~@5 eb3 ~@5 eb3 ~@3", L: "eb3 ~@5 eb3 ~@9",
})).s("gm_electric_guitar_muted").gain(0.17).pan(0.6)

// drums · clap
const clap = s("cp").struct("<~@24 A@14 ~@20 A@14 ~@8 A@6 ~@8 A@8 ~@4>".pickRestart({
  A: "~ x ~ x",
})).gain(0.57)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@3 A ~@3 A ~@7 B ~@6 C D ~@7 E ~@9 B ~@7 B ~@6 C D ~@7 E ~@9 B ~@3 B ~@7 C ~@7 E ~@8 F ~
>`.pickRestart({
  A: "~@12 x ~ x!2", B: "~@15 x", C: "~@7 x", D: "~@12 x ~@2 x", E: "~@14 x!2", F: "~@13 x!2 ~",
})).gain(0.64)
// … 66 more lines