Strudelify
Easier Said Than Done cover art

Night Birds

Easier Said Than Done

Shakatak

KeyD minorTempo107 bpm
0:00/0:00
// Easier Said Than Done — Shakatak
// 107 bpm, 4/4, key D minor. 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: Full arrangement: all 108 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(107/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 · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~@2 A B C D A E F G H I J K L M N O P Q R S T U@3 A B C D A E F G H I J K L M N O P Q R S T V@3 W@8 X Y Z AA AB AC
  AD@2 AE@3 AF AG@3 AH@2 AI AJ@3 AK AL@2 AM AN AO AP AQ@3 AR AS AN AO AP AQ@3 AR AS AN AO AP AQ@3 AR AT@2
>`.pickRestart({
  A: "g1 ~@9 g1 ~ f1 ~ f1 ~ g1@2 ~@8 g1 ~ g1 ~@3", B: "f1 ~@9 f1 ~ f1 ~ f1 ~ f1 ~@9 f1 ~ f1 ~@3",
  C: "eb2@2 ~@8 eb2 ~ eb2@2 ~@2 eb2@2 ~@8 eb2 ~@3 eb2 ~", D: "d2@2 ~@8 d2 ~@3 d2@2 c2@2 ~@6 d2@2 ~@6",
  E: "f1@2 ~@8 f1 ~ f1 ~ f1 ~ f1 ~@9 f1 ~ f1 ~@3", F: "eb2@2 ~@8 eb2 ~ eb2 ~@3 eb2@2 ~@8 eb2 ~ eb2 ~@3",
  G: "d2@2 ~@8 d2 ~@3 d2 ~ d2@3 d2 c2@3 ~ bb1@3 ~ a1@3 ~", H: "g1@2 ~@8 g1@2 f1 ~ f1@2 g1@2 ~@4 g1@2 bb1@4 b1@3 ~",
  I: "c2@3 ~@11 g1@2 c2@3 ~@7 g1 ~ g1@3 ~", J: "f1@2 ~@12 f1 ~ f1@2 ~@8 f1 ~ f1@2 ~@2",
  K: "bb1@3 ~@11 bb1@2 c2@2 ~@4 c2@2 d2@2 ~@6", L: "g1@2 ~@8 g1@2 f1 ~ f1@2 g1@2 ~@4 g1@2 bb1@4 b1@4",
  M: "c2@4 ~@10 g1@2 c2@4 ~@6 g1 ~ g1@3 ~", N: "f1@3 ~@11 f1 ~ f1 ~@9 f1 ~ f1@2 ~@2",
  O: "bb1@3 ~@11 bb1 ~ bb1@2 ~@4 bb1 ~ g1@2 ~@2 ab1@2 ~@2", P: "a1@2 ~@4 a2 ~@3 a1 ~ a1 ~@3 d2@2 ~@8 d2 ~ d2 ~@3",
  Q: "g1@3 ~@3 g1 ~ a1@2 ~@4 a1 ~ bb1@3 ~@5 d2@5 ~ ab1@2", R: "a1@2 ~@4 a2@2 ~@2 a1 ~ a1@2 ~@2 d2@2 ~@8 d2 ~ d2 ~@3",
  S: "g1@2 ~@8 g1@2 f1@3 ~ g1@2 ~@8 g1 ~ g1@2 ~@2", T: "g1@2 ~@8 g1 ~ g1@2 ~@2 c2@2 ~@8 c2 ~ c2 ~@3",
  U: "[f1@2 ~@8 f1 ~ f1 ~@3 f1 ~@9 f1 ~ f1@17 ~ bb1@16 d2@14 ~@20]/3",
  V: "[f1@2 ~@8 f1 ~ f1 ~@2 f1 ~@9 f1 ~ f1 ~@3 f1@13 ~ bb1@15 ~ d2@34 g1]/3",
  W: "[~@5 g1 ~@3 g1@2 f1@2 ~@2 g1@2 ~@8 g1 ~ g1@2 ~@2 f1@2 ~@8 f1 ~ f1@2 ~@2 f1 ~@9 f1 ~ f1@2 ~@2 eb2@2 ~@8 eb2 ~@3 eb2@2 eb2@2 ~@8 eb2 ~@3 eb2@2 d2@2 ~@8 d2 ~@3 d2@2 d2@2 ~ d2 c2@3 ~ bb1@4 a1@3 ~ g1@2 ~@4 a1@2 ~@2 a1@2 ~@2 a1@2 bb1@2 ~@6 d2@2 eb2@5 ~ f1@3 ~@3 g1@3 ~ a1@2 ~@2 a1 ~ a1@9 ~@7 eb2@2 ~@8 eb2@2 ~@2 eb2 ~ eb2 ~@9 eb2 ~@3 eb2 ~ d2@2 ~@8 d2 ~@3 d2@2 c2@4 ~@4 d2@5 ~@3 g1]/8",
  X: "~ g1 ~@7 g1@2 f1 ~ f1@2 g1@2 g1@2 ~@12 g1", Y: "~ g1 ~@7 g1@2 f1@3 ~ g1 ~ g1 ~@13 g1",
  Z: "~ g1 ~@7 g1 ~ f1@4 g1 ~ g1@2 ~@12 g1", AA: "~ g1 ~@7 g1@2 f1@2 ~@2 g1 ~ g1@2 ~@2 c2 ~@3 bb1@5 ~ g1",
  AB: "~ g1 ~@7 g1@2 f1 ~ f1 ~ g1 ~ g1 ~@13 g1", AC: "~ g1 ~@7 g1@2 f1 ~ f1@2 g1 ~ g1 ~@3 c2 ~@9 g1",
  AD: "[~ g1 ~@7 g1@2 f1 ~ f1 ~ g1 ~ g1 ~@11 d2 ~ d2@2 ~@6 d2@2 ~@10 d2@12 ~]/2",
  AE: "[~@15 g1@2 ~@7 g1@2 f1 ~ f1@2 ~ g1@2 ~@3 g1@2 ~ bb1@4 b1@3 c2@3 ~@11 g1@2 ~ c2@3 ~@6 g1 ~ g1@3 ~ f1@2 ~@12 f1 ~ f1@2]/3",
  AF: "~@8 f1 ~ f1@2 ~@2 bb1@3 ~@13 c2@2, ~@29 bb1@2 ~",
  AG: "[~@4 c2@2 d2@2 ~@6 g1@2 ~@10 f1 ~ f1@2 ~ g1@2 ~@3 g1@2 ~ bb1@4 b1@3 c2@4 ~@10 g1@2 ~ c2@4 ~@6 g1 ~ g1@3 f1@3 ~@12 f1 ~ f1, ~@25 g1@2 ~@69]/3",
  AH: "[~@8 f1 ~ f1@2 ~@3 bb1@3 ~@11 bb1 ~ bb1@2 ~@3 bb1 ~ g1@2 ~@2 ab1@2 ~@2 a1@2 ~@5 a2 ~@2 a1 ~@2 a1 ~@2 d2@2]/2",
  AI: "~@8 d2 ~ d2 ~@3 g1@3 ~@3 g1 ~@2 a1@2 ~@3 a1 ~ bb1@2",
  AJ: "[~@6 d2@5 ~@3 a1@2 ~@4 a2@2 ~@3 a1 ~ a1@2 ~@2 d2@2 ~@8 d2!2 ~@3 g1@2 ~@8 g1@2 f1@3 ~@2 g1@2 ~@7 g1 ~ g1@2 ~@2 g1@2 ~@8 g1 ~ g1@2 ~@2 c2@2, ~@13 ab1@2 ~@81]/3",
  AK: "~@8 c2 ~ c2 ~@3 f1@2 ~@8 f1 ~ f1 ~@3 f1 ~", AL: "[~@8 f1 ~ f1@17 ~ bb1@16 d2@14 ~@6]/2",
  AM: "~@14 g1@2 ~@4 g1 ~@3 g1@2 f1@4 g1@2", AN: "~@8 g1 ~ g1@2 ~@2 f1@2 ~@8 f1 ~ f1@2 ~@2 f1@2",
  AO: "~@8 f1 ~ f1 ~@3 eb2@2 ~@8 eb2 ~@3 eb2@2 eb2@2", AP: "~@8 eb2 ~@3 eb2@2 d2@2 ~@8 d2 ~@3 d2 ~ d2 ~",
  AQ: "[~ d2 c2@3 ~ bb1@3 ~ a1@3 ~ g1@2 ~@4 a1@2 ~@2 a1 ~@3 a1 ~ bb1@8 d2@2 eb2@6 f1@2 ~@4 g1@2 ~@2 a1@2 ~@2 a1@2 a1@10 ~@6 eb2@2 ~@8 eb2 ~@3 eb2 ~ eb2@2]/3",
  AR: "~@8 eb2@2 ~@2 eb2 ~ d2@3 ~@7 d2@2 ~@2 d2 ~ c2@2", AS: "~@6 d2@4 ~@4 g1@2 ~@4 g1 ~@3 g1@2 f1@4 g1@2",
  AT: "[~@3 d2@2 ~@2 g1@16 ~@9]/2",
})).s("gm_acoustic_bass").gain(0.41).pan(0.6)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  ~@9 A B C D E F G H I J K L M N O@3 ~@8 P Q R S T U V W X Y Z AA AB AC@7 AD AE AF@4 ~@3 AG ~@2 AH AI AJ AK AL AM AN
  AO@2 AP AQ AR AS AT AU@2 ~@7 AV AW@5 AX AY AZ@6 BA BB BC@3
>`.pickRestart({
  A: "~@31 c6", B: "d6@5 ~ c6@4 ~@2 a5@2 ~@10 a5@2 ~@2 bb5@2 ~@2",
  C: "c6@6 bb5@4 ~@2 g5@2 ~@12 g5@2 a5@2 ~ a5, bb5 ~@31", D: "bb5@5 ~ a5@6 f5@2 ~@8 f5@2 a5@2 g5@2 f5@2 ~@2",
  E: "d5@13 ~@18 c6", F: "d6@6 c6@6 a5@2 ~@10 a5@2 ~@2 bb5@2 ~ bb5", G: "c6@6 bb5@5 ~ g5@2 ~@12 g5 ~ a5 ~@2 a5",
  H: "bb5@6 a5@6 f5@2 ~@8 f5 ~ a5@2 g5@2 f5 ~@3", I: "d5@5 ~@3",
  J: "~@6 d5 ~ d5 ~ d5@2 ~@2 d5@6 gb5@2 a5@2 ~@2 c6@4 ~@2", K: "[d5,bb5]@2 [c5,a5] [bb4,g5] ~@12",
  L: "~@6 d5 ~ d5 ~ d5@2 ~@2 d5@6 gb5@2 a5@2 ~@2 c6@5 ~", M: "[d5,bb5] ~@7",
  N: "~@6 c5 ~ c5@2 c5@3 ~ c5@6 e5 ~ g5@2 ~@2 bb5@5 ~",
  O: "[a5@4 bb5 ~ c6@2 ~@18 c6@2 d6 ~ eb6@10 ~@2 d6@2 c6@2 d6@6 ~@2 c6 ~ f6@2 eb6@2 c6 ~ d6@16 [e5,g5,a5,d6]@2 ~@16]/3", // Em7
  P: "~@10 bb4 ~ d5 f5 a5 ~ c6 ~ b5 ~ bb5 ~ d5 ~ f5 ~ a5 ~ g5 ~ f5 ~, [g3,bb3,d4]@15 ~", // Gm
  Q: "eb5 ~ g5 ~ bb5 ~ d6 ~ f6 ~ [eb6,e6] ~ d6 ~ c6 ~ [bb3,eb4,g4]@2 d6 ~ c6 ~ g5 ~@3 [bb3,eb4,g4]@4 ~@2, [bb3,eb4,g4]@16 b5 ~@15", // Emaj7 Eb
  R: "~@7 g5 a5 ~ bb5 a5 g5 ~@3 a5 ~@3 f5 ~@3 d5 ~ f5 ~ g5 ~ a5 ~, [eb4,g4,bb4]@3 ~@5", // Eb
  S: "g5 ~ f5 ~ d5 ~ f5 ~@19 [a3,c4,e4]@6", // Am
  T: "~@8 a4 ~ g4 ~ gb4 ~ g4 ~ bb4 ~ a4 ~ ab4 ~ a4 ~ c5 ~ bb4 ~ [g3,bb3,d4]@2 bb4 ~, ~@28 a4 ~@3", // Gm
  U: "d5 ~ c5 ~ b4 ~ c5 ~ d5 ~ eb5 ~ f5 ~ g5 ~ a5 ~ bb5 ~ b5 ~ c6 ~ d6 ~ eb6 ~ d6 c6 bb5 db6",
  V: "d6 ~@3 c6 ~ g5 ~@3 [bb3,c4,eb4,g4]@6 ~@2 g5 ~ ab5 ~ a5 ~ d6 ~@3 a5 ~@3, ~@8 [a3,eb4,f4]@7 ~", // Cm7 F7
  W: "g5 ~ a5 g5 f5 ~@3 d5 ~@3 f5 ~ d5 ~@17",
  X: "~@8 c5 ~ e5 ~ g5 ~ b5 ~ bb5 ~ gb5 ~ eb5 ~ c5 ~@3 a4 ~ g4 ~ gb4 ~, g4@15 ~@9 bb4@8",
  Y: "g4 ~@3 g4 ~ d4 ~@19 [d4,gb4,bb4]@6, ~@2 a4@21 ~@9", // Daug
  Z: "~@2 c5 ~ e5 g5 b5 ~ d6 ~ db6 ~ c6 ~ b5 ~ bb5 [bb5,c6] ab5 ~ gb5 ~ f5 ~ eb5 ~ c5 ~ db5 ~ d5 ~", // Bbsus2
  AA: "f5 ~ d5 ~ f5 ~ f5 ~ g5 f5 d5 ~ db5 ~ c5 ~ bb4 ~ g4 ~ bb4 ~ g4 ~@3 [a3,d4,f4]@4 ~@2", // Dm
  AB: "~@2 g5 f5 d5 ~ eb5 ~ e5 ~ g5 ~ a5 ~ c6 ~ eb6 d6 db6 ~ c6 bb5 ab5 ~ g5 f5 e5 ~ db5 c5 bb4 ~",
  AC: "[a4@4 c5@2 a4@2 e5@4 c5@2 ~ g5@2 ~@2 g5@2 a5@2 ~@2 [a3,c4]@4 ~@5 c5 d5 eb5 ~ f5 g5 a5 ~ bb5 c6 ~ d6@9 ~ g5 a5 ~ bb5 c6 d6 ~ e6@20 ~@7 d5 ~ f5 ~@3 g5 ~@7 g5@2 ~ g5 f5 ~@2 g5 ~@11 d5 f5 ~@3 g5 ~@7 g5 a5 g5@2 f5 ~ d5 ~@9 [a3,d4]@2 ~ d5 f5@2 ~@2 g5@2 ~@6 f5 ~ g5 f5 d5 ~@2 c5 bb4@2 a4 ~ g4 ~ [bb3,d4]@2 c5 ~ bb4 ~ g4 ~@3 b4 ~@3 c5 ~@3 b4 ~ c5 ~ b4@2 bb4@8 ~ c5 bb4 c5 bb4 ~ a4@2 g4 ~@2, ~@14 e5@2 ~@2 e5@2 ~@11 eb4@14 [bb3,d4,f4]@14 ~@2 [g3,c4,e4]@34 [g3,bb3,d4]@28 ~@2 [a3,d4]@16 ~@18 bb3@12 ~@2 bb3@2 ~@14 [g3,a3,c4]@14 ~@2 [gb3,ab3,c4]@18 ~, ~@53 a5 ~@58]/7", // Am D5 Bb C Gm D5 Am7 Ab7
  AD: "~@11 a4 ~ bb4 ~ c5 ~ db5!2 d5 ~@3 f5 ~ d5 ~ f5 ~ g5@2 ~",
  AE: "~ f5 ~ g5 ~ a5 ~@3 f5 ~ d5 ~@3 f5 ~ d5 ~ c5 ~@11 g4",
  AF: "[~ bb4 ~ c5 ~ bb4 ~ f5 ~ e5 ~ eb5 ~ bb4 ~ d5 ~ c5 ~ bb4 ~ g4 ~ bb4 ~ c5 ~@3 [g3,a3,c4,d4]@10 g4 a4 ~ bb4 c5@2 ~ [ab4,c5,eb5]@5 g4 f4 ~ e4 [d4,eb4]@3 d4@3 ~@2 [ab3,c4,db4,f4]@50 ~@2 [bb3,eb4,g4]@2 ~@4 [bb3,b3,eb4]@6 ~, ~@29 b4@21 ~@78, ~@39 [g3,a3,c4,d4]@6 [gb3,ab3,c4,d4]@8 ~@2 [gb3,ab3,c4]@5 ~@68]/4", // Gsus4 Ab Ebmaj7 Dbmaj7 Eb Bmaj7 Gsus4 D7 …
  AG: "~@19 [d5,eb5]@2 ~@11", AH: "~@14 c6 d6@4 ~@2 c6@4 ~ a5@2 ~@4",
  AI: "~@7 a5@2 ~ bb5@2 ~@2 c6@6 ~ bb5@4 ~ g5@2 ~@4, ~@14 bb5 ~@17",
  AJ: "~@10 a5@2 ~@2 bb5@5 ~ a5@6 f5@2 ~@4, ~@9 g5@2 ~@3 a5 ~@17",
  AK: "~@4 f5@2 ~ a5@2 ~ f5@2 ~@2 d5@13 ~@5, ~@9 g5@2 ~@21", AL: "~@14 d6@6 ~ c6@6 a5@2 ~@3, ~@14 c6 ~@17",
  AM: "~@7 a5@2 ~ bb5@2 ~@2 c6@6 bb5@5 ~ g5@2 ~@4, ~@14 bb5 ~@17",
  AN: "~@8 g5 ~@2 a5 ~@2 bb5@6 a5@6 f5@2 ~@4, ~@14 a5 ~@17",
  AO: "[~@4 f5 ~@3 g5@2 f5 ~@4 d5@20 ~@17 d5 ~@2 d5 d5@2 ~@2 d5@4, ~@7 a5@2 ~@55]/2",
  AP: "~@3 gb5@2 a5@2 ~ c6@4 ~@2 [d5,bb5]@4 ~ [c5,a5]@2 [bb4,g5]@2 ~@9", AQ: "~@21 d5 ~ d5 ~ d5@2 ~ d5@4",
  AR: "~@2 gb5@2 a5@2 ~@2 c6@5 ~ [d5,bb5]@4 ~@14", AS: "~@20 c5 ~ c5@2 c5@3 ~ c5@4",
  AT: "~@2 e5 ~ g5@2 ~@2 bb5@5 ~ a5@4 bb5 ~ c6@2 ~@10",
  AU: "[~@8 c6@2 d6 ~ [g3,bb3,eb4]@12 d6@2 c6@2 d6@6 ~@2 c6 ~ f6@2 eb6@2 c6 ~ [g3,c4,e4,d6]@16 [e5,g5,a5,d6]@2 ~@2, ~@6 eb6@5 ~@3 [bb3,d4,f4]@8 ~@10]/2", // Eb C Em7 Bb
  AV: "~@29 c5 d5 bb4",
  AW: "[~ d5 bb4 d5 bb4 d5 ~ bb4 d5 bb4 ~ d5 bb4 d5 bb4 d5 ~ bb4 d5 ~ [bb4,d5] ~ bb4 d5 ~ bb4 bb4@2 d5 bb4 c5@3 ~ bb4@2 g4 ~ bb4@2 g4 ~ bb4 ~@3 c5@2 bb4 ~ c5@2 g4 ~ bb4@2 g4@2 f4@2 g4 ~@19 g4 ~ bb4 ~ c5 ~ f5@2 eb5 ~ d5@2 c5 ~ f5@2 d5 ~ c5@2 bb4 ~ c5@2 g4 ~ c5@2 b4@6 ~@2 b4 ~ b4@2 c5@2 d5@2 eb5@8 ~@2 c5 d5 eb5 ~ f5@2 d5 ~ a5@2 f5 ~@5 f5@2 d5 ~ bb4@2 a4 ~ d5@2, ~@7 [g3,bb3,d4]@15 [f3,a3,d4]@15 ~ [g3,bb3,d4]@15 ~ [g3,a3,c4,d4]@7 [ab3,c4,d4]@5 ~@14]/5", // Bb Gm Dm Gm Gsus4 Dm7b5
  AX: "c5 ~ bb4@2 g4 ~@3 bb3@2 bb4@2 g4 ~ a4@2 d5 ~ f5@2 d5 ~ a5@2 g5 ~ f5@2 d5 ~ g5@2",
  AY: "f5 ~ d5@2 c5 ~ d5 eb5 d5 ~ c5 ~ bb3@12 bb4 ~ d5@2 c5 ~ f5@2, ~@6 d5 ~@9",
  AZ: "[d5 ~ c5@4 f5@2 d5 ~ c5 ~ b4@7 ~ b4 ~ b4@2 c5@2 b4@2 bb4@9 ~ bb4@2 ~@2 d5 f5 g5 ~ a5 ~@7 a5 bb5 a5 ~ f5@2 g5 ~ g5@2 a5@2 bb5@2 c6 ~ d6@2 f6 ~ d6@2 c6 ~ d6 ~ c6 ~ bb5 ~ g5 ~ c6 ~ bb5 ~ g5 ~ f5 ~ bb5 ~ g5 ~ f5 ~ d5 ~ g5 ~ f5 ~ d5 ~ c5 ~ f5 ~ f5 ~ d5 ~ d5 ~ bb4 ~ bb4@2 g4 ~ g4 ~ f4@2 bb4 ~@5 f5@2 ~@2 d5 ~@3 b4@2 ~@6 b4 ~ c5@2 b4@2 bb4@4 ~@2 a4 bb4 a4 ~ g4@2 a4 ~ bb4 c5 db5 ~ d5@3 ~ f5 ~ d5 ~ f5 ~@3 f5 ~ d5 ~ f5 ~, ~@23 [g3,bb3,d4]@15 [f3,a3,d4]@15 ~ [g3,bb3,d4]@15 ~ [g3,a3,c4,d4]@7 [ab3,c4,d4]@5 ~@14]/6", // Gm Dm Gm Gsus4 Dm7b5
  BA: "~@2 f5 ~ d5 ~ f5 ~ bb3@2 ~@2 d5 ~ f5 ~@3 f5 ~ d5 ~ f5 ~@3 f5 ~ d5 ~ f5 ~, ~@8 g5 ~@23",
  BB: "~@2 f5 ~ d5 ~ f5 ~ g5 ~@5 f5 ~@3 f5 ~ d5 ~ f5 ~@3 f5 ~ d5 ~ f5 ~, ~@3 bb3@3 ~@2",
  BC: "[~@2 f5 ~ d5 ~ f5 ~ g5 ~@5 [b4,d5,g5,b5]@9 ~ [b4,d5,g5,b5] ~@5 [bb4,d5,gb5,bb5]@10 ~@2 [bb4,d5,gb5,bb5] ~@7 c6 d6@2 bb5@3 ~ g5@3 ~ [d4,f4,a4,d5]@17 ~@18, ~@60 bb3@17 ~@19]/3", // G Bbaug Dm
})).s("gm_piano").gain(0.31)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~@36 A@2 B C D E F G H I J K@2 ~ L@3 M@4 ~@2 N@6 ~@28 O@2 P Q R@2 ~@2 O@2 P Q R@2 ~
>`.pickRestart({
  A: "[~@7 [d4,f4,a4]@15 ~@10]/2", B: "[g3,bb3,d4]@16 [g3,bb3,d4]@9 ~@7",
  C: "~@6 [bb3,c4,eb4,g4] ~@3 [bb3,c4,eb4] ~@2 [bb3,c4,eb4,g4]@2 ~", D: "~@2 [bb3,c4,eb4,g4] ~@5 c4@7 ~",
  E: "[a3,d4,f4] ~ [a3,d4,f4] ~@2 [a3,d4,f4] ~@3 [a3,d4,f4] ~@6", F: "b4@15 ~ [d4,gb4]@16, ~@2 bb4 ~",
  G: "f4@3 ~, a4 ~@15", H: "[d4,g4,b4]@7 ~ [d4,g4,bb4]@3 ~ [c4,d4,gb4]@4",
  I: "[a3,d4,f4]@3 [a3,d4,f4] ~ [a3,d4,f4] ~@10", J: "[g3,bb3,c4]@7 ~ [g3,bb3,c4]@4 ~ [gb3,bb3,c4]@3",
  K: "[[f3,a3,c4,e4]@10 ~@2 [f3,a3,c4,e4]@2 ~ [f3,a3,c4,e4]@6 ~@4 [f3,e4]@4 ~@2 [g3,bb3]@14 ~@19]/2", // Fmaj7 Gm
  L: "[~@29 f3@16 ~@2 [f3,a3,d4]@2 ~@6 f3@2 ~@6 [g3,d4]@11 ~@3 [g3,d4]@2 ~@6 g3@2 ~@9, ~@85 d5 ~@10]/3", // Dm G5
  M: "[~@31 [g3,bb3,d4]@14 ~@2 [g3,bb3,d4]@2 ~@6 [g3,bb3,d4]@2 ~@4 [f3,a3,d4]@20 ~@14 [g3,bb3,d4]@14 ~@2 [bb3,d4,f4]@2 ~@6 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~@5]/4", // Gm Dm Gm Bb
  N: "[~@19 db4@2 ~@4 gb3@6 [f3,a3,bb3,d4]@62 ~@2 [ab4,c5,db5,f5]@52 [bb4,g5]@2 ~@4 [gb4,bb4,b4,eb5]@6 [f4,a4,bb4,d5]@32 ~]/6", // Bbmaj7 Dbmaj7 Eb Bmaj7 Bbmaj7
  O: "[~@13 gb3@5 ~ [gb3,ab3,c4,d4]@3 ~ [g3,bb3,d4]@6 [g3,bb3,d4] ~ [g3,bb3,d4]]/2", // D7 Gm
  P: "~@4 [g3,d4] ~ [f3,a3,d4]@8 ~ [f3,a3,d4]", Q: "~@3 [f3,a3,d4] ~@2 [g3,d4]@6 ~ [g3,bb3,d4] ~@2",
  R: "[[g3,bb3,d4] ~@4 [g3,bb3,d4] ~ [g3,a3,c4,d4]@7 ~ [gb3,ab3,c4,d4]@8 ~@9]/2", // Gm Gsus4 D7
})).s("gm_piano").gain(0.18)

// other · french horn · "FR.HORN"
const french_horn = note(`<
  ~@10 A B C D A B E F A G@2 H I J@3 ~@8 A B K L A M N O P Q P R S T@3 ~@7 U@8 V W@4 X@6 Y@3 Z@3 ~@26
