Strudelify
Because You Loved Me cover art

1996 · Falling into You

Because You Loved Me

Celine Dion

KeyD♭ majorTempo120 bpm
0:00/0:00
// Because You Loved Me — Celine Dion
// 120 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 135 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · epiano2 · "#Hrd.FM E"
const epiano2 = note(`<
  ~ A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 I@2 J@2 K@2 L@2 M@2 N@2 D@2 O@4 P@2 Q@2 R@2 S@2 T@2 U@2 V@6 G@2 H@2 I@2 J@2 W@2 L@2
  M@2 N@2 D@2 O@4 P@2 Q@2 X@2 Y@2 Z@2 AA@2 AB@2 AC@2 AD@2 AE@2 L@2 M@2 N@2 D@2 O@4 P@2 AF@2 AG@2 AH@2 AI@2 AJ@2 AK@4
  AL@2 AM@2 AN@8
>`.pickRestart({
  A: "[[db3,ab3,db4,eb4,f4]@15 ~]/2", B: "[[gb2,db3,gb3,ab3,bb3,db4]@15 ~]/2",
  C: "[ab3@27 ~ ab3@4, [bb2,bb3,db4,f4]@15 ~]/2", D: "[[ab2,eb3,ab3,db4,eb4]@15 ~]/2",
  E: "[ab3@13 eb4 ab3@2, [f2,c4,f4,ab4]@15 ~, eb4@25 ~@7]/2", // Fm
  F: "[ab3@9 ~@5 db4@2, gb2@15 ~, db4@3 bb3, bb3@5 ab3@3, gb3@17 ~ gb3@14]/2", G: "[[ab2,gb3,bb3,db4,eb4]@15 ~]/2",
  H: "[[b2,b3,db4,eb4,gb4,ab4]@11 ~ [bb2,bb3,db4,f4,ab4]@19 ~]/2", // Abm7 Bbm7
  I: "[[ab3,bb3,db4]@11 ~ [gb3,bb3,db4]@19 ~, [eb2,eb3]@31 ~]/2", J: "[[gb2,gb3,a3,db4,e4]@15 ~]/2",
  K: "[[ab3,bb3,db4,eb4]@12 ~@4 ab4@15 ~, ab2@15 ~, bb4 ~, ~@12 [ab3,db4,eb4]@19 ~]/2", // Absus4
  L: "[[ab3,db4]@10 ab3 db4@2 eb4@3, [db3,f4]@15 ~, eb4@3 ~]/2", // Db5 Db
  M: "[db4@10 ab3 db4@2 eb4@3, [gb2,db3,gb3,bb3]@15 ~, ab3@19 ~@13]/2", // Gb
  N: "[f4@25 ~ f4@2 [ab3,db4]@4, [bb2,bb3]@15 ~, [ab3,db4]@7 ~]/2", // Db5 Bb Db5
  O: "[ab4@20 ab4@2 bb4@3 ~ c5@4 ~@2 [gb2,ab3,bb3,db4,f4]@11 ~ [b2,bb3,db4,eb4,gb4]@19 ~, [f2,ab3,c4,eb4,f4]@15 db5@7 ~@10]/4", // Gbmaj7 Bmaj7 Fm7
  P: "[[ab2,gb3,bb3,db4,eb4,ab4]@15 ~]/2", Q: "[[db3,ab3,db4,eb4,f4]@31 ~]/2",
  R: "[~@16 ab4@15 ~, [ab2,eb3,ab3,db4,eb4]@15 ~]/2", S: "[[ab3,db4]@10 ab3 db4@2 eb4@3, [db3,f4]@15 ~, eb4@25 ~@7]/2",
  T: "[[ab3,db4]@10 ab3 db4@2 eb4@3, [gb2,db3,gb3,bb3]@15 ~]/2", // Db5 Gb
  U: "[db4@13 f4 db4@2, [bb2,ab3,bb3]@31 ~, f4@25 ~@7]/2", // Bb7
  V: "[~@32 [ab3,c4]@26 ~@2 ab4@2 ~@2 [ab3,db4]@18 ~@8 f4@5 ~, [ab2,eb3,ab3,db4,eb4]@30 ab4@10 ~@18 c4@6 bb3@22 eb4@9 ~, ~@26 bb4@13 ~@23 bb4@15 ~@7 db4@12, ~@28 f4@4 eb4@32 gb3@17 ~ gb3@14, ~@16 [f2,f4]@15 ~ gb2@15 ~]/6", // Ab Db5 Absus4 F
  W: "[[ab3,bb3,db4,eb4]@12 ~@4 ab4@7 ~ [db4,eb4,ab4]@7 ~, ab2@15 ~, bb4 ~, ~@12 ab3@19 ~, ~@12 [db4,eb4]@11 ~@9]/2", // Absus4 Dbsus2
  X: "[[a3,c4,eb4,f4]@14 ~@2 [a3,c4,eb4,f4]@15 ~, f2@15 ~]/2", // F7
  Y: "[[ab3,bb3,db4,f4]@7 ~ db4@5 db4@3, bb2@15 ~, ~@16 [ab3,bb3,f4]@15 ~]/2", // Bbm7 Bb7
  Z: "[[a3,c4,eb4,f4]@14 ~@2 [a3,c4,eb4,f4]@7 ~ [a3,c4,eb4,f4]@7 ~, f2@15 ~]/2", // F7
  AA: "[[bb3,db4,f4]@7 ~ db4@5 db4@3, bb2@15 ~, ~@16 [bb3,f4]@15 ~]/2", // Bbm Bb5
  AB: "[[gb3,bb3,db4,f4]@14 ~@2 [gb3,bb3,db4,f4]@15 ~, eb2@15 ~]/2", // Gbmaj7
  AC: "[[f3,ab3,db4,f4]@7 ~@4 db5@2 ~ ab4@2, f2@15 ~, ~@16 [f3,ab3,f4]@15 ~, ~@8 db4@5 db4@3]/2", // Db Fm
  AD: "[[bb3,db4,eb4,gb4]@14 ~@2 db5@15 ~, ab2@15 ~, ~@7 eb4@8 ~, ~@15 [gb4,bb4]@15 ~@2]/2", // Ebm7 Gb
  AE: "[[ab2,bb3,db4,eb4,gb4]@31 ~]/2", AF: "[[db3,ab3,db4,eb4,f4]@11 ~ [bb2,bb3,eb4,f4,bb4]@19 ~]/2",
  AG: "[[bb3,eb4]@10 bb3 eb4@2 f4@3, [eb3,g4]@15 ~, f4@3 ~]/2", // Eb5 Eb
  AH: "[eb4@10 bb3 eb4@2 f4@3, [ab2,eb3,ab3,c4]@15 ~, bb3@19 ~@13]/2", // Ab
  AI: "[g4@25 ~ g4@2 [bb3,eb4]@4, [c3,c4]@15 ~, [bb3,eb4]@7 ~]/2", AJ: "[[bb2,f3,bb3,eb4,f4]@15 ~]/2",
  AK: "[bb4@20 bb4@2 c5@3 ~ d5@4 ~@2 [ab2,bb3,c4,eb4,g4]@11 ~ [db3,c4,eb4,f4,ab4]@19 ~, [g2,bb3,d4,f4,g4]@15 eb5@7 ~@10]/4", // Abmaj7 Dbmaj7 Gm7
  AL: "[[bb2,ab3,c4,eb4,f4,bb4]@15 ~]/2", AM: "[[eb3,bb3,eb4,f4,g4]@15 ~]/2",
  AN: "[[bb2,ab3,c4,eb4,f4]@63 ~@2 g4@63, ~@63 [eb3,bb3]@64 ~, ~ [eb4,f4]]/8", // Fm7 Eb5 Ebsus2
})).s("gm_epiano2").gain(0.28)

