Strudelify
No Matter What cover art

No Matter What

Boyzone

KeyA majorTempo93 bpm
0:00/0:00
// No Matter What — Boyzone
// 93 bpm, 2/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: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 8 "tk8" acoustic guitar nylon (copy of ch 9 "tk9" acoustic guitar nylon, 0.25 beats late)
// note: Full arrangement: all 211 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(93/2)

// 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, A@4 for four bars: edit a riff to change every repeat.

// chords · epiano1 · "tk1"
const epiano1 = note(`<
  ~@49 A@8 B C@2 D@5 E@3 ~@2 F@2 G@4 H@4 I@3 ~@3 F@2 G@4 H@4 I@3 J@6 B C@2 K@6 ~@4 L@2 M@4 N@4 O@3 ~@3 L@2 M@4 N@4 O@3
  P@6 Q R@2 S@6 ~ P@6 T U@7 V@2 W@4 X Y@3 Z@7 AA@5 AB@4 AC@6 ~@2
>`.pickRestart({
  A: "[~@4 [e4,c#5]@4 [d4,b4]@4 [c#4,a4]@32 ~@4 g4@28 c#4@3 ~ [d4,f#4]@44 ~@4, ~@44 c#4@31 ~@53, ~@48 a3@77 ~@3]/8", // C#m G F#m D
  B: "[a3,d4,f#4]@6 ~@2 [a3,c#4,e4]@7 ~", C: "[[b3,d4,f#4]@29 ~@3]/2",
  D: "[a3@12 g#3@20 a3@12 [g#3,b3]@19 ~ [a3,c#4]@11 ~@5, e4@15 ~, b3@33 ~@47]/5", // G#m A
  E: "[~ [e4,c#5] [d4,b4] [c#4,a4]@9]/3", F: "[c#4,a4]/2", G: "[~ f#4, [d4,b4]]/4", H: "[a4@12 g#4@19 ~, e4@15 ~]/2",
  I: "[[c#4,e4,a4]@19 ~ [e4,c#5]@4 [d4,b4]@4 [c#4,a4]@13 ~@7]/3", // A C#m G F#m
  J: "[~@16 g4@28 c#4@3 ~ [d4,f#4]@44 ~@4, ~@12 c#4@31 ~@53, ~@16 a3@77 ~@3]/6", // D
  K: "[a3@12 g#3@20 a3@12 [g#3,b3]@19 ~ [a3,c#4]@32, e4, b3@11 ~@21]/6", L: "[e4,c5]/2", M: "[~ a4, [f4,d5]]/4",
  N: "[c5@12 b4@19 ~, g4@15 ~]/2", O: "[[e4,g4,c5]@19 ~ [g4,e5]@4 [f4,d5]@4 [e4,c5]@13 ~@7]/3",
  P: "[~@16 a#4@28 e4@3 ~ [f4,a4]@44 ~@4, ~@12 e4@31 ~@53, ~@16 c4@77 ~@3]/6", Q: "[c4,f4,a4]@6 ~@2 [c4,e4,g4]@7 ~",
  R: "[[d4,f4,a4]@29 ~@3]/2", S: "[c4@12 b3@20 c4@12 [b3,d4]@19 ~ [c4,e4]@32, g4, d4@11 ~@21]/6",
  T: "[c4,f4,a4]@7 ~@2 [c4,e4,g4]@7", U: "[~@2 [d4,f4,a4]@32 ~@3 [b3,d4,g4]@35 [g3,c4,f4,a4]@34 ~@4 g3@2]/7",
  V: "[~@5 e4@2 ~@4 g3@2 [a2,a3,c4]@3, ~@2 c4@11 ~ d4@12 ~@6, ~@3 g3@8 ~@5, ~@9 c4@4 ~@3]/2", // Am
  W: "[~@2 a3@4 ~@16 g3@4 ~@28 g4@3 ~ [a3,g4,c5,e5]@6, ~@6 [g2,d4]@19 ~ c3@31 ~@7, ~@6 b3@12 b3@7 ~@5 g4@8 g4@12 c5@8 ~@6, ~@7 g3@4 ~@6 c5@4 [c4,e5]@8 ~@3, ~@23 d5@6 ~@3]/4", // Am7 G5 C
  X: "~ g4@2 [g3,b4,d5]@4 g4, ~@6 g4@7 ~@3", // G
  Y: "[~@6 g3@4 ~@28 c4@3 ~ [a3,e4,a4,c5]@6, ~@2 b4@8 [c3,e4]@31 ~@7, ~@7 c4@8 c4@4 ~@5, ~@11 g4@10 ~@3, ~@17 c5@4 ~@3]/3", // Am C
  Z: "[~@6 d4@8 ~@8 g3@4 ~@28 c4@4 [a3,c5,e5]@12 ~@8 g4@4 b4@4 g3@4 ~@4 g4@7 ~@5 e5@4 d5@2, ~@3 [g4,b4]@10 g4@4 g4@17 ~@17 g4@5, ~@6 g3@16 ~@4 [c3,e5]@31 ~@13 [g3,b4]@13 ~@7 c4@22, ~@14 d4@12 ~@4 c4@16 c4@4 d5@7 ~@13 d5@19 ~ c5@18 ~@4, ~@18 d5@8 ~@12 g5@53 ~@21]/7", // Am G C G
  AA: "[~@5 [a3,c5,e5]@6 ~@6 g4@4 ~@14 c4@2 [a3,a4,e5]@3, ~@2 c5@7 ~@13 [b4,d5]@32 ~@4 e5@8 g4@8 ~@6, ~@3 g4@14 ~@6 f4@14 ~@3, ~@22 g3@18 ~@2 c3@33 ~@5, ~@15 d4@5 ~@7 c4@4 c5@6 ~@3]/5", // Am A5 Bm
  AB: "[~@6 g3@15 ~ g3@4 ~@28 c4@4 [a3,e5,c6]@6, ~@3 g4@16 ~@2 g5@8 ~@3, ~@3 [b4,d5]@10 [c3,c5]@16 ~@3, ~@15 c4@4 c4@4 c4@2 c6@4 ~@3, ~@17 e5@12 ~@3]/4", // Am Bm C
  AC: "[~@2 a3@4 ~@16 d4@4 ~@28 c4@3 ~ [a3,g4,c5,e5]@12 ~@12 [d4,g4]@4 g3@3 ~@7, ~@3 [g3,d5,b5]@10 c3@16 ~@6 [g3,b4,d5]@9 ~@4, ~@14 g4@12 g4@12 g4@19 ~@13 g4@12 ~@14, ~@18 [b4,g5]@8 e5@16 c5@15 ~@21 g2@10 ~@8, ~@30 c4@16 d5@4 e5@7 ~@39]/6", // Am7 G5 G Em
})).s("gm_epiano1").gain(0.29)