>`.pickRestart({
  A: "d4", B: "g4@15 ~", C: "g4@8 f4@7 ~", D: "f4 g4", E: "g4@16 f4@13 ~@3", F: "[d4,f4,a4]@15 ~", G: "d4@15 ~",
  H: "d4@7 ~ [d4,f4]@2 [c4,eb4]@2 [bb3,d4]@4", I: "f4@8 e4@7 ~", J: "[e4@15 eb4@7 ~ f4@8 g4@7 ~ g4 ~@8]/3",
  K: "bb4@8 a4@7 ~", L: "a4 ~", M: "g4", N: "bb4@8 f4@7 ~", O: "f4@3 ~", P: "b4 bb4", Q: "a4@9 ~@7", R: "a4@7 ~",
  S: "g3 gb3, c4", T: "[[f3,g4]@23 e4@7 ~ eb4@14 f4@16 g4@32 ~@3]/3",
  U: "[~@31 f4@50 ~@2 g4@4 ~@2 eb4@4 ~@2 d4@58 ~@6 f4@50 ~@2 g4@2 ~@4 eb4@4 ~@2 d4@32 ~]/8",
  V: "~ f4@2 ~@6 f4@2 ~@8 f4@12 ~", W: "[~@15 d4@31 g4@32 g4@16 f4@14 ~@2 f4@18]/4",
  X: "[~@14 d4@32 g4@32 g4@16 f4@14 ~@3 f4@22 ~@9 b4@16 bb4@16 a4@16 ~@2]/6",
  Y: "[~@14 b4@16 ~ bb4@14 ~ a4@16 ~ f4@8 d4@7 c5@18]/3", Z: "[~@6 db5@7 ~ c5@28 ~@2 f4@12 ~@4 f4@16 g4@12 ~@8]/3",
})).s("gm_french_horn").gain(0.15).pan(0.6)

// chords · pad poly · "POLYSYNTH"
const pad_poly = note("<~@24 A@2 ~@34 B C D E ~ F ~@15 G ~@26>".pickRestart({
  A: "[~@30 d6@15 ~ d6 ~@17]/2", B: "~@28 f6 a6 a6@2, ~@29 f6@2 ~",
  C: "f6 a6 a6@2 ~ [d6,f6] [d6,f6]@2 bb5 d6 d6@2 g5 bb5 bb5@2 f5 a5 a5@2 ~ [f5,a5] [f5,a5]@2 bb4 d5 d5@2 ~@4, ~ f6@2 ~@6 bb5@2 ~@2 g5@2 ~@2 f5@2 ~@6 bb4@2 ~@5", // Dm F
  D: "~@30 f6 [c6,f6], ~@19 d6@2 e6@2 d6@2 e6@2 d6@2 e6@2 ~, ~@10 eb6 f6 eb6 f6 eb6 ~", // F5
  E: "[b5,e6] [bb5,eb6] [a5,d6] [ab5,db6] [g5,c6] [gb5,b5] [f5,bb5] [e5,a5] [eb5,ab5] [d5,g5] [db5,gb5] [c5,f5] [b4,e5] [bb4,eb5] [ab4,db5] [g4,c5] e5@2 ~@14", // E5 Eb5 D5 Db5 C5 B5 Bb5 A5 …
  F: "~ [gb4,bb4,c5,f5]@2 ~@6 [gb4,bb4,c5,f5]@2 ~@8 [gb4,bb4,c5,f5]@12 ~", G: "~@12 d6@15 ~ d6 ~@3",
})).s("gm_pad_poly").gain(0.13)

// chords · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
  ~ A B@4 C@4 D E F G@8 H I J@3 K@4 C@4 D E F L@8 H I M N@8 O@2 ~@3 P@4 Q R@4 S@6 T@6 U@7 V@8 W@8 X@3
>`.pickRestart({
  A: "~@14 [e5,g5,a5,d6] ~@17", // Em7
  B: "[[f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@32 [eb3,g3,bb3,d4]@31 ~ [d3,g3,a3,c4]@16 ~@2 [d3,gb3,ab3,d4]@15 ~]/4", // Gm7 Dm7 Ebmaj7 Dsus4 Abm7b5
  C: "[[f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@32 [eb3,g3,bb3,d4]@16 ~@2 [eb3,g3,bb3,d4]@11 ~ [eb3,g3,bb3,d4] ~ [d3,g3,c4,d4]@16 ~@2 [d3,gb3,ab3,d4]@16]/4", // Gm7 Dm7 Ebmaj7 Csus2 Abm7b5
  D: "[g2,f3,a3,bb3,d4]@31 ~", E: "[c3,g3,bb3,eb4,g4]@31 ~", F: "[f2,bb3,c4,eb4,g4]@15 ~ [f2,a3,c4,eb4,f4]@15 ~",
  G: "[[bb2,a3,bb3,d4,f4]@16 ~@2 [c3,g3,bb3,c4,eb4]@3 ~@5 [d3,gb3,a3,c4]@3 ~@3 [g2,f3,a3,bb3,d4]@31 ~ [c3,g3,bb3,eb4,g4]@31 ~ [f2,bb3,c4,eb4,g4]@15 ~ [f2,a3,c4,eb4,f4]@15 ~ [bb2,a3,bb3,d4,f4]@32 [g3,a3,c4,d4]@14 ~@2 [gb3,ab3,c4,d4]@15 ~ [f3,a3,bb3,d4]@28 ~@2 [gb3,ab3,c4,d4] ~ [g3,a3,c4,d4]@14 ~@2 [gb3,ab3,c4,d4]@14 ~@2, ~@13 e4@115]/8", // Bbmaj7 Cm7 D7 Gm7 Cm7 F7 Bbmaj7 Gsus4 …
  H: "[f3,a3,bb3,d4]@15 ~", I: "[f3,g3,bb3,c4]@15 ~ [e3,gb3,bb3,c4]@14 ~@2",
  J: "[[g3,a3,c4]@29 ~ [g3,bb3,c4,eb4]@15 ~ [g3,bb3,d4,f4]@14 ~@2 [a3,c4,e4,g4]@14 ~@2 [d3,e5,g5,a5,d6]@3 ~@15, e4@31 ~@17]/3", // Am7 Cm7 Gm7 Am7 Dsus4
  K: "[[f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@31 ~ [eb3,g3,bb3,d4]@31 ~ [d3,g3,a3,c4]@16 ~@2 [d3,gb3,ab3,d4]@15 ~]/4", // Gm7 Dm7 Ebmaj7 Dsus4 Abm7b5
  L: "[[bb2,a3,bb3,d4,f4]@16 ~@2 [c3,g3,bb3,c4,eb4]@3 ~@5 [d3,gb3,a3,c4]@3 ~@3 [g2,f3,a3,bb3,d4]@31 ~ [c3,g3,bb3,eb4,g4]@31 ~ [f2,bb3,c4,eb4,g4]@15 ~ [f2,a3,c4,eb4,f4]@15 ~ [bb2,a3,bb3,d4,f4]@32 [g3,a3,c4,d4]@14 ~@2 [gb3,ab3,c4,d4]@15 ~ [f3,a3,bb3,d4]@28 ~@2 [gb3,ab3,c4,d4]@2 [g3,a3,c4,d4]@14 ~@2 [gb3,ab3,c4,d4]@14 ~@2, ~@13 e4@115]/8", // Bbmaj7 Cm7 D7 Gm7 Cm7 F7 Bbmaj7 Gsus4 …
  M: "[g3,a3,c4]@28 ~@3 [g3,bb3,c4,eb4], e4@31 ~", // Am7 Cm7
  N: "[~@13 [a3,c4,d4,f4]@14 ~@2 [b3,c4,g4]@34 [f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@31 ~ [eb3,g3,bb3,d4]@31 ~ [d3,g3,a3,c4]@16 ~@2 [d3,gb3,ab3,d4]@15 ~ [f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@32 [eb3,g3,bb3,d4]@3, ~@29 e4@227]/8", // Dm7 Cmaj7 Gm7 Dm7 Ebmaj7 Dsus4 Abm7b5 Gm7 …
  O: "[~@15 [eb3,g3,bb3,d4]@11 ~ [eb3,g3,bb3,d4] ~ [d3,g3,c4,d4]@16 ~@2 [d3,gb3,ab3,d4]@16 ~]/2", // Ebmaj7 Csus2 Abm7b5
  P: "[~@31 [ab4,c5,db5,f5]@51 ~ [bb4,d5,eb5,g5]@3 ~@3 [gb4,bb4,b4,eb5]@6 [f4,a4,bb4,d5]@31 ~@2]/4", // Dbmaj7 Ebmaj7 Bmaj7 Bbmaj7
  Q: "~ [d3,bb4,c5,f5]@2 ~@6 [d3,f4,bb4,c5,f5]@2 ~@8 [d3,gb4,bb4,c5,f5]@12 ~, ~ gb4 ~@30", // Bb
  R: "[~@15 [g2,f3,a3,bb3,d4]@30 ~ [c3,g3,bb3,eb4,g4]@31 ~@2 g4@15 [f2,a3,c4,eb4,f4]@15 ~@2 d4@16 ~, ~@78 [f2,bb3,c4,eb4]@15 ~@17 [bb2,a3,bb3,f4]@16 ~@2]/4", // Gm7 Cm7 F7 Fsus4 Bbmaj7
  S: "[~ c4@3 ~@5 [d3,gb3,a3,c4,e4]@3 ~@3 d4@30 ~ [c3,g3,bb3,eb4,g4]@31 ~@2 [c4,eb4,g4]@15 ~ [c4,eb4,f4]@14 ~@2 [bb2,a3,bb3,d4,f4]@32 [g3,a3,c4,d4]@14 ~ [gb3,ab3,c4,d4]@15 ~ [f3,a3,bb3,d4]@18, [c3,g3,bb3,eb4]@3 ~@11 [g2,f3,a3,bb3]@31 ~@33 [f2,bb3]@15 ~ [f2,a3]@15 ~@83]/6", // D7 Cm7 Cm F7 Bbmaj7 Gsus4 D7 Bbmaj7 …
  T: "[~@12 [c4,d4] [gb3,ab3] ~ [g3,a3]@14 ~@2 [gb3,ab3,c4,d4]@14 ~ [f3,a3,bb3,d4]@30 ~@3 bb3@14 ~ [e3,gb3,bb3,c4]@14 ~@2 [g3,a3,c4,e4]@29 ~ [g3,bb3,c4,eb4]@15 ~ [g3,bb3,d4,f4]@14 ~@2 [a3,c4,e4,g4]@14 ~@2 [d3,e5,g5,a5,d6]@3 ~, ~@14 [c4,d4]@14 ~@50 [f3,g3,c4]@15 ~@99]/6", // Csus2 Gbsus2 Gsus2 D7 Bbmaj7 C7 Am7 Cm7 …
  U: "[~@14 [f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@31 ~ [eb3,g3,bb3,d4]@31 ~ [d3,g3,a3,c4]@16 ~@2 [d3,gb3,ab3,d4]@15 ~ [f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@32 [eb3,g3,bb3,d4]@16 ~@2 [eb3,g3,bb3,d4]@2]/7", // Gm7 Dm7 Ebmaj7 Dsus4 Abm7b5 Gm7 Dm7 Ebmaj7
  V: "[~@10 [eb3,g3,bb3,d4] ~ [d3,g3,c4,d4]@16 ~@2 [d3,gb3,ab3,d4]@16 [f3,g3,bb3,d4]@30 [f3,a3,c4,d4]@31 ~ [eb3,g3,bb3,d4]@31 ~ [d3,g3,a3,c4]@16 ~@2 [d3,gb3,ab3,d4]@15 ~ [f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@32 [eb3,g3,bb3,d4]@16 ~@2 [eb3,g3,bb3,d4]@2]/8", // Ebmaj7 Csus2 Abm7b5 Gm7 Dm7 Ebmaj7 Dsus4 Abm7b5 …
  W: "[~@10 [eb3,g3,bb3,d4] ~ [d3,g3,c4,d4]@16 ~@2 [d3,gb3,ab3,d4]@16 [f3,g3,bb3,d4]@30 [f3,a3,c4,d4]@32 [eb3,g3,bb3,d4]@31 ~ [d3,g3,a3,c4]@16 ~@2 [d3,gb3,ab3,d4]@15 ~ [f3,g3,bb3,d4]@29 ~ [f3,a3,c4,d4]@32 [eb3,g3,bb3,d4]@16 ~@2 [eb3,g3,bb3,d4]@2]/8", // Ebmaj7 Csus2 Abm7b5 Gm7 Dm7 Ebmaj7 Dsus4 Abm7b5 …
  X: "[~@10 [eb3,g3,bb3,d4] ~ [d3,g3,c4,d4]@2 ~@16 [d3,gb3,ab3,d4]@16 [g2,d3,a3,bb3,d4,f4,a4]@30 ~@20]/3", // Ebmaj7 Csus2 Abm7b5 Gm7
})).s("gm_epiano1").gain(0.2)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S T U V W@3 X C D E F G H I J K L M N O P Q Y S T Z AA AB@5 AC AD AE@4 AF@6 AG ~
  AH@3 AI@5 AJ@3 AK@5 AL@8 AM@16 AN@2
