Strudelify
Sail On cover art

Tuskegee

Sail On

Lionel Richie

KeyD♭ majorTempo70 bpm
0:00/0:00
// Sail On — RICHIE LIONEL
// 70 bpm, 4/4, key Db major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 23, 4/4 at bar 23, 2/4 at bar 26, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 69 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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 · piano
const piano = note(`<
  A B C@2 D E F G H I J K L M N O P Q R@2 S T U@3 V W@3 D E F G H I J X L Y N Z P Q AA@2 S T AB@6 AC AD@2 AE@2 AF AG AH
  AI@3 ~@5
>`.pickRestart({
  A: "~ ab3 db4 ~ ab3@2 ~@9 db4, [db3,db4,f4]@6 ~@3 [eb4,gb4]@9 db3@21 f4@5 ~@4, ~@18 [f4,ab4]@15 db4@10 ~@5, ~@10 ab3@5 ~, ~@36 gb4@5 ~ eb4@5 ~", // Db Ebm Fm
  B: "~ bb3 eb4 ~ bb3@2 ~@6 gb4 f4 eb4 db4, [eb3,eb4,gb4]@6 ~@3 [f4,ab4]@9 [eb3,bb4]@25 ~@5, ~@18 gb4@15 db4@5 ~@10, ~@30 bb3@5 ~@13", // Ebm Fm Eb5
  C: "[~@3 ab3@3 db4@3 ~@3 ab3@6 ~@12 ab3@3 ~@3 gb4@3 f4@3 eb4@3 f4@9 f4@12 f4@6 f4@6 f4@6 f4@6 f4@5 ~, [db3,db4,f4]@6 ~@3 [eb4,gb4]@9 [db3,f4,ab4]@15 db4@5 ~@58]/2", // Db Ebm Db
  D: "db4@3 ab3@3 db4@3 ~@3 ab3@6 [db3,f4]@21 ~@3 ab3@5 ~, [db3,f4]@5 ~@4 [eb4,gb4]@8 ~ ab4@19 ~@2 ab4@5 ~@4", // Db Ebm
  E: "eb4@3 bb3@3 eb4@3 ~@3 bb3@6 bb4@19 ~@2 bb4@8 ~, [eb3,gb4]@7 ~@2 [f4,ab4]@9 [eb3,gb4]@25 ~@5", // Ebm Fm Ebm
  F: "eb4@3 ~@3 eb4@3 ~@3 bb3@6 bb4@21 bb4@8 ~, [eb3,gb4]@7 ~@11 [eb3,gb4]@25 ~@5, ~@3 bb3@5 ~ [f4,ab4]@9 ~@30", // Ebm Fm
  G: "~@6 db4@3 ~@3 ab3@6 f4@21 ab3@3 db4@3 db3 ~@2, [db3,db4,f4]@6 ~@12 [db3,ab4]@25 ~@5, ~@3 ab3@5 ~ [eb4,gb4]@10 ~@29", // Db Db5 Ebm
  H: "~@6 db4@3 ~@3 ab3@6 ab4@19 ~@2 ab4@3 ab3@3 ab2 ~@2, [db3,db4,f4]@6 ~@12 [db3,f4]@25 ~@5, ~@3 ab3@5 ~ [eb4,gb4]@9 ~@30", // Db Ebm
  I: "eb4@3 ~@3 eb4@3 ~@3 bb3@6 bb4@19 ~@5 bb3@5 ~, [eb3,gb4]@7 ~@11 [eb3,gb4]@27 ~@3, ~@3 bb3@5 ~ [f4,ab4]@9 ~@21 bb4@6 ~@3", // Ebm Fm
  J: "eb4@3 ~@3 eb4@3 ~@3 bb3@6 [eb3,gb4,bb4]@21 bb4@3 bb3@3 eb3@2 ~, [eb3,gb4] ~@7, ~@3 bb3@5 ~ [f4,ab4]@10 ~@29", // Ebm Fm
  K: "~@6 db4@3 ~@3 ab3@6 ab4@17 ~ ab4@3 ab3@3 db3@3 ~@3, [db3,db4,f4] ~@2 [db3,f4]@4 ~, ~@3 ab3@5 ~ [eb4,gb4]@9 ~@30", // Db Ebm
  L: "~@3 ab3@3 db4@3 ~@3 ab3@6 [db3,f4,ab4]@8 ~ [db2,db3,db4,f4]@6 [db2,db3,ab3]@2 ~ [bb1,bb2,eb4,gb4]@5 ~ [ab1,ab2,f4,ab4]@5 ~, [db3,db4,f4]@2 ~ [eb4,gb4]@3 ~@10", // Db Db5 Ebm Db Ebm
  M: "[gb2,gb3,bb3,db4,f4]@24 [c4,ab4]@9 c4@3 db4@3 ~@3 ab3@4 ~@2, ~@12 ab2@11 ~, ~@24 [ab3,eb4]@13 ~@2 c4@5 ~@4", // Gbmaj7 Fm Ab5
  N: "[db3,ab3,db4,f4]@7 ~@2 [c3,ab3,c4,eb4]@7 ~@2 [f3,bb3,db4]@9 ab3@3 bb3@5 ~ b3@3 [ab2,db3,f3]@7 ~@2, ~@18 bb2@13 ~@17", // Db Ab Bbm Db
  O: "[bb3,db4,f4]@11 ~ [bb3,db4,f4]@8 ~@4 [ab3,c4,eb4]@9 ~@3 bb3@3 [ab3,c4]@3 [bb3,db4]@5 ~, [gb2,gb3]@22 ~@2 ab2@23 ~, ~@11 [ab3,c4,eb4]@2 ~@3", // Bbm Ab Bbm Gb Ab
  P: "[db3,ab3,db4,f4]@8 ~ [c3,ab3,c4,eb4]@7 ~@2 [f3,bb3]@9 ~@3 bb3@4 ~@2 [f2,f3,ab3]@2 ~ [f2,eb3,ab3,b3]@6 db2@3, ~@18 [bb2,db4]@17 ~@13, ~@27 [f3,ab3]@6 ~@3 b3 ~@11", // Db Ab Bb5 Fm Fm7b5 Bbm Fm
  Q: "[bb3,db4,f4]@11 ~ [bb3,db4,f4]@10 ~@2 [ab3,c4,eb4]@8 ~@4 bb3@2 ~@4 ab3@3 ab2@3, [gb2,gb3]@23 ~ ab2@21 ~@3, ~@33 [ab3,c4,eb4]@5 ~ [bb3,eb4]@5 ~@4", // Bbm Ab Gb Ab Eb5
  R: "[[db3,ab3,db4,f4]@8 ~ [c3,ab3,c4,eb4]@8 ~ [bb2,f3,bb3,db4]@43 ~@2 [ab3,db4,f4]@6 eb2@3 [gb3,bb3,db4,gb4]@3 ~@3 eb4@3 ~@6 gb3@6 db2@3, ~@63 ab2@3 ~@6 gb2@19 ~@5, ~@75 gb3@6 gb4@5 ~@10, ~@42 db4@5 ~]/2", // Db Ab Bbm Db Gb
  S: "[f2,ab3,db4,f4]@3 gb4@5 ~ gb4@6 [eb2,gb3]@3 db2@6 [gb3,bb3,eb4] ~@8 [f3,ab3,db4]@2 ~@4 db2@3 eb2@2 ~@4, ~@3 [gb2,bb3,db4]@13 ~@32", // Db Ebm Db Gb
  T: "~@18 ab2@3 eb2@3 [bb3,eb4] ~@8 [f3,ab3,db4]@2 ~@4 db2@3 eb2@2 ~@4, ~@15 [gb3,bb3,db4]@5 ~@28", // Eb5 Db Gb
  U: "[~@15 gb2@3 ab2@3 eb2@3 [gb2,gb3,bb3,db4]@4 ~@5 [f2,f3,ab3]@4 ~@5 eb2@16 ~@2 ab2@3 ab1@9 db2@9 [ab2,ab4]@2 ~ [ab2,ab4]@5 ~ ab4@12 ab4@6 ab4@6 ab4@5 ~ ab4@6 ab4@6 ab4@6 ab4@5 ~, ~@15 [gb3,bb3,db4]@5 ~@13 db4@2 ~@7 [eb3,gb3,bb3]@26 ~@4 [ab3,db4,f4]@16 ~@2 [ab2,ab3,c4,eb4]@53 ~]/3", // Gb Fm Ab Gb Ebm Db Ab
  V: "f4@3 ~@12 db4, db3@5 ~, db4@30 ab3@7 ~@2 f4@6 ~@3, ~@9 gb4@8 ~ ab4@17 ~ gb4@6 ~@6, ~@12 f4@11 ~@10 db4@9 eb4@5 ~",
  W: "[~@42 ab2@2 ~ ab2@3 ~@15 db4@3 ~@20 f4@3 eb4@3 ~ f4@9 f4@5 ~ f4@6 f4@6 f4@6 f4@6 f4@6 f4@5 ~, eb3@15 eb4@5 ~@10 bb3@6 gb4@5 ~@7 f4@5 ~ db4@5 ~ ab3@7 ~@10 ab3@6 gb4@5 ~@56, gb4@5 ~ eb4@6 bb3@6 eb3@21 f4@6 db4@6 ab3@6 gb4@7 ~@16 db4@7 ~@57, ~@3 bb3@6 ab4@7 ~@2 bb4@15 db4@7 ~@2 eb4@6 db3@17 ~ [db3,ab4]@16 ~@62]/3", // Db5
  X: "~@6 db4@3 ~@3 ab3@6 ab4@17 ~ ab4@3 ab3@3 db3@2 ~@4, [db3,db4,f4] ~@2 [db3,f4]@4 ~, ~@3 ab3@5 ~ [eb4,gb4]@9 ~@30", // Db Ebm
  Y: "[gb2,gb3,bb3,db4,f4]@24 c4@8 ~ c4@3 db4@3 ~@3 ab3@4 ~@2, ~@12 ab2@11 ~, ~@24 [ab3,eb4,ab4]@13 ~@2 c4@5 ~@4", // Gbmaj7 Ab5
  Z: "[bb3,db4,f4]@11 ~ [bb3,db4,f4]@8 ~@4 [ab3,c4,eb4]@9 ~@3 bb3@2 ~ [ab3,c4]@3 [bb3,db4]@5 ~, [gb2,gb3]@22 ~@2 ab2@23 ~, ~@11 [ab3,c4,eb4]@2 ~@3", // Bbm Ab Bbm Gb Ab
  AA: "[[db3,ab3,db4,f4]@8 ~ [c3,ab3,c4,eb4]@8 ~ [bb2,f3,bb3,db4]@43 ~@2 [ab3,db4,f4]@6 eb2@3 [bb3,db4,gb4]@3 ~@3 eb4@3 ~@6 gb3@6 db2@3, ~@63 ab2@3 ~@6 gb2@19 ~@5, ~@72 gb3@2 ~ gb3@6 gb4@5 ~@10, ~@42 db4@5 ~]/2", // Db Ab Bbm Db Gb
  AB: "[~@15 gb2@3 ab2@3 eb2@3 [gb2,gb3,bb3,db4]@3 ~@6 [f2,f3,ab3]@4 ~@5 eb2@16 ~@2 ab2@3 ab1@9 db2@9 [ab2,ab4]@2 ~ [ab2,ab4]@5 ~ ab4@12 ab4@6 ~@3 ab3@8 ~@10 gb2@3 b2@5 ~ [bb3,db4,gb4]@11 ~@7 [ab3,c4,eb4]@19 ~@2 [ab3,db4,eb4]@4 ~@2 [ab3,c4,eb4]@4 ~@2 [ab3,bb3]@5 ~ [ab3,c4,eb4]@5 ~@4 [ab1,ab2,ab3,c4]@20 ~ [ab1,ab2,ab3,db4]@5 ~ [ab1,ab2,ab3,c4]@5 ~ [ab1,ab2,ab3,bb3]@5 ~ [ab1,ab2,ab3,c4]@7 ~@2 [gb2,gb3,db4]@6 ~@3 [gb3,bb3,c4]@3 gb2@4 ~@2 gb2@4 ~ gb2@3 ~@3 gb2@2 ~ [gb3,bb3,db4]@3 gb2, ~@15 [gb3,bb3,db4]@5 ~@13 db4@2 ~@7 [eb3,gb3,bb3]@26 ~@4 [ab3,db4,f4]@16 ~@2 [ab2,c4,eb4]@30 [b2,b3,eb4,gb4]@13 ~@5 gb2@17 ~ ab2@44 ~@61 gb2@2 ~@25, ~@90 ab3@18 ab4@12 ~@69 eb4@3 ~@60 bb3@3 ~@14 [gb3,bb3]@4 ~@15]/6", // Gb Fm Ab Gb Ab Absus4 Ab Absus2 …
  AC: "~@2 [gb2,gb3,bb3,c4]@3 gb2@4 ~ [f3,ab3,c4]@3 ~@6 [f3,ab3,bb3]@3 f2@4 ~@2 f2 ~@2 [f2,f3,ab3,db4]@3 ~@3 [f3,ab3,c4]@3 f2@3 [f3,ab3,bb3]@3 f2 ~, ~@10 f2@5 ~@4 f2 ~@28", // Cm7b5 Fm Bb7 Db Fm Bb7
  AD: "[[f3,ab3,c4]@3 f2@4 ~@2 [gb2,db4]@4 ~@5 [gb3,bb3,c4]@3 [gb2,gb3,bb3]@4 ~@2 gb2 ~@2 gb2 ~ gb2@3 [gb3,bb3,db4]@3 gb2@3 [gb3,bb3,c4]@3 gb2@2 ~ [gb2,gb3,bb3,db4]@3 gb2@3 ~@3 [f3,ab3,c4]@5 ~@4 c4@2 ~ f2@3 ~@3 [eb3,gb3,bb3]@14 ab2@2 ab2@5 ~, f2 ~@8 [gb3,bb3]@2 ~@7 gb2 ~@37 f2@8 ~ [f3,ab3]@5 ~@3 eb2@12 ~@11, ~@65 f2 ~ bb3@2 ~@27]/2", // Fm Gb5 Cm7b5 Gb Cm7b5 Gb Fm Ebm …
  AE: "[ab2@4 ~@2 [gb2,gb3,bb3,db4]@8 ~ gb2 ~@2 gb2@4 ~@2 [gb3,bb3]@3 gb2 ~@2 gb2@3 [gb3,bb3,db4]@3 gb2@3 [gb3,bb3,c4]@3 gb2@2 ~@3 gb2@3 ~@3 [f2,f3,ab3,c4]@6 ~@3 [f3,bb3]@3 f2@3 ~@3 f2 ~@4 f2@3 [f3,ab3,c4]@3 f2@3 f3@3 ab3@2 ~ [f2,ab3,bb3]@2 ~ f2@2, ~@15 [gb3,bb3,c4]@8 ~ gb2 ~@19 bb3@4 ~@17 ab3 ~@30, ~@44 gb2@2 ~@16 f2 ~@25 f2 ~@7, ~@45 [gb3,db4]@4 ~@25 [f3,ab3,db4]@4 ~@16 f3 ~]/2", // Gb Cm7b5 Fm Bb5 Fm Bb7 Cm7b5 Gb5 …
  AF: "~@4 [gb2,gb3,bb3,db4]@7 ~@2 [gb3,bb3,c4]@2 gb2@3 ~@3 gb2 ~@2 gb2 ~@2 gb2@3 [gb3,bb3,db4]@3 gb2@3 [gb3,bb3,c4]@3 gb2@2 ~ [gb2,gb3,bb3,db4]@3 gb2@3, ~@13 gb2 ~@34", // Gb Cm7b5 Gb Cm7b5 Gb
  AG: "~@11 [f3,ab3,c4]@3 bb3 ~@19 ab2@2 ~ ab2@4 ~@2 ab2@4 ~, ~@2 [f3,ab3,c4]@7 ~@39, ~@3 f2@12 ~@5 [eb2,eb3,gb3,bb3]@19 ~@9", // Fm Ebm
  AH: "~ [gb2,gb3,bb3,db4]@6 ~@3 [gb3,bb3,c4]@3 gb2@3 ~@3 gb2 ~@2 gb2 ~@2 gb2@2 [gb3,bb3,db4]@3 gb2@3 [gb3,bb3,c4]@3 gb2@2 ~ [gb3,bb3,db4]@3 gb2@3 ~@3, ~@10 gb2 ~@28 gb2@2 ~@7", // Gb Cm7b5 Gb Cm7b5 Gb
  AI: "[[f2,f3,ab3,c4]@5 ~@4 f2 ~ f2@4 ~@3 f2 ~ [f3,ab3,c4]@3 db4@2 ~ [f3,ab3,c4]@3 f2 ~@2 [f3,ab3,bb3]@3 f2@2 ~ [f2,f3,ab3,c4]@3 f2@3 ~@2 [gb2,gb3,bb3,db4]@6 ~@3 c4@3 gb2@4 ~@2 gb2 ~@2 gb2 ~@2 gb2@3 [gb3,bb3,db4]@3 gb2@3 [gb3,bb3,c4]@3 gb2@2 ~ db4@2 gb2@3 ~@3 [f2,f3,ab3,c4]@9 [f3,ab3]@2 ~ [f2,f3,ab3,c4]@3 ~@3 [eb2,eb3,gb3,bb3]@14 ab2@2 ~ ab2@3 ~@3 ab2@2 ~@4 [gb3,bb3,db4] ~@3, ~@9 [f3,ab3,c4]@4 ~@7 f2 ~@2 f2 ~@31 gb2 ~@28 [gb2,gb3,bb3]@3 ~@57, ~@11 bb3 ~@43 [gb3,bb3]@7 ~@40 c4 ~@41]/3", // Fm Bb7 Fm Gb Cm7b5 Fm Ebm Gb …
})).s("gm_piano").gain(0.44)