// bass · electric bass finger · "tk2"
const bass = note(`<
  ~@2 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 B@2 I@2 J@2 K@2 L@2 M@2 N@2 O ~ A@6 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W@2 X Y Z@2 AA@2
  AB@2 AC@2 A@6 P@2 Q@2 R@2 S@2 T@2 A@6 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W@2 X Y Z@2 AA@2 AB@2 AD@2 AE@2 AF@2 AG@2 AH AI AJ@2
  AK@2 AL@2 AM@2 AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ AN BR BD BE
  BF BG BH BI BJ BS BT@7 BU@2 BV BW@3 BX@2 BY@6 BV BZ@3 BV BW@3 BX@2 BY@6 BV CA@3
>`.pickRestart({
  A: "[a1@8 ~@4 a1@13 ~@3 e1 ~@3]/2", B: "[a1@8 ~@4 a1@13 ~@7]/2", C: "[d2@8 ~@4 d2@13 ~@3 a1 ~@3]/2",
  D: "[d1@9 ~@3 d1@16 ~@4]/2", E: "[d2@9 ~@3 d2@14 ~@2 a1 ~@3]/2", F: "[d1@9 ~@3 d1@14 ~@2 f#1@4]/2",
  G: "[b1@10 ~@2 b1@15 ~ f#1@3 ~]/2", H: "[a1@9 ~@3 a1@16 e1@3 ~]/2", I: "[a1@8 ~@4 a1@13 ~@3 e1@2 ~@2]/2",
  J: "[a1@9 ~@3 a1@16 ~@4]/2", K: "[a1@8 ~@4 a1@17 ~@3]/2", L: "[b1@8 ~@4 b1@17 ~@3]/2",
  M: "[e1@9 ~@3 e1@14 ~@2 b1@3 ~]/2", N: "[e1@9 ~@3 e1@14 ~@2 e1@3 ~]/2", O: "a1@2 ~ a1",
  P: "[a1@8 ~@4 a1@13 ~@3 a1 ~@3]/2", Q: "[b1@8 ~@4 b1@13 ~@3 b1 ~@3]/2", R: "[e1@9 ~@3 e1@14 ~@2 b1 ~@3]/2",
  S: "[e1@9 ~@3 e1@14 ~@2 e1@2 ~@2]/2", T: "[a1@8 ~@4 a1@13 ~@3 e1@3 ~]/2", U: "[a1@8 ~@4 a1@12 g2@3 ~ g2@4]/2",
  V: "[a1@8 ~@4 a1@12 b1@3 ~ c#2@4]/2", W: "[d2@8 ~@4 d2@13 ~ a1@2 b1@4]/2", X: "d2@11 ~ d1@3 ~", Y: "d2@8 c#2@7 ~",
  Z: "[b1@4 ~@2 b1@5 ~ b1@4]/2", AA: "[e1@9 ~@3 e1@8 f#2@2 g#2@2 f#2@4 e2@4]/2",
  AB: "[e1@9 ~@3 e1@8 e2@2 f#2@2 e2 ~ b1 ~ e1@3 ~]/2", AC: "[a1@8 ~@4 a1@10 ~@2 a1@3 ~ e1@3 ~]/2",
  AD: "[a1@2 ~ a1@2 e1 a1 b1]/2", AE: "[c2@8 ~@4 c2@8 g2@4 c3@2 g2 ~ g1@4]/2", AF: "[c2@4 ~@2 c2@4 d2 e2 d2@2 g1@2]/2",
  AG: "[c2@4 ~@2 c2@6 g2@2 c3 g2]/2", AH: "d2@2 ~ d2", AI: "a1@4 c2@4 d2@4 a1@3 ~", AJ: "[d2@2 ~ d2@2 d1 a1 d2]/2",
  AK: "[g1@9 ~@3 g1@8 b2@4 a2@4 g2@4]/2", AL: "[g1@9 ~@3 g1@15 ~ g1@4]/2", AM: "[c2@8 ~@4 c2@8 g1@4 a1@4 g1@3 ~]/2",
  AN: "c2@9 ~@3 c2@2 ~@2", AO: "c2@8 g1@7 ~", AP: "c2@6 c2 ~@5 c2 ~@3", AQ: "c2 e1 f1 g1", AR: "c2@5 ~ c2 ~@5 c2@4",
  AS: "c3@4 e1@4 g1@3 ~ c2@4", AT: "d2@5 ~ d2 ~@5 d2@3 ~", AU: "d2 a1 c2 a1", AV: "d2@9 ~@3 d2 ~@3",
  AW: "d2@7 ~ a2@4 f2@4", AX: "g2@5 ~ g2 ~@5 g2@4", AY: "g1@3 ~ g1@7 ~ g1@4", AZ: "g1@4 ~@2 g1@2 ~@4 g1 ~@3",
  BA: "g1@4 g2@4 g1@4 b1@3 ~", BB: "c2@4 ~@2 c2 ~@5 g1@4", BC: "c2@4 d2@4 e2@4 g1@3 ~", BD: "c1@5 ~ c1 ~@5 c1@4",
  BE: "c2 c1 g1 c2", BF: "e1@4 ~@2 e1 ~@5 e1 ~@3", BG: "e1@2 g1 c2", BH: "f1@4 ~@2 f1 ~@5 f1 ~@3",
  BI: "f1@6 ~@2 f1@3 ~ c1@4", BJ: "f1@4 ~@2 f1@3 ~@3 c2@4", BK: "f2@8 e2@7 ~", BL: "d2@6 d1@2 ~@4 d1 ~@3",
  BM: "d1@7 ~ d2@4 a1@4", BN: "g1@4 ~@2 g1 ~@5 g1@4", BO: "g2@7 ~ g2@4 g1@2 g2@2", BP: "g1@9 ~@3 g1 ~@3",
  BQ: "g1@3 ~ d2@2 g2@2 g1@4 b1@3 ~", BR: "c2 d2 e2 g2", BS: "f2@8 ~ e2@7", BT: "[~@2 d2@35 g1@35 g1@34 c1@6]/7",
  BU: "[~ c2@2 c1@3 ~ c1@2 c2@2 g1@2 a1@3]/2", BV: "~@2 a1@4 g1@7 ~ g1@2",
  BW: "[~@2 a1@4 g1@4 c1@9 ~@3 c1@7 ~ c1@4 e1@3 ~ g1@4 a1@6]/3", BX: "[~ a1@2 g1@3 ~ g1@3 ~ g1@2 c1@3]/2",
  BY: "[~@2 c1 ~@3 c1@6 ~@2 c1@4 e1@4 g1@4 a1@12 g1@6 ~@2 g1@4 a1@4 g1@4 c1@8 g1@3 ~ c2@7 ~ g1@4 e1@3 ~ g1@4 a1@6]/6",
  BZ: "[~ a1@2 g1@2 c1@4 c2@2 c1@3 ~ c1@2 c2@2 g1@2 a1@3]/3", CA: "[~@2 a1@4 g1@3 ~ c1@32 ~@6]/3",
})).s("gm_electric_bass_finger").gain(0.31)

