Strudelify

As Time Goes By

Clayderman Richard

KeyF majorTempo92 bpm
0:00/0:00
// As Time Goes By — Clayderman Richard
// 92 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 43 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 · [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.

// bass · acoustic bass
const bass = note("<~ A B C D E F G H I J K@2 L@2 M N O P@2 Q R S@3 T U@4 V W X Y@8 ~@2>".pickRestart({
  A: "g1 c2", B: "g1@23 ~ c2@11 c1@12 ~", C: "f1@21 ~@3 f1@16 ~@4 f1@3 ~", D: "gb1@24 g1@17 ~@7",
  E: "g1@20 ~@4 g1@23 ~", F: "c2@21 ~@3 c2@20 e1@4", G: "f1@23 ~ f1@22 ~@2", H: "f1@22 ~@2 f1@19 ~ gb1@3 ~",
  I: "g1@24 c2@23 ~", J: "g1@24 c2@20 e1@3 ~", K: "[f1@22 ~@2 f1@23 gb1@16 ~@4 gb1@4 g1@18 ~@7]/2",
  L: "[g1@20 ~@4 g1@20 bb1@3 c2@22 ~@3 c2@24]/2", M: "f1@23 ~ bb1@9 ~@3 bb1@12", N: "f1@3 ~ f1@2 a1@2",
  O: "bb1@22 ~@2 bb1@20 db2@3 ~", P: "[d2@28 ~@4 a1@3 ~ d1@11 g1@22 ~@3 g1@19 ~ g1@3 ~]/2", Q: "ab1@8 ~ ab1@3",
  R: "d2 bb1", S: "[g1@20 ~@4 g1@20 ~@3 g1@25 gb1@23 g1@6 ~@3 g1@4 c1@11 d1@12 e1@12 ~]/3",
  T: "g1@12 ~@12 c2@11 c1@12 ~",
  U: "[g1@16 ~@4 g1@3 c2@12 c1@12 f1@22 ~@3 f1@15 ~@5 f1@3 gb1@24 g1@12 c2@12 g1@21 ~@4 g1@19 bb1@4 ~]/4",
  V: "c2@20 ~@3 c2@21 e1@4", W: "f1@23 ~ f1@20 ~@4", X: "f1@19 ~@5 f1@15 ~ gb1@6 ~@2",
  Y: "[g1@24 c2@23 g1@23 ~ c2@23 ~ f1@22 ~@2 f1@18 ~@2 f1@4 gb1@24 g1@19 ~@5 g1@20 ~@4 g1@20 bb1@4 c2@24 gb1@16 ~@4 gb1@4 g1@20 ~@5 c2@23 f1@48 ~]/8",
})).s("gm_acoustic_bass").gain(0.23).pan(0.4)

// other · piano
const piano = note("<~ A B@2 C D E F G H I@3 J K L@2 M N D O P D Q R S@5 E T U@5 V@3 W X ~>".pickRestart({
  A: "[g2,f3]@24 ~@11 c2@12 ~, ~@25 c3@23", B: "[g2@23 ~@12 c2@12 f2@12 ~ c3@12 f2@24, ~@23 c3@24 ~@49]/2",
  C: "gb2@2 ~ c3, ~ g2", D: "g2!2", E: "c3!2", F: "f2 c3", G: "f2@24 ~@11 f2@13, ~ c3",
  H: "~ g2@23 ~@12 c2@12, f3@23 ~ c3@24",
  I: "[g2@23 ~@12 c2@12 f2@13 c3@12 f2@23 gb2@24 ~@13 c3@12, ~@23 c3@25 ~@72 g2@24]/3", J: "g2@23 ~ g2@24",
  K: "c3@13 ~@11 c3@24", L: "[f2@24 bb2@12 bb2@11 f2@24 ~ f2@12 a2@12]/2", M: "bb2!2", N: "~@12 d2@11 ~, d3@17 ~@7",
  O: "ab2!2", P: "d3@24 ~ bb2@23", Q: "g2@12 gb2@11 ~", R: "g2@12 ~@23 e2@11 ~@2, ~@4 c2@5 ~@7, ~@23 d2@22 ~@3",
  S: "[[g2,f3]@23 ~@13 c2@11 g2@24 ~@12 c2@12 f2@13 c3@12 f2@22 ~ gb2@23 ~@13 c3@11 g2@25 g2@24 ~, ~@24 c3@23 ~@25 c3@24 ~@71 g2@23 ~@50]/5", // G7
  T: "~ f2@23 c3@23 ~",
  U: "[f2@24 ~@11 f2@12 ~ g2@24 ~@11 c2@12 g2@24 ~@12 c2@12 ~@13 c3@11 f2@24 gb2@24 ~@12 c3@13, ~@24 c3@23 f3@25 c3@23 ~@24 c3@24 f2@24 ~@48 g2@24 ~]/5",
  V: "[g2@24 g2@23 c3@25 gb2@23 g2@25 c3@23 ~]/3", W: "~@41 c3@7, f2, ~@11 a2@23 ~ a2@13, ~@17 c3@12 c3@12 ~@7, ~ e3",
  X: "f2@37 ~@11",
})).s("gm_piano").gain(0.48)

