Strudelify
Lilly cover art

1999 · Lilly

Lilly

Antonello Venditti

KeyG majorTempo60 bpm
0:00/0:00
// Lilly — Antonello Venditti
// 60 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 95 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(60/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@2 G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO@2 AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ ~@5 BK@2 BL@2 ~@21
>`.pickRestart({
  A: "[e3,g3,c4]@12 [f3,a3,c4]@11 ~", B: "[e3,b3]@11 ~ [d3,b3]@11 ~, g3",
  C: "[[e3,g3,b3]@11 ~ [f3,a3,c4]@4 ~ [e3,g3,b3]@4 [d3,g3,b3]@26 ~]/2", D: "[e3,g3,c4]@11 ~ [f3,a3,c4]@11 ~",
  E: "[e3,g3,b3]@12 [d3,g3,b3]@11 ~", F: "[[e3,g3,b3]@11 ~ [f3,a3,c4]@4 ~ [e3,g3,b3]@3 ~ [d3,g3,b3]@25 ~@2]/2",
  G: "[e3,g3,c4]@11 ~ [f3,a3,c4]@11 ~, c5", H: "[e3,b3,b4] [g3,b3,d5], g3@5 ~ d4@5 ~",
  I: "[g3,e5]@6 [f3,a3,c4]@5 ~, b3@5 ~ f5@6, e3 ~@2", J: "d4@11 ~@3 d5 d5@2 e5@3 d5@4, b3@7 ~, e5@5 ~@19, g3 ~@7",
  K: "[e3,g3,c4]@11 ~ [a3,c4]@11 ~, c5, ~@4 f3@3 ~", L: "[e3,g3,b3]@5 ~ [g3,b3,d4]@5 ~, b4 d5",
  M: "[g3,b3,e5]@11 e3 f5@12, e3@5 ~ a3@5 ~, ~@2 c4 ~, ~@4 f3 ~@3", // Em
  N: "[b3,d4,e5]@5 ~@4 c5@2 ~@4 d5@2 ~ d4@2 ~ d4 ~@2, ~@5 d5@4 g3@5 ~@10, ~@6 d4@5 c5@3 ~@3 e5@2 ~ d5@3 ~, ~@12 d4@5 ~@7", // E7
  O: "[e3,g3,c4]@11 ~ [f3,a3]@12, ~@2 c4 ~", P: "[e3,b3]@11 ~ [g3,b3,d4]@11 ~, g3@3 ~@5",
  Q: "[g3,e5] [c4,f5], [e3,b3]@5 ~ [f3,a3]@5 ~", R: "[b3,d4]@11 ~@4 d5@2 e5@3 d5@4, [g3,e5]@3 ~@5",
  S: "[e3,g3,c4]@11 ~ [a3,c4]@11 ~, c5@23 ~, ~@4 f3@3 ~", T: "[e3,g3,b3]@11 ~ [g3,b3,d4]@11 ~",
  U: "[e3,g3,b3]@12 [a3,c4]@11 ~, ~@4 f3@3 ~", V: "g3@8 ~@3 g3@3 ~@6 [b3,d4]@3 ~, [b3,d4]@5 ~, ~@17 g3@6 ~",
  W: "[e3,g3,c4] [f3,a3,c4]", X: "[e3,g3,b3]@11 ~ [g3,b3]@8 [g3,b3]@4, ~@12 d3@11 ~",
  Y: "e3@8 ~ e3@3 c4@5 ~ c4@4 ~@2, g3@11 ~ [f3,a3]@11 ~, b3@5 ~@19", // F
  Z: "b3@5 ~ [g3,b3]@4 ~ [g3,b3]@2 ~ [g3,b3]@3 ~@3 [g3,b3]@3 ~, d3@8 ~@9 d3@5 ~@2, g3 ~@7", // G
  AA: "[e3,g3]@11 ~ [a3,c4]@7 ~ [a3,c4]@4, c4@5 ~@7 f3@11 ~", // Em Am
  AB: "[e3,b3]@11 ~ [g3,b3]@6 b3 ~ [d3,g3,b3]@4, g3 ~@3 d3 ~@3", // E5 G
  AC: "[e3,g3,b3]@5 ~ [e3,g3]@5 ~ [f3,a3,c4]@5 ~@4 f3 ~@2, ~@6 b3@3 ~@9 [a3,c4]@5 ~", // Em F Am
  AD: "d4@5 ~ d4@3 ~@2 d4@2 ~ [b3,d4]@3 b3@2 ~ [g3,b3,d4]@3 ~, [g3,b3]@13 ~ g3@6 ~@4, ~@17 d4 ~@6", // Bm G
  AE: "[e3,g3,c4]@12 [f3,a3,c4]@8 f3@3 ~", AF: "[e3,g3,b3]@11 ~ [d3,g3,b3]@12", AG: "[e3,g3,b3]@11 ~ [f3,a3,c4]@11 ~",
  AH: "b3@4 ~ b3@3 ~ [g3,b3]@4 ~ [g3,b3]@3 ~ [d3,g3]@3 [g3,b3]@2 ~, [d3,g3]@4 d3@4 ~ b3 ~@2", // G G5 G G5
  AI: "[e3,g3,c4]@8 c4@3 e3 [f3,a3,c4]@11 ~", AJ: "[e3,g3,b3]@11 ~ b3@7 ~ b3@2 ~ b3, ~@12 [d3,g3]@11 ~",
  AK: "[e3,g3,b3]@11 ~ [f3,a3]@10 ~@2, ~ c4", AL: "[g3,b3]@8 ~ b3@4 ~ b3@3 d3 [d3,g3,b3]@5 ~, d3@2 ~, ~@3 g3@3 ~@2",
  AM: "g3@10 ~ [f3,a3]@12 ~, e3@5 ~@19", AN: "[e3,g3]@9 e3 ~ [f3,a3]@12 ~",
  AO: "[[e3,g3]@11 ~ [f3,a3]@4 ~ [e3,g3]@2 ~@2 [d3,g3]@24 ~@3]/2", // Em F Em G5
  AP: "[g3,c4]@5 ~@4 e3 ~ e3 c4@5 ~ c4 ~ [f3,a3,c4]@4, e3@9 ~@3 [f3,a3]@8 ~@4, ~@6 [g3,c4]@5 ~@13", // C5 F C5
  AQ: "[e3,b3]@5 ~ e3@5 ~ d3@2 ~ d3@3 g3 ~ [d3,g3,b3]@3 b3, g3 ~@5 [g3,b3]@3 ~@3", // E5 G
  AR: "[e3,g3,b3]@5 ~ e3@3 e3 ~ e3 [f3,a3,c4]@5 ~ a3@3 f3@2 ~, ~@6 [g3,b3]@5 ~@7 c4@6, ~@9 f3 ~@2", // Em F G
  AS: "d3@3 d3@3 [d3,g3,b3]@4 ~ [d3,g3,b3]@2 ~ [g3,b3]@3 d3 g3 ~ [d3,g3,b3]@4, [g3,b3]@5 ~@9 d3@2 ~@8", // G
  AT: "[e3,g3]@3 e3@3 [e3,g3,c4]@5 e3 f3@2 ~ f3@2 ~ [f3,a3]@2 [f3,a3,c4]@4, c4@5 ~@7 [a3,c4]@5 ~ c4 ~@5", // Em C F Am
  AU: "[e3,b3]@5 ~ e3@3 e3@3 d3@3 d3@5 [g3,b3]@3 d3, g3@2 ~@4 [g3,b3]@5 ~ [g3,b3]@5 ~@7", // E5 G
  AV: "[e3,g3,b3]@5 ~ e3@3 e3 ~ e3 [f3,c4]@3 ~@5 [f3,a3,c4]@3 ~, ~@6 [g3,b3]@5 ~ a3@7 ~@5", // Em F5 F G
  AW: "[d3,g3,b3]@6 [d3,g3,b3]@4 ~ [g3,b3]@2 ~@4 d3@3 [g3,b3]@4, ~@14 [g3,b3]@5 ~ d3@2 ~@2", // G
  AX: "e3@3 e3@3 [e3,g3,c4]@5 ~ c4@5 ~ c4@3 c4@2 ~, [g3,c4]@5 ~@7 [f3,a3]@12", // C C5 F
  AY: "[e3,g3,b3]@5 ~ [e3,g3,b3]@3 e3@3 [d3,g3,b3]@7 ~ [d3,g3,b3]@3 b3", // Em G
  AZ: "[e3,g3,b3]@5 ~ [g3,b3]@5 ~ [f3,a3,c4]@12, ~@2 e3 ~@5", // Em G F
  BA: "[g3,b3]@6 [g3,b3]@8 [g3,b3]@3 ~ g3 ~ [d3,g3,b3]@3 b3, d3@3 ~@11 d3@2 ~ d3@3 ~@4", // G
  BB: "e3@2 ~ e3@2 ~ [g3,c4]@5 e3 [a3,c4]@5 ~ [f3,a3,c4]@6, [g3,c4]@5 ~ e3@4 ~@2 f3@3 ~@9", // C5 Am F C5
  BC: "[e3,g3,b3]@5 ~ [e3,g3,b3]@6 d3@3 d3@3 b3@2 ~ b3 ~ b3, ~@12 [g3,b3]@5 ~ [d3,g3]@5 ~", // Em G G5
  BD: "e3@3 e3@3 e3@3 e3 ~@2 [f3,a3,c4]@5 ~ c4@2 ~ c4 ~ e3, [g3,c4]@6 [g3,c4]@5 ~@7 [f3,a3]@5 ~", // F C5 F
  BE: "[e3,g3,b3]@6 [e3,g3,b3]@6 [d3,g3,b3]@5 ~ [d3,b3]@2 ~ d3@2 b3, ~@18 g3@5 ~", // Em G
  BF: "[e3,g3,b3]@5 ~ [e3,g3,b3]@5 ~ [f3,a3,c4]@5 ~ [f3,c4]@3 f3@2 ~, ~@3 a3", // Em F F5
  BG: "[g3,b3,d4]@5 ~ [g3,b3,d4]@5 g3 [g3,b3,d4]@2 ~ [g3,b3,d4]@4 ~ [g3,b3,d4]@3 ~", // G
  BH: "[e3,g3,c4]@5 ~ [e3,g3,c4]@6 [f3,a3,c4]@6 [a3,c4]@6, ~@6 f3 ~", // C F Am
  BI: "[e3,g3,b3]@6 [e3,g3,b3]@5 ~ [g3,b3,d4]@6 [g3,b3,d4]@5 ~", // Em G
  BJ: "[e3,g3,b3]@6 [e3,g3,b3]@5 ~ [f3,a3,c4]@5 ~ [a3,c4]@6, ~@9 f3@2 ~", // Em F Am
  BK: "[e3,g3]@2 ~ e3@2 ~ g3@4 ~ [f3,a3]@12 ~, ~@3 g3 ~@2 e3@2 ~@16", // Em F
  BL: "[[e3,g3]@2 ~ [e3,g3]@2 ~ g3@6 [f3,a3]@4 ~ [e3,g3]@4 [g3,b3]@26 ~, ~@2 e3 ~@13]/2", // Em F Em G
})).s("gm_piano").gain(0.42)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@11 A ~@2 B C ~@3 D ~@3 E ~@2 F G H I J ~ K ~@3 L ~@3 M ~@4 N ~ O ~ P Q ~@2 R S T ~@2 U ~ U V ~@33
>`.pickRestart({
  A: "~@5 d5@4 g3@11 ~@4, ~@3 g3@5 ~ c5@3 ~@12", B: "~@18 c4@3 c4 ~@2, ~@15 f3@7 ~@2",
  C: "g3@3 ~@3 b3@5 ~@3 d5 g3@6 ~@3, ~@3 b3@2 ~", D: "~@12 d4@5 ~ d4@2 ~ g3 ~@2, ~@9 g3@11 ~@4, ~@11 d5@2 ~@11",
  E: "~@9 g3@2 ~@3 g3@3 ~@7", F: "~@3 b3@2 ~@7", G: "~@9 d3@7 ~@8", H: "~@6 c4@5 ~@13", I: "~@23 d3", J: "~@6 f3 ~",
  K: "~@5 a3, ~@10 c4 ~", L: "~@8 [e3,g3]@3 ~@13", M: "~@3 e3 ~@8", N: "~@3 g3@3 [g3,b3]@5 ~@13",
  O: "~@9 d3@2 ~@7 b3 ~@5, ~@9 c3 ~@14", P: "~ g3 ~@6", Q: "~@15 [f3,c4]@4 ~@5", R: "~@11 g3 ~@12", S: "~@3 e3 ~@4",
  T: "~@18 b3 ~@5", U: "~@11 e3 ~@12", V: "~@18 g3 ~@5",
})).s("gm_piano").gain(0.24)