// bass · synth bass 1 · "tk3"
const bass_2 = note("<~@33 [f#2 ~ e2@2 e2@4] ~@177>").s("gm_synth_bass_1").gain(0.27)

// other · string ensemble 1 · "tk5"
const string_ensemble_1 = note(`<
  ~@82 A@6 B@4 C@4 D@2 E@4 F@4 G@2 C@4 H@2 I J K@3 J D@2 L M N@2 O P Q@2 R@6 D@2 S@2 T U@3 V W X@2 Y@2 Z@3 AA AB@2 AC@4
  AD W X@2 AE@5 AF AG@3 ~@3 AH@32 AI@3
>`.pickRestart({
  A: "[e4@11 a4]/6", B: "d5/4", C: "[e4,e5]/4", D: "[a4,a5]/2", E: "[a4,a5]/4", F: "[[d4,d5]@7 [e4,e5]]/4",
  G: "[f#4,f#5]/2", H: "[a3,a4]/2", I: "~ [c4,c5] [d4,d5] [e4,e5]", J: "[d4,d5] [c4,c5]",
  K: "[[e3,e4]@2 [g3,g4]@7 [c4,c5] [d4,d5] [e4,e5]]/3", L: "~ [d5,d6] [e5,e6] [f5,f6]", M: "[e5,e6] d6, ~@2 d5 ~",
  N: "[[a4,c6]@3 [g4,b5]@5]/2", O: "~ [b4,b5] [c5,c6] [d5,d6]", P: "[g5,g6]@3 [b4,b5]", Q: "[c5,c6]/2",
  R: "[[c4,c5]@11 [c5,c6]]/6", S: "[f4,f5]/2", T: "[d5,d6]", U: "[g4,g5]/3", V: "[c5,c6]",
  W: "[c5,c6] [d5,d6] [e5,e6] [g5,g6]", X: "[c6,c7]/2", Y: "[a#5,a#6]/2", Z: "[[a5,a6]@11 [f5,f6]]/3",
  AA: "[a5,a6] [g5,g6]", AB: "[f5,f6]/2", AC: "[[g5,g6]@15 [f5,f6]]/4", AD: "[e5,e6]", AE: "[[c6,c7]@19 ~]/5",
  AF: "[a5,a6]@9 [g5,g6]@7", AG: "[~@2 [f5,f6]@35 ~@11]/3", AH: "[~@5 [c6,c7]@32 [c6,c7]@27]/8",
  AI: "[~@5 [c6,c7]@16 ~@3]/3", // C
})).s("gm_string_ensemble_1").gain(0.22)