// bass · synth bass 1 · "#Reso Bas"
const bass = note(`<
  ~ A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 I@2 F@2 J K L@2 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T U V@2 W@2 X@2 Y@2 Z@2 W@2 AA@2 AB@2
  AC@2 AD@2 T U V@2 AE@2 AF@2 AG@2 AH@2 AI@2 AJ@2 AK AL AM AN AO AP AQ AN AR AS AT AU AV AW AX U AY ~ V@2 AZ@2 AF@2 BA@2
  BB@2 AI@2 AJ@2 BC@2 BD@2 BE@2 BF@2 BG@2 BH@2 BI@2 BJ@2 BD@2 BK@4 BL@4
>`.pickRestart({
  A: "[db2@10 ~@2 db2@19 ~]/2", B: "[gb2@10 ~@2 gb2@19 ~]/2", C: "[bb1@5 ~ bb1@9 ~]/2", D: "[ab2@5 ~ ab2@7 ~ gb2@2]/2",
  E: "[f2@8 ~@4 f2@19 ~]/2", F: "[gb2@8 ~@4 gb2@19 ~]/2", G: "[ab2@4 ~@2 ab2@8 ~ bb2]/2", H: "[b2@10 ~@2 bb2@19 ~]/2",
  I: "[eb2@8 ~@4 eb2@19 ~]/2", J: "ab2@8 ~@4 ab2@3 ~", K: "ab2@3 ~", L: "[db2@8 ~@4 db2@13 ~ f2@6]/2",
  M: "[gb2@8 ~@4 gb2@13 ~ gb2@2 ab2@4]/2", N: "[bb1@4 ~@2 bb1@6 ~ bb2 bb1@2]/2",
  O: "[ab2@8 ~@4 ab2@12 ~@2 ab2@2 gb2@2 ab2 ~]/2", P: "[f2@8 ~@4 f2@13 ~ f2@6]/2", Q: "[gb2@8 ~@4 b1@19 ~]/2",
  R: "[ab2@31 ~]/2", S: "[db2@8 ~@4 db2@17 ~ gb2@2]/2", T: "ab2@8 ~@2 ab2 ~ ab2@3 ~", U: "ab2@15 ~",
  V: "[db2@4 ~@2 db2@3 ~@3 db2@19 ~]/2", W: "[gb2@4 ~@2 gb2@12 ~@2 gb2@11 ~]/2",
  X: "[bb2@4 ~@2 bb2@3 ~@3 bb2@17 ~ bb2@2]/2", Y: "[ab2@4 ~@2 ab2@12 ~@2 ab2@11 ~]/2",
  Z: "[f2@4 ~@2 f2@3 ~@3 f2@13 ~ f2@2 c2@2 f2@2]/2", AA: "[ab2@4 ~@2 ab2@3 ~@3 ab2@14 ~@2 ab2@2 bb2@2]/2",
  AB: "[b2@5 ~ bb2@6 ~ ab2 gb2 f2]/2", AC: "[eb2@4 ~@2 eb2@3 ~@3 eb2@14 ~@2 eb2@2 f2@2]/2",
  AD: "[gb2@4 ~@2 gb2@3 ~@3 gb2@6 ~@2 gb2@6 ~@2 gb2@2 ab2@2]/2", AE: "[gb2@4 ~@2 gb2@3 ~@3 gb2@16 ~@2 ab2@2]/2",
  AF: "[bb2@4 ~@2 bb2@3 ~@3 bb2@12 ~@2 bb2@2 f2@2 bb2@2]/2", AG: "[ab2@4 ~@2 ab2@3 ~@3 ab2@12 ~@2 ab2@2 gb2@4]/2",
  AH: "[f2@4 ~@2 f2@3 ~@3 f2@12 ~@2 f2@2 c2@2 f2@2]/2", AI: "[gb2@4 ~@2 gb2@3 ~@3 b2@18 ~@2]/2",
  AJ: "[ab2@4 ~@2 ab2@3 ~@3 ab2@18 ~@2]/2", AK: "db2@4 ~@2 db2@3 ~@3 db2@4", AL: "~@2 db2@5 ~ f3@2 eb3@2 db3@2 b2@2",
  AM: "a2@4 ~@2 a2@3 ~@3 a2@2 ~@2", AN: "a2@15 ~", AO: "bb2@9 ~ bb2 ~ bb2@3 ~", AP: "bb2@15 ~", AQ: "a2@10 ~@2 a2@3 ~",
  AR: "bb2@8 ~@2 bb2 ~ bb2@3 ~", AS: "bb2@6 ~@2 bb2@2 ab2@2 gb2 ~ f2@2", AT: "eb2@2 ~ eb2@2 ~ eb2 ~",
  AU: "eb2@8 ~@2 eb2 ~ db2 ~ f2@2", AV: "f2@10 ~@2 f2@3 ~", AW: "f2@4 ~ f2 f2@2", AX: "ab2@10 ~@2 ab2@3 ~", AY: "ab2 ~",
  AZ: "[gb2@4 ~@2 gb2@3 ~@3 gb2@14 ~@2 ab2@3 ~]/2", BA: "[ab2@4 ~@2 ab2@3 ~@3 ab2@12 ~@2 ab2@2 ~@2 gb2@2]/2",
  BB: "[f2@4 ~@2 f2@3 ~@3 f2@12 ~@2 f2@2 bb2@3 ~]/2", BC: "[db2@4 ~@2 db2@3 ~@3 bb2@18 ~@2]/2",
  BD: "[eb2@4 ~@2 eb2@3 ~@3 eb2@19 ~]/2", BE: "[ab2@4 ~@2 ab2@3 ~@3 ab2@12 ~@2 ab2 ~ ab2@4]/2",
  BF: "[c3@4 ~@2 c3@3 ~@3 c3@12 ~@2 c3@2 g2@3 ~]/2", BG: "[bb2@4 ~@2 bb2@3 ~@3 bb2@12 ~@2 bb2@2 ab2@4]/2",
  BH: "[g2@4 ~@2 g2@3 ~@3 g2@12 ~@2 g2@2 d2@2 g2@2]/2", BI: "[ab2@4 ~@2 eb2 ~ eb2@3 ~ db2@18 ~@2]/2",
  BJ: "[bb2@4 ~@2 bb2@3 ~@3 bb2@18 ~@2]/2", BK: "[bb1@63 ~]/4", BL: "[eb2@63 ~]/4",
})).s("gm_synth_bass_1").gain(0.4)