// chords · piano
const piano_2 = note("<A B C@4 D E F G H@4 I@3 J K L@2 M@4 N@6 O P@5 Q@3 R@2 ~>".pickRestart({
  A: "~@41 a4@6 ~", B: "bb4@7 ~@13 f4@4 ~@17 a4@6 ~, d4@12 ~@4 g4@7 ~ [bb3,e4,g4]@24, ~@7 a4@17 ~@24",
  C: "[[db4,f4,c5]@6 ~@13 g4@3 ~ [e4,g4]@7 ~@11 c5@6 ~@7 e5@6 ~@7 c5@5 ~@12 [f4,a4]@14 ~@10 [eb4,a4]@11 ~ f4@5 ~@12 e5@7 g5@6 ~@14 d5@4 ~@12 f5@12, ~@6 bb4@17 bb4@25 a4@11 ~ ab4@12 ~@47 bb4@25 b4@24 [f4,b4,e5]@24, ~@16 a4@7 ~@24 f5@12 ~@4 d5@9 d5@73 ~@5 f5@18 ~@24, ~@131 e4@14 ~@15 e5@7 ~@25]/4", // Dbmaj7 Em F Ebdim E
  D: "~@18 f4@6 ~ bb3@12 [bb3,e4,g4]@11, c5@25 ~@23, ~@12 bb4@13 ~@23, ~@2 f4 ~ f4@4, ~@13 d4@12 d4@23", // Edim
  E: "~@13 [c4,e4]@13 ~@11 d4@11, a4, ~@3 [c4,f4]", F: "~@17 e4@7 ~@18 a4@6, ~ e4@16 ~@31, ~@3 c4@5 [a3,c4,d4]@8",
  G: "bb4@6 ~@14 f4@4 ~@17 a4@7, d4 [bb3,e4,g4], ~@7 a4@17 ~@24, ~@16 g4@7 ~@25", // Edim
  H: "[[db4,f4,c5]@6 ~@13 g4@4 [e4,g4]@6 ~@12 c5@6 ~ a4@5 ~@14 c5@5 ~@12 f4@13 ~@11 a4@11 ~@18 e5@7 ~@20 d5@4 ~@12 f5@12, ~@6 bb4@17 bb4@26 ~@10 ab4@13 ~@11 a4@14 ~@10 eb4@12 ~ f4@24 g5@7 ~@10 e5@7 ~@24, ~@16 a4@7 ~@24 f5@7 e5@19 ~@46 bb4@26 b4@23 ~@24, ~@63 d5@8 ~ d5@74 ~@4 f5@18 ~@24, ~@66 e4@7 ~@11 [f4,b4,e5]@12]/4", // Dbmaj7 Em E
  I: "[c5@11 ~ [d4,f4]@11 f4@9 ~ f4@8 f4@6 ~@13 [a3,c4]@11 ~ f4@11 [f4,bb4,db5]@12 ~@13 [f4,a4]@12 ~@6 [eb4,g4]@5 d4@3 ~@4 c4@6, ~@11 bb4@12 [bb3,d4]@24 f4@24 bb4@12 ~@12 c5@25 ~@11 f4@12 ~, ~@72 d4@25 ~@23 [f4,a4]@12 ~@5 eb4@7]/3", // Dm Am Bbm F Eb Bb F
  J: "f4@6 ~@11 f4@7 d5@11 d5@12 ~, d4 [f4,bb4], ~@7 g4@18 ~@23", // Bb5
  K: "[c5,d5]@6 ~@14 db5@4 ~@12 [gb4,c5]@11 ~, gb4@25 ~@23, ~ eb5@3 ~@4, ~@17 d5@7 d5@23 ~", // Csus2 Gbdim
  L: "[~@18 g4@6 ~@12 d5@11 d5@7 ~@14 db5@4 ~@12 f4@12, [bb3,d4]@24 d5@12 ~@11 [f4,b4]@25 ~@24, g4@18 ~@6 g4@24 ~@17 d5@7 d5@24, ~@8 a4@17 bb4@23 ~@6 e5@18 ~@11 b4@13]/2", // Bb Fdim
  M: "[~@19 a4@6 f5@11 f5@11 ~ [bb4,db5]@7 e5@10 ~@2 e5@4 ~@12 e5@12 ~@13 d5@12 ~@7 a4@9 a4@6 ~ [e4,bb4]@28 ~@14 a4@4 ~@3, [d4,f4]@25 ~@70 f4@26 ~@71, a4@18 ~@7 [ab4,d5]@23 ~@23 g5@24 d5@13 ~@12 [eb4,gb4]@23 ~@49, ~@9 bb4@16 ~@22 f5@8 ~@10 f5@7 b4@24 bb4@26 ~@21 c5@46 ~@3]/4", // Bbm Edim Dm Abdim Ebm
  N: "[~@19 f4@4 ~ e4@8 ~@9 a4@6 [f4,c5]@7 ~@13 g4@4 ~@18 c5@6 ~@6 e5@7 ~@7 c5@5 ~@11 [f4,a4]@11 ~@14 eb4@11 ~@18 e5@6 g5@7 ~@12 d5@5 ~@13 f5@11 ~@12 f4@6 f4@7 bb3@12 [bb3,e4,g4]@12, [d4,bb4]@24 [bb3,g4]@23 db4@24 ~ [e4,g4]@24 ~@71 [f4,bb4]@24 b4@24 ~ [f4,b4]@24 ~@10 bb4@13 ~@25, ~@7 a4@17 ~@30 bb4@17 bb4@24 ~@16 d5@8 ~ d5@72 ~@6 f5@18 ~@35 d4@13 [d4,f4]@24, ~@16 g4@7 ~@41 a4@7 ~@24 [a4,f5]@13 ab4@12 ~@35 a4@11 ~@13 e4@13 ~@15 e5@8 e5@24 c5@25 ~@24]/6", // F5 F Edim Gm Eb Em Bb5 Fdim …
  O: "~@13 c4@12 ~@11 [c4,d4,f4]@12, ~ a4@47, ~@12 e4@13 ~@23", // Dm7
  P: "[~@17 e4@7 ~@17 a4@6 ~@21 f4@4 ~@17 a4@6 [f4,c5]@7 ~@13 g4@4 ~@18 c5@6 ~@20 c5@4 ~@13 [f4,a4]@14 ~@9 [eb4,a4]@12 ~@18 e5@7, e4@17 ~@7 d4@23 bb4@25 ~@30 bb4@17 ~@31 e5@18 ~@72, ~@9 c4@16 [a3,c4]@23 d4@25 bb3@23 ~@63 d5@8 d5@73, ~@55 a4@18 ~@39 a4@7 ~@24 [a4,f5]@25 ~@58 e4@13 ~, ~@64 g4@8 [e4,g4]@23 db4@24 [e4,g4,bb4]@24 ~@13 ab4@13 ~@46 [f4,bb4]@25]/5", // F5 F Ebdim Am Dm Em Edim Bb5
  Q: "[~@19 d5@4 ~@13 f5@11 c5@12 ~ e4@13 ~@11 eb4@11 ~@12 [d4,f4,bb4]@12 ~@13 [e4,ab4,bb4]@12, [b4,g5]@2 [f4,b4]@2 ~ bb4@3 ~@4, ~@7 f5@17 ~@59 a4@13 ~@48, ~@16 e5@7 e5@25 ~@11 c5@35 ~ c5@24 c5@24 ~]/3", // Bb Bbm7b5 Em Fdim
  R: "[[e4,g4,a4,c5]@85 ~@11]/2", // Am7
})).s("gm_piano").gain(0.48).pan(0.6)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S T U V W X Y J Z AA AB AC AD AE AF AG AH AI AJ AK AL AM@2 ~
>`.pickRestart({
  A: "~@6 [f3,bb3,d4]@5 ~@7 [g3,bb3,e4]@6", B: "~@12 [d4,f4]@14 ~@10 [g3,bb3,e4]@9 ~@3, ~@2 bb3@3 ~@3",
  C: "~@3 [ab3,c4,e4]@3 ~@3 [a3,c4,f4]@2 ~", D: "~@12 [gb3,a3,c4,eb4]@11 ~@13 [g3,bb3,d4]@10 ~@2",
  E: "~@12 [f3,b3,d4]@10 ~@14 [f3,b3,d4]@11 ~", F: "~@6 [f3,bb3,d4]@7 ~@5 [g3,bb3,e4]@5 ~",
  G: "~@12 [a3,c4,e4]@13 ~@11 [a3,c4,d4]@11 ~", H: "~@3 [a3,c4,e4]@3 ~@3 [a3,c4,d4]@2 ~",
  I: "~@6 [f3,d4]@5 ~@7 [g3,bb3,e4]@6, ~@4 bb3@5 ~@7", J: "~@12 [bb3,db4,f4]@13 ~@11 [g3,bb3,e4]@11 ~",
  K: "~@12 [ab3,c4,e4]@11 ~@12 [a3,c4,f4]@10 ~@3", L: "~@12 [gb3,a3,c4]@11 ~@13 g3@9 ~@3, ~@35 [bb3,d4]@10 ~@3",
  M: "~@12 [f3,g3,b3,d4]@13 ~@11 [f3,g3,b3,d4]@11 ~", N: "~@6 [f3,bb3]@6 ~@6 [f3,bb3,d4]@5 ~, ~@11 d4@12 ~@25",
  O: "~@6 [f3,a3,c4]@5 ~@7 [f3,ab3,db4]@6", P: "~@4 [f3,a3,c4]@3 ~@5 [a3,c4,eb4]@4, ~@35 f3@13",
  Q: "~@12 [f3,bb3,d4]@11 ~@13 [f3,bb3,d4]@8 ~@4", R: "~@12 [gb3,a3,c4,d4]@13 ~@11 [a3,c4,d4]@12, ~@35 gb3@13",
  S: "~@12 [g3,bb3,d4]@11 ~@13 [g3,bb3,d4]@6 ~@6", T: "~@12 [ab3,b3,f4]@13 ~@11 [ab3,b3,d4,f4]@11 ~, ~@11 d4@12 ~@25",
  U: "~@12 [a3,d4,f4]@14 ~@10 [ab3,d4,f4]@11 ~", V: "~@12 [f3,bb3,db4]@11 ~@12 [f3,b3,d4]@11 ~@2",
  W: "~@11 [f3,bb3,d4]@8 ~@17 [gb3,a3,c4,eb4]@10 ~@2", X: "~@12 e4@11 d4@13 c4@12, ~@11 bb3@37, ~ g3@3",
  Y: "~ [g3,bb3,d4] ~ [g3,bb3,e4]", Z: "~@11 [ab3,c4,e4]@14 ~@11 [c4,f4]@12, ~@35 a3@13",
  AA: "~@12 [c4,eb4]@13 ~@10 [g3,bb3,d4]@10 ~@3, ~@11 a3@13 ~@24", AB: "~@12 [g3,b3,d4]@19 ~@5 [g3,b3,d4]@12",
  AC: "~@3 f3@3 ~@3 [bb3,e4]@2 ~, ~@11 [bb3,d4]@13 ~@12 g3@5 ~@7", AD: "~@6 [f3,a3,c4,e4]@5 ~@7 [f3,a3,c4,d4]@5 ~",
  AE: "~@12 [f3,a3,c4,e4]@8 ~@16 [f3,a3,c4,d4]@7 ~@5", // Fmaj7 Dm7
  AF: "~@12 bb3@15 ~@9 [g3,bb3,e4]@10 ~@2, ~@11 d4@10 ~@27, ~@3 f3@2 ~@7", // Edim
  AG: "~@4 [bb3,db4,f4]@4 ~@4 g3@3 ~, ~@35 [bb3,e4]@10 ~@3", AH: "~@12 [ab3,c4,e4]@11 ~@12 [a3,c4,f4]@8 ~@5",
  AI: "~@11 [a3,c4,eb4]@11 ~@14 g3@10 ~@2, ~@35 [bb3,d4]@11 ~@2", AJ: "~@11 [f3,b3,d4]@8 ~@17 [f3,b3,d4]@9 ~@3",
  AK: "~@12 [g3,bb3,e4]@9 ~@14 [a3,c4,eb4]@13", AL: "~@11 [f3,g3,bb3,d4]@12 ~@13 [e3,ab3,c4]@10 ~@2",
  AM: "[~@18 e4@6 f4@47 e4@2 ~ f4@3 e4@13 ~@6, f3@91 ~@5, ~@5 a3@85 ~@6, ~@11 c4@79 ~@6]/2",
})).s("gm_electric_guitar_jazz").gain(0.13).pan(0.8)

// chords · string ensemble 2
const string_ensemble_2 = note("<A@7 B@5 C@4 D E@5 F@5 G@8 H@3 I@4 ~>".pickRestart({
  A: "[~@47 d5@24 e5@24 f5@23 g5@25 a5@11 ab5@24 a5@22 ~@2 a5@13 bb5@24 b5@23 ~ b5@24 c6@24 c5@23 ~@2]/7",
  B: "[~ c5@70 f5@12 e5@11 ~ d5@24 e5@23 f5@24 g5@23 a5@13 ab5@13 a5@25]/5",
  C: "[~@10 a5@13 bb5@24 b5@47 bb5@25 f5@11 d5@12 f5@49 ~]/4", D: "[f5,a5]@28 ~ [eb5,g5]@6 [d5,f5]@5 ~ c5@7, ~@5 eb5",
  E: "[[d5,f5,f6]@10 bb5@12 f6@12 bb5@12 a6@13 d6@11 a6@12 d6@12 d5@7 ~ e5@11 gb5@11 ~ g5@7 a5@5 bb5@6 b5@6 f6@12 e6@6 g6@12 f6@12 a5@6 f6@6 e6@6 d6@7 bb6@24]/5", // Dm
  F: "[~@5 bb6@19 g6@12 a6@10 bb6@12 a6@6 g6@7 ~ gb6@23 g6@24 ~ e6@12 c6@11 d5@24 ~@12 bb4@12 ~@11 f5@12 ~@12 e5@12 a5@2, ~@167 e5@28 ~@19 g5@24 ~@2, ~@191 db5@28 ~@21]/5",
  G: "[~@10 ab5@12 ~@13 f5@11 ~@11 a5@13 f5@11 e5@13 g5@24 f5@21 ~@3 [d5,f5]@21 ~@3 [d5,f5]@12 [bb4,e5,g5]@13 e5@24 ~ f5@22 e5@25 a4@24 ~@11 f5@12 ~@13 e5@11 ~@12 f5@12 g5@12 e5@12 a5@2, ~@22 a5@33 ~@15 bb5@24 b5@49 ~@72 d5@25 ~@23 d5@21 ~@3 d5@28 ~@19 db5@24 ~@26, ~@47 eb5@23 ~@71 bb5@25 ~@25 c5@96 ~@23 g5@31 ~@43]/8", // Dm Edim
  H: "[~@11 c5@11 ~@2 a5@22 ~@12 a5@12 f5@11 e5@13 g5@24 f5@23 ~@3, ~@10 ab5@12 f5@25 eb5@23 bb5@24 b5@49 ~]/3",
  I: "[[c5,bb5]@23 ~ a5@22 ~ f5@24 ~ ab5@20 ~@2 g5@37 ~@13 c5@48, ~@23 eb5@23 bb5@24 ~ [e5,b5]@22 ~ e5@98, ~@47 a5@11 ~@38, ~@94 c6@9 ~@89]/4", // C7 E5
})).s("gm_string_ensemble_2").gain(0.25).pan(0)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  ~ A B C B D A B C B E A B F B D A B F B D A B F B@2 A B F B@2 A B F B@2 A B F B ~@3
>`.pickRestart({
  A: "~@11 x ~@23 x ~@12", B: "~@12 x ~@22 x ~@12", C: "~@11 x ~@25 x ~@10", D: "~@13 x ~@21 x ~@12",
  E: "~@13 x ~@22 x ~@11", F: "~@11 x ~@24 x ~@11",
})).gain(0.15)