// bass · fretless bass
const bass = note(`<
  A B C@2 D E F@2 G H I J D K L M G E N M O P N M Q R N S T U V S Q W V X O Y Z AA AB AC AD@2 AE AF AG AH AI AJ AK S AL
  AM AN AO AP AQ AP AR AS AT AP AU AV S AW AX AN AY AZ BA BB@2 BC BD BE BF BG BH BI BJ BK BL BM BN BG BO BP S BQ BR BS
  BT@2
>`.pickRestart({
  A: "c2@12 f1@11 f1", B: "e1@10 ~ e1 g1@12", C: "[e1@12 f1@4 ~ e1@4 g1@14 d1 g1@8 g1@4]/2", D: "c2@10 ~ c2 f1@11 ~",
  E: "e1@12 g1@7 ~ g1@4", F: "[e1@11 ~ f1@4 ~ e1@4 g1@13 ~ d1 g1@12]/2", G: "c2@12 f1@10 ~ f1", H: "e1@12 g1@11 g1",
  I: "e1@12 f1@10 ~ f1", J: "g1@4 ~ d1@4 g1@5 d1@6 g1@4", K: "e1@2 e1 g1@3", L: "e1@10 ~ e1 f1@11 ~",
  M: "g1@4 ~ d1@4 g1@4 ~ d1@3 g1@2 ~ g1@4", N: "e1@10 ~ e1 f1@7 ~ f1@4", O: "c2@10 ~ c2 f1@8 c2 f1@3",
  P: "e1@11 e1 g1@7 ~ g1@4", Q: "c2@10 ~ c2 f1@7 ~ f1@4", R: "e1@11 e1 g1@2 ~ g1@4 ~ g1@4",
  S: "g1@4 ~ d1@4 g1@4 ~ d1@6 g1@4", T: "c2@10 ~ c2 f1@12", U: "e1@10 ~ e1 g1@7 ~ g1@4", V: "e1@10 ~ e1 f1@10 ~ f1",
  W: "e1@10 ~ e1 g1@2 ~ g1@4 ~ g1@4", X: "g1@5 d1@4 g1@5 d1@6 g1@3 ~", Y: "e1@8 b1 e1@3 g1@7 ~ g1@4",
  Z: "e1@8 b1 e1@3 f1@10 ~ f1", AA: "g1@4 ~ d1@4 g1@5 d1@6 g1@3 ~", AB: "e1@9 e1@2 f1@8 ~ f1@3 ~",
  AC: "e1@11 f1@8 ~ f1@4", AD: "[e1@11 ~ f1@4 ~ e1@4 g1@7 ~ d1@4 g1@5 d1@6 g1@4]/2", AE: "c2@10 ~ c2 f1@7 ~ f1@3 ~",
  AF: "e1@8 b1 e1@3 g1@10 ~ g1", AG: "e1@7 ~ e1@4 f1@7 ~ f1@4", AH: "g1@4 ~ d1@4 g1@4 ~ d1@4 g1@2 d2 g1@3",
  AI: "c2@10 ~ c2 f1@2 ~ f1@7 ~ f1", AJ: "e1@3 e1@7 ~ e1 g1@2 ~ g1@5 g2 g1@3", AK: "e1@3 e1@7 ~ e1 f1@2 ~ f1@7 ~ f1",
  AL: "c2@2 ~ c2@7 ~ c2 f1@2 ~ f1@5 c2 f1@3", AM: "e1@2 ~ e1@7 ~ e1 g1@3 g1@5 d2 g1@3",
  AN: "e1@2 ~ e1@7 ~ e1 f1@2 ~ f1@7 ~ f1", AO: "g1@4 ~ d1@4 g1@5 g2 g1 ~ g1 d2 ~ g1@4",
  AP: "c2@2 ~ c2@7 ~ c2 f1@2 ~ f1@7 ~ f1", AQ: "e1@2 ~ e1@7 ~ e1 g1@2 ~ g1@4 ~ g1@3 ~",
  AR: "e1@2 ~ e1@8 e1 g1@2 ~ g1@4 ~ g1@3 ~", AS: "e1@3 e1@7 ~ e1 f1@2 ~ f1@8 f1",
  AT: "g1@4 ~ d1@4 g1@4 ~ d1@3 d1@3 g1@4", AU: "e1@2 ~ e1@5 e2 e1@3 g1@2 ~ g1@4 ~ g1@3 g2",
  AV: "e1@2 ~ e1@5 e2 e1@3 f1 ~@2 f1@7 ~ f1", AW: "c2@2 ~ c2@7 ~ c2 f1@2 ~ f1@4 ~ c2 f1@2 ~",
  AX: "e1@2 ~ e1@5 b1 e1@3 g1@3 g1@4 ~ g1@3 ~", AY: "e1@2 ~ e1@7 ~ e1 g1@2 ~ g1@4 ~ g1@2 ~@2",
  AZ: "e1@2 ~ e1@2 ~ e1@4 ~ f1@9 f2 f1@2 ~", BA: "e1@2 ~ e1@2 ~ e1@4 ~ f1@9 f2 f1 ~ f1",
  BB: "[e1@2 ~ e1@2 ~ e1@5 ~ f1@4 ~ e1@3 ~ g1@5 ~ d1@3 g1@4 ~ d1@3 g1@3 g2 g1 ~ g2 g1@3]/2",
  BC: "c2@3 c2@2 ~ c2@4 ~ c2 f1 ~@2 f1@7 ~ f1", BD: "e1@2 ~ e1@5 e2 e1@3 g1 ~@2 g1@7 ~ g1",
  BE: "e1@2 ~ e1@2 ~ e1@5 ~ f1 ~@2 f1@2 ~ f1@6", BF: "g1@5 ~ g1@4 ~ g1 e1@2 ~ e1@5 e2 e1@3",
  BG: "a1@5 ~ g1@6 f1@10 ~ f1", BH: "e1 ~@2 e1@7 ~ e1 g1 ~@2 g1@4 ~ g1@4", BI: "e1@10 ~ e1 f1@3 f1@7 ~ f1",
  BJ: "g1 ~@2 g1@2 ~ g1@5 ~ e1@7 ~ e2 e1@3", BK: "a1@6 g1@5 ~ f1@7 ~ f1@3 ~", BL: "e1@10 ~ e1 g1 ~@2 g1@4 ~ g1@4",
  BM: "e1@11 ~ f1 ~@2 f1@7 ~ f1", BN: "g1 ~@2 g1@7 ~ g1 e1@2 ~ e1@5 e2 e1@3", BO: "e1@2 ~ e1@7 ~ e1 g1@2 ~ g1@4 ~ g1@4",
  BP: "e1@10 ~ e1 f1 ~@2 f1@8 ~", BQ: "e1@10 ~ e1 f1@2 ~ f1@4 ~ f1@3 ~", BR: "e1@10 ~ e1 f1 ~@2 f1@4 ~ f1@3 ~",
  BS: "e1@10 ~ e1 f1@4 ~ e1@3 ~ f1@3", BT: "[~@2 e1@3 ~ f1@2 ~ e1@2 ~ g1@18 ~@18]/2",
})).s("gm_fretless_bass").gain(0.74)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  A B@4 C@4 D@6 E@2 F@2 G@2 H@7 I J@3 I K@2 L I K@2 M ~@4 I N@2 O I N@2 O I P@2 O I Q@2 R@2 O I K@2 O I S@2 O ~@4 T K@2
  U@2 V@2 W@2 X@2 Y@2 Z@2 AA@2 AB AC@3