// chords · piano · "#EG Rhode"
const piano = note("<~@37 A@2 B@2 ~@38 C@2 D@2 C@2 E@2 ~@48>".pickRestart({
  A: "[~@3 f4@7 ab3 db4 gb4 f4 eb4 db4, db2, ~ db3@15, ~ ab3@4 ~@3]/2", B: "[~@6 db4@25 ~, [ab2,eb4], ~@4 gb3@27 ~]/2",
  C: "[~@3 f4@2 ~@2 f4@2 ~@2 f4@2 ~@2 bb4, f3, ~@2 a3@7 ~ a3@6 ~@2 a3@8 ~@2 ab4@4, ~@2 eb4@3 ~ eb4@3 ~ eb4@3 f4@3]/2",
  D: "[~@3 bb4@2 ~@2 ab4@2 ~@2 bb4@2 ~@2 f4, bb3, ~@2 db4@7 ~ db4@6 ~@2 db4@8 db4@6, ~@2 ab4@3 ~ bb4@3 ~ ab4@3 ~ eb4@2]/2",
  E: "[~@6 bb4@4 ~@4 bb4@3 ~@13 ab3@2, bb3@3 eb4, ~@2 db4@7 ~ db4@6 ~@4 ab4@6 ~@2 bb3@4, ~@2 ab4@3 ~ ab4@3 bb4@4 ~@3, ~@11 f4@2 db4@3]/2",
})).s("gm_piano").gain(0.35)