// bass · fretless bass
const bass = note(`<
  ~@12 A B C D E F G@2 H I@5 ~@3 J K L M N O P Q@2 R S T U V W@2 X Y Z@4 AA AB AC AD@2 AE@2 AF AG AH AI@3 ~ AJ@2 AK ~
>`.pickRestart({
  A: "~@27 db2@8 bb1@6 ~ ab1@5 ~", B: "gb1@23 ~ ab1@23 ~", C: "db2@9 c2@9 bb1@17 ~ ab1@3 ab1@8 ~", D: "gb1@24 ab1@23 ~",
  E: "db2@8 ~ c2@9 bb1@17 ~ ab1@2 ~ ab1@8 ~", F: "gb1@12 ab1@11 ~",
  G: "[db2@4 ~@5 ab2@3 ~@3 f2@3 bb2@42 ~@3 ab2@4 ~@5 gb2@23 ~]/2",
  H: "f2@3 gb2@11 ~ eb2@3 db2@3 bb1@2 gb1@4 ~@6 f2@4 ~@5 eb2@4 ~@2",
  I: "[~@6 eb3@3 db3@3 eb2 ~ gb2@3 ab2@4 ~@3 gb2@4 ~@5 f2@3 ~@3 db2@3 eb2@12 eb2@9 gb2@2 ab2@3 ~@4 gb1@4 ~@5 f1@5 ~@3 eb2@19 ~@3 ab1@9 db2@17 ~ ab1@55 ~@47]/5",
  J: "db2@16 ~@2 db2@20 ~ eb2@3 f2@6", K: "eb2@17 ~ eb2@20 ~ bb1@3 bb2@6", L: "eb2@16 ~@2 eb2@18 ~@3 ab1@8 ~",
  M: "db2@17 ~ db3@15 bb2@2 ~@4 bb2@3 ab2@3 ~@3", N: "db2@15 ~@3 db2@20 ~ eb2@3 f2@6", O: "eb2@17 ~ eb2@22 ~@2 bb2@6",
  P: "eb2@16 ~@2 eb2@21 ab1@8 ~", Q: "[db2@16 ~@2 db3@62 ~ db2@3 bb1@6 ab1@5 ~]/2", R: "gb1@23 ~ ab1@21 ~@3",
  S: "db3@3 ab2@3 db3@3 c3@3 ~@6 bb2@18 ab2@3 ab2 ~@8", T: "gb2@18 db2@3 gb2@3 ab2@19 ~@2 ab1@3",
  U: "db2@3 ab1@3 db2@3 c2@3 ~@6 bb1@17 ~ ab1@3 ab1@3 ~@6", V: "gb1@9 gb2@3 ab1@11 ~",
  W: "[db2@4 ~@5 ab2@3 ~@3 f2@3 bb2@45 ab2@3 ~@6 gb2@22 ~@2]/2", X: "f2@3 gb2@21 gb1@4 ~@5 f2@3 ~@6 eb2@3 ~@3",
  Y: "~@6 eb3@3 db3@2 ~@4 gb2@3 ab2@3 ~@3 gb2@4 ~@5 f2@3 ~@6 eb2@6",
  Z: "[~@6 eb2@3 ~@15 gb2@3 ~@6 f2@3 ~@6 eb2@28 ~@2 db2@16 ~@2 ab2@29 ~ b2@17 ~ gb2@18 ab2@23 ~ ab2@12]/4",
  AA: "ab2@12 ab1@6 ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~ ab1@2 ~",
  AB: "ab1@2 ~ c2@3 db2@6 gb1@17 ~ gb1@5 gb1@2 ~@11, ~ bb1 ~@22",
  AC: "~@2 db2@3 gb1@3 gb1@2 f1@15 ~@3 f1@3 f1@3 f1@3 ~@6 f1@3 bb1@2",
  AD: "[bb1@3 ab1@3 f1@3 gb1@17 ~ gb1@3 gb1@3 gb1@2 ~@3 gb2@3 ~@3 gb1@3 gb1@3 eb2@3 gb1@3 f1@17 eb2@13 ~@2 ab1@2 ~ ab1@4 ~]/2",
  AE: "[~ ab1@4 ~ gb1@17 ~ gb1@2 ~ gb1@2 ~@15 db2@3 gb1@3 gb1@3 f1@8 ~ f1@2 ~@6 f1@3 ~ f1@2 f1@3 ~@6 f1@3 bb1@2 ~ bb1@3 ab1@2]/2",
  AF: "~ g1@3 gb1@9 gb1 ~@7 gb1@2 ~ gb1@3 gb1@2 ~@4 gb1@2 ~@4 gb1@3 gb1@2 ~ eb2@3",
  AG: "db2@2 f1@15 ~@3 eb2@14 ~ ab1@2 ab1@4 ~@2 ab1@4 ~",
  AH: "~ gb1@8 ~ gb1@7 ~@2 gb1@3 gb1@2 gb1@5 ~@10 db2@3 ab1@3 gb1@3",
  AI: "[f1@8 ~ f1@3 ~@5 f1@3 f1@3 f1@3 bb1@3 bb1@4 ~@2 ab1@2 ~ ab1@4 ~@2 ab1@3 gb1@8 gb1@2 ~ gb1@3 ~@3 gb1@3 gb1@3 gb1@3 ~@15 db2@2 gb1@3 f1@15 ~@3 eb2@13 ~ ab1@3 ab1@6 ab1@6 gb1@4]/3",
  AJ: "[~@16 bb3 ~@2 ab3 ~@2 bb3 ~ ab3 ~@2 bb3 ~@2 ab3 ~@2 bb3 ~@5 f3@2 ~@6 bb2@2 ~@7 db3 ~@16 f3@2 ~@3 bb2 ~@5 eb3@2 ~@7 ab2 ~@2]/2",
  AK: "~@13 eb3 ~@2 ab2@2 ~@4 eb3 ~@2 ab2 ~@2 ab2 ~@19",
})).s("gm_fretless_bass").gain(0.44)