>`.pickRestart({
  A: "[e3,g3] [f3,a3], c4", // Em F
  B: "[e3@11 ~ d4@12 e3@11 ~ [f3,a3]@5 ~@4 d4@26 ~ e3@12 [f3,a3]@11 ~, [g3,b3]@35 c4@6 g3@44 ~@11, ~@41 b3@30 ~ c4@24]/4", // F G
  C: "[e3@12 d4@12 e3@11 ~ [f3,a3,c4]@5 e3@4 d4@26 ~ e3@11 [f3,a3]@13, [g3,b3]@35 ~@6 g3@43 ~@12, ~@41 b3@31 c4@24]/4", // F G
  D: "[e3@11 ~ d3@11 ~ e3@11 ~ [f3,a3]@11 ~@2 d3@23 e3@11 ~ [f3,a3]@11 e3@12 ~ d3@11 ~ e3@11 [a3,c4]@13, [g3,b3]@35 c4@11 ~ g3@37 ~@11 [g3,b3]@37 ~@12, ~@47 b3@23 ~@2 c4@24 ~@35 f3@11 ~@2]/6", // F Am G
  E: "[[b3,d4]@24 e3@10 ~ [f3,a3]@13, g3@35 ~@13, ~ c4]/2", // Bm F
  F: "[e3@11 d4@13 e3@11 ~ [f3,a3]@11 ~, [g3,b3]@35 c4@12 ~]/2", // F G
  G: "[[b3,d4]@24 e3@10 ~@2 [f3,a3]@11 ~, g3@3 ~, ~ c4]/2", // Bm F
  H: "[e3@12 d4@12 e3@11 ~ [f3,a3]@11 ~ b3@24 ~@24 b3@35 ~@13 b3@23 ~, [g3,b3]@35 c4@12 d4@24 ~ c4@23 g3@37 a3@13 ~@23, ~@48 g3@36 a3@13 ~@34 c4@12 d4@24 ~]/7", // F G
  I: "g3 a3, c4", J: "[[g3,b3]@35 ~@13 b3@24, ~@35 c4@12 d4@25, ~@36 a3@13 ~@23]/3", K: "[g3 d4 g3 [a3,c4], b3@3 ~]/2",
  L: "[g3,b3]@2 [a3,c4] [b3,d4]", M: "b3@11 ~ a3@6 b3@5 ~, d4@23 ~", N: "[[g3,b3]@3 [a3,c4]]/2", O: "[b3,d4]",
  P: "[[g3,b3]@36 [a3,c4]@11 ~]/2", Q: "[b3@2 ~ a3, g3@3 ~, ~ c4]/2", R: "[[g3,b3]@35 ~ [a3,c4]@12]/2",
  S: "[g3@13 d4@11 g3@12 [a3,c4]@11 ~, b3@3 ~]/2", T: "g3@11 ~ a3@12, c4",
  U: "[d4@12 ~@12 a4@6 g4@5 [c4,f4]@13, b3@23 ~@25, ~@12 e4@23 ~@13]/2", V: "[e4@12 d4@13 g3@11 [a3,c4]@12, b3@3 ~]/2",
  W: "[d4@2 ~@2 a4 g4 f4 a3, b3@23 ~@13 c4@12, ~ e4@2 ~]/2", X: "[g3@5 ~ d4@6 g3@6 [a3,c4]@6, b3@35 ~@13]/2",
  Y: "[d4@12 ~@12 a4@6 g4@5 ~ f4@6 a3@6, b3@23 ~@12 c4@13, ~ e4@2 ~]/2",
  Z: "[g3@12 d4@12 g3@11 ~ [a3,c4]@12, b3@3 ~]/2", AA: "[d4@2 g3 [a3,c4], b3@3 ~]/2", AB: "[g3,b3] [a3,c4]",
  AC: "[[g3,b3]@12 [a3,c4]@5 [g3,b3]@4 [a3,c4]@5 [g3,b3]@4 [a3,c4]@3 g3@3 d4@18 ~@18, ~@11 b3@7 ~@6]/3", // G Am G Am G Am
})).s("gm_string_ensemble_2").gain(0.3)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C@2 D E F@2 G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM 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 BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG CH
  CI CJ CK CL CM CN ~
>`.pickRestart({
  A: "e3@2 ~ e3@3 [e3,g3]@3 e3 ~ g3 a3@2 ~ a3@2 f3@3 [a3,c4]@3 f3, [g3,c4]@6 c4@6 c4@7 ~@5, ~@7 f3 ~@2 f3 ~", // Em Am C5
  B: "[e3,b3]@3 [e3,b3]@2 ~ e3@2 ~ e3 ~ [g3,b3] [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, g3@5 ~ [g3,b3]@5 ~@13", // E5 G Em G
  C: "[e3@2 ~ e3@3 e3@2 ~ e3@2 g3 [f3,a3,c4]@4 ~ [e3,g3,b3]@3 ~ g3@2 ~ g3@2 ~ g3@3 g3@3 g3 ~ g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, [g3,b3]@5 ~ [g3,b3]@5 ~@10 [b3,d4]@8 ~ [b3,d4]@5 ~@13]/2", // F Em G Em G Bm
  D: "e3@2 ~ e3@3 e3@3 e3@2 g3 [a3,c4]@2 ~ a3@2 [f3,a3,c4] ~@2 [a3,c4]@3 f3, [g3,c4]@6 [g3,c4]@6 f3 ~ f3@3 ~@3 f3@2 ~@2", // Am F Am C5
  E: "e3@2 ~ e3@2 ~ e3@2 ~ e3 ~@2 [g3,b3,d4]@2 ~ [b3,d4]@2 [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, [g3,b3]@5 ~ [g3,b3]@6 ~@2 g3@3 ~@7", // G Bm Em G
  F: "[e3@2 ~ e3@2 ~ e3@2 ~ e3@2 g3 [f3,a3,c4]@4 ~ [e3,g3,b3]@3 ~ g3@2 ~ g3@2 ~ g3@3 g3@3 g3@2 b3 [b3,d4]@2 g3 [g3,b3,d4]@2 [g3,b3,e4]@2 ~ [g3,b3,d4]@3 ~, [g3,b3]@5 ~ [g3,b3]@5 ~@10 d4@9 ~@18, ~@21 b3@7 ~@2 [b3,d4]@5 ~ g3 ~@11]/2", // F Em Bm G Em G Bm
  G: "e3@2 ~ e3@3 e3@3 e3 ~ [e3,g3] [a3,c4]@2 ~ [a3,c4]@2 [f3,a3,c4]@3 [a3,c4]@3 f3, [g3,c4]@5 ~ [g3,c4]@5 ~ f3 ~ f3@3 ~@3 f3@2 ~@2", // Em Am F Am C5
  H: "e3@2 ~ e3@3 [g3,b3]@3 e3@2 [g3,b3] [b3,d4]@2 ~ [b3,d4]@2 [g3,b3,d4] ~@2 [g3,b3,d4]@3 g3, [g3,b3]@5 ~ e3@2 ~@4 g3 ~ g3@2 ~@8", // G Bm G
  I: "[g3,b3]@3 ~@3 [g3,b3]@3 [g3,b3]@2 e3 [f3,a3,c4]@2 ~ a3 ~ [f3,a3,c4] ~@2 [f3,a3]@2 ~ [f3,a3], ~@3 e3@5 ~ e3 ~@4 f3@3 ~@3 c4@3 ~", // G F
  J: "[g3,b3]@3 [g3,b3]@2 ~ g3@2 ~ g3@2 ~ [b3,d4]@2 g3 [g3,b3,d4]@2 [g3,b3,e4] ~@2 [g3,b3,d4] ~@2 g3, d4@5 ~ [b3,d4]@5 g3@2 ~@11", // G Bm G Em G Bm
  K: "[e3,g3,c4]@2 ~ [e3,g3,c4]@3 e3@2 ~ e3@2 g3 a3@2 ~ a3@2 [f3,a3,c4]@3 [f3,a3,c4]@3 f3, ~@6 [g3,c4]@5 ~ c4@5 ~@7, ~@12 f3 ~ f3@3 ~@7", // C F C5
  L: "e3@2 ~ e3@2 ~ [e3,g3,b3]@2 ~ [g3,b3]@2 e3 [g3,b3,d4]@2 ~ [b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, [g3,b3]@6 ~@3 e3 ~@4 g3@3 ~@7", // Em G Bm Em G
  M: "e3@2 ~ e3@3 [e3,b3]@3 [e3,b3]@2 [e3,g3] [f3,a3,c4]@2 ~ a3@2 [f3,a3,c4] ~@2 [f3,a3,c4]@3 f3, [g3,b3]@5 ~ g3@5 ~@3 f3@3 ~@7", // E5 Em F G
  N: "[g3,b3]@3 g3@2 ~ g3@2 ~ g3 ~ g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, d4@5 ~ [b3,d4]@5 ~@13", // G Em G Bm
  O: "[e3,g3]@2 ~ [e3,g3]@3 e3@3 g3@2 e3 a3@2 ~@3 [f3,c4]@3 [a3,c4]@3 f3, c4@5 ~ c4@6 c4@3 a3@5 ~@4, ~@6 g3@2 ~@4 f3 ~ f3@3 ~@3 f3@2 ~@2", // Em F5 Am
  P: "g3@2 ~ g3@3 [e3,g3,b3]@5 e3 [g3,b3,d4]@2 ~ b3@2 [g3,b3,d4]@2 ~ [g3,b3,d4]@3 g3, [e3,b3]@5 ~@9 g3@3 ~@7", // Em G E5
  Q: "e3@2 ~ e3@3 e3@2 ~ e3 ~ e3 a3@2 ~ a3@2 [f3,c4]@3 [a3,c4]@3 f3, [g3,b3]@6 [g3,b3]@6 c4@4 ~ a3 ~@6, ~@12 f3 ~ f3@3 ~@3 f3@2 ~@2", // F5 Am G
  R: "g3@2 ~ g3@2 ~ [g3,b3,d4]@3 [b3,d4]@2 g3 [g3,b3,d4]@2 ~ [b3,d4]@2 [g3,b3,e4] g3 ~ [g3,b3,d4]@3 g3, [b3,d4]@5 ~@4 g3 ~@4 g3@3 ~@7", // G Bm G Bm Em G Bm
  S: "[e3,g3]@3 [e3,g3]@2 ~ [e3,g3]@3 g3@2 e3 a3@2 ~ a3@2 [f3,a3,c4]@3 [f3,a3,c4]@3 f3, c4@5 ~ c4@5 ~ c4@4 ~@8, ~@9 e3 ~@2 f3 ~ f3@3 ~@7", // Em F
  T: "e3@2 ~ e3@2 ~ [e3,g3,b3]@3 [e3,g3,b3]@2 ~ [g3,b3,d4]@2 ~ [b3,d4]@2 [g3,b3,d4]@2 ~ [g3,b3,d4]@3 g3, [g3,b3]@5 ~@9 g3@3 ~@7", // Em G Bm G
  U: "[e3,g3]@3 [e3,g3]@3 [e3,g3]@3 g3@2 e3 a3@2 ~@3 [f3,c4]@3 [a3,c4]@3 a3, b3@6 b3@6 c4@3 a3@4 ~@5, ~@9 e3 ~@2 f3 ~ f3@3 ~@3 f3@2 ~@2", // Em F5 Am
  V: "g3@2 ~ g3@2 b3 [g3,b3,d4]@3 [b3,d4]@2 g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, [b3,d4]@5 ~@4 g3 ~@14", // G Bm G Em G Bm
  W: "[e3,g3]@2 ~ [e3,g3]@3 [e3,g3]@3 g3@2 e3 a3@2 ~ a3@2 [f3,a3,c4]@2 ~ [a3,c4]@3 f3, c4@5 ~ c4@5 ~ c4@4 ~@8, ~@9 e3 ~@2 f3 ~ f3@3 ~@3 f3@2 ~@2", // Em F Am
  X: "[e3,g3,b3]@2 ~ [e3,g3,b3]@2 ~ [e3,g3,b3]@2 ~ [e3,g3,b3] ~ [e3,g3] [g3,b3,d4]@2 ~ b3@2 [g3,b3,d4] ~@2 [g3,b3,d4]@3 g3, ~@14 g3@3 ~@7", // Em G
  Y: "[e3,g3]@2 ~ [e3,g3]@2 ~ [e3,g3]@3 g3@2 e3 [a3,c4]@2 ~ [a3,c4]@2 [f3,a3,c4] ~@2 [a3,c4]@3 [f3,a3], b3@5 ~ b3@6 ~@12, ~@9 e3 ~@2 f3 ~ f3@3 ~@3 f3@2 ~@2", // Em Am F Am F
  Z: "g3@2 ~ g3@2 ~ [g3,b3,d4]@3 [b3,d4]@2 g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, [b3,d4]@5 ~@4 g3 ~@14", // G Bm G Em G Bm
  AA: "[e3,g3]@2 ~ [e3,g3]@3 [e3,g3,c4]@3 [e3,g3,c4]@2 e3 a3@2 ~ a3@2 [f3,a3,c4]@2 ~ [f3,a3,c4]@3 f3, c4@5 ~@7 c4@5 ~@7, ~@12 f3 ~ f3@3 ~@7", // Em C F
  AB: "e3@2 ~ e3@2 ~ [e3,g3,b3]@3 [e3,g3,b3]@2 e3 b3@2 ~ b3@2 [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~, [g3,b3]@5 ~@7 d4@4 ~@8, ~@14 g3@3 ~@7", // Em G
  AC: "e3@2 ~ e3@2 ~ [g3,b3]@5 e3 a3@2 ~ a3@2 [f3,a3,c4] ~@2 [a3,c4]@3 f3, [g3,b3]@5 ~ e3@2 ~@4 c4@4 ~@8, ~@12 f3 ~ f3@3 ~@3 f3@2 ~@2", // G F Am G
  AD: "[g3,d4]@2 ~ [g3,d4]@3 [g3,b3,d4]@2 ~ [g3,b3,d4]@2 g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, b3 ~@7", // G5 G Em G
  AE: "c4@3 c4@2 ~ [e3,g3,c4]@3 [e3,g3,c4]@2 e3 [a3,c4]@2 f3 [f3,a3,c4]@2 [f3,a3,c4] ~@2 [f3,a3,c4]@3 f3, [e3,g3]@6 ~@6 f3 ~@11", // C Am F Em
  AF: "[e3,g3]@3 [e3,g3]@2 ~ [e3,g3,b3]@2 ~ [e3,g3,b3]@2 [e3,g3] [b3,d4]@2 ~ b3@2 [g3,b3,d4]@2 ~ [g3,b3,d4]@3 g3, b3@5 ~@7 g3 ~ g3@3 ~@7", // Em Bm G
  AG: "[e3,g3]@2 ~ [e3,g3]@2 ~ [e3,g3,b3]@3 [e3,g3,b3]@2 g3 [a3,c4]@2 ~ [a3,c4]@2 [f3,a3,c4] ~@2 [f3,a3,c4]@3 f3, b3@5 ~@7 f3 ~ f3@3 ~@7", // Em Am F
  AH: "[g3,d4]@2 ~ [g3,d4]@2 ~ [g3,b3,d4]@3 [g3,b3,d4]@2 g3 [g3,b3]@2 [g3,b3,d4]!2 ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, b3 ~@7", // G5 G Em G
  AI: "[e3,g3,c4]@2 ~ [e3,g3,c4]@2 ~ [e3,g3,c4]@3 [g3,c4]@2 e3 a3@2 ~ a3@2 [f3,a3,c4] ~@2 [a3,c4]@3 f3, ~@9 e3 ~@2 c4@4 ~@8, ~@12 f3 ~ f3@3 ~@3 f3@2 ~@2", // C C5 F Am
  AJ: "[e3,g3]@3 [e3,g3]@2 ~ [e3,g3,b3]@3 [e3,g3,b3] ~ g3 [b3,d4]@2 ~ [b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 ~, b3@5 ~@9 g3@3 ~@7", // Em Bm Em G
  AK: "e3@2 ~ e3@3 [e3,g3,b3]@3 [e3,g3,b3]@2 [e3,g3] [a3,c4]@2 ~ [a3,c4]@2 [f3,a3,c4] ~@2 [a3,c4]@3 [f3,a3], [g3,b3]@6 ~@6 f3 ~ f3@3 ~@3 f3@2 ~@2", // Em Am F Am F G
  AL: "[g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [b3,d4]@2 g3 [b3,d4]@2 [g3,b3] [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, ~@9 g3 ~@2 g3 ~@11", // G Bm G Em G
  AM: "[e3,g3]@3 [e3,g3]@2 ~ g3@3 e3 ~ a3@6 f3 [f3,a3]@2 a3@3 f3, ~@6 e3@2 ~@3 f3@5 ~@4 f3@2 ~@2", // Em F
  AN: "[g3,b3]@2 ~ [g3,b3] ~@2 [g3,b3]@2 ~ [g3,b3] ~ [a3,c4]@6 a3 [a3,c4]@2 [a3,c4]@2 ~ [a3,c4]", // G Am
  AO: "[g3,b3]@3 [g3,b3]@3 g3@2 ~ g3@2 ~ [a3,c4]@4 ~ [g3,b3]@2 ~@2 [g3,d4]@3, ~@6 b3@5 ~@13", // G Am G G5
  AP: "g3@2 ~ g3@2 ~ [g3,b3,d4]@3 [b3,d4]@2 g3 [g3,b3,d4]@2 [g3,b3] [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 ~, [b3,d4]@5 ~@4 g3 ~@14", // G Bm G Em G Bm
  AQ: "[e3,g3]@3 [e3,g3]@2 ~ e3@2 ~ e3 ~ e3 [a3,c4]@2 ~ [a3,c4]@2 [f3,a3,c4]@2 ~ [a3,c4]@3 f3, c4@5 ~ [g3,c4]@6 f3 ~ f3@3 ~@3 f3@2 ~@2", // Em Am F Am C5
  AR: "e3@2 ~ e3@2 ~ [e3,g3,b3]@5 [e3,g3] [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~, [g3,b3]@5 ~@19", // Em G
  AS: "e3@2 ~ e3@2 ~ e3@2 ~ e3@2 e3 [f3,a3,c4]@2 ~ a3@2 [f3,a3,c4] ~@2 [a3,c4]@3 f3, [g3,b3]@5 ~ [g3,b3]@6 ~@2 f3@3 ~@3 f3@2 ~@2", // F Am G
  AT: "g3@2 ~ g3@3 g3@2 ~ g3@2 g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, [b3,d4]@5 ~ [b3,d4]@5 ~@13", // G Em G Bm
  AU: "[e3,g3]@3 [e3,g3]@3 e3@3 e3 ~ [e3,g3] [a3,c4]@2 ~ [a3,c4]@2 [f3,a3,c4]@2 ~ [f3,a3,c4]@3 f3, c4@5 ~ [g3,c4]@5 ~ f3 ~ f3@3 ~@7", // Em Am F C5
  AV: "e3@2 ~ e3@2 ~ [e3,g3]@3 [e3,g3]@2 g3 [b3,d4]@2 g3 [g3,b3,d4]@2 [g3,b3,d4] ~@2 [g3,b3,d4]@3 ~, [g3,b3]@5 ~ b3@5 ~ g3 ~@11", // Em Bm G
  AW: "e3@2 ~ e3@2 ~ [e3,g3]@3 g3@2 e3 [a3,c4]@2 ~ a3@2 [f3,a3,c4] ~@2 [a3,c4]@3 f3, [g3,b3]@6 b3@5 ~@13, ~@9 e3 ~@2 f3 ~ f3@3 ~@3 f3@2 ~@2", // Em Am F Am G
  AX: "g3@2 ~ g3@2 ~ [g3,b3,d4]@2 ~ [g3,b3,d4]@2 g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 g3, [b3,d4]@5 ~@19", // G Em G Bm
  AY: "[e3,g3]@2 ~ [e3,g3]@3 [e3,g3,c4]@3 [g3,c4]@2 e3 [f3,a3,c4]@2 ~ [a3,c4]@2 [f3,a3,c4] ~@2 [f3,a3,c4]@3 f3, c4@5 ~@4 e3 ~@4 f3@3 ~@7", // Em C C5 F Am F
  AZ: "e3@2 ~ e3@3 [e3,g3,b3]@3 [e3,g3,b3]@2 g3 [g3,b3,d4]@2 g3 [g3,b3,d4]@2 [g3,b3,d4] ~@2 [g3,b3,d4]@4, [g3,b3] ~@3", // Em G
  BA: "e3@2 ~ e3@2 ~ [e3,g3,b3]@3 [g3,b3]@2 e3 a3@2 f3 [f3,a3] ~ [f3,a3,c4] ~@2 [a3,c4]@3 f3, [g3,b3]@5 ~@4 e3 ~@2 c4@4 ~@8, ~@12 f3 ~@7 f3@2 ~@2", // Em G F Am G
  BB: "g3@2 ~ g3@2 ~ g3@2 ~ g3 ~ g3 [g3,b3,d4]@2 g3 [g3,b3,d4] ~ [g3,b3,e4] ~@2 [g3,b3,d4]@3 ~, [b3,d4]@5 ~ [b3,d4]@6 ~@12", // G Em G Bm
  BC: "[e3,g3]@3 [e3,g3]@2 ~ e3@3 e3 ~ e3 a3@2 ~ a3@2 [f3,a3,c4]@3 [f3,a3,c4]@3 f3, c4@5 ~ [g3,c4]@5 ~ c4@4 ~@8, ~@12 f3 ~ f3@3 ~@7", // Em F C5
  BD: "e3@2 ~ e3@2 ~ [e3,b3]@3 [e3,b3]@2 e3 [b3,d4]@3 [b3,d4]@2 [g3,b3,d4] ~@2 [g3,b3,d4]@4, [g3,b3]@5 ~ g3@5 ~ g3@5 ~@7", // E5 Bm G
  BE: "e3@2 ~ e3@2 ~ e3@3 e3 ~ [e3,g3] a3@2 ~ a3@2 [f3,a3,c4] ~@2 [f3,a3,c4]@3 f3, [g3,c4]@5 ~ [g3,c4]@6 c4@5 ~@7, ~@12 f3 ~ f3@3 ~@7", // Em F C5
  BF: "[e3,g3]@3 [e3,g3]@3 [e3,g3]@3 [e3,g3] ~ g3 [g3,b3,d4]@2 ~ b3@2 g3@3 g3@3 ~, b3@5 ~ b3@5 ~@3 g3@2 ~ d4@7, ~@17 b3@5 ~@2", // Em G
  BG: "e3@2 ~ e3@3 [e3,b3]@3 [e3,b3]@2 e3 [a3,c4]@2 ~ a3@2 [f3,a3,c4] ~@2 [a3,c4]@3 [f3,a3], [g3,b3]@5 ~ g3@5 ~ f3 ~ f3@3 ~@3 f3@2 ~@2", // E5 Am F Am F G
// … 157 more lines

More by Antonello Venditti