// chords · electric guitar clean · "#Chrs.Gtr"
const electric_guitar_clean = note(`<
  ~@33 A@2 ~@2 B@2 C@2 D@2 E@2 D@2 F@2 D@2 G@2 H@4 I@2 J@4 K@2 L@2 M@2 N@2 O@4 P@2 Q@2 R ~ S ~ R ~ S T U@2 V@2 W@4 K@2
  L@2 M@2 N@2 O@4 P@2 X@2 Y@2 Z@2 AA@2 AB@2 AC@4 AD@6 ~@2 AE@2 ~@2
>`.pickRestart({
  A: "[~@2 bb3 [eb3,gb3,bb3,db4]@5, ~ [db3,ab3,db4]@2 ~@5]/2", // Ebm7 Db5
  B: "[~@3 ab3 ~@2 db4@4 ~ db4@2 eb4 eb4@2, ~ ab2@15, ~ db3@7, ~@8 ab3@11 ~ ab3@12]/2",
  C: "[~ gb3 eb3 ~@3 gb3@10, db4@8 eb3@23 ~, ~@3 gb3@3 ~@10, ~@10 db4@21 ~]/2",
  D: "[~@2 db4 ~@3 ab3@9 ~, ~@3 eb4@12 ~, ~@5 db4@10 ~]/2", E: "[~@2 db4 ~@3 bb3@9 ~, ~@3 eb4@12 ~, ~@5 db4@10 ~]/2",
  F: "[~@2 db4 ~@4 ab4@7 ~@2, ~@3 eb4@12 ~, ~@5 db4@10 ~, ~@6 ab3@9 ~]/2",
  G: "[~@2 db4 ~@6 db4@7, ~@3 eb4@12 ~, ~@5 db4@3 ab3@8, ~@6 bb3@9 ~, ~@14 gb3@17 ~]/2",
  H: "[~@4 ab3@2 ~@6 ab3@18 ~@2 [db4,gb4,bb4]@10 ~@2 [db4,f4,ab4]@9 ~@5 ab2@2 gb2@2 f2@2, ~@3 eb4@12 ~@13 [f4,ab4]@4, ~@10 db4@17 ~@4 b3@10 ~@23]/4", // Gb Db Fm
  I: "[eb2@11 ~ [eb4,gb4]@19 ~, ~@11 [bb3,db4]@20 ~]/2", // Ebm Bbm
  J: "[~@10 b3@16 ~@6 [db4,eb4,ab4]@9 ~@5 ab5@16 ~@2, ~@2 gb3@11 ~@19, ~@6 a3@20 ~@5 ab3@10 ~@3 db5@18 ~@2, ~@8 e4@18 ~@16 bb4@21 ~]/4", // Dbsus2
  K: "[~@2 db4 ~@10 eb4@3, db3@15 ~, ~@3 eb4@8 ab4@5, ~@5 db4@10 ~, ~@6 ab3@9 ~]/2",
  L: "[~@2 ab3 ~ ab3 ~ ab3@4 ab3 db4@2 eb4@3, gb3@5 ~ gb3@24 ~@2, ~@2 db4@7 ~ db4@12 ~@10]/2",
  M: "[~@2 db4 ~@10 eb4 ~ eb4, bb2@31 ~, ~@6 eb4@16 db3@9 ~, ~@5 db4@10 ~, ~@12 ab3@15 ~ ab3@4]/2",
  N: "[~@4 db4@2 ~@16 ab4@9 ~, ab2@31 ~, ~@6 eb4@13 ~ eb4@11 ~, ~@10 db4@7 ~@15, ~@6 ab3@9 ~]/2",
  O: "[~@12 c4@8 [ab3,c4]@2 [bb3,db4]@4 [c4,eb4]@5 ~ [gb3,f4,ab4]@11 ~ [gb3,db4,eb4]@18 ~@2, f2@31 [gb2,db3,bb3]@12 ~@21, ~@4 eb3@27 ~@12 [b2,bb3]@19 ~@2, ~@3 f3@12 ~@17, ~@4 ab3@5 ~@23]/4", // Ab Bbm Cm Db Ebm7 Gb Bmaj7
  P: "[~@2 ab3 ~@3 ab3@9 ~, ab2@15 ~, ~@3 eb4@12 ~, ~@10 db4@17 ~@5]/2",
  Q: "[~@3 ab3 ~@7 db4@5, ~@4 db3@11 ~ db3@15 ~, ~@8 db4@13 ~@11, ~@3 ab3@2 ab3@3]/2",
  R: "~@3 c4@5, a2, ~ eb3@7, ~ f3@3", S: "~@3 db4@5, bb2, ~ db3@7, ~ f3@3",
  T: "~ [eb4,f4,ab4,bb4] [eb4,ab4] [db4,f4] [bb3,eb4] [db4,f4] [bb3,eb4] [ab3,db4]", // Ebsus4 Ab5 Db Eb5 Db Eb5 Db5
  U: "[~@3 ab4@7 ~@6, eb3@19 ~@13, ~@2 bb3@17 ~@13, ~ db4@4 ~@3]/2",
  V: "[~@8 db4@9 ~ db4@2 [eb4,f4,bb4] ~ [eb4,f4,bb4] ~ [eb4,ab4]@4 [db4,f4]@4, f2@11 ~@5, ~ db3@10 ~@5, ~@2 ab3@9 ~@5, ~@3 f3@8 ~@5]/2", // Ebsus2 Ab5 Db
  W: "[~@12 gb4@12 ~@8 db4@23 ~@9, eb3@24 ~@6 ab2@25 ~@9, ~@4 bb3@5 ~ bb3@14 ~@7 [eb3,ab3]@24 ~@9, ~@3 db4@9 ~@20]/4", // Ab5
  X: "[~@6 ab3@2 db4@3 ~ [eb4,f4,bb4]@19 ~, ~@4 db3@7 bb3@20 ~]/2", // Ebsus2
  Y: "[~@2 eb4 ~@10 f4@3, eb3@15 ~, ~@3 f4@8 bb4@5, ~@5 eb4@10 ~, ~@6 bb3@9 ~]/2",
  Z: "[~@2 bb3 ~ bb3 ~ bb3@4 bb3 eb4@2 f4@3, ab3@5 ~ ab3@24 ~@2, ~@2 eb4@7 ~ eb4@12 ~@10]/2",
  AA: "[~@2 eb4 ~@10 f4 ~ f4, c3@31 ~, ~@6 f4@16 eb3@9 ~, ~@5 eb4@10 ~, ~@12 bb3@15 ~ bb3@4]/2",
  AB: "[~@4 eb4@2 ~@16 bb4@9 ~, bb2@31 ~, ~@6 f4@13 ~ f4@11 ~, ~@10 eb4@7 ~@15, ~@6 bb3@9 ~]/2",
  AC: "[~@12 d4@8 [bb3,d4]@2 [c4,eb4]@4 [d4,f4]@5 ~ [ab3,g4,bb4]@11 ~ [ab3,eb4,f4]@18 ~@2, g2@31 [ab2,eb3,c4]@12 ~@21, ~@4 f3@27 ~@12 [db3,c4]@19 ~@2, ~@3 g3@12 ~@17, ~@4 bb3@5 ~@23]/4", // Bb Cm Dm Eb Fm7 Ab Dbmaj7
  AD: "[~@2 bb3 ~@3 bb3@9 ~ eb4@15 ~ eb4@10 ~@6, bb2@5 ~@11, ~ f4@4 ~@11, ~@10 eb4@17 ~@4 [g3,bb3]@31 ~ [f3,ab3]@21 ~@12]/6", // Gm Fm
  AE: "[~ [bb3,eb4]@25 ~@6, g3@25 ~@7]/2", // Eb5
})).s("gm_electric_guitar_clean").gain(0.36).pan(0.7)