// bass · fretless bass · soft notes · Bmaj7 Amaj7 Gmaj7 Ebmaj7 Bmaj7
const bass_soft = note("<~@28 [~@36 db3 c3 [bb2,b2] [ab2,a2] [gb2,g2] f2 e2 [d2,eb2] db2 c2 [bb1,b1] a1] ~@40>")
  .s("gm_fretless_bass").gain(0.27)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C@2 D E F G H I J K L@2 M N@3 O@2 P Q R S@2 ~@2 T@2 U V W X Y Z AA AB AC@2 AD AE AF@2 AG ~@2 AH AI AJ@4 AK@4 AL AM
  AN AO AP AQ@4 AR@3 ~
>`.pickRestart({
  A: "f4@3 ab3@3 f4@3 gb4@4 ~@2 gb4@3 ab4@28 ~@2", B: "gb4@3 ~@3 gb4@2 ~ ab4@4 ~@2 ab4@3 bb4@24 ~@6, ~@3 bb3@5 ~@40",
  C: "[f4@3 ~@3 f4@3 gb4@4 ~@2 gb4@3 ab4@17 ~ bb4@3 ab4@3 ~@3 ab4@9 f4@6 ~@6 db4@6 ~@12 db4@5 ~ db4@5 ~, ~ ab3@2 ~@29]/2",
  D: "f4@3 ~@3 f4@2 ~ gb4@4 ~@2 gb4@3 [db4,ab4]@22 ~@8, ~@3 ab3@7 ~@38", // Db5
  E: "gb4@3 ~@3 gb4@2 ~ ab4@3 ~@3 ab4@3 bb4@16 ~@14, ~@3 bb3@8 ~ bb3@29 ~@7",
  F: "gb4@3 ~@3 gb4@2 ~ ab4@4 ~@2 ab4@2 ~ bb4@21 ~@9, ~@3 bb3@8 ~@37",
  G: "f4@3 ~@3 f4@2 ~ gb4@3 ~@3 gb4@3 [db4,ab4]@24 ~@6, ~@3 ab3@7 ~@2 ab3@30 ~@6", // Db5
  H: "f4@3 ~@3 f4@2 ~ gb4@3 ~@3 gb4@3 ab4@21 ~@9, ~@3 ab3@8 ~ ab3@6 ~@30",
  I: "gb4@3 ~@3 gb4@2 ~ ab4@4 ~@2 ab4@3 bb4@28 ~@2, ~@3 bb3@8 ~@37",
  J: "gb4@3 ~@3 gb4@2 ~ ab4@3 ~@3 ab4@3 bb4@27 ~@3, ~@3 bb3@8 ~ bb3@28 ~@8",
  K: "f4@3 ~@3 f4@2 ~ gb4@3 ~@3 gb4@3 [db4,ab4]@26 ~@4, ~@3 ab3@8 ~ ab3@29 ~@7", // Db5
  L: "[f4@3 ~@3 f4@2 ~@7 gb4@2 ~ [db4,ab4]@11 ~@20 f4@20 ~@3 [eb4,ab4]@6 [c4,eb4,bb4]@3 ~ eb4@2 f4@5 ~ [c4,eb4,ab4]@6, ~@3 ab3@6 gb4@5 ~@34 db4@21 ~@12 ab4@8 ~@7, ~@12 ab3@17 ~@18 [gb3,bb3]@21 ~@3 [ab3,c4]@7 ~@4 c4@8 ~@6]/2", // Db5 Ab5 Cm7 Ab Gb Ab
  M: "[f4,ab4,db5]@5 ~@4 [c4,eb4,c5]@4 ~@5 [bb3,db4,ab4]@18 ~@6 b3@2 ~@4", // Db Cm Bbm7
  N: "[~@2 f4@18 ~@5 ab4@17 [c4,eb4] ~@5 [f4,ab4,db5]@4 ~@5 [eb4,ab4]@3 ~@6 [bb3,db4,f4,bb4]@22 ~@8 [db4,f4]@12 db4@3 [db4,f4]@4 ~@6 ab4@5 ~ [c4,bb4]@3 eb4@2 f4@11 ~, [gb3,bb3]@20 ~@4 [ab3,c4,eb4]@19 ~@51 gb3@21 ~@4 [ab3,c4]@7 ~@18, ~ db4@19 ~@27 db4@4 ~@5 c4@4 ~@35 bb3@13 bb3@7 ~@5 eb4@6 eb4@3 ~ [c4,ab4]@13 ~]/3", // Cm Db Ab5 Bbm Db C7 Gb Ab …
  O: "[[f4,ab4,db5]@5 ~@4 [c4,eb4,ab4,c5]@3 ~@7 [bb3,f4]@42 ~@3 f4@8 db4@23 ~, ~@18 [db4,bb4]@40 ~@5 [ab3,db4]@8 ~@25]/2", // Db Ab Bb5 Gb Db5
  P: "[ab3,c4,f4] [bb3,db4,gb4]@6 ~@9", Q: "~@3 gb4@3 ab4@2 ~ gb4@2 ~@4 db5@3 gb4@2 ~@28, ~@3 bb4@5 ~@40",
  R: "~@6 [ab4,bb4]@3 [ab4,bb4]@2 ~@4 db5@3 gb4@2 ~@28, ~@6 db4@5 ~@37", // Absus2
  S: "[~@3 gb4@3 gb4@3 ab4@13 ~@2 [g4,c5] [ab4,db5]@8 eb5@3 [ab4,db5]@5 ~@2 c5@43 ~@10, ~@3 db5@19 ~@20 [eb4,ab4]@44 ~@10]/2", // C5 Db5 Ab5
  T: "[~@36 bb4@3 ab4@3 gb4@3 ab4@41 ~@10]/2",
  U: "~@6 f4@3 ~@9 ab4@26 ~@4, f4@6 ~@3 gb4@10 ~@29, ~@3 ab3@12 ab3@28 ~@5",
  V: "~@6 gb4@3 ab4@9 bb4@25 ~@5, gb4 ~@7, ~ bb3@4 ~@11", W: "~@2 gb4 ab4@3 bb4@8 ~@2, gb4@5 ~@43, ~@3 bb3@11 ~@34",
  X: "f4@6 f4@3 gb4@6 ~@3 ab4@25 ~@5, ~@15 ab3@28 ~@5",
  Y: "~@6 f4@3 gb4@6 ~@3 ab4@25 ~@5, f4 ~@7, ~@3 ab3@11 ~ ab3@27 ~@6",
  Z: "~@6 gb4@3 ab4@8 ~ bb4@25 ~@5, gb4@5 ~@43, ~ bb3@4 ~@11",
  AA: "~@2 gb4 ab4@2 ~ bb4@8 ~@2, gb4 ~@7, ~@3 bb3@12 bb3@29 ~@4",
  AB: "~@2 f4 gb4@3 ab4@9 ~, f4@5 ~@43, ~@3 ab3@11 ~@34",
  AC: "[~@6 f4@3 gb4@8 ~ ab4@19 ~@11 f4@18 ~@5 eb4@18 ~@7, f4@6 ~@41 [bb3,db4]@20 ~@3 c4@19 ~@7, ~@3 ab3@11 ~@32 gb3@20 ~@30]/2", // Bbm
  AD: "[ab4,db5]@5 ~@4 [eb4,ab4,c5]@4 ~@5 [f4,bb4]@19 ~@11, ~@17 db4@19 ~@12", // Db5 Ab Bb5
  AE: "[bb3,db4]@19 ~@5 [c4,eb4,ab4]@17 ~@7", // Bbm Ab
  AF: "[[f4,ab4,db5]@4 ~@5 [ab4,c5]@3 ~@6 [f4,bb4]@20 ~@9 [db4,f4]@16 ~@9 bb4@4 ab4@14 ~@6, ~@46 bb3@17 ~@9 [c4,eb4]@18 ~@6]/2", // Db Ab Bb5 Db Cm
  AG: "[f4,ab4,db5]@4 ~@5 [eb4,ab4,c5]@3 ~@6 [db4,f4,bb4]@30", // Db Ab Bbm
  AH: "~@3 gb4@3 ab4@3 ab4@2 ~@4 db5@3 gb4@2 ~@28, ~@3 bb4@7 ~@38", AI: "~@6 [db4,ab4,bb4]@3 [db4,ab4,bb4]@2 ~@37",
  AJ: "[~@3 [gb4,db5]@3 gb4@3 ab4@13 ~@2 [ab4,db5]@9 [ab4,eb5]@3 [ab4,db5]@3 ~@3 [eb4,ab4,c5]@27 ~@3 [gb4,b4]@9 [gb4,db5]@3 [gb4,b4]@3 ~@3 [gb4,bb4]@18 ~ c5@41 ~@42, ~@6 bb4@16 ~@2 f4@15 ~@32 eb4@9 ~ eb4@5 ~@3 db4@19 [eb4,ab4]@41 ~@43]/4", // Gb5 Db5 Ab5 Db5 Ab B5 Gb5 B5 …
  AK: "[~@38 [bb3,db4,f4]@3 [bb3,db4,f4]@2 ~@4 [db4,f4]@3 [gb3,db4,f4]@3 ~@32 [ab3,c4,eb4]@2 ~ [c4,eb4]@3 ~@3 eb4@2 [c4,eb4]@3 ~@6 [bb3,db4,f4]@8 ~ [bb3,db4]@3 [bb3,db4,f4]@2 ~@21 [db4,f4]@3 [gb3,db4,f4]@2 ~@7 eb4@3 eb4@3 ~@12 [gb3,bb3,db4]@17 [gb3,bb3]@5, ~@47 bb3@6 ~@34 ab3@3 ~@3 ab3@6 ~@41 bb3@6 ~@6 [ab3,c4]@6 ~@34, ~@93 c4@3 ~@17 f4@3 ~@76]/4", // Bbm Db Gbmaj7 Ab Cm Bbm Db Gbmaj7 …
  AL: "~ [gb3,bb3,db4]@2 ~@30 [bb3,db4,f4]@3 [bb3,db4,f4]@2 ~@3 [db4,f4]@3 [db4,f4]@3 ~, ~@41 bb3@6 ~", // Gb Bbm Db
  AM: "~@32 ab3@2 ~ [c4,eb4]@3 ~@2 [c4,eb4]@3 [c4,eb4]@2 ~@3, ~@31 [c4,eb4]@3 ab3@3 ~@3 ab3@5 ~@3", // Cm
  AN: "~@4 [bb3,db4,f4]@8 [gb3,bb3,db4,f4]@3 ~ f4@2 ~@21 [db4,f4]@3 [db4,f4]@2 ~@4, ~@5 [gb3,bb3,db4] ~@7 bb3@2 ~", // Bbm Gbmaj7 Db Gb
  AO: "~@3 eb4@3 eb4@3 ~@11 [gb3,bb3,db4]@18 ~@10, ~ [ab3,c4]@2 ~@13", // Gb Ab
  AP: "~@27 [gb3,bb3,db4,f4]@3 ~ f4@2 ~@3 [bb3,db4,f4]@3 [gb3,bb3,db4,f4]@3 ~@6, ~@15 [gb3,bb3,db4] ~@8", // Gbmaj7 Bbm Gbmaj7 Gb
  AQ: "[~@26 [ab3,c4,eb4]@3 [ab3,c4,eb4]@3 ~@3 eb4@3 eb4@3 ~@5 [gb3,bb3]@9 [db4,f4]@3 [gb3,bb3,db4,f4]@3 ~@21 [db4,f4]@2 ~ db4@2 ~@6 eb4@3 eb4@3 ~@12 [bb3,db4]@17 ~ eb4@5 [gb3,bb3,eb4]@3 ~@3 [db4,f4]@3 [db4,f4]@2 ~@3 [bb3,db4,f4]@3 [bb3,db4,f4]@3 ~@3 [db4,f4]@3 [db4,f4]@2 ~@4 bb3@2 ~ f4@2 ~@3 [db4,f4]@3 [bb3,db4,f4]@2 ~@6 [eb4,ab4,c5]@3 [eb4,ab4,c5]@2 ~@2, ~@29 a5 ~@5 [ab3,c4]@6 ~@5 [db4,f4]@8 ~@28 bb3@6 ~@5 [ab3,c4]@7 ~@10 gb3@18 [gb3,bb3]@6 ~@6 bb3@5 ~@12 bb3@5 ~@3 [db4,f4]@3 [bb3,db4]@3 ~@2 bb3@3 ~@9 c4@5 ~@2, ~@28 f4 ~@35]/4", // Ab Gb Db Gbmaj7 Db Bbm Ebm Db …
  AR: "[~@2 [c4,eb4]@2 ~ [ab4,c5]@3 ~@2 [c4,ab4,c5]@3 [c4,ab4,c5]@2 ~@4 eb4@2 ~ [ab4,c5]@3 ~@2 [eb4,ab4,c5]@3 [eb4,ab4,c5]@2 ~@7 [db4,f4]@3 [db4,f4]@2 ~@3 [bb3,db4,f4]@3 [bb3,db4,f4]@3 ~@3 db4@2 ~ db4@2 ~@3 [bb3,db4,f4]@3 [bb3,db4,f4]@2 ~@4 f4@2 [db4,f4]@2 ~@7 [eb4,ab4,c5]@3 [eb4,ab4,c5]@2 ~@4 [c4,eb4]@2 ~ c5@2 ~@3 [eb4,ab4,c5]@3 [eb4,ab4,c5]@2 ~@4 [eb4,ab4]@2 ~ [ab4,c5]@2 ~@3 [eb4,ab4,c5]@3 [eb4,ab4,c5]@2 ~@21, ~ [ab4,c5]@3 eb4@3 ~@3 eb4@5 ~@3 [ab4,c5]@3 eb4@3 ~@3 c4@5 ~@6 [gb3,bb3]@5 ~@12 [gb3,bb3]@5 ~@12 [gb3,bb3]@5 ~@18 [c4,eb4,ab4]@2 ~@4 c4@5 ~@6 [c4,eb4]@3 ~@3 c4@6 ~@20, ~@55 f4@3 f4@2 ~@12 db4@3 ~@9 c4@5 ~@3 [ab4,c5]@3 ~@14 c5@3 ~@32]/3", // Cm Ab Fm Ab Db Bbm Db Ab …
})).s("gm_acoustic_guitar_steel").gain(0.32).pan(0.1)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  A B C D E ~ F ~ G H ~@4 I ~ J K L M ~@10 N@2 O ~ N ~ P Q R S T U ~@4 V ~@5 W ~ X ~ Y ~ Z ~@4 AA AB AC@2 ~@2
>`.pickRestart({
  A: "~@6 ab3@5 ~@13", B: "~@2 bb3 ~@5", C: "~@4 ab3@2 ~@8 gb4 ~", D: "~@2 db4 ~ db4!2 ~@2", E: "~@3 ab3@7 ~@2",
  F: "~@12 bb3@29 ~@7", G: "~@6 ab3@5 ~@5", H: "~ bb3@2 ~", I: "db4@5 ~@4 ab4@4 ~@35", J: "~@3 c5 ~@12",
  K: "~@4 f4 ~@11", L: "db4@5 ~@11 [bb3,db4]@3 ~@29", M: "~@24 [bb3,gb4]@23 ~", N: "~@15 bb3@28 ~@5", O: "~ ab3@4 ~@11",
  P: "~@15 ab3@31 ~@2", Q: "~@5 ab3@7 ~@4", R: "~@24 ab4@17 ~@7, ~@22 ab3@19 ~@7", S: "f4@5 ~@43", T: "~ f4@18 ~@29",
  U: "~@8 eb4@3 ~@7 db4@20 ~@10", V: "~@13 b4 ~@34", W: "~@39 gb3@4 ~@5", X: "~@44 gb3@3 ~",
  Y: "~@33 gb3@3 ~@5 gb3@6 ~", Z: "~ gb3@3 ~@9 gb3@2 ~", AA: "~@43 gb3@5",
  AB: "~@7 gb3@3 ~@3 gb3@5 ~@4 gb3@5 ~@2 gb3@6 ~@13",
  AC: "[~@4 c4@3 ~@12 c4@2 c4@3 ~@23 gb3@5 ~@12 gb3@3 gb3@2 ~@27]/2",
})).s("gm_acoustic_guitar_steel").gain(0.16).pan(0.1)