// drums · ride
const ride = s("rd").struct(`<
  ~ A B@2 C D E D F B G B H I J K L M N O P O Q R S T U V W X Y Z O AA AB AC AD AE AF@2 AG AH ~
>`.pickRestart({
  A: "~@3 x", B: "x!4", C: "~@3 x ~@2 x ~@2 x ~ x", D: "x ~@2 x ~@2 x ~@2 x ~ x",
  E: "x ~@11 x ~@7 x ~@3 x ~@7 x ~@3 x ~@6 x ~@4", F: "x ~@2 x ~ x!2 ~@2 x ~@2", G: "x ~@11 x ~@11 x ~@10 x ~@12",
  H: "x ~@2 x ~@2 x ~ x ~@3", I: "x ~@11 x ~@7 x ~@3 x ~@6 x ~@16", J: "x ~@11 x ~@7 x ~@3 x ~@6 x ~@11 x ~@3 x",
  K: "~@12 x ~@11 x ~@11 x ~@6 x ~@4", L: "x ~@10 x ~@12 x ~@11 x ~@11", M: "x ~@2 x ~@2 x ~@4 x",
  N: "x ~ x ~@2 x!2 ~ x!2 ~ x", O: "x ~@2 x ~ x!2 ~ x!2 ~ x", P: "x ~@11 x ~@7 x ~@3 x ~@6 x ~@11 x ~@4",
  Q: "x ~@11 x ~@7 x ~@3 x ~@6 x ~@3 x ~@7 x ~@4", R: "x ~@11 x ~@7 x ~@3 x ~@10 x ~@7 x ~@3 x",
  S: "~@11 x ~@11 x ~@7 x ~@3 x ~@11 x", T: "~@11 x ~@7 x ~@3 x ~@11 x ~@7 x ~@3 x",
  U: "~@12 x ~@6 x ~@3 x ~@11 x ~@7 x ~@4", V: "x ~@10 x ~@7 x ~@4 x ~@10 x ~@7 x ~@3 x",
  W: "~@12 x ~@6 x ~@4 x ~@10 x ~@7 x ~@3 x", X: "~@11 x ~@7 x ~@3 x ~@7 x ~@3 x ~@7 x ~@4",
  Y: "x ~@7 x ~@3 x ~@11 x ~@7 x ~@3 x ~@3 x ~@2 x ~@4", Z: "x ~@11 x ~@6 x ~@4 x ~@11 x ~@11",
  AA: "x ~@11 x ~@6 x ~@4 x ~@11 x ~@7 x ~@3", AB: "x ~@6 x ~@4 x ~@6 x ~@3 x ~@11 x ~@7 x ~@3 x",
  AC: "~@11 x ~@7 x ~@3 x ~@7 x ~@4 x ~@6 x ~@3 x", AD: "~@7 x ~@4 x ~@6 x ~@3 x ~@7 x ~@3 x ~@7 x ~@3 x",
  AE: "~@11 x ~@12 x ~@11 x ~@11", AF: "x ~@10 x ~@11 x ~@11 x ~@12", AG: "x ~@26 x!15 ~ x!4 ~",
  AH: "x!2 ~ x!2 ~ x!2 ~@7 x ~@32",
})).gain(0.17)