// chords · electric guitar clean · "#Chrs.Gtr" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@41 A ~ A ~ A ~ A ~ A ~ A ~ B ~ C@2 ~@6 A ~@3 A ~ A D ~@4 B ~@19 A ~@3 A ~ A D ~@4 B ~@3 E ~@3 E ~ E F ~@4 G ~@6 H@3
  ~@2
>`.pickRestart({
  A: "~ ab3@4 ~@3", B: "~ eb3@4 ~@3", C: "[~@11 bb3@9 ~@12]/2", D: "~@2 db4@13 ~", E: "~ bb3@4 ~@3", F: "~@2 eb4@13 ~",
  G: "~ f3@4 ~@3", H: "[~@15 eb3@26 ~@7]/3",
})).s("gm_electric_guitar_clean").gain(0.18).pan(0.7)

// chords · acoustic guitar steel · "St.Str.Gt"
const acoustic_guitar_steel = note(`<
  ~@23 A@2 B@2 C@2 D@2 E@2 F@2 G@2 ~@4 H@2 I@2 J@2 K@2 L@2 M@2 N@4 O ~ P@2 Q@2 R@2 S@2 T@2 U@2 V@2 W@2 G@2 X Y Z@2 AA@2
  Z@2 AB@3 AC AD AE AF AG AH ~ AI@2 S@2 T@2 U@2 V@2 W@2 G@2 AJ@2 AK@2 AL@2 AM@2 AN@2 AO@2 AP@2 AQ@2 AR AS ~@8