// other · acoustic guitar nylon · "tk9"
const acoustic_guitar_nylon = note("<~@114 A B C D E F G@3 H@2 I J K L@2 ~@81>".pickRestart({
  A: "~@2 c3@2 ~ g2@2 ~ c3@2 d3@2 ~ e3@2 ~", B: "g3@2 c4@2 ~ d4@3 e4@2 ~ g4@2 c5@2 ~", C: "d5@2 e5@5 ~@4 d5@2 c5@2 ~",
  D: "b4@2 ~ d5@2 c5@2 ~ g4@8", E: "~@10 f4 ~@2 e4@2 ~", F: "d4@3 c4@8 ~ d4@2 e4 ~",
  G: "[e4@2 ~@2 e4 f4 e4 ~ d4@20 ~@4 f5@6 ~@2 [g4,e5]@5 ~@3, ~@14 a4@5 ~@5]/3", // C
  H: "[[f4,d5]@5 ~@3 c5@5 ~ b4 c5, ~@12 e4@13 ~@7]/2", I: "b4 c5 b4@13 ~", J: "~@2 c4 d4@4 ~ g4@4 b4@4",
  K: "c5@3 ~ b4 c5 b4 a4@5 g4@3 ~", L: "[g4 a4@3 d4 e4@14 ~ d4@2 e4@2 d4 e4 d4 ~ c4@3 ~]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.56)

// other · synth drum · "tk11"
const synth_drum = note(`<
  ~@65 A ~@31 B ~@31 C ~@31 D ~@17 E F ~@2 E F ~@2 E F ~@2 E F ~@2 E F ~@2 E F ~@2 E F ~@2 E F ~@2
>`.pickRestart({
  A: "[a2,e3] ~@3 [f2,c3] ~@7 [c2,g2] ~@3", B: "~@4 [e3,b3] ~@3 [a2,e3] ~@3 [d#2,a#2] ~@3", C: "~@8 d#4 ~@3 b3 ~ e3 ~",
  D: "~@4 c#4 ~@3 a3 ~@3 f3 ~@3", E: "~@7 g3", F: "~@3 d3 ~@4",
})).s("gm_synth_drum").gain(0.32)

// chords · acoustic guitar steel · "tk12"
const acoustic_guitar_steel = note(`<
  ~@2 A@2 B@2 C@2 D@2 C@4 E@2 A@8 F@2 G@2 H@2 I@2 A@8 F@2 G@2 H@2 I@2 A@4 B@2 C@2 J K C@2 H@2 I@2 A@8 F@2 G@2 H@2 I@2
  A@8 F@2 G@2 H@2 I@2 A@4 B@2 C@2 J K C@2 H@2 I@2 A@2 L@6 M@2 N@2 O@2 P@2 L@8 M@2 N@2 O@2 P@2 L@4 Q@2 R@2 S T R@2 O@2
  P@2 L@4 Q@2 R@2 S U V@3 ~@3 W X Y Z AA X Y Z AA X Y Z AA X Y Z AA X Y Z AA X Y Z AA X Y Z AA X Y Z AB@3
>`.pickRestart({
  A: "[[a2,e3,a3,c#4]@8 [a2,e3,a3,c#4] ~@3 [a2,e3,a3,c#4]@12 [a2,e3,a3,c#4] ~@7]/2", // A
  B: "[[a2,e3,g3,c#4]@8 [a2,e3,g3,c#4] ~@3 [a2,e3,g3,c#4]@12 [a2,e3,g3,c#4] ~@7]/2", // A7
  C: "[[d3,f#3,a3,d4]@8 [d3,f#3,a3,d4] ~@3 [d3,f#3,a3,d4]@12 [d3,f#3,a3,d4] ~@7]/2", // D
  D: "[[d3,f#3,a3,d4]@8 [d3,f#3,a3,d4] ~@3 [d3,f#3,a3,d4]@12 [d3,f#3,a3,d4] ~@3 a2@4]/2", // D
  E: "[[b2,f#3,b3,d4]@8 [b2,f#3,b3,d4] ~@3 [b2,f#3,b3,d4]@12 [b2,f#3,b3,d4]@8]/2", // Bm
  F: "[[a2,f#3,b3,d4]@8 [a2,f#3,b3,d4] ~@3 [a2,f#3,b3,d4]@12 [a2,f#3,b3,d4]@8]/2", // Bm7
  G: "[[b2,f#3,b3,d4]@8 [b2,f#3,b3,d4] ~@3 [b2,f#3,b3,d4]@12 [b2,f#3,b3,d4] ~@7]/2", // Bm
  H: "[[e3,a3,b3,e4]@8 [e3,a3,b3,e4] ~@3 [e3,g#3,b3,e4]@12 [e3,g#3,b3,e4] ~@7]/2", // Esus4 E
  I: "[[e3,a3,b3,e4]@8 [e3,a3,b3,e4] ~@3 [e3,g#3,b3,e4]@12 [e3,g#3,b3,e4]@4 ~@4]/2", // Esus4 E
  J: "[d3,f#3,a3,d4]@8 [d3,f#3,a3,d4] ~@3 a3 ~@3", K: "[d3,f#3,a3,d4] [c#3,e3,a3,c#4]",
  L: "[[c3,g3,c4,e4]@8 [c3,g3,c4,e4] ~@3 [c3,g3,c4,e4]@12 [c3,g3,c4,e4] ~@7]/2", // C
  M: "[[d3,a3,d4,f4]@8 [d3,a3,d4,f4] ~@3 [d3,a3,d4,f4]@12 [d3,a3,d4,f4]@8]/2", // Dm
  N: "[[d3,a3,d4,f4]@8 [d3,a3,d4,f4] ~@3 [d3,a3,d4,f4]@12 [d3,a3,d4,f4] ~@7]/2", // Dm
  O: "[[g3,c4,d4,g4]@8 [g3,c4,d4,g4] ~@3 [g3,b3,d4,g4]@12 [g3,b3,d4,g4] ~@7]/2", // Gsus4 G
  P: "[[g3,c4,d4,g4]@8 [g3,c4,d4,g4] ~@3 [g3,b3,d4,g4]@12 [g3,b3,d4,g4]@4 ~@4]/2", // Gsus4 G
  Q: "[[c3,g3,a#3,e4]@8 [c3,g3,a#3,e4] ~@3 [c3,g3,a#3,e4]@12 [c3,g3,a#3,e4] ~@7]/2", // C7
  R: "[[f3,a3,c4,f4]@8 [f3,a3,c4,f4] ~@3 [f3,a3,c4,f4]@12 [f3,a3,c4,f4] ~@7]/2", // F
  S: "[f3,a3,c4,f4]@8 [f3,a3,c4,f4] ~@3 c4 ~@3", T: "[f3,a3,c4,f4] [e3,g3,c4,e4]",
  U: "[f3,a3,c4,f4]@8 ~ [e3,g3,c4,e4]@7", V: "[~@2 [f3,a3,c4,f4]@35 ~@11]/3", W: "~@11 e4@5, ~@5 [c3,g3,c4]@3",
  X: "~@2 [c3,g3,c4,e4] ~@3 [c3,g3,c4,e4]@10", Y: "~@2 [c3,g3,c4,e4] ~@8 e4@5, ~@5 [a2,g3,c4]@3",
  Z: "~@2 [a2,g3,c4,e4] ~@3 [d3,g3,b3,d4]@10", AA: "~@2 [d3,g3,b3,d4] ~@8 e4@5, ~@5 [c3,g3,c4]@3",
  AB: "[~@2 [d3,g3,b3,d4] ~@8 e4@32 ~@5, ~@5 [c3,g3,c4]@16 ~@3]/3", // G C5
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.4)

// other · recorder · "tk13"
const recorder = note(`<
  ~@2 A@2 B@2 C@2 D@2 E@2 C@2 F@2 C@2 ~@16 C@2 G@2 H@2 D@2 I@2 J@2 K@3 ~ C@2 A@2 C@2 D@2 E@2 J@2 G@2 C@2 L@4 A@2 E@2 M@2
  J@2 G@2 A@2 C@2 G@2 H@2 D@2 I@2 J@2 K@3 ~ C@2 A@2 C@2 D@2 E@2 J@2 G@2 C@2 ~@97
>`.pickRestart({
  A: "c#6/2", B: "e6/2", C: "a5/2", D: "d5/2", E: "d6/2", F: "[b5,f#6]/2", G: "e5/2", H: "a4/2", I: "[b5@7 f#5]/2",
  J: "[a5@3 g#5@5]/2", K: "e5/3", L: "e5/4", M: "[b5@23 ~ a5@8, f#6@31 ~]/2",
})).s("gm_recorder").gain(0.05)

// chords · synth strings 1 · "tk14"
const synth_strings_1 = note(`<
  ~@34 A@6 B@4 C@4 D@2 E@4 F@3 G H@2 I@4 D@2 A@6 B@4 C@4 D@2 A@6 B@4 C@4 D@2 E@4 F@3 G H@2 I@4 D@2 J@6 K@4 L@4 M@2 J@6
  K@4 L@4 M@2 N@4 O@3 P Q@2 R@4 M@2 N@4 O@3 P S@2 T@7 U@24 V@8
>`.pickRestart({
  A: "[e3,a3,c#4]/6", B: "[f#3,b3,d4]/4", C: "[a3@3 g#3@5 a3@3 g#3@5, [b3,e4]]/4", D: "[e3,a3,c#4]/2",
  E: "[a3 g3, [e3,c#4]]/4", F: "[f#3,a3,d4]/3", G: "[a3,d4,f#4] [a3,c#4,e4]", H: "[f#3,b3,d4]/2",
  I: "[[f#3,a3,d4] [e3,g#3,b3]@2 ~]/2", J: "[g3,c4,e4]/6", K: "[a3,d4,f4]/4", L: "[c4@3 b3@5 c4@3 b3@5, [d4,g4]]/4",
  M: "[g3,c4,e4]/2", N: "[c4 a#3, [g3,e4]]/4", O: "[a3,c4,f4]/3", P: "[c4,f4,a4] [c4,e4,g4]", Q: "[a3,d4,f4]/2",
  R: "[c4@3 b3@5, [d4,g4]]/2", S: "[~ [a3,d4,f4]@15]/2",
  T: "[~@4 [g3,d4,g4]@35 [a3,c4,f4]@34 ~ g3@32 a3@6, ~@37 [c4,e4]@19]/7", // G5 F C
  U: "[~@3 [g3,b3,d4]@10 g3@16 a3@6 [g3,b3,d4]@10 g3@16 a3@3, ~@13 [c4,e4]@22 ~@10 [c4,e4]@19]/8", // G C
  V: "[~@3 [g3,b3,d4]@10 g3@16 a3@6 [g3,b3,d4]@10 [g3,c4,e4]@16 ~@3, ~@13 [c4,e4]@22 ~@29]/8", // G C
})).s("gm_synth_strings_1").gain(0.17)

// drums · rim
const rim = s("rim").struct("<[x!2]!2 ~@64 [~ x]!64 ~@47 [~ x ~@6]!32 ~@2>").gain(0.52)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A B A ~ A ~
  A ~ A ~ A ~ A ~ A ~ A B A C A D E C A B A C A D E C A B E C E C E C E F E C E C E C E F E C E C E C E G H ~@5 I J I J
  I J I J I J I J I J I K L J I J I J I J I J I J I J I K L ~@2
>`.pickRestart({
  A: "x ~@2 x", B: "~ x ~ x", C: "x", D: "~ x ~@2", E: "x ~@2 x ~@2 x ~", F: "x!2", G: "x ~@8 x ~@6", H: "~ x ~@6",
  I: "~@5 x ~@2", J: "~@3 x ~@4", K: "~@3 x ~@3 x", L: "~@3 x ~ x ~@2",
})).gain(0.52)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~ A ~ A ~ A ~ A
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~@50 B ~ B ~ B ~
  B ~ B ~ B ~ B ~@3 B ~ B ~ B ~ B ~ B ~ B ~ B ~@4
>`.pickRestart({
  A: "~@3 x", B: "~@3 x ~@4",
})).gain(0.31)

// drums · snare
const snare = s("sd").struct(`<
  ~@2 A@64 ~@33 A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ C A@23 D A@7 E A@7 ~@9 F ~ F ~ F ~ F ~ F ~ F
  ~ F ~ G ~ F ~ F ~ F ~ F ~ F ~ F ~ F ~ G ~@2
>`.pickRestart({
  A: "~ x", B: "~@4 x ~@2 x", C: "~@4 x ~ x!2", D: "x!2", E: "~ x!3", F: "~ x ~@6", G: "~ x ~ x!2 ~@3",
})).gain(0.52)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2 B@33 ~ B ~ B ~ B ~
  B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~@48 C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~ C ~@3
>`.pickRestart({
  A: "~@7 x", B: "~ x", C: "~ x ~@6",
// … 104 more lines

More by Boyzone