// chords · acoustic guitar steel
const acoustic_guitar_steel_3 = note(`<
  ~@4 A@3 B C@2 D@2 ~ E F G H I J@2 ~@3 K@2 ~@4 L M N O L P Q O ~ R S T@2 U V@2 ~@3 W@5 X Y Z AA AB AC AD AE AF AG@2 ~@5
>`.pickRestart({
  A: "[~@4 [ab3,db4] [ab3,db4]@3 [eb3,bb3] [db3,ab3] [db3,f3] [db3,f3]@3 [bb2,eb3] [ab2,db3]@2 ~@3 [gb3,bb3]@2 [f3,ab3] [f3,ab3]@2 [eb3,gb3] [eb3,gb3]@4 [db3,f3] [bb2,eb3]@2 ~@3 [gb3,bb3] [gb3,bb3]@2 [gb3,ab3] [f3,ab3]@2 [eb3,gb3] [eb3,gb3]@3 db3 bb2, ~@23 f3]/3", // Db5 Eb5 Db5 Db Eb5 Db5 Gb Fm …
  B: "~@4 [db3,f3]@2 [db3,f3] [eb3,gb3]@2 [f3,ab3]@5 ~@2", // Db Ebm Fm
  C: "[~@4 [ab3,db4] [ab3,db4]@3 [eb3,bb3] [db3,ab3]!2 [db3,ab3]@2 [db3,ab3] [bb2,gb3] [ab2,f3]@2 ~@3 [gb3,bb3] [gb3,bb3]@2 [gb3,bb3] [f3,ab3] [eb3,gb3]!2 [eb3,gb3]@3 [db3,f3] [bb2,eb3]]/2", // Db5 Eb5 Db5 Ebm Db Gb Fm Ebm …
  D: "[~@3 bb2 [gb3,bb3] [gb3,bb3]@2 [gb3,bb3] [f3,ab3] [eb3,gb3]!2 [eb3,gb3]@3 [db3,f3] [bb2,eb3]@2 ~@3 [db3,f3]@2 [db3,f3] [eb3,gb3]@2 [f3,ab3]@5 ~@2]/2", // Gb Fm Ebm Db Eb5 Db Ebm Fm
  E: "~@3 [db3,f3] [bb3,db4] [bb3,db4]@2 [ab3,c4] [ab3,c4]@5 [eb3,ab3] [f3,ab3] [gb3,ab3]", // Db Bbm Ab Ab5 Fm Gbsus2
  F: "[ab3,db4]@2 [ab3,db4] [ab3,c4]@2 [bb3,c4] [f3,bb3]@2 eb3 db3@4 ~@3, ~@8 f3@5 ~@3", // Db5 Ab Bbsus2 Bb5
  G: "~@9 [db3,f3]@3 [bb3,db4,f4]@4 [bb3,db4,f4]@4 [bb3,db4,f4]@4 [ab3,c4,eb4]@3 [ab3,c4,eb4]@3 [ab3,c4,eb4]@3 [f3,bb3,c4]@12 [f3,bb3,db4]@3", // Db Bbm Ab Fsus4 Bbm
  H: "[ab3,db4,f4]@5 [bb3,c4,eb4] [f3,db4,f4]@9 ~", // Db Cm7 Db
  I: "~@3 [db3,bb3] [bb3,db4,f4]!3 [ab3,c4,eb4]@4 ~@3 [f3,ab3,c4] [gb3,ab3,c4]", // Gb Bbm Ab Fm Ab7
  J: "[[ab3,bb3,db4]@3 [ab3,bb3,db4]@3 [ab3,bb3,db4]@3 [bb3,c4,eb4]@6 [c4,eb4]@3 [bb3,db4,f4]@45 [ab3,c4,eb4]@6 [gb3,bb3,db4]@3 [ab3,c4,eb4]@2 [gb3,bb3,db4]@22]/2", // Bbm7 Cm7 Cm Bbm Ab Gb Ab Gb
  K: "[~@4 [f3,ab3,db4]@3 [eb3,ab3,c4]@9]/2", // Db Ab
  L: "~@4 [ab3,db4] [ab3,db4]@3 [eb3,gb3] [db3,f3]!2 [db3,f3]@3 [bb2,eb3] [ab2,db3]", // Db5 Ebm Db Eb5 Db5
  M: "~@4 [gb3,bb3]!4 [f3,ab3] [eb3,gb3]!2 [eb3,gb3]@3 [db3,f3] [bb2,eb3]", // Gb Fm Ebm Db Eb5
  N: "~@4 [gb3,bb3]@2 [gb3,bb3] [f3,ab3]!2 [eb3,gb3]!2 [eb3,gb3]@3 [db3,f3] [bb2,eb3]", // Gb Fm Ebm Db Eb5
  O: "~@4 [db3,f3]@2 [db3,f3] [eb3,gb3]@2 [f3,ab3]@6 ~", // Db Ebm Fm
  P: "~@4 [gb3,bb3]@2 [gb3,bb3]@2 [f3,ab3] [eb3,gb3] [eb3,gb3]@2 [eb3,gb3]@2 [db3,f3] [bb2,eb3]", // Gb Fm Ebm Db Eb5
  Q: "~@4 [gb3,bb3] [gb3,bb3]@2 [gb3,bb3] [f3,ab3] [eb3,gb3]!2 [eb3,gb3]@3 [db3,f3] [bb2,eb3]", // Gb Fm Ebm Db Eb5
  R: "~@3 [db3,f3] [f3,ab3,db4] [f3,ab3,db4]@2 [eb3,ab3,c4] [eb3,ab3,c4]@4 ~@2 [f3,bb3,db4] [gb3,c4,eb4]", // Db Ab Bbm Cdim
  S: "[ab3,db4,f4]@2 [ab3,db4,f4] [ab3,c4,eb4]@2 [ab3,c4,eb4] [f3,bb3,db4]@2 eb3 db3@5 ~@2, ~@4 [bb3,db4]@3 ~", // Db Ab Bbm
  T: "[~@9 [db3,gb3,bb3]@3 [bb3,db4,f4]@3 [bb3,db4,f4]@6 [bb3,c4,eb4]@3 [ab3,c4,eb4]@3 [ab3,c4,eb4]@3 [f3,ab3,c4]@9 [f3,bb3,db4]@3 [gb3,c4,eb4]@3 [ab3,db4,f4]@20 f3 ~ eb3@2 db3@14 ~ [gb3,b3,db4]@3 [gb3,b3,db4]@6 [ab3,b3,eb4]@3, ~@65 [db4,f4]@17 ~@14]/2", // Gb Bbm Cm7 Ab Fm Bbm Cdim Db …
  U: "[bb3,db4,f4] [bb3,db4,f4]@3 [bb3,db4,f4]@3 [bb3,c4,eb4] [ab3,c4,eb4]@3 ~@3 [f3,db4] [gb3,eb4]", // Bbm Cm7 Ab Db Ebm
  V: "[[ab3,db4,f4]@6 [ab3,db4,f4]@3 [bb3,c4,eb4]@6 [ab3,c4,eb4]@3 [bb3,db4,f4]@45 [ab3,c4,eb4]@6 [gb3,bb3,db4]@3 [ab3,c4,eb4]@2 [gb3,bb3,db4]@22]/2", // Db Cm7 Ab Bbm Ab Gb Ab Gb
  W: "[~@24 [f3,ab3,db4]@18 [eb3,ab3,c4]@27 ~@3 [b3,gb4]@18 [gb3,bb3,db4,gb4]@18 [eb3,ab3,c4,eb4]@42 ~@41 bb3@3 db4@3 ~ db4@6 [db4,f4,bb4]@12 [db4,f4,bb4]@15 ~@9]/5", // Db Ab B5 Gb Ab Bbm
  X: "~@11 [c4,eb4,ab4]@11 [c4,f4,bb4]@6 [c4,eb4,ab4]@9 ~@11", Y: "~@9 [db4,f4,bb4] [db4,f4,bb4]@6",
  Z: "~@2 [c4,eb4,ab4]@3 [bb3,db4,f4]@3 [c4,eb4,ab4]@12 [ab3,c4,f4]@3 [f3,ab3,db4]@3 [gb3,bb3,eb4]@22", // Ab Bbm Ab Fm Db Ebm
  AA: "~@7 [db4,f4,bb4]@11 [db4,f4,bb4]@15 ~@15", AB: "~@5 [c4,eb4,ab4]@12 [c4,f4,bb4]@6 [c4,eb4,ab4]@9 ~@16",
  AC: "~@22 [db4,f4,bb4]@2 [db4,f4,bb4]@20 ~ [c4,eb4,ab4]@3", // Bbm Ab
  AD: "[bb3,db4,f4]@3 [c4,eb4,ab4]@11 [ab3,c4,f4]@3 [f3,ab3,db4]@3 [gb3,bb3,eb4]@23 ~@5", // Bbm Ab Fm Db Ebm
  AE: "~ [db4,f4,bb4]@12 [db4,f4,bb4]@15 ~@20", AF: "[c4,eb4,ab4]@4 [c4,f4,bb4]@2 [c4,eb4,ab4]@3 ~@7",
  AG: "[~@16 [db4,f4,bb4]@3 [db4,f4,bb4]@20 ~ [c4,eb4,ab4]@2 [bb3,db4,f4]@3 [c4,eb4,ab4]@12 [ab3,c4,f4]@3 [f3,ab3,db4]@3 [gb3,bb3,eb4]@23 ~@10]/2", // Bbm Ab Bbm Ab Fm Db Ebm
})).s("gm_acoustic_guitar_steel").gain(0.11)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  A B C@2 D E F D G H I J K L M N O@2 P@2 ~@3 Q@2 ~@2 R@2 S T U@2 V W X Y Z@2 AA AB AC AD AE ~@4 AF ~ AG AH AI ~@2 AJ
  AK@3 AL AM AN@4 AO@4
