Strudelify
The Call cover art

Black & Blue

The Call

Backstreet Boys

KeyB♭ majorTempo104 bpm
0:00/0:00
// The Call — Backstreet Boys
// 104 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 89 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(104/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 · electric bass finger
const bass = note(`<
  ~@10 A B A C A B D E A F G H I J K L M N O P Q R B A C A B S H I J K L M N O P ~@13 T@2 ~ U V W X Y Z AA AB AC V W X Y
  Z AA AD U V W X Y Z AA AE AF ~
>`.pickRestart({
  A: "bb1 ~@2 bb1!2 ~ f1@2 bb1 ~@3 bb1 ~ bb0@2", B: "f1 ~@3 f1 ~@3 f1 ~@3 f1 ~ f1@2",
  C: "eb1 ~@3 eb1 ~@3 f1 ~@3 f1 ~ a1@2", D: "gb1 ~@2 gb1!2 ~ f1@2 gb1 ~@3 gb1 ~ gb1@2",
  E: "f1 ~@3 f1 ~@3 f1 ~@3 f1 ~ a1@2", F: "f1 ~@2 f1!2 ~ f1@2 gb1 ~@3 gb1 ~@3",
  G: "db2 ~@2 db2!2 ~ ab1@2 db2 ~@3 bb1 c2 db2 eb2", H: "f2@2 ~@2 c2 ~@3 eb2@2 ~@2 db2@2 c2@2",
  I: "bb1@2 ~ bb1 bb1@2 f1@2 bb1@2 ~@2 bb1@2 bb0@2", J: "f1@2 ~ f1 f1@2 c1@2 f1@2 ~@2 f1@2 f1@2",
  K: "db2@2 ~ db2 db2@2 db2@2 db2@2 ~@2 bb1@2 db2@2", L: "eb2@2 ~@2 eb2@2 ~@2 f2@2 ~@2 f2@3 ~",
  M: "bb1@2 bb1 ~ bb1@2 f1@2 bb1@2 ~@2 bb1@2 bb0@2", N: "f1@3 ~ f1@2 ~@2 gb1@4 ab1@4",
  O: "db1!2 ~ db1!2 ~ db1 ~ db1@3 ~ db1@3 ~", P: "gb2 ~ f2 ~ eb2 ~@3 db2 eb2 c2 db2 bb1@2 a1@2", Q: "bb1 ~@7",
  R: "~@3 bb1", S: "gb1 ~@2 gb1!2 ~ f1@2 gb1 ~@3 bb1 c2 db2 eb2", T: "gb2 ~ f2 ~ eb2@2 ~@2 db2 ~ c2 ~ bb1 ~ a1 ~",
  U: "c2@2 ~ c2 c2@2 g1@2 c2@2 ~@2 c2@2 c1@2", V: "g1@2 ~ g1 g1@2 d1@2 g1@2 ~@2 g1@2 g1@2",
  W: "eb2@2 ~ eb2 eb2@2 eb2@2 eb2@2 ~@2 c2@2 eb2@2", X: "f2@2 ~@2 f2@2 ~@2 g2@2 ~@2 g2@3 ~",
  Y: "c2@2 c2 ~ c2@2 g1@2 c2@2 ~@2 c2@2 c1@2", Z: "g1@3 ~ g1@2 ~@2 ab1@4 bb1@4",
  AA: "eb1!2 ~ eb1!2 ~ eb1 ~ eb1@3 ~ eb1@3 ~", AB: "ab2 ~ g2 ~ f2 ~ eb2 ~ d2 ~@7", AC: "~@5 c3 g1@2",
  AD: "ab2 ~ g2 ~ f2 ~ eb2 ~ eb2 f2 d2 eb2 c2@2 b1@2", AE: "ab2 ~ g2 ~ f2@2 ~@2 eb2 ~ d2 ~ c2 ~ b1 ~",
  AF: "ab2 ~ g2 ~ f2 ~@3 eb2 f2 d2 eb2 c2@2 b1@2",
})).s("gm_electric_bass_finger").gain(0.49)