>`.pickRestart({
  A: "[[db3,ab3,db4,f4]@7 ~]/2", B: "[[gb2,db3,gb3,ab3,db4]@27 ~@5]/2",
  C: "[~@3 ab3@2 ~ ab3@9 ~, bb2@15 ~, ~@2 f3@13 ~, ~@5 db4@10 ~]/2", D: "[[ab2,eb3,ab3,db4,eb4]@27 ~@5]/2",
  E: "[[c3,f3,c4,eb4,ab4]@27 ~@5]/2", F: "[[gb2,db3,ab3,db4,f4]@5 ~ [b2,gb3,bb3,eb4]@9 ~]/2",
  G: "[~@6 ab3@9 ~, ab2@31 ~, ~@4 ab3@6 eb4@21 ~, ~@6 ab4@25 ~, ~@8 db4@23 ~]/2",
  H: "[~@10 ab3@2 ~@2 ab3@15 ~@3, db3@7 ~, ~@2 ab3@4 eb4@23 ~@3, ~@4 db4@6 ~@2 db4@17 ~@3]/2",
  I: "[~@10 db4@2 ab3@17 ~@3, gb2@7 ~, ~@2 ab3@4 eb4@23 ~@3, ~@2 db4@3 ~@11]/2",
  J: "[~@10 db4@2 ab3@17 ~@3, bb2@7 ~, ~@2 ab3@4 eb4@23 ~@3, ~@2 db4@3 ~@11]/2",
  K: "[~@10 db4@2 ab3@17 ~@3, ab2@7 ~, ~@2 ab3@4 eb4@23 ~@3, ~@2 db4@3 ~@11]/2",
  L: "[~@10 db4@2 ab3@17 ~@3, f2@7 ~, ~@2 ab3@4 eb4@23 ~@3, ~@2 db4@3 ~@11]/2",
  M: "[~@10 db4@2 bb3@17 ~@3, gb2@7 ~, ~ gb3@3 ~@12, ~@2 db4@3 ~@11, ~@6 eb4@23 ~@3]/2",
  N: "[~@10 db4@2 ab3@17 ~@3 [b3,eb4]@11 ~ [db4,f4,ab4]@13 ~@7, ab2@7 ~@9, ~ eb3@3 ~@28, ~@4 ab3@6 ~@33 bb3@13 ~@8, ~@6 eb4@23 ~@2 [gb4,bb4]@12 ~@21]/4", // B Db Gb
  O: "[eb3,ab3,bb3]@3 ~", P: "[~@3 a3@4 ~, gb2@7 ~, ~ gb3@6 ~, ~@3 a3@2 db4@9 ~@2, ~@2 e4@5 ~]/2",
  Q: "[~@3 ab3@8 ~@5, ab4@23 ~@9, ~@2 eb4@21 ~@9, ~@4 db4@19 ~@9]/2",
  R: "[~@8 ab3@2 ~@2 ab3@17 ~@3, db3@7 ~, [ab3,db4]@9 ~ db4@20 ~@2, ~@6 f3@23 ~@3]/2", // Db5
  S: "[gb3@5 ~@3 ab3@2 ~@2 ab3@17 ~@3, [gb2,db3]@7 ~, [ab3,db4]@9 ~ db4@20 ~@2, ~@6 gb3@23 ~@3]/2", // Gb5 Db5
  T: "[ab3@6 ~@2 ab3@2 ~@2 ab3@17 ~@3, bb2@7 ~, [db4,f4]@9 ~ db4@20 ~@2, f3@5 ~ f3@23 ~@3]/2", // Db
  U: "[ab3@6 ~@2 ab3@2 ~@2 ab3@17 ~@3, ab2@7 ~, [db4,eb4]@9 ~ db4@20 ~@2, eb3@5 ~ f3@23 ~@3]/2", // Dbsus2
  V: "[c4@6 ~@2 ab3@2 ~@2 ab3@17 ~@3, c3@7 ~, [eb4,ab4]@9 ~ c4@20 ~@2, f3@5 ~ f3@23 ~@3]/2", // Ab5
  W: "[[gb2,db3,ab3,db4,f4]@5 ~ [b2,gb3,bb3,eb4,bb4]@9 ~]/2", X: "~@3 ab3 ~@4, db3@15 ~, ~ f3@2 ~",
  Y: "~@3 eb4@2 db4@3, db3@15 ~, ~@2 ab3@13 ~, ~ f4@3",
  Z: "[~@3 f4@2 ~ eb4@3 ~ eb4@3 ~ ab4@2, f3, ~@2 a3@7 ~ a3@6 ~@2 a3@8 ~@6, ~@2 eb4@3 ~@8 f4@3]/2",
  AA: "[~@3 bb4@2 ~ bb4@3 ~ ab4@3 ~ eb4@2, bb3, ~@2 db4@7 ~ db4@6 ~@2 db4@8 db4@6, ~@2 ab4@3 ~@11]/2",
  AB: "[~@3 bb4@2 ~ ab4@3 ~@6 ab3 [gb3,bb3]@4 ~@4, bb3@3 eb4 ~@2, ~@2 db4@7 ~ db4@6 ~@4 ab4@6 ~@2 bb3@4 db3@6 ~@10, ~@2 ab4@3 ~@4 bb4@4 ~@11, ~@11 f4@2 db4@6 ~@5]/3", // Gb
  AC: "[db3,gb3,bb3,db4]@7 ~ [db3,gb3,bb3,db4]@6 ~@2", AD: "[ab3,db4,f4]@9 ~@7, db3@3 ~@5",
  AE: "[db3,ab3,db4,f4]@4 [db3,ab3,db4,f4]@3 ~", AF: "[eb3,bb3,db4]@9 ~@7, ab2@3 ~@5",
  AG: "[ab2,eb3,bb3,db4]@4 [eb3,bb3,db4,gb4]@3 ~", AH: "[ab2,eb3,bb3,db4] ~",
  AI: "[c4@6 ~@2 ab3@2 ~@2 ab3@17 ~@3, [c3,db3]@7 ~, [ab3,db4,eb4,ab4]@9 ~ db4@20 ~@2, f3@5 ~ f3@23 ~@3]/2", // Dbmaj7 Absus4
  AJ: "[~@3 ab3 ~@7 eb4@2 bb3@3, db3@11 ~ bb2@19 ~, ~@4 f3@8 ~@6 bb3@7 ~@7, ~@5 f4@3]/2",
  AK: "[~@8 bb3@2 ~@2 bb3@17 ~@3, eb3@7 ~, [bb3,eb4]@9 ~ eb4@20 ~@2, ~@6 g3@23 ~@3]/2", // Eb5
  AL: "[ab3@5 ~@3 bb3@2 ~@2 bb3@17 ~@3, [ab2,eb3]@7 ~, [bb3,eb4]@9 ~ eb4@20 ~@2, ~@6 ab3@23 ~@3]/2", // Ab5 Eb5
  AM: "[bb3@6 ~@2 bb3@2 ~@2 bb3@17 ~@3, c3@7 ~, [eb4,g4]@9 ~ eb4@20 ~@2, g3@5 ~ g3@23 ~@3]/2", // Eb
  AN: "[bb3@6 ~@2 bb3@2 ~@2 bb3@17 ~@3, bb2@7 ~, [eb4,f4]@9 ~ eb4@20 ~@2, f3@5 ~ g3@23 ~@3]/2", // Ebsus2
  AO: "[d4@6 ~@2 bb3@2 ~@2 bb3@17 ~@3, d3@7 ~, [f4,bb4]@9 ~ d4@20 ~@2, g3@5 ~ g3@23 ~@3]/2", // Bb5
  AP: "[[ab2,eb3,bb3,eb4,g4]@5 ~ [db3,ab3,c4,f4,c5]@9 ~]/2", // Eb Dbmaj7
  AQ: "[~@6 bb3@9 ~, bb2@31 ~, ~@4 bb3@6 f4@21 ~, ~@6 bb4@25 ~, ~@8 eb4@23 ~]/2", AR: "~@3 bb3 ~@4, eb3@15 ~, ~ g3@2 ~",
  AS: "~@3 f4@2 eb4@3, eb3@15 ~, ~@2 bb3@13 ~, ~ g4@3",
})).s("gm_acoustic_guitar_steel").gain(0.16).pan(0.3)

// chords · acoustic guitar steel · "St.Str.Gt" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@56 A@2 ~@5 B@2 ~@3 C ~@8 D@2 ~ E ~ F ~ E ~@2 G H I J K L@2 ~ B@2 ~@3 C ~@8 M ~ N@2 ~@3 O ~@8 P@2 ~@8
>`.pickRestart({
  A: "[~@15 [db4,f4]@13 ~@4]/2", B: "[f4@29 ~@3]/2", C: "~@15 e4", D: "[~@12 ab3@5 ~@15, ~ db4@2 ~]/2",
  E: "~@3 f4@2 ~@2 bb4", F: "~@3 bb4@2 ~@2 f4", G: "f4@3 ~@5", H: "f4@7 ~ f4@6 ~@2", I: "ab4@3 ~@5", J: "ab4 ~",
  K: "gb4@3 ~@5", L: "gb4 ~", M: "~@2 db4 ~", N: "[g4@29 ~@3]/2", O: "~@15 gb4", P: "[~@12 bb3@5 ~@15, ~ eb4@2 ~]/2",
})).s("gm_acoustic_guitar_steel").gain(0.02).pan(0.3)