// drums · ride · soft notes
const ride_soft = s("rd").struct("<~ A B@2 C D ~ E F G H I J K ~ L M N O ~ P ~@3 L ~@5 L Q ~@8 R S ~>".pickRestart({
  A: "x ~@2 x ~@2 x ~@4 x", B: "~@11 x", C: "x ~@4 x ~@6", D: "~@5 x ~@6", E: "~@2 x ~@2 x ~@6", F: "~@8 x ~@2 x",
  G: "~@5 x ~@5 x", H: "~@20 x ~@18 x ~@3 x ~@4", I: "~@19 x ~@24 x ~@3", J: "~@5 x ~@3 x ~ x", K: "~@9 x ~ x",
  L: "~@19 x ~@28", M: "~@5 x ~ x", N: "~@5 x ~@2 x!2 ~@2", O: "~ x ~@2", P: "~@3 x", Q: "~ x ~@10",
  R: "~@8 x ~@3 x ~ x ~@2 x!2 ~ x!2 ~ x!2 ~ x ~@21", S: "~@8 x ~ x!4 ~@2 x ~ x!2 ~ x ~ x ~@24",
})).gain(0.1)

// drums · splash
const splash = s("cr").struct("<~@24 [~@43 x ~@4] ~@17 x>").gain(0.19)

stack(bass, piano, piano_2, electric_guitar_jazz, string_ensemble_2, pedal_hat, ride, ride_soft, splash)

More by Clayderman Richard