>`.pickRestart({
  A: "~@7 g5 ~@8",
  B: "[g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@10 ~@2 [g4,bb4,d5] ~@3", // Gm
  C: "[f4,a4,d5]@2 ~@2 [f4,a4,d5] ~ [f4,a4,d5] ~@3 [f4,a4,d5] ~@3 [f4,a4,d5] ~ [f4,a4,d5]@11 ~ [f4,a4,d5] ~@3", // Dm
  D: "[g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@15 ~", // Gm
  E: "[g4,a4,d5] ~@3 [g4,a4,d5]@2 [g4,a4,d5]@2 ~@2 [g4,a4,d5]@2 ~@4 [gb4,ab4,d5]@10 ~@2 [gb4,ab4,d5] ~@3", // Gsus2 Abm7b5
  F: "[g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@7 ~ [g4,bb4,d5] ~@3 [g4,bb4,d5]@2 ~@2", // Gm
  G: "[f4,a4,d5]@2 ~@2 [f4,a4,d5] ~ [f4,a4,d5] ~@3 [f4,a4,d5] ~@3 [f4,a4,d5] ~ [f4,a4,d5]@7 ~ [f4,a4,d5]@2 ~@2 [f4,a4,d5]@2 ~@2", // Dm
  H: "[g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@10 ~@2 [g4,bb4,d5]@2 ~@2", // Gm
  I: "[g4,a4,d5]@2 ~@2 [g4,a4,d5]@2 [g4,a4,d5]@2 ~@2 [g4,a4,d5]@2 ~@2 [g4,a4,d5] ~ [gb4,ab4,d5]@2 ~@2 [gb4,ab4,d5]@6 ~@2 [gb4,ab4,d5] ~@3", // Gsus2 Abm7b5
  J: "[d5,g5]@3 ~ [c5,f5] ~ [c5,f5] ~ [d5,g5] ~ [d5,g5] ~ [c5,f5] ~ [c5,f5] ~ [d5,g5]@3 ~ [c5,f5] ~ [d5,g5]@5 ~ [bb4,d5] ~ [bb4,d5] ~", // G5 F5 G5 F5 G5 F5 G5 Bb
  K: "[d5,f5]@3 ~ [bb4,d5] ~ [bb4,d5] ~ [d5,f5] ~ [d5,f5] ~ [bb4,d5] ~ [bb4,d5] ~ [d5,f5]@3 ~ [bb4,d5] ~ [c5,eb5]@5 ~ [bb4,d5] ~ [bb4,d5] ~", // Dm Bb Dm Bb Dm Bb Cm Bb
  L: "[c5,eb5]@3 ~ [bb4,d5] ~ [bb4,d5] ~ [c5,eb5] ~ [c5,eb5] ~ [bb4,d5] ~ [bb4,d5] ~ [d5,g5]@3 ~ [c5,f5] ~ [d5,g5]@5 ~ [c5,f5] ~ [c5,f5] ~", // Cm Bb Cm Bb G5 F5 G5 F5
  M: "[d5,g5]@3 ~ [c5,f5]@3 ~ [d5,g5] ~ [d5,g5] ~ [c5,f5] ~ [c5,f5] ~ [d5,g5]@2 [c5,f5] ~ [g5,bb5] ~ [d5,g5]@10", // G5 F5 G5 F5 G5 F5 Gm G5
  N: "[d5,g5]@3 ~ [c5,f5] ~ [c5,f5] ~ [d5,g5] ~ [d5,g5] ~ [c5,f5] ~ [c5,f5] ~ [d5,g5]@3 ~ [c5,f5] ~ [d5,g5]@6 [bb4,d5] ~ [bb4,d5] ~", // G5 F5 G5 F5 G5 F5 G5 Bb
  O: "[d5,f5]@4 [bb4,d5] ~ [bb4,d5] ~ [d5,f5] ~ [d5,f5] ~ [bb4,d5] ~ [bb4,d5] ~ [d5,f5]@3 ~ [bb4,d5] ~ [c5,eb5]@5 ~ [bb4,d5] ~ [bb4,d5] ~", // Dm Bb Dm Bb Dm Bb Cm Bb
  P: "[c5,eb5]@4 [bb4,d5] ~ [bb4,d5] ~ [c5,eb5] ~ [c5,eb5] ~ [bb4,d5] ~ [bb4,d5] ~ [d5,g5]@3 ~ [c5,f5] ~ [d5,g5]@5 ~ [c5,f5] ~ [c5,f5] ~", // Cm Bb Cm Bb G5 F5 G5 F5
  Q: "[d5,g5]@4 [c5,f5]@4 [d5,g5] ~ [d5,g5] ~ [c5,f5] ~ [c5,f5] ~ [d5,g5] ~ [c5,f5] ~ [g5,bb5] ~ [d5,g5]@10", // G5 F5 G5 F5 G5 F5 Gm G5
  R: "[g4,a4,d5]@4 ~@2 [g4,a4,d5] ~ [g4,a4,d5] ~ [g4,a4,d5] ~@3 [gb4,ab4,d5]@6 ~@2 [gb4,ab4,d5] ~ [gb4,ab4,d5]@2 ~@2 [gb4,ab4,d5] ~@3", // Gsus2 Abm7b5
  S: "[g4,bb4,d5]@5 ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5]@7 ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~ [gb4,ab4,d5]@4 ~@2", // Gm Abm7b5
  T: "[g4,a4,d5]@4 ~@2 [g4,a4,d5] ~ [g4,a4,d5] ~ [g4,a4,d5] ~@3 [gb4,ab4,d5]@2 ~@2 [gb4,ab4,d5]@4 ~@2 [gb4,ab4,d5] ~@3 [gb4,ab4,d5] ~@3", // Gsus2 Abm7b5
  U: "[g4,bb4,d5]@5 ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5]@7 ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@3", // Gm
  V: "[g4,c5,f5]@5 ~ [g4,c5,f5,g5] ~ [g4,c5,f5] ~ [g4,c5,f5]@2 ~@2 [gb4,c5,e5]@7 ~ [gb4,c5,e5] ~ [gb4,c5,e5] ~@3 [gb4,c5,e5] ~@3", // Csus4 Gbm7b5
  W: "[[a4,c5,e5] ~@3 [a4,c5,e5] ~@5 [a4,c5,e5] ~@5 [a4,c5,e5]@9 ~ [a4,c5,e5] ~@3 [g4,bb4,eb5]@14 ~@2 [f4,bb4,d5]@15 ~ [g4,c5,e5]@16 g5@2 ~@16]/3", // Am Eb Bb C
  X: "[g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@10 ~@2 [g4,bb4,d5] ~@3", // Gm
  Y: "[g4,a4,d5]@4 ~@2 [g4,a4,d5] ~ [g4,a4,d5] ~ [g4,a4,d5] ~@3 [gb4,ab4,d5]@6 ~@2 [gb4,ab4,d5] ~ [gb4,ab4,d5] ~@3 [gb4,ab4,d5] ~@3", // Gsus2 Abm7b5
  Z: "[g4,bb4,d5]@5 ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5]@7 ~ [g4,bb4,d5] ~ [g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~@3", // Gm
  AA: "[g4,c5,f5]@5 ~ [g4,c5,f5,g5] ~ [g4,c5,f5] ~ [g4,c5,f5]@2 ~@2 [gb4,c5,e5]@7 ~ [gb4,c5,e5] ~ [gb4,c5,e5]@2 ~@2 [gb4,c5,e5] ~@3", // Csus4 Gbm7b5
  AB: "[[a4,c5,e5]@4 ~@2 [a4,c5,e5] ~ [a4,c5,e5] ~ [a4,c5,e5] ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~ [a4,c5,e5] ~ [a4,c5,e5] ~ [a4,c5,e5] ~ [a4,e5] ~ [g4,eb5]@14 [f4,d5]@15 ~ [g4,c5,e5]@33 ~ [g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@10 ~@2 [g4,bb4,d5] ~@3 [f4,a4,d5]@2 ~@2 [f4,a4,d5] ~ [f4,a4,d5] ~@3 [f4,a4,d5] ~@3 [f4,a4,d5] ~ [f4,a4,d5]@11 ~ [f4,a4,d5] ~@3 [g4,bb4,d5], ~@31 bb4@29 ~@100, ~@31 f4 ~@128]/5", // Am A5 Cm Dm C Gm Dm Gm
  AC: "~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@2 ~@2 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~ [g4,bb4,d5]@15 ~ [g4,a4,d5]", // Gm Gsus2
// … 120 more lines

More by Shakatak