>`.pickRestart({
  A: "db4@3 ~@3 db4@3 eb4@3 ~@3 eb4@3 f4@23 ~@7, ~@3 ab3@5 ~@40", B: "eb4@3 bb3@3 eb4@3 f4@3 bb3@3 f4@2 ~ gb4@19 ~@11",
  C: "[db4@3 ~@3 db4@2 ~ eb4@3 ~@3 eb4@3 f4@14 ~@4 eb4@3 db4@2 ~@4 db4@8 ~ db4@11 ~ db4@11 ~@19]/2",
  D: "db4@4 ~@2 db4@3 eb4@3 ~@3 eb4@3 f4@25 ~@5, ~@2 ab3 ~@5",
  E: "eb4@3 ~@3 eb4@3 f4@3 ~@3 f4@3 gb4@25 ~@5, ~@12 bb3@5 ~@31", F: "eb4@4 ~@2 eb4@3 f4@4 ~@2 f4@3 gb4@23 ~@7",
  G: "db4@3 ~@3 db4@3 eb4@3 ~@3 eb4@3 f4@26 ~@4, ~@3 ab3@5 ~@4 ab3@6 ~@30",
  H: "eb4@3 bb3@3 eb4@3 f4@4 ~@2 f4@3 gb4@25 ~@5", I: "eb4@3 ~@3 eb4@3 f4@4 ~@2 f4@3 gb4@24 ~@6",
  J: "db4@3 ab3@3 db4@3 eb4@3 ~@3 eb4@3 f4@25 ~@5, ~@2 ab3 ~@5",
  K: "db4@3 ab3@5 ~ eb4@3 ~@3 eb4@3 f4@11 ~@19, ~@2 ab3 ~@5",
  L: "[db4,f4,bb4]@9 [db4,f4,bb4]@3 [f4,bb4]@2 ~@19 c5@15, ~@11 ab4 ~@4", // Bbm Bb5
  M: "~ [ab4,db5]@3 ~@5 [ab4,c5]@3 ~@6 [f4,bb4]@19 ~@11", N: "~@33 [ab4,c5]@3 bb4@2 ~@10",
// … 256 more lines

More by Lionel Richie