// other · pad sweep
const pad_sweep = note(`<
  ~@5 A@2 ~@2 B ~@11 C@2 ~@6 B D ~@7 C@2 ~@6 B ~ A@2 ~@9 B ~@2 E@2 ~@6 F ~@7 G ~@10
>`.pickRestart({
  A: "[~@4 [bb2,bb3]@5 ~@7]/2", B: "~ [bb5,bb6]", C: "[~@12 [bb5,bb6]@5 ~@15, ~@4 [bb2,bb3]@5 ~@7]/2",
  D: "[bb3,bb4]@15 ~", E: "[~@12 [c6,c7]@5 ~@15, c6@3 ~@5, ~@4 [c3,c4]@5 ~@7]/2", F: "[bb3,bb4]@9 ~@7", G: "~ [c6,c7]",
})).s("gm_pad_sweep").gain(0.28)

// other · orchestra hit
const orchestra_hit = note(`<
  ~@4 A@2 B A@2 C D E F G H E I J D K L M D E N O D P Q R S T E F G H E U M D E N O D P Q R V A V A W A X ~@6 C@2 ~ Y Z
  AA AB Y AC AD AE ~ AF AA AB Y AC AD AG Y Z AA AB Y AC AD AH AI AJ
>`.pickRestart({
  A: "[bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~ [f3,f4]@2", // Bb F
  B: "[bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~ [f3,f4]@2, bb5 ~@7", // Bb F
  C: "[gb4,gb5] ~ [f4,f5] ~ [eb4,eb5] ~@3 [db4,db5] ~ [c4,c5] ~ [bb3,bb4] ~ [a3,a4] ~", // Gb F Eb Db C Bb A
  D: "[bb3,bb4,bb5] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~ [bb2,bb3]@2", // Bb
  E: "[f3,f4] ~@3 [f3,f4] ~@3 [f3,f4] ~@3 [f3,f4] ~ [f3,f4]@2", // F
  F: "[bb3,bb4] ~@3 [bb3,bb4]@2 ~@2 [bb3,bb4] ~@3 [bb3,bb4] ~ [bb2,bb3]@2", // Bb
  G: "[eb3,eb4] ~@3 [eb3,eb4] ~@3 [f3,f4] ~@3 [f3,f4] ~ [a3,a4]@2", // Eb F A
  H: "[bb3,bb4] ~@3 bb4@2 ~@2 [bb3,bb4] ~@3 [bb3,bb4] ~ [bb2,bb3]@2, ~@4 bb3 ~@11", // Bb
  I: "[gb3,gb4] ~@3 gb4@2 ~@2 [gb3,gb4] ~@3 [gb3,gb4] ~ [gb3,gb4]@2, ~@4 gb3 ~@11", // Gb
  J: "[f3,f4,bb4] ~@3 [f3,f4,bb4] ~@3 [f3,f4] ~@3 [f3,f4,bb4] ~ [a3,a4]@2, ~@4 bb4 ~@3", // Bb5 F Bb5 A
  K: "[f3,f4] ~@3 [f3,f4] ~@3 [gb3,gb4] ~@3 [gb3,gb4] ~@3", // F Gb
  L: "[db4,db5] ~@3 [db4,db5] ~@3 [db4,db5] ~@3 [bb3,bb4] [c4,c5] [db4,db5] [eb4,eb5]", // Db Bb C Db Eb
  M: "[f4,f5] ~@3 [c4,c5] ~@3 [eb4,eb5] ~@3 [db4,db5]@2 [c4,c5]@2", // F C Eb Db C
  N: "[db4,db5] ~@3 [db4,db5] ~@3 [db4,db5] ~@3 [db4,db5] ~ [ab3,ab4]@2", // Db Ab
  O: "[bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~@3 [a3,a4] ~@3", P: "[f3,f4] ~@3 [f3,f4] ~@3 [gb3,gb4] ~@3 [ab3,ab4] ~@3",
  Q: "[db4,db5] ~@3 [db4,db5] ~@3 [db4,db5] ~@3 [db4,db5] ~@3", // Db
  R: "[gb4,gb5] ~ [f4,f5] ~ [eb4,eb5] ~ bb4 c5 [db4,db5] [eb4,eb5] [c4,c5] [db4,db5] [bb3,bb4] ~ [a3,a4] ~", // Gb F Eb Db Eb C Db Bb …
  S: "[bb3,bb4,bb5] ~@15", T: "[bb4,bb5] ~@13 [bb2,bb3]@2",
  U: "[gb3,gb4] ~@3 gb4@2 ~@2 [gb3,gb4] ~@3 [bb3,bb4] [c4,c5] [db4,db5] [eb4,eb5], ~@4 gb3 ~@11", // Gb Bb C Db Eb
  V: "[bb3,bb4,bb5] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~ [bb3,bb4]!2", // Bb
  W: "[bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~@3 [bb3,bb4] ~ [bb3,bb4]!2", X: "[bb3,bb4] ~@15",
  Y: "[c4,c5,c6] ~@3 [c4,c5] ~@3 [c4,c5] ~@3 [c4,c5] ~ [c3,c4]@2", // C
  Z: "[g3,g4] ~@3 [g3,g4] ~@3 [g3,g4] ~@3 [g3,g4] ~ [g3,g4]@2", // G
  AA: "[eb4,eb5] ~@3 [eb4,eb5] ~@3 [eb4,eb5] ~@3 [eb4,eb5] ~ [bb3,bb4]@2", // Eb Bb
  AB: "[c4,c5] ~@3 [c4,c5] ~@3 [c4,c5] ~@3 [b3,b4] ~@3", AC: "[g3,g4] ~@3 [g3,g4] ~@3 [ab3,ab4] ~@3 [bb3,bb4] ~@3",
  AD: "[eb4,eb5] ~@3 [eb4,eb5] ~@3 [eb4,eb5] ~@3 [eb4,eb5] ~@3", // Eb
  AE: "[ab4,ab5] ~ [g4,g5] ~ [f4,f5] ~ [eb4,eb5] ~ [d4,d5] ~@7", // Ab G F Eb D
  AF: "[g3,g4,g5] ~@3 [g3,g4] ~@3 [g3,g4] ~@3 [g3,g4] ~ [g3,g4]@2", // G
  AG: "[ab4,ab5] ~ [g4,g5] ~ [f4,f5] ~ [eb4,c5] d5 [eb4,eb5] [f4,f5] [d4,d5] [eb4,eb5] [c4,c5] ~ [b3,b4] ~", // Ab G F Cm Eb F D Eb …
  AH: "ab4 ~ g4 ~ f4 ~@3 eb4 ~ d4 ~ c4 ~ b3 ~",
  AI: "[ab4,ab5] ~ [g4,g5] ~ [f4,f5] ~ c5 d5 [eb4,eb5] [f4,f5] [d4,d5] [eb4,eb5] [c4,c5] ~ [b3,b4] ~", // Ab G F Eb F D Eb C …
  AJ: "[c4,c5,c6] ~@15", // C
})).s("gm_orchestra_hit").gain(0.22)