// chords · pad warm · "#Soft Pad"
const pad_warm = note(`<
  ~ A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 I@2 J@2 K@2 A@2 B@2 C@2 D@2 L@2 M@2 N@2 A@2 D@2 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 I@2
  J@2 K@2 A@2 B@2 C@2 D@2 L@2 M@2 N@2 A@2 O@2 C@2 O@2 P@2 Q@2 R@2 S@4 A@2 B@2 C@2 D@2 L@2 M@2 N@2 T@2 U@2 V@2 W@2 X@2
  Y@2 Z@2 AA@2 U@2 AB@4 AC@4
>`.pickRestart({
  A: "[f3,ab3,db4]/2", B: "[gb3,ab3,bb3,db4]/2", C: "[ab3,bb3,db4,f4]/2", D: "[eb3,ab3,db4,eb4]/2",
  E: "[[f3,ab3,c4,eb4]@31 ~]/2", F: "[[gb3,ab3,bb3,db4]@31 ~]/2", G: "[[gb3,bb3,db4,eb4]@31 ~]/2",
  H: "[[b3,db4,eb4,gb4]@3 [bb3,db4,f4]@5, ab4@31 ~]/2", I: "[[ab3,eb4]@3 [gb3,f4]@5, [bb3,db4]@31 ~]/2",
  J: "[[gb3,a3,db4,e4]@31 ~]/2", K: "[[ab3,db4,eb4]@31 ~]/2", L: "[f3,ab3,c4,eb4,ab4]/2",
  M: "[[gb3,ab3,bb3,db4]@11 ~ [bb3,db4,eb4,gb4]@19 ~]/2", N: "[[gb3,bb3,db4,eb4,ab4]@31 ~]/2", O: "[a3,c4,eb4,f4]/2",
  P: "[bb3,db4,f4,bb4]/2", Q: "[gb3,bb3,db4,f4]/2", R: "[ab3,db4,f4,ab4]/2", S: "[bb3,db4,gb4,ab4]/2",
  T: "[[f3,ab3,db4]@12 [f3,bb3,eb4,f4,bb4]@19 ~]/2", U: "[g3,bb3,eb4]/2", V: "[ab3,bb3,c4,eb4]/2",
  W: "[bb3,c4,eb4,g4]/2", X: "[f3,bb3,eb4,f4]/2", Y: "[g3,bb3,d4,f4,bb4]/2",
  Z: "[[ab3,bb3,c4,eb4]@11 ~ [c4,eb4,f4,ab4]@19 ~]/2", AA: "[[ab3,c4,eb4,f4,bb4]@31 ~]/2", AB: "[ab3,c4,eb4,f4]/4",
// … 196 more lines

More by Celine Dion