Strudelify

Runaway (Tin Tin Out remix)

The Corrs

KeyF majorTempo80 bpm
0:00/0:00
// Runaway (Tin Tin Out remix) — The Corrs
// 80 bpm, 6/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 8 "guitar" named as a guitar, played on electric guitar clean (its harpsichord patch is not one)
// note: Full arrangement: all 112 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar.
setcpm(80/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.

// bass · electric bass finger · "bass"
const bass = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W V W X Y Z AA AB AC AD AE AF AG AH AI AJ Q AK AL AM AN AO AP T AQ AR AS
  AT AS AU AV X AW AX AY AZ AW BA BB BC BD BE BF BG BH BI BJ T AQ BK BL BM U BN BO BP BQ BR U BS U X BT BU BQ X BV BW BQ
  X BX BY BZ CA CB CC BQ CD CE BY BZ CA CB CC BQ CD CE CF CG@2
>`.pickRestart({
  A: "f1@5 ~ f1@5 ~ f1@11 ~", B: "f1@5 ~ f1@4 ~@2 f1@10 c2@2", C: "f2@6 f1@4 ~@2 f1@11 ~", D: "f1@5 ~ f1@4 ~@2 f1@12",
  E: "f1@5 ~ f1@2 ~@2 f1 ~ g1@11 ~", F: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@10 ~@2", G: "f1@5 ~ f1 ~@3 f1 ~ g1@9 ~ a1@2",
  H: "bb1@6 bb1 ~@3 bb1 ~ c2@9 ~@3", I: "f1@6 f1@4 f1 ~ g1@11 ~", J: "bb1@10 bb1 ~ c2@10 ~@2",
  K: "a1@5 ~ a1@2 ~@2 a1 ~ g1@11 ~", L: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@9 ~@3", M: "d2@2 d2@3 ~ d2@3 ~ d2@4 ~@6 d2 ~@3",
  N: "bb1@5 ~ bb1@2 ~@2 bb1@5 ~@7 bb1 ~", O: "g1@4 ~@2 g1@3 ~ g1@5 ~@5 g1 ~@3", P: "c2@4 ~@2 c2@2 ~@2 c2@5 ~@9",
  Q: "d2@5 ~ d2@3 ~ d2@5 ~@7 a1@2", R: "bb1@4 ~@2 bb1@3 ~ bb1@5 ~@5 d2@2 f2@2", S: "g2@6 g1@4 g1@4 ~@8 g1 ~",
  T: "c2@5 ~ c2@2 ~@2 c2 ~ bb1@5 ~ bb1@3 ~@3", U: "f1@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ a1@2",
  V: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ e2@2", W: "f2@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ a1@2",
  X: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ c2 ~", Y: "a1@5 ~ a1@2 ~@2 a1 ~ g1@5 ~ g1@2 ~@2 a1 ~",
  Z: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@3 ~ c2 ~", AA: "f1@12 g1@9 ~ a1@2", AB: "bb1@9 ~ bb1 ~ c2@9 ~@3",
  AC: "f1@5 ~ f1@3 ~ f1 ~ g1@10 a1 ~", AD: "bb1@6 bb1@3 ~ bb1 ~ c2@9 ~@3", AE: "f1@6 f1@3 ~ f1 ~ g1@9 ~ a1 ~",
  AF: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@8 f2@4", AG: "f1@5 ~ f1@2 ~@2 f1 ~ g1@9 ~ a1 ~", AH: "bb1@5 ~ bb1 ~@3 bb1 ~ c2@9 ~@3",
  AI: "a1@6 a1 ~@3 a1 ~ g1@10 a1 ~", AJ: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@9 ~@3", AK: "bb1@5 ~ bb1@3 ~ bb1@4 ~@10",
  AL: "g1@5 ~ g1@2 ~@2 g1@4 ~@8 g1 ~", AM: "c2@4 ~@2 c2@3 ~ c2@4 ~@6 c2@2 db2@2",
  AN: "d2@4 ~@2 d2@3 ~ d2@4 ~@4 a1@2 d2@2 a1@2", AO: "bb1@5 ~ bb1@3 ~ bb1@4 ~@6 d2@2 f2@2",
  AP: "g2@5 ~ g1@2 ~@2 g1@4 ~@8 g1 ~", AQ: "f1@5 ~ f1@2 ~@2 f1 ~ g1@5 ~ g1@5 ~",
  AR: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@4 ~@2 c2@3 ~ f2 ~", AS: "f1@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ g1 ~",
  AT: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@5 ~", AU: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@4 ~@2 c2@5 ~",
  AV: "a1@5 ~ a1@4 a1 ~ g1@5 ~ g1@3 ~ a1 ~", AW: "f1@23 ~", AX: "g1@22 a1 ~", AY: "bb1", AZ: "c2@7 ~ e2@3 c2",
  BA: "g1@11 a1", BB: "bb1@3 ~ bb1@20", BC: "c2@11 ~", BD: "d2@5 ~ d2@2 ~@2 d2@5 ~@5 d2 ~@3",
  BE: "bb1@5 ~ bb1@2 ~@2 bb1@5 ~@9", BF: "g1@4 ~@2 g1@3 ~ g1@5 ~@9", BG: "c2@5 ~ c2@2 ~@2 c2@5 ~ e2@8",
  BH: "d2@5 ~ d2@3 ~ d2@4 ~@6 d2 ~@3", BI: "bb1@5 ~ bb1@2 ~@2 bb1@4 ~@6 d2@2 f2@2", BJ: "g2@3 g1 ~ g1@2 ~@3 g1 bb1",
  BK: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@4 ~@2", BL: "f1@5 ~ f1@2 ~@2 f1 ~ g1@5 ~ g1@3 ~ a1@2",
  BM: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@3 ~ f2 ~", BN: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@4 ~@2",
  BO: "a1@5 ~ a1@3 ~ a1 ~ g1@5 ~ g1@2 ~@2 g1 ~", BP: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@4 f2@6 c2@2",
  BQ: "f1@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ a1 ~", BR: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@3 ~@3",
  BS: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ f2 ~", BT: "a1@5 ~ a1@3 ~ a1 ~ g1@5 ~ g1@3 ~ a1 ~",
  BU: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@3 ~ c2@3 ~ c2@3 ~", BV: "d2@5 ~ d2@3 ~ d2 ~ g1@5 ~ g1@3 ~ a1@2",
  BW: "bb1 ~ bb1 ~ bb1 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ c2 ~", BX: "d2@5 ~ d2@3 ~ d2 ~ g1@4 ~@2 g1@3 ~ a1 ~",
  BY: "bb1@3 ~ bb1 ~ bb1@3 ~ bb1 ~ c2@3 ~ c2 ~ c2@3 ~ c2 ~", BZ: "f1@4 ~@2 f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ a1 ~",
  CA: "bb1@4 ~@2 bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ c2 ~", CB: "d2@4 ~@2 d2@3 ~ d2 ~ g1@5 ~ g1@3 ~ a1@2",
  CC: "bb1@4 ~@2 bb1@3 ~ bb1 ~ c2@4 f2@6 c2 ~", CD: "bb1@4 ~@2 bb1@3 ~ bb1 ~ c2@4 ~@2 c2@3 ~ c2 ~",
  CE: "d2@4 ~@2 d2@3 ~ d2 ~ g1@4 ~@2 g1@3 ~ a1@2", CF: "bb1@3 ~ bb1 ~ bb1@3 ~ bb1 ~ c2@3 ~ c2@2 c2 ~ c2@4", CG: "f1/2",
})).s("gm_electric_bass_finger").gain(0.29)

// chords · piano
const piano = note(`<
  A@4 B@8 C@8 D@8 E@2 B@8 C@8 D@8 F@2 G@2 F@2 H@2 C@8 D@16 I@2 J@2 I@2 J@2 I@2 J@2 I@2 J@2 I@2 J@2 I@2 J@2 K@2
>`.pickRestart({
  A: "[a3 bb3 a3 bb3 a3 bb3 a3 bb3, [f3,c4]]/4", // F5
  B: "[[f3,a3] g3 ~@2 a3 g3 ~@2 a3 g3 ~@2 a3 g3 f3@2, c4, ~ bb3@3 ~ bb3@3 ~ bb3@3 ~ bb3@3, ~@2 f3@3 ~ f3@3 ~ f3@3 ~@3]/8", // F
  C: "[[a3,c4]@2 ~@4 e4@2 a3@2 ~@4 e4 f4, [d4,f4]@3 c4@2 bb3@3, ~ bb3@3 [d4,f4]@3 c4, ~ g3 ~ g3]/8", // Am Dm
  D: "[[f3,a3,c4] g3 f3 g3 [f3,a3] [g3,d4] f3 g3 [f3,a3] g3 f3 g3 [f3,a3] g3 f3 [g3,c4], ~ bb3@3 ~ bb3@3 ~ bb3@3 ~ bb3@3, ~ d4@2 c4@2 ~ c4@3 d4@2 c4@2 d4@2 ~]/8", // F G5 F C5
  E: "[[f3,a3] g3 f3@2, c4, ~ bb3@3]/2", F: "[[f2,f3,a3] [g2,g3,bb3], c4]/2",
  G: "[[bb2,a3,d4]@2 ~ e3, f3@3 ~, ~ [c3,bb3,c4]]/2", H: "[[bb2,a3,d4]@6 ~@5 e3, f3@11 ~, ~ [c3,bb3,c4]]/2",
  I: "[[f3,a3,c4] [g3,b3] f3 [g3,c4], ~ d4@2 ~, ~ bb3]/2", J: "[[f3,a3] [g3,b3] [f3,bb3] [g3,bb3,c4], d4@3 ~]/2",
  K: "[f3,a3,c4]/2", // F
})).s("gm_piano").gain(0.29)

// other · string ensemble 2 · "sting haunting melow sustain"
const string_ensemble_2 = note(`<
  ~@28 A@2 ~@12 B@2 C@2 D@2 E@3 F@3 G@2 H@6 ~@4 I@2 ~@10 J@2 K@2 L@4 M@2 N@2 M@2 N@2 O P O Q R@2 O S T@2 O U O V W@2 X@2
>`.pickRestart({
  A: "c4/2", B: "[a3@23 bb3@25]/2", C: "[d4@23 e4@13 f4@12]/2", D: "[c5@39 f5@4 e5@5]/2",
  E: "[c5@39 f5@4 e5@4 f5@13 g5@12]/3", F: "[f5@11 c6@36 f5@12 ~ e5@11 ~, ~@59 g5@12 ~]/3", G: "[f5@3 g5]/2",
  H: "[[f5,a5]@23 f5@12 e5@12 ~@36 g5@13 [f5,a5]@24 f5@12 e5@12, ~@47 f5@36 ~@61, ~ c6@2]/6", I: "[[f4,a4]@47 ~]/2",
  J: "[c6@39 f6@5 e6@4]/2", K: "[c6@3 bb5]/2", L: "[c6@36 f6@7 e6@4 f6@13 g6@11 f6@12 ~ e6@12]/4", M: "[f6@3 g6]/2",
  N: "[f6@3 e6]/2", O: "f6", P: "~@4 f6@2 e6@2 f6@3 ~ f6@2 e6@2 f6@2 e6@2 f6@2 g6@2",
  Q: "~@3 f6@2 ~@2 f6@3 ~@2 f6@2 e6@2 ~ e6@2 ~ f6@2 g6@2, ~@3 e6 ~@4 f6 ~@3",
  R: "[f6@27 ~ f6@2 e6@2 f6@3 ~ f6@2 e6@2 f6@2 e6@2 f6@2 g6@2]/2",
  S: "~@3 f6@2 e6@2 f6@3 ~ f6@3 e6@2 f6@2 ~ f6@2 g6@2 ~, ~@9 e6 ~@2",
  T: "[f6@27 f6@2 ~ e6@2 f6@3 ~ f6@2 e6@2 f6@2 e6@2 f6@2 g6@2]/2",
  U: "~@3 f6@2 e6@2 ~ f6@2 ~ f6@2 ~ e6@2 f6@2 e6@2 f6@2 g6@2",
  V: "~@3 f6@2 ~@2 f6@3 ~ f6@2 e6@2 f6@2 e6@2 f6@2 ~ g6@2, ~@3 e6 ~@8", W: "[f6@35 e6@12 ~]/2", X: "f6/2",
})).s("gm_string_ensemble_2").gain(0.37)

// other · violin
const violin = note(`<
  A@2 B@2 C ~@7 D@3 E F G H I J ~@7 K@2 L ~@27 A@2 B@2 M ~@23 N@2 O@2 N@2 O@2 N@2 O@2 N@2 O@2 N@2 O@2 N@2 O@2 P@2
>`.pickRestart({
  A: "[a4@4 c5@3 ~ c5@2 a4@2 bb4@2 a4@2 g4@2 f4@9 ~ f4@2 e4@2 f4@3 ~ f4@2 e4@2 f4@2 e4@2 f4@2 g4@2]/2",
  B: "[a4@4 c5@3 ~ c5@2 a4@2 bb4@2 a4@2 g4@2 f4@14 d5@4 c5@6 bb4 c5 bb4@2 a4@2, ~@32 c5 ~@15]/2", C: "f4",
  D: "[a3@24 bb3@23 ~ bb3@24, f4]/3", E: "e4@10 d4 e4, c4", F: "f4@18 g4 ~ g4@2 a4@2, a3, ~@19 a4@2 ~@3",
  G: "~ bb4@23, bb3", H: "[bb3,f4]", I: "e4@3 f4@2 g4, c4", J: "f4@13 ~@11",
  K: "[f5@4 c5@3 ~ c5@2 a4@2 bb4@2 a4@2 g4@2 f4@14 d5@3 ~ c5@6 bb4 c5 bb4@2 a4@2, ~@32 c5 ~@15]/2", L: "f4@23 ~",
  M: "a4", N: "[a4@4 c5@3 ~ c5@2 a4@2 b4@2 a4@2 g4@2 f4@9 ~ f4@2 e4@2 f4@3 ~ f4@2 e4@2 f4@2 e4@2 f4@2 g4@2]/2",
  O: "[a4@4 c5@3 ~ c5@2 a4@2 b4@2 a4@2 ~ f4@15 d5@4 c5@6 bb4 bb4@2 ~ a4@2, ~@16 g4@2 ~@14 c5 ~@10 c5 ~@4]/2", P: "f4/2",
})).s("gm_violin").gain(0.42).pan(0.6)

// other · pizzicato strings · "pizzicatto"
const pizzicato_strings = note("<~@38 A B C D C B C E ~@16 F G H I F G H J ~@42>".pickRestart({
  A: "a4@2 ~@10 f4 ~@11", B: "bb4 ~@11 f4 ~@11", C: "a4 ~@11 f4 ~@11", D: "c5 ~@11 g5 ~@11", E: "c5 ~@11 f4 ~@11",
  F: "a4 ~@5 d4 ~@5 c5 ~@11", G: "bb4 ~@5 d5 ~@5 f5 ~@11", H: "g4 ~@5 d5 ~@5 f5 ~@11", I: "c5@2 ~@4 e5 ~@5 g5 ~@11",
  J: "c5 ~@5 e5 ~@5 f5 ~@11",
})).s("gm_pizzicato_strings").gain(0.29).pan(0.4)

// chords · acoustic guitar steel · "guitar"
const acoustic_guitar_steel = note(`<
  A B@3 C D C D C D C D E F G H I F G J K L K L K L K M K L C D C D C D C D E F G H I F G J K L K L K L K M N O P Q R O
  P S E F G H I F G J K T K L K L K M K T K L K L K M U V W V U V W V U V W V U V W V U V W V U V W X Y@2
>`.pickRestart({
  A: "f4@2 [f3,a3,c4] [f3,a3,c4,f4]!3 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4", // F Fsus4
  B: "[f3,a3,c4,f4]@2 [f3,a3,c4] [f3,a3,c4,f4]!3 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4", // F Fsus4
  C: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!3 [f3,a3,c4] [g3,bb3,c4]@2 [g3,bb3,c4,f4]!4, ~@5 f4@3 ~@4", // F C7 Gm7
  D: "[f3,bb3,c4,f4]@2 [f3,bb3,c4]!4 [f3,bb3,c4,f4]@2 [f3,bb3,c4] [f3,bb3,c4,f4]!3, ~ f4 ~@2", // Fsus4
  E: "[f3,a3,d4,f4]@2 [f3,a3,d4] [f3,a3,d4,f4]!3 [f3,a3,d4,f4]@2 [f3,a3,d4] [f3,a3,d4,f4]!3", // Dm
  F: "[f3,bb3,d4,f4]@2 [f3,bb3,d4] [f3,bb3,d4,f4]!3 [f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4", // Bb
  G: "[g3,bb3,d4,f4]@2 [g3,bb3,d4,f4]!4 [g3,bb3,d4,f4]@2 [g3,bb3,d4,f4]!4", // Gm7
  H: "[g3,c4,e4,g4]@2 [g3,c4,e4,g4]!4 [g3,c4,e4,g4]@2 [g3,c4,e4,g4]!4", // C
  I: "[f3,a3,c4,f4]@2 [f3,a3,c4] [f3,a3,c4,f4]!2 [f3,a3,d4,f4] [f3,a3,d4,f4]@2 [f3,a3,d4] [f3,a3,d4,f4]!3", // F Dm
  J: "[g3,c4,e4,g4]@2 [g3,c4,e4,g4]!4 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4", // C Fsus4
  K: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!3 [f3,a3,c4] [g3,bb3,c4]@2 [g3,bb3,c4,f4] [g3,bb3,c4]!2 [g3,bb3,c4,f4], ~@10 f4@5 ~@3 f4@4 ~@2", // F C7 Gm7 C7 Gm7
  L: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [bb3,c4,f4]@2 [f3,bb3,f4] [f3,bb3,c4,f4]!3, ~@4 f3 ~@3", // Bb Bbsus2 Bb5 Fsus4
  M: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [bb3,c4,e4]@2 [g3,bb3,e4] [g3,bb3,c4,e4]!3, ~@4 g3 ~@3", // Bb C7 Edim C7
  N: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f3,a3,c4] [f3,a3,c4,f4]!2", // F
  O: "[g3,bb3,c4,f4]@2 [g3,bb3,c4,f4]!4 [g3,bb3,c4,f4]@2 [g3,bb3,c4,f4]!4", // Gm7
  P: "[f3,a3,d4,f4]@2 [f3,a3,d4,f4]!4 [f3,a3,d4,f4]@2 [f3,a3,d4,f4]!4", // Dm
  Q: "[f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4 [g3,bb3,c4,e4]@2 [g3,bb3,c4,e4]!4", // Fsus4 C7
  R: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]!4", // F
  S: "[f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!2 [g3,bb3,c4,e4]@2", // Fsus4 C7
  T: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [bb3,c4,f4]@2 [g3,bb3,f4] [g3,bb3,c4,f4]!3, ~@4 g3 ~@3", // Bb Bbsus2 Gm7
  U: "[f3,a3,c4,f4]@2 [f3,a3,c4] [f3,a3,c4,f4]!3 [g3,b3,d4,f4]@2 [g3,b3,d4,f4]!4", // F G7
  V: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [g3,bb3,c4,e4]@2 [g3,bb3,c4,e4]!4", // Bb C7
  W: "[f3,a3,d4,f4]@2 [f3,a3,d4,f4]!4 [g3,b3,d4,f4]@2 [g3,b3,d4,f4]!4", // Dm G7
  X: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [g3,bb3,c4,e4]@2 [g3,bb3,c4,e4]!2 [g3,bb3,c4,e4]@2", Y: "[f3,a3,c4,f4]/2",
})).s("gm_acoustic_guitar_steel").gain(0.09).pan(0.7)

// chords · electric guitar clean · "guitar"
const electric_guitar_clean = note(`<
  A B@3 C ~ C ~ C ~ C ~@4 D E ~@2 F G H G H G H G I J H C ~ C ~ C ~ C ~@4 D E ~@2 F G H G H G H G I ~@2 K ~@3 K ~@4 D E
  ~@2 F G H G H G H G I G H G H G H G I ~@26
>`.pickRestart({
  A: "[a3,c4,a4]@2 ~@4 g4@2 g4!4", B: "~@6 g4@2 g4!4", C: "~@3 f4@2 ~", D: "bb4@2 bb4!4 bb4@3 bb4!3", E: "d4@3 d4 ~@8",
  F: "bb4@2 bb4!4 ~@6", G: "~@6 [d4,f4]@2 d4!2 [d4,f4] d4", H: "~@8 c4 ~@3", I: "~@6 f4@2 [c4,f4] f4!3",
  J: "~@6 f4@2 ~@2 f4 ~", K: "bb3@3 bb3!3 bb3@3 bb3!3",
})).s("gm_electric_guitar_clean").gain(0.08).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A C A B A C A B A C A B A C A B A C A B A C D ~
>`.pickRestart({
  A: "x ~@2 x ~ x ~@4 x ~", B: "x ~@2 x ~ x ~@6", C: "x ~ x!2 ~ x", D: "x",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct("<A@15 B A@3 B A@57 B A@11 C A@2 B C A@3 C A@2 B C A@3 C A@2 B C ~@2>".pickRestart({
  A: "~ x", B: "~@6 x ~@4 x", C: "~ x ~ x",
})).gain(0.35)

// drums · pedal hat
const pedal_hat = s("hh").struct("<[x!6]!66 [x ~ x ~ x ~ x ~ x!2 ~@2] [x!6]!42 [x!5 ~] ~@2>").gain(0.3)

// drums · open hat
const open_hat = s("oh").struct("<~@66 [~@5 x] ~@42 [~@5 x] ~@2>").gain(0.3)

// drums · splash
const splash = s("cr").struct(`<
  A ~@11 A ~@7 A ~@3 A ~@3 A ~@9 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@7 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~ A B C ~@3 A
  ~@3 A ~
>`.pickRestart({
  A: "x", B: "~@11 x", C: "~ x",
})).gain(0.45)

// drums · splash · soft notes
const splash_soft = s("cr").struct("<~@79 A ~@18 A ~@3 B ~@3 A ~@5>".pickRestart({
  A: "~ x", B: "x",
})).gain(0.3)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<[x!12]!110 ~@2>").gain(1.26)

stack(
  bass, piano, string_ensemble_2, violin, pizzicato_strings, acoustic_guitar_steel, electric_guitar_clean, kick, snare,
  pedal_hat, open_hat, splash, splash_soft, cabasa
)

More by The Corrs