// other · acoustic guitar steel
const acoustic_guitar_steel = note("<~ A@3 ~ B C@2 ~@8 D E ~@51 F ~@9 G H ~ I J ~ K ~@3>".pickRestart({
  A: "[[bb2,f3,bb3,db4,f4] [db4,f4]@16 f4 ~@2 ab4 ~ gb4 f4 ~ eb4 [c4,db4] bb3 [gb3,a3] [db3,eb3,f3] [a2,bb2,c3] f2@4 [gb2,a3,c4,eb4,f4]@13, ~ bb2@23 ~@24, ~ [f3,bb3]@19 ~@28]/3", // Bbm Db Dbmaj7 Gbm Db Am F7 Bb5
  B: "~@14 f3 ~", C: "[f3@23 ~@9]/2", D: "~@8 ab4@2 gb4 ab4 [f4,gb4]@2 eb4@2", E: "f4@3 ~",
  F: "~@7 bb3 bb4 ~ ab4 ~ g4 ~ f4 ~", G: "~@10 c4 d4 eb4 f4 eb4 d4", H: "b3@9 ~@7", I: "~@10 eb4@2 d4@2 eb4 ~",
  J: "eb4@4 c4@7 ~@5", K: "~@10 [d3,e3] [a2,b2,c3] [eb2,f2,g2] ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.29)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~@4 A@5 B C D E F E D G H I J K L M D N O M P Q R S T D E F E D U L M D N O M P Q R V A@5 W ~@6 X Y ~ Z AA AB AC Z AD
  AE AF ~ AA AB AC Z AD AE AG Z AA AB AC Z AD AE AH AI AJ
>`.pickRestart({
  A: "bb3 ~@3 bb3 ~@3 bb3 ~@3 bb3 ~ f3@2", B: "gb3 ~ f3 ~ eb3 ~@3 db3 ~ c3 ~ bb2 ~ a2 ~",
  C: "[bb2,bb3] ~@3 bb3 ~@3 bb3 ~@3 bb3 ~ [bb2,bb3]@2", D: "f3 ~@3 f3 ~@3 f3 ~@3 f3 ~ f3@2",
  E: "bb3 ~@3 bb3@2 ~@2 bb3 ~@3 bb3 ~ [bb2,bb3]@2", F: "eb3 ~@3 eb3 ~@3 f3 ~@3 f3 ~ a3@2",
  G: "gb3 ~@3 gb3@2 ~@2 gb3 ~@3 gb3 ~ gb3@2", H: "f3 ~@3 f3 ~@3 f3 ~@3 f3 ~ a3@2",
  I: "bb3 ~@3 bb3 ~@3 bb3 ~@3 bb3 ~ bb2@2, [f4,db5,f5]", J: "f3 ~@3 f3 ~@3 gb3 ~@3 gb3 ~@3, [c4,c5] [db4,db5]",
  K: "gb5@3 ~ db4 ~ db5@2 ab4@4 bb3 c4 db4 eb4, db4 ~@2 f5@3 ~@2 db4 ~@7", L: "f4 ~@3 c4 ~@3 eb4 ~@3 db4@2 c4@2",
  M: "bb3 ~@3 bb3 ~@3 bb3 ~@3 bb3 ~ [bb2,bb3]@2", N: "db4 ~@3 db4 ~@3 db4 ~@3 db4 ~ ab3@2",
  O: "bb3 ~@3 bb3 ~@3 bb3 ~@3 a3 ~@3", P: "f3 ~@3 f3 ~@3 gb3 ~@3 ab3 ~@3", Q: "db4 ~@3 db4 ~@3 db4 ~@3 db4 ~@3",
  R: "[gb4,gb5] ~ [f4,f5] ~ [eb4,eb5] ~ bb4 c5 [db4,db5] [eb4,eb5] [c4,c5] [db4,db5] [bb3,bb4] ~ [a3,a4] ~", // Gb F Eb Db Eb C Db Bb …
  S: "[bb3,bb4] ~@15", T: "~@7 [bb2,bb3]", U: "gb3 ~@3 gb3@2 ~@2 gb3 ~@3 bb3 c4 db4 eb4",
  V: "[bb3,bb4] ~@3 bb3 ~@3 bb3 ~@3 bb3 ~ f3@2", W: "bb3 ~@15", X: "gb4 ~ f4 ~ eb4 ~@3 db4 ~ c4 ~ bb3 ~ a3 ~",
  Y: "[gb4,gb5] ~ [f4,f5] ~ [eb4,eb5] ~@3 [db4,db5] ~ [c4,c5] ~ [bb3,bb4] ~ [a3,a4] ~", // Gb F Eb Db C Bb A
  Z: "c4 ~@3 c4 ~@3 c4 ~@3 c4 ~ [c3,c4]@2", AA: "g3 ~@3 g3 ~@3 g3 ~@3 g3 ~ g3@2",
  AB: "eb4 ~@3 eb4 ~@3 eb4 ~@3 eb4 ~ bb3@2", AC: "c4 ~@3 c4 ~@3 c4 ~@3 b3 ~@3", AD: "g3 ~@3 g3 ~@3 ab3 ~@3 bb3 ~@3",
  AE: "eb4 ~@3 eb4 ~@3 eb4 ~@3 eb4 ~@3", AF: "[ab4,ab5] ~ [g4,g5] ~ [f4,f5] ~ [eb4,eb5] ~ [d4,d5] ~@7",
  AG: "[ab4,ab5] ~ [g4,g5] ~ [f4,f5] ~ [eb4,c5] d5 [eb4,eb5] [f4,f5] [d4,d5] [eb4,eb5] [c4,c5] ~ [b3,b4] ~", // Ab G F Cm Eb F D Eb …
  AH: "ab4 ~ g4 ~ f4 ~@3 eb4 ~ d4 ~ c4 ~ b3 ~",
  AI: "[ab4,ab5] ~ [g4,g5] ~ [f4,f5] ~ c5 d5 [eb4,eb5] [f4,f5] [d4,d5] [eb4,eb5] [c4,c5] ~ [b3,b4] ~", // Ab G F Eb F D Eb C …
  AJ: "[c4,c5] ~@15", // C
})).s("gm_string_ensemble_1").gain(0.35).pan(0.8)

// chords · piano
const piano = note(`<
  ~@4 A@5 B C ~@11 D E F G D H I J C@2 ~@7 D E F G D H I J K A L M K A N ~@6 B@2 ~ O P Q R O S T U ~ P Q R O S T V O P Q
  R O S T W X Y
>`.pickRestart({
  A: "[bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~ [f1,f2]@2", B: "gb2 ~ f2 ~ eb2 ~@3 db2 ~ c2 ~ bb1 ~ a1 ~",
  C: "bb1 ~@15", D: "[db4,f4,bb4] ~ [db4,f4,bb4] ~ [db4,f4,bb4] ~ [db4,f4,bb4] bb1, bb1 ~@3 bb1 ~@3 bb1 ~@3 bb1 ~@3",
  E: "[c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] ~ [c4,f4,a4] f1, f1 ~@3 f1 ~@3 f1 ~@3 f1 ~@3", // F
  F: "[db4,f4,ab4] ~ [db4,f4,ab4] ~ [db4,f4,ab4] ~ [db4,f4,ab4] ab1, db2 ~@3 db2 ~@3 db2 ~@3 db2 ~@3", // Db
  G: "[eb4,f4,bb4] ~ [eb4,f4,bb4] ~ [c4,f4,bb4] ~ [c4,f4,a4] ~, bb1 ~@3 bb1 ~@3 bb1 ~@3 a1 ~@3", // Ebsus2 Fsus4 F
  H: "[c4,f4,a4] ~ [c4,f4,a4] ~ [eb4,gb4,bb4] ~ [eb4,ab4,c5] ~, f1 ~@3 f1 ~@3 gb1 ~@3 ab1 ~@3", // F Ebm Ab
  I: "[f4,ab4,db5] ~ [f4,ab4,db5] ~ [f4,ab4,db5] ~ [f4,ab4,db5] ~, db2 ~@3 db2 ~@3 db2 ~@3 db2 ~@3", // Db
  J: "gb2 ~ f2 ~ eb2 ~@3 db2 eb2 c2 db2 bb1 ~ a1 ~",
  K: "[bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~ [bb1,bb2]!2", // Bb
  L: "[bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~ [bb1,bb2]!2, ~@3 db6", // Bb
  M: "[bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~ [f1,f2]@2, c6@5 ~@3", N: "[bb1,bb2] ~@15",
  O: "[eb4,g4,c5] ~ [eb4,g4,c5] ~ [eb4,g4,c5] ~ [eb4,g4,c5] c2, c2 ~@3 c2 ~@3 c2 ~@3 c2 ~@3", // Cm
  P: "[d4,g4,b4] ~ [d4,g4,b4] ~ [d4,g4,b4] ~ [d4,g4,b4] g1, g1 ~@3 g1 ~@3 g1 ~@3 g1 ~@3", // G
  Q: "[eb4,g4,bb4] ~ [eb4,g4,bb4] ~ [eb4,g4,bb4] ~ [eb4,g4,bb4] bb1, eb2 ~@3 eb2 ~@3 eb2 ~@3 eb2 ~@3", // Eb
  R: "[f4,g4,c5] ~ [f4,g4,c5] ~ [d4,g4,c5] ~ [d4,g4,b4] ~, c2 ~@3 c2 ~@3 c2 ~@3 b1 ~@3", // Fsus2 Csus2 G
  S: "[d4,g4,b4] ~ [d4,g4,b4] ~ [f4,ab4,c5] ~ [f4,bb4,d5] ~, g1 ~@3 g1 ~@3 ab1 ~@3 bb1 ~@3", // G Fm Bb
  T: "[g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~ [g4,bb4,eb5] ~, eb2 ~@3 eb2 ~@3 eb2 ~@3 eb2 ~@3", // Eb
  U: "ab2 ~ g2 ~ f2 ~ eb2 ~ d2 ~@7", V: "ab2 ~ g2 ~ f2 ~ eb2 ~ eb2 f2 d2 eb2 c2 ~ b1 ~",
  W: "ab2 ~ g2 ~ f2 ~@3 eb2 ~ d2 ~ c2 ~ b1 ~", X: "ab2 ~ g2 ~ f2 ~@3 eb2 f2 d2 eb2 c2 ~ b1 ~", Y: "[c2,c3] ~@15",
})).s("gm_piano").gain(0.34).pan(0.4)

// other · string ensemble 1
const string_ensemble_1_2 = note(`<
  ~@4 A@5 B C D E F E D G H I J K L M N O P M Q R S T U D E F E D V L M N O P M Q R S W A@5 X ~@6 Y Z ~ AA AB AC AD AA
  AE AF AG ~ AB AC AD AA AE AF AH AA AB AC AD AA AE AF AI AJ AK
>`.pickRestart({
  A: "bb2 ~@3 bb2 ~@3 bb2 ~@3 bb2 ~ f2@2", B: "gb3 ~ f3 ~ eb3 ~@3 db3 ~ c3 ~ bb2 ~ a2 ~",
  C: "bb2 ~@3 bb2 ~@3 bb2 ~@3 bb2 ~ [bb1,bb3]@2", D: "[f2,f3] ~@3 f2 ~@3 f2 ~@3 f2 ~ [f2,f3]@2",
  E: "[bb2,bb3] ~@3 bb2 ~@3 bb2 ~@3 bb2 ~ [bb1,bb3]@2", F: "[eb2,eb3] ~@3 eb2 ~@3 f2 ~@3 f2 ~ [a2,a3]@2",
  G: "[gb2,gb3] ~@3 gb2 ~@3 gb2 ~@3 gb2 ~ [gb2,gb3]@2", H: "[f2,f3] ~@3 f2 ~@3 f2 ~@3 f2 ~ [a2,a3]@2",
  I: "bb2 ~@3 bb2 ~@3 bb2 ~@3 bb2 ~ [bb1,bb2]@2, [f4,db5,f5]", J: "f2 ~@3 f2 ~@3 gb2 ~@3 gb2 ~@3, [c4,c5] [db4,db5]",
  K: "gb5@3 ~ db3 ~ db5@2 ab4@4 [bb2,bb4] [c3,c5] [db3,db5] [eb3,eb5], db3 ~@2 f5@3 ~@2 db3 ~@7", // Bb C Db Eb
  L: "[f3,f5] ~@3 [c3,c5] ~@3 [eb3,eb5] ~@3 [db3,db5]@2 [c3,c5]@2", M: "bb2 ~@3 bb2 ~@3 bb2 ~@3 bb2 ~ [bb1,bb2]@2",
  N: "f2 ~@3 f2 ~@3 f2 ~@3 f2 ~ f2@2", O: "db3 ~@3 db3 ~@3 db3 ~@3 db3 ~ ab2@2", P: "bb2 ~@3 bb2 ~@3 bb2 ~@3 a2 ~@3",
  Q: "f2 ~@3 f2 ~@3 gb2 ~@3 ab2 ~@3", R: "db3 ~@3 db3 ~@3 db3 ~@3 db3 ~@3",
  S: "[gb3,gb5] ~ [f3,f5] ~ [eb3,eb5] ~ bb4 c5 [db3,db5] [eb3,eb5] [c3,c5] [db3,db5] [bb2,bb4] ~ [a2,a4] ~", // Gb F Eb Db Eb C Db Bb …
  T: "[bb2,bb4] ~@15", U: "~@7 [bb1,bb3]", V: "[gb2,gb3] ~@3 gb2 ~@3 gb2 ~@3 [bb2,bb4] [c3,c5] [db3,db5] [eb3,eb5]",
  W: "[bb2,bb4] ~@3 bb2 ~@3 bb2 ~@3 bb2 ~ f2@2", X: "bb2 ~@15",
  Y: "[gb3,gb4] ~ [f3,f4] ~ [eb3,eb4] ~@3 [db3,db4] ~ [c3,c4] ~ [bb2,bb3] ~ [a2,a3] ~", // Gb F Eb Db C Bb A
  Z: "[gb3,gb5] ~ [f3,f5] ~ [eb3,eb5] ~@3 [db3,db5] ~ [c3,c5] ~ [bb2,bb4] ~ [a2,a4] ~", // Gb F Eb Db C Bb A
  AA: "c3 ~@3 c3 ~@3 c3 ~@3 c3 ~ [c2,c3]@2", AB: "g2 ~@3 g2 ~@3 g2 ~@3 g2 ~ g2@2",
  AC: "eb3 ~@3 eb3 ~@3 eb3 ~@3 eb3 ~ bb2@2", AD: "c3 ~@3 c3 ~@3 c3 ~@3 b2 ~@3", AE: "g2 ~@3 g2 ~@3 ab2 ~@3 bb2 ~@3",
  AF: "eb3 ~@3 eb3 ~@3 eb3 ~@3 eb3 ~@3", AG: "[ab3,ab5] ~ [g3,g5] ~ [f3,f5] ~ [eb3,eb5] ~ [d3,d5] ~@7",
  AH: "[ab3,ab5] ~ [g3,g5] ~ [f3,f5] ~ [eb3,c5] d5 [eb3,eb5] [f3,f5] [d3,d5] [eb3,eb5] [c3,c5] ~ [b2,b4] ~", // Ab G F Cm Eb F D Eb …
  AI: "[ab3,ab4] ~ [g3,g4] ~ [f3,f4] ~@3 [eb3,eb4] ~ [d3,d4] ~ [c3,c4] ~ [b2,b3] ~", // Ab G F Eb D C B
  AJ: "[ab3,ab5] ~ [g3,g5] ~ [f3,f5] ~ c5 d5 [eb3,eb5] [f3,f5] [d3,d5] [eb3,eb5] [c3,c5] ~ [b2,b4] ~", // Ab G F Eb F D Eb C …
  AK: "[c3,c5] ~@15", // C
})).s("gm_string_ensemble_1").gain(0.29).pan(0.2)

// chords · string ensemble 1
const string_ensemble_1_3 = note(`<
  ~@22 A@2 B@2 C@2 D ~ E F ~@3 G@2 H ~ A@2 B@2 C@2 D ~@3 I J K L ~@4 M N O ~@3 P@2 Q R S@2 T U ~ V W@2 X@2 Y ~ Z@2 W@2
  X@2 Y ~@3
>`.pickRestart({
  A: "[[bb3,db4,bb5] [c4,a4,c6], f4]/2", B: "[[db4,ab4,db6]@4 ab5 gb5 f5 [a4,eb5], f4, ~@4 bb4@3 ~, ~@2 eb4 c4]/2",
  C: "[[bb3,db4,f5]@4 [c4,a4,c6]@2 [gb4,bb4] [ab4,c5], f4@3 [eb4,eb6]]/2", D: "[f4,ab4,db5,db6]", E: "[f4,bb4,f5]@15 ~",
  F: "[bb4,bb5] ~@15", G: "[[bb3,db4,bb4] [c4,a4,c5], f4]/2", H: "[db4,gb4,bb4,db5]@13 ~@3", I: "[bb3,db4,f4,bb4]",
  J: "[c4,f4,a4,c5]", K: "[db4,f4,bb4,db5]", L: "[f4,a4,c5,eb5]", M: "f3 ~@3 bb3 ~@3 bb3 ~@7",
  N: "f3 ~@3 bb3 ~@3 g3 ~@3 gb3 ~@3", O: "f3 ~@3 db3 ~@3 db3 ~@3 bb2 ~@3", P: "[[c4,eb4,c6] [d4,b4,g5], g4]/2",
  Q: "[eb4,g4,bb4,bb5]", R: "f5 ab5 g5 [b4,d5], ab4, c5@3 ~, f4 d4",
  S: "[[c4,eb4,eb5]@4 [d4,b4,f5]@2 [ab4,c5,eb5] [bb4,d5,f5], g4@3 f4]/2", T: "g5@3 f5 eb5@4, [g4,bb4], eb5 ~",
  U: "[f4,bb4,f5] ~", V: "[d4,b4,d6]", W: "[[eb4,bb4,eb6]@4 bb5 ab5 g5 [b4,f5], g4, ~@4 c5@3 ~, ~@2 f4 d4]/2",
  X: "[[c4,eb4,g5]@4 [d4,b4,d6]@2 [ab4,c5] [bb4,d5], g4@3 [f4,f6]]/2", Y: "[g4,bb4,eb5,eb6]",
  Z: "[[c4,eb4,c6] [d4,b4,d6], g4]/2", // Cm G
})).s("gm_string_ensemble_1").gain(0.28)

// chords · piano
const piano_2 = note(`<
  ~@18 A B C D@2 E@2 F G H I J K L ~@2 M@4 N O E@2 F G H I J K ~@5 P@2 Q@2 R@2 S ~@3 T@3 U@3 V W X Y@2 Z AA AB AC AD AE
  Y@2 Z AA AB AF AG AD AH
>`.pickRestart({
  A: "~@3 [db4,f4]@3 [db4,gb4]@2", B: "eb4@7 ~@9", C: "~@12 bb3 c4 db4 eb4",
  D: "[f4@4 c4@4 eb4@4 db4@3 c4@3 [bb3,db4,f4]@10 [f3,bb3,db4]@4]/2", // Bbm
  E: "[~ [f3,c4,f4] [c4,eb4,a4]@10 [f3,c4,f4]@6 [gb4,bb4]@2 [f4,ab4]@2 [eb4,gb4]@2 [db4,f4]@3 [eb4,gb4]@3 [f4,ab4]@2]/2", // F5 Adim F5 Gb Fm Ebm Db Ebm …
  F: "[bb3,gb4]@2 gb4 f4 [f4,bb4]@2 c4 db4, ~ bb4 ~ a4", G: "[db4,bb4]@5 [bb3,db4,f4]@7 [f3,bb3,db4]@4",
  H: "[a3,c4,c5]@2 [f3,a3,a4]@2 [a3,c4,c5]@2 [f3,a3,a4]@2 [a3,eb4,eb5]@2 [c4,f4,db5]@2 [c4,f4,c5]@2 [c4,eb4,ab4,c5] [db4,gb4,db5]", // Am F Am F Adim Dbmaj7 F5 Ab …
  I: "[db4,f4,db5]@5 [ab3,db4,ab4]@2 [ab3,eb4,ab4] [ab3,f4,ab4]@7 [a3,f4,a4]", // Db Db5 Ab5 Db Dm
  J: "[bb3,gb4,bb4] [bb3,f4,bb4] [bb3,gb4,bb4] [bb3,f4,bb4] [bb3,gb4,bb4]@2 [bb3,db4,bb4]@2 [a3,eb4,a4]@6 [a3,c4,a4] [a3,db4,a4]", // Ebm Bb5 Ebm Bb5 Ebm Bbm Adim Am …
  K: "[bb3,db4,bb4] ~", L: "f4@7 ~",
  M: "[eb4@13 db4@7 ~@4 gb4@2 f4 eb4@2 db4@2 eb4@8 eb4 f4@2 eb4 db4@2 eb4@2 f4@6 eb4@2 db4@4 ~ bb3 c4 db4 eb4]/4",
  N: "f4 c4 eb4 ~", O: "~ [bb3,db4,f4]@5 [f3,bb3,db4]@2", P: "[[bb2,bb3,db4]@4 [f2,a3,c4]@3 ~, [f3,f4]@7 ~]/2",
  Q: "[[db3,ab3,f4]@4 [eb2,bb3,gb4]@2 [bb3,db4] [a3,c4], db4@3 [f2,f4]]/2", // Db Ebm Bbm Am F
// … 116 more lines

More by Backstreet Boys