Strudelify
Call Me cover art

1980 · Autoamerican

Call Me

Blondie

KeyD minorTempo142 bpm
0:00/0:00
// Call Me — Blondie
// 142 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 128 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(142/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, A@4 for four bars: edit a riff to change every repeat.

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~@2 A B A C A B A C A@2 D E F A D@2 G H G I A J G K A J G L A B A C A@2 D E F A D@2 G H G I M A J G K A J G L A B N@2
  O@2 N P O Q R@2 S@2 T U D V G W H X N Y O Z AA Y O AB R AC S AD AE D K G@2 H I A J G K AF J G L A J G K A J G L A J G
  K A J G AG@2 ~@7
>`.pickRestart({
  A: "d2@5 ~ d2@5 ~ d2@5 ~ d2@6", B: "d2@5 ~ d2@5 ~ g1@6 f1@6", C: "d2@5 ~ d2@6 f1@6 c2@5 ~",
  D: "bb1@5 ~ bb1@5 ~ bb1@4 ~@2 bb1@5 ~", E: "bb1@5 ~ bb1@5 ~ bb1@6 c2@5 ~", F: "d2@5 ~ d2@5 ~ d2@5 ~ d2@5 ~",
  G: "g1@5 ~ g1@5 ~ g1@4 ~@2 g1@5 ~", H: "a1@5 ~ a1@5 ~ a1@4 ~@2 a1@5 ~", I: "a1@5 ~ a1@4 ~@2 a1@4 ~@2 a1@3 ~@3",
  J: "f1@5 ~ f1@5 ~ f1@5 ~ f1@4 ~@2", K: "bb1@4 ~@2 bb1@5 ~ bb1@4 ~@2 bb1@3 ~@3", L: "bb1@5 ~ bb1@4 ~@2 bb1@2 ~@10",
  M: "a1@5 ~ a1@5 ~ a2@4 e2@2 a1@4 ~@2", N: "e1@5 ~ e1@5 ~ e1@5 ~ e1@5 ~", O: "b1@4 ~@2 b1@5 ~ b1@4 ~@2 b1@5 ~",
  P: "e1@6 e2@6 e1@5 ~ e1@5 ~", Q: "b1@5 ~ b1@5 ~ b1@4 ~@2 b1@4 ~@2", R: "f2@4 ~@2 f2@5 ~ f2@5 ~ f2@5 ~",
  S: "c2@5 ~ c2@4 ~@2 c2@4 ~@2 c2@5 ~", T: "d2@5 ~ d2@4 ~@2 d2@4 ~@2 d2@5 ~", U: "d2@4 ~@2 d2@3 ~@3 bb1@5 ~ bb1@5 ~",
  V: "bb1@5 ~ bb1@4 ~@2 g1@4 ~@2 g1@4 ~@2", W: "g1@4 ~@2 g1@5 ~ a1@5 ~ a1@4 ~@2", X: "a1@4 ~@2 a1@3 ~@3 e1@5 ~ e1@5 ~",
  Y: "e1@5 ~ e1@5 ~ b1@4 ~@2 b1@5 ~", Z: "b1@4 ~@2 b1@6 e1@5 ~ e1@5 ~", AA: "e1@5 ~ e1@5 ~ e1@6 e2@6",
  AB: "b1@5 ~ b1@3 ~@3 f2@4 ~@2 f2@5 ~", AC: "f2@5 ~ f2@6 c2@5 ~ c2@4 ~@2", AD: "c2@5 ~ c2@5 ~ d2@5 ~ d2@4 ~@2",
  AE: "d2@4 ~@2 d2@5 ~ d2@4 ~@2 d2@3 ~@3", AF: "d2@5 ~ d2@5 ~ d2@5 ~ d2@6, gb8 ~@23",
  AG: "[bb1@5 ~ bb1@4 ~@2 a1@5 ~ d2@3 ~ d2@25 ~]/2",
})).s("gm_electric_bass_finger").gain(0.41).pan(0.6)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~@2 A@2 B@2 C D C E F@2 G H I F J K L M L N O P Q R S T U V C D C E F@2 G H I F J K L M L W X O P Q R S T U V A@2 Y@2
  Z AA Y@2 Z ~ AB@2 AC AD AE AF@6 AG@2 AH@4 AI@4 AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AT AU AV AW AX AY AZ BA BB BC
  BD BE AT AU AV AW BF BG BH BI ~@8
>`.pickRestart({
  A: "[[d3,a3,d4]@35 ~ [g3,d4,g4]@6 [c4,f4]@5 ~, ~@21 f3 ~@2]/2", // D5 G5 F5
  B: "[[d3,a3,d4]@31 ~@5 [f3,c4,f4]@6 [c3,g3,c4]@4 ~@2]/2", // D5 F5 C5
  C: "[c3,c4] ~ [d3,d4] ~ [d3,d4] ~ [d3,d4]@6 [c3,c4]@2 [d3,d4] ~ [d3,d4] ~ [d3,d4]@5 ~", // C D C D
  D: "[c3,c4]@2 [d3,d4] ~ [d3,d4] ~ [d3,d4]@4 [c3,c4] ~ [g3,g4,b4]@5 ~ [f3,f4,a4]@5 ~", // C D C G F
  E: "[c3,c4]@2 [d3,d4] ~ [d3,d4] ~ [d3,d4]@4 [c3,c4]@2 [f3,f4,a4]@5 ~ [e3,e4,c5]@3 ~@3", F: "[d3,a3]@3 [d3,a3]",
  G: "[bb2,f3]@3 [bb2,f3]", H: "[bb2,f3]@12 [bb2,f3]@5 ~ [c3,g3]@5 ~", I: "[d3,a3]", J: "[bb2,f3]",
  K: "[bb2,f3]@12 f3@6 f3@5 ~, ~@12 bb2@11 ~", L: "[g2,d3]@23 ~", M: "[a2,e3]@23 ~",
  N: "[a2,e3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3] ~", O: "[d3,a3]@6 [d3,a3]@17 ~", P: "~ f3@2 [f2,f3], f2@3 ~, ~ a3@3",
  Q: "g2@6 [g2,g3,b3]@5 ~ g3@6 [g2,g3]@6", R: "~ bb2@2 [f3,bb3,d4]@3 [f3,bb3,d4]@3 [f3,bb3,d4]@3",
  S: "d3@5 ~ [a3,d4]@6 [a3,d4]@6 [d3,a3,d4]@6, ~ d3@2 ~", T: "f2 [f2,f3]@2 [f2,f3]",
  U: "[g2,g3]@6 [g2,g3]@6 g3@6 g3@5 ~, ~@12 g2@11 ~", V: "~@6 [f3,bb3,d4]@7 ~@11, bb2@3 ~@5",
  W: "[a2,e3]@6 [a2,e3]@6 [a2,e3]@6 [a2,e3]@3 ~ a2@2", // A5
  X: "~@6 [e3,a3] ~, [e3,a3]@2 [e3,a3]@2 e4@3 ~, ~@4 a2@6 a2@6 a2@5 ~@3, ~@2 [e3,a3] ~", // A5
  Y: "[[e3,b3]@20 ~ e4@3, e4@7 ~, ~@5 [e3,b3]]/2", Z: "[a3,d4,gb4]@11 ~",
  AA: "~@6 a2 ~ d3@2 e3@2 gb3@2 e3@2 d3@2 a2@2 e3@2 d3@2",
  AB: "[~@5 [c4,f4,a4]@2 [c4,f4,a4], [c4,f4,a4]@5 ~@3, ~@7 f3@5]/2", AC: "[c3,c4,e4,g4]",
  AD: "[c3,g3,c4] [c3,g3,c4,e4]", AE: "[d3,a3,d4,f4]",
  AF: "[[d3,a3,d4,f4]@12 [bb2,bb3,d4,f4]@41 ~ [bb2,bb3,d4,f4]@2 ~@4 [g2,d3]@40 ~@2 g2@4 ~@2 b2 ~@5 a3@6 e3@8 ~@4 [a2,a3] ~ [b2,b3]@2 [db3,db4] ~ [db3,db4]@2 [d3,d4] ~ [e3,e4] ~, ~@15 g3@12 a2@5 ~@4]/6", // Dm Bb G5 A B Db D E
  AG: "[[gb3,gb4] ~ [d3,d4] ~ [e3,e4] ~ [gb3,gb4]@2 [g3,g4]@2 [a3,a4]@2 b4@16 ~@2 b4@2 a4@2 g4@2 gb4@11 ~]/2", // Gb D E Gb G A
  AH: "[gb4@2 g4@2 a4@2 gb4@2 g4@2 a4@2 gb4@18 d4@6 b3@21 ~@3 [b4,b5]@16 ~@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [gb4,gb5]@11 ~]/4", // B A G Gb
  AI: "[[gb4,gb5]@2 [g4,g5]@2 [a4,a5]@2 [gb4,gb5]@2 [g4,g5]@2 [a4,a5]@2 [gb4,gb5]@18 [d4,d5]@6 [b3,b4]@21 ~@3 a5@18 ~@2 a5@2 g5@2 f5@11 ~]/4", // Gb G A Gb G A Gb D …
  AJ: "a4@2 bb4@2 c5@2 a4@2 bb4@2 c5@2 c6@7 ~ c6@2 g5@2", AK: "e5@7 ~ g5@2 e5@2 d5@8 e5@2 d5@2", AL: "c5@2 ~ d4@3",
  AM: "f4@2 a4 d5", AN: "f5@11 e5", AO: "d5@17 ~@7", AP: "f5@9 ~ e5@2 d5@9 ~ c5@2", AQ: "b4@8 ~@4 d5@5 ~ d5@5 ~",
  AR: "e5@2 db5 a4", AS: "e4@11 ~ a3@4 ~@8", AT: "[d3,a3]@7 ~@2 d4@3, d4@3 ~, ~@2 [d3,a3]", AU: "[f2,c3,f3]!2",
  AV: "[g2,d3,g3]!2", AW: "[bb2,f3,bb3]@12 [bb2,f3,bb3]@11 ~", AX: "~@6 [d4,f4]@12 [d4,f4,a4]@5 ~, [d3,a3]@23 ~",
  AY: "~@6 [f3,a3,c4]@12 [f3,a3,c4]@5 ~, f2@23 ~", AZ: "~@6 g3@6 ~@6 g3@5 ~, g2@16 g2@7 ~, ~@2 g3 ~",
  BA: "~@12 bb2@11 ~, bb2 bb2@2 ~@3, ~@2 bb3@4 bb3@17 ~", BB: "[d3,a3]@2 ~ d4, d4@3 ~, ~ [d3,a3]",
  BC: "~@18 [f3,a3,c4]@5 ~, c3@23 ~, f2@16 f2@7 ~, ~ [f3,a3,c4]@2 ~", // F
  BD: "~ g3 ~ [g3,b3,d4], g2@5 g2@3, ~ [b3,d4]@2 ~, ~@2 g3 ~", // G Bm
  BE: "~@2 [bb3,d4]@2 ~@2 [bb3,d4] ~, bb2@16 bb2@5 ~@3, ~@2 [bb3,d4] ~", BF: "~ d4@2 d4, d3, ~ [f4,a4]@3",
  BG: "~@3 [f3,a3,c4], f2@2 f2, ~ [f3,a3,c4]@2 ~", BH: "~@3 [g3,b3,d4]@6 [g2,g3,b3,d4] ~@2, g2@3 ~",
  BI: "f4@2 a4@2 bb4@2 d5@2 bb4@2 a4 ~ a4@2 db5@2 e5@2 [d5,a5,d6]@2 ~@2 [d5,a5,d6]@2", // D5
})).s("gm_overdriven_guitar").gain(0.41)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@2 A B A C A B A C D E F@2 G H I J K L M N O P Q R S T Q U A B A C D E F@2 G H I J K L M N V O P Q R S T Q U A B W@2
  X@2 Y W X Z AA AB AC@2 AD AE AF AG AH AI AJ AK W AL X AM W AL X AN AO AP AC AQ AR AS AF AH AT AJ@2 O P Q R S T Q U O P
  Q R S T Q U O P Q R S T Q AU ~@8
>`.pickRestart({
  A: "~@3 [a3,d4,f4] ~ [a3,d4,f4] ~@3 [a3,d4,f4] ~ [a3,d4,f4]", B: "~@6 [a3,d4,f4]@2 ~@4 [b3,d4,g4]@5 ~ [a3,c4,f4]@5 ~",
  C: "~@6 [a3,d4,f4]@2 ~@4 [a3,c4,f4]@5 ~ [g3,c4,e4]@5 ~", // Dm F C
  D: "[d3,a3] ~ [d3,a3] d4 ~@3 d4 [d3,a3] d4 ~ d4, ~ d4@2 ~ d3@2 [d3,a3]@2 ~@2 [d3,a3]@2, ~@5 d4@2 ~@5", // D5
  E: "[d3,a3] ~@3 [d3,a3] d4 ~@5 d4, ~ d4@2 d4@2 ~@2 d4@2 d4@2 ~, ~ [d3,a3] ~ [d3,a3]!3", // D5
  F: "[bb2 [bb3,d4] bb2 d4 ~ d4 ~@2 [bb3,d4]!2 ~@2 bb2 d4 ~@6 bb2 ~@2 [g3,c4], ~@4 bb2@3 bb2@2 ~ bb2@2 ~@2 bb2@2 bb2@2 bb2@2 ~ c3@3, ~@6 [f3,bb3,d4]@2 ~@3 [bb3,d4]@2 ~@2 [bb3,d4]@2 [bb3,d4]@2 [f3,bb3,d4]@2 ~@3]/2", // Bb C5 Bb
  G: "~@3 d3@2 ~@2 d3 d4 ~@2 d3, d3@3 ~@2 d3@2 ~@2 d3@2 ~, ~ a3@2 d4 ~ d4",
  H: "~@2 [d4,f4] d3 ~@7 d3, [d4,f4] ~ d4 [a3,d4]!2 d4, ~ d3@2 ~@2 d3@2 d3@2 d3@2 ~", // Dm D5
  I: "~@5 d4 bb2@2 ~@3 [bb3,d4], bb2@2 bb2 ~ bb2!2, ~@3 d4@2 ~@4 [bb3,d4]@2 ~", // Bb
  J: "~@2 bb2 ~@2 [f3,bb3,d4] bb2 [f3,bb3,d4] ~@3 [f3,bb3,d4], bb2@2 ~ [f3,bb3,d4]@2 ~@4 [f3,bb3,d4]@2 ~, ~ d4@2 ~ bb2@2 ~@2 bb2@2 bb2@2", // Bb
  K: "~@2 g2 ~@2 [g3,bb3,d4] ~@5 [g3,bb3,d4], g2 ~ g2!4, ~ [bb3,d4]@2 [g3,bb3,d4]@2 ~@2 d4@2 [g3,bb3,d4]@2 ~", // Gm Bb Gm
  L: "a2@2 ~@8 a2 [a3,db4,e4], ~ a2!4 ~, ~@3 [a3,db4]@2 [a3,db4,e4]@2 [a3,db4,e4]@2 [a3,db4,e4]@2 ~", // A
  M: "~@5 [bb3,d4] g2 ~@4 [g3,bb3,d4], g2!3 ~ g2!2, ~ d4@2 [g3,d4]@2 ~@2 [g3,bb3,d4]@2 [g3,bb3,d4]@2 ~", // Bb Gm G5 Gm
  N: "a2@4 ~@4 a2@2 ~@4 [db4,a4]@2 [db4,a4]@2 [db4,a4]@2 [db4,a4]@2 [db4,a4] ~, ~@2 a2@2 ~ a2@6 ~, ~@3 [a3,e4]@8 ~, ~@3 db4@4 ~@5", // Gbm A5
  O: "~@3 [a3,d4,f4] ~@5 [a3,d4,f4] ~@2", P: "~@3 [c4,f4,a4] ~@5 [c4,f4,a4] ~@2",
  Q: "~@3 [g3,b3,d4] ~@5 [g3,b3,d4] ~@2", R: "~@6 [bb3,d4,f4]@2 ~@10 [bb3,d4,f4]@3 ~@3",
  S: "~@6 [d4,f4,a4]@3 ~@9 [d4,f4,a4]@2 ~@4", T: "~@6 [f3,a3,c4]@2 ~@10 [f3,a3,c4]@3 ~@3", U: "~@2 [bb3,d4,f4] ~@5",
  V: "[a3,db4,e4]@2 ~@18 [a3,db4,e4]@2 a2 ~, ~ a2@2 a2@2 a2@2 a2@2 a2@2 ~, ~ [a3,db4,e4]!4 ~", W: "[e3,b3]!4",
  X: "[b2,gb3]!4", Y: "e3 [e3,b3]!3, b3 ~@5", Z: "[b2,gb3]@3 [b2,gb3]@3 [b2,gb3]@3 [b2,gb3]@2 ~",
  AA: "~@3 [f4,a4,c5] ~@5 [f4,a4,c5] ~@2", AB: "~@6 [c4,f4,a4]@3 ~@9 [f4,a4,c5]@2 ~@4",
  AC: "~@3 [e4,g4,c5] ~@5 [e4,g4,c5] ~@2", AD: "~@6 [c4,f4,a4] ~@11 [d4,f4,a4] ~@5",
  AE: "~@3 [d4,f4,a4] ~@5 [f4,bb4] ~@2", AF: "~@6 [d4,f4,bb4]@2 ~@10 [d4,f4,bb4] ~@5",
  AG: "~@6 [d4,f4,bb4] ~@11 [d4,g4,b4]@2 ~@4", AH: "~@6 [d4,g4,b4]@2 ~@10 [d4,g4,b4] ~@5",
  AI: "~@3 [d4,g4,b4] ~@5 [db4,e4,a4] ~@2", AJ: "~@3 [db4,e4,a4] ~@5 [db4,e4,a4] ~@2",
  AK: "~@3 [db4,e4,a4] ~@2 [e3,b3]@3 [e3,b3]@3", AL: "[e3,b3]!2 [b2,gb3]!2", AM: "[b2,gb3]!2 e3 [e3,b3], ~@3 b3 ~@2",
  AN: "[b2,gb3]@3 [b2,gb3]@2 ~@4 [f4,a4,c5] ~@2", AO: "~@6 [f4,a4,c5]@2 ~@10 [c4,f4,a4]@3 ~@3",
  AP: "~@3 [f4,a4,c5] ~@5 [e4,g4,c5] ~@2", AQ: "~@6 [e4,g4,c5]@2 ~@10 [c4,f4,a4] ~@5",
  AR: "~@6 [d4,f4,a4] ~@11 [d4,f4,a4]@2 ~@4", AS: "~@3 [f4,bb4] ~@5 [d4,f4,bb4] ~@2",
  AT: "~@6 [d4,g4,b4] ~@11 [d4,g4,b4]@2 ~@4", // G
  AU: "[bb2,bb3,d4,f4]@5 ~ [bb2,bb3,d4,f4]@5 ~ [a2,e3,a3,db4,e4]@6 [d4,f4,a4]@2 ~@2 [d4,f4,a4]@2", // Bb A Dm
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.2)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note("<~@10 A ~ B@2 C D E F G H I J ~@12 A ~ B@2 C D E F G H I J ~@82>".pickRestart({
  A: "~@2 a3 ~@3", B: "[~@2 f3@3 ~ [f3,bb3]@2 ~@2 [f3,bb3]@2 ~@4 f3@2 f3@2 ~@2 f3@4 [f3,bb3]@2 ~@2 f3@4 f3@4 ~@10]/2",
  C: "~@12 a3@4 a3@3 ~ a3@4", D: "a3@2 a3 ~ a3@2 ~@4 a3@2", E: "~@6 [f3,bb3]@4 [f3,bb3]@3 ~ [f3,bb3,d4]@4 f3@4 f3@2",
  F: "~ [f3,bb3]@2 ~@9", G: "~ g3@2 ~@4 [g3,bb3]@2 ~@3", H: "~ a3@2 ~@9", I: "~ [g3,bb3]@2 bb3@2 g3 ~@6",
  J: "~ [a3,db4,e4]@2 ~@9", // A
})).s("gm_electric_guitar_clean").gain(0.2).pan(0.2)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~@10 A@2 B@2 C@2 D@2 E F G H I J K L M@2 N O ~@4 A@2 B@2 C@2 D@2 E F G H P I J K L M@2 N O ~@2 Q R S T Q U V ~ W X Y ~
  Z AA@8 AB@4 AC@4 AD AE AF AG AH AI AJ AK AL AM I J K L M@2 N O I J K L M@2 N O I J K L M@2 N AN ~@8
>`.pickRestart({
  A: "[[d3,f4,a4,d5]@47 ~]/2", B: "[[bb2,f4,d5]@42 c3@5 ~]/2", C: "[[d3,f4,d5]@47 ~]/2", D: "[[bb2,bb4,d5]@23 ~]/2",
  E: "[g2,g4,bb4,d5]", F: "[a2,e4,a4,db5]@23 ~", G: "[g2,g4,d5]@23 ~, bb4@3 ~", H: "[a2,e4,a4,db5]@7 ~",
  I: "[f5,a5,d6]@23 ~", J: "[f5,a5,c6]@11 ~", K: "~@6 [g5,b5]@10 ~@2 [g5,b5]@5 ~",
  L: "~@3 [d5,f5,bb5]@5 ~ [d5,f5,bb5]@2 ~", M: "[f5,a5]@23 ~", N: "[g5,b5]@7 ~", O: "[d5,f5,bb5]@13 ~@11",
  P: "~@12 e6@11 ~, a5@23 ~, ~@6 db6@17 ~", Q: "b5 g5 e5 b5", R: "g5@3 e5@2 b5@3 g5 e5@3",
  S: "a5@5 ~ gb5@5 ~ d5@6 a5@6", T: "d5 gb5@2 ~", U: "g5@6 e5@5 ~ b5@4 g5@2 e5@5 ~", V: "a5 gb5 d5@2",
  W: "a5@5 ~ f5@6 c5@5 ~ a5@6", X: "f5@6 c5@4 a5@5 ~ f5@2 c5@5 ~", Y: "g5@6 e5@5 ~ c5@9 ~@3", Z: "d5 f5",
  AA: "[a5@11 ~@37 d5@10 ~@2 [d5,g5,b5]@47 ~@13 db6@21 ~@15 [b4,b5]@16 ~@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [gb4,gb5]@11 ~, ~@12 d6@47 ~@49 e6@42 ~@42, ~@12 bb5@17 ~@67, ~@18 f5@11 ~@67]/8", // G B A G Gb
  AB: "[[gb4,gb5]@2 [g4,g5]@2 [a4,a5]@2 [gb4,gb5]@2 [g4,g5]@2 [a4,a5]@2 [gb4,gb5]@18 [d4,d5]@6 [b3,b4]@21 ~@3 [b4,b5]@16 ~@2 [b4,b5]@2 [a4,a5]@2 [g4,g5]@2 [gb4,gb5]@11 ~]/4", // Gb G A Gb G A Gb D …
  AC: "[[gb4,gb5]@2 [g4,g5]@2 [a4,a5]@2 [gb4,gb5]@2 [g4,g5]@2 [a4,a5]@2 [gb4,gb5]@18 [d4,d5]@6 [b3,b4]@21 ~@3 [a5,a6]@18 ~@2 [a5,a6]@2 [g5,g6]@2 [f5,f6]@11 ~]/4", // Gb G A Gb G A Gb D …
  AD: "[a4,a5]@2 [bb4,bb5]@2 [c5,c6]@2 [a4,a5]@2 [bb4,bb5]@2 [c5,c6]@2 c7@7 ~ [c6,c7]@2 [g5,g6]@2, ~@6 c6 ~@5", // A Bb C A Bb C G
  AE: "[e5,e6]@7 ~ [g5,g6]@2 [e5,e6]@2 [d5,d6]@8 [e5,e6]@2 [d5,d6]@2", AF: "[c5,c6]@2 ~ [d4,d5]@3",
  AG: "[f4,f5]@2 [a4,a5] [d5,d6]", AH: "[f5,f6]@11 [e5,e6]", AI: "[d5,d6]@17 ~@7",
  AJ: "[f5,f6]@9 ~ [e5,e6]@2 [d5,d6]@9 ~ [c5,c6]@2", AK: "[b4,b5]@8 ~@4 [d5,d6]@5 ~ [d5,d6]@5 ~",
  AL: "[e5,e6]@2 [db5,db6] [a4,a5]", AM: "[e4,e5]@11 ~ [a3,a4]@4 ~@8",
  AN: "f4@2 a4@2 bb4@2 d5@2 bb4@2 a4 ~ a4@2 db5@2 e5@2 [d5,a5,d6]@2 ~@2 [d5,a5,d6]@2", // D5
})).s("gm_rock_organ").gain(0.36)

// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note(`<
  ~@12 A@2 B@2 C@2 ~@8 D E D ~@7 A@2 B@2 C@2 ~@9 D E D ~@46 D E D ~@5 D E D ~@5 D E D ~@9
>`.pickRestart({
  A: "[bb4@7 ~]/2", B: "[a4@15 ~]/2", C: "[f4@15 ~]/2", D: "d5@11 ~", E: "c5@7 ~",
})).s("gm_rock_organ").gain(0.26)

// chords · piano · "A.PIANO 2"
const piano = note(`<
  ~@2 A B C D A B C D E@2 F@2 G@2 H I J K J L M N O P M N O P A B C D E@2 F@2 G@2 H I J K J L Q M N O P M N O P A B R S
  T U V W X Y Z AA AB AC AD AE AF AG@2 AH@2 AI AJ AK AL AM V AN AO AP AQ AR AS AT AU AV AW AX@2 AY AZ M N O P M N O P M
  N O P M N O P M N O P M N O BA@8 ~
>`.pickRestart({
  A: "[d4,f4,a4] ~@3 [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4] ~ [d3,a3] ~ [d4,f4,a4]@2 [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4] ~ [d3,a3] ~ [f4,a4]@2, ~@2 [d3,a3]@4 ~@16 d4 ~", // Dm D5 Dm D5 Dm D5 Dm D5 …
  B: "d3 ~ [d4,f4,a4]@2 [d3,a3] ~ [f4,a4]@2 [d3,a3] ~ [d4,f4,a4] ~ [d4,g4,b4]@6 [c4,f4,a4]@5 ~, a3@4 ~@2 d4 ~@17", // Dm D5 F D5 Dm G F
  C: "~@2 [d3,a3]@2 [d4,f4,a4] ~ [d3,a3] ~ [d4,f4,a4] ~ [d3,a3] ~@3 [d3,a3]@2 [d4,f4,a4] ~ [d3,a3] ~ [d4,f4,a4] ~ [d3,a3] ~, [d4,f4,a4] ~@2 [d4,f4,a4] ~@2", // D5 Dm D5 Dm D5 Dm D5 Dm …
  D: "~@4 [d4,f4,a4]@2 [d3,a3] ~ [f4,a4]@2 [d3,a3] ~ [c4,f4,a4]@4 ~@2 [c4,e4,g4]@3 ~@3, [d4,f4,a4]@4 ~@4 d4 ~@15, ~ [d3,a3]@2 ~@9", // Dm D5 F D5 F C Dm D5
  E: "[[d3,a3,d4,f4,a4]@19 ~@5]/2", // Dm
  F: "[bb2@28 ~@8 [f3,bb3,d4]@6 [g3,e4]@5 ~, [f3,bb3,d4]@10 [f3,bb3,d4]@2 ~@2 [c3,c4] ~, ~@28 bb2@6 bb2@9 ~@5]/2", // Bb C Bb C
  G: "[d3,a3,d4,f4]/2", H: "[bb2,bb3,d4,f4]",
  I: "[bb2,bb3,d4,f4]@6 [bb2,bb3,d4,f4]@6 [bb2,bb3,d4,f4]@6 [bb2,bb3,d4,f4]@5 ~", J: "[g2,g3,bb3,d4]",
  K: "[a2,e3,a3,db4,e4]@23 ~", L: "[a3,db4,e4]@3 e4@3 [e3,e4,a4]@3 [a2,e3,e4,a4] ~@2, a2@3 ~, e3 ~, ~@3 [a3,db4]@7 ~@2",
  M: "[d4,f4] ~@21 [d3,a3]@2, a4 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 [d3,a3]@2 ~, ~ [d4,f4,a4]!5", // Dm D5 Dm
  N: "[f3,a3,c4]@3 ~@8 [f3,a3,c4], ~@3 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 ~, ~@2 f2!4", // F
  O: "g2 ~@8 [g3,b3,d4]@2 [g3,b3,d4], ~ [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 ~@3, ~ g2!3 g2@2", // G
  P: "bb2@2 ~@4 [bb3,d4,f4]@4 ~@8 [bb3,d4,f4]@4 [bb3,d4,f4] ~, ~ [bb3,d4,f4]@2 ~@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~@3, ~@4 bb2@8 bb2@4 bb2@7 ~", // Bb
  Q: "~@20 a4@2 a2 ~, a3@2 a3@2 a3@2 [a3,db4,e4]@2 [a3,db4,e4]@3 ~, ~ a2@2 a2@2 a2@2 a2@2 a2@2 ~", // A
  R: "[e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~@3 [e3,b3]@2 [e4,g4,b4]@4 [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~, ~@2 [e4,g4,b4] ~@3", // Em E5 Em E5 Em E5 Em E5 …
  S: "e4@2 [e3,b3]@2 [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 ~@2 [e4,g4,b4]@2 [e3,b3] ~@3 [e3,b3]@2, [g4,b4]@2 ~@5 [e3,b3]@2 ~ [e4,g4,b4]@2", // E5 Em E5 Em E5 Em E5 G …
  T: "[d4,gb4,a4]@2 ~@2 [d4,gb4,a4]@2 ~@2 [d4,gb4,a4]@2 b3 ~ [d4,gb4,a4]@4 ~@6 b3@2, ~@3 b3@2 ~@3 [d4,gb4,a4]@2 [d4,gb4,a4]@2, ~@9 b3@2 ~", // D
  U: "[d4,gb4,a4]@2 [d4,gb4,a4] ~ [d4,gb4,a4] e4 ~@2 [d4,gb4,a4] ~ d4 [b3,d4], ~@6 [a3,b3]@4 b3 ~ [d4,gb4,a4]@4 ~@2 b3@4 ~@2, ~@7 [b3,e4]@2 a3@3, ~@5 [e4,gb4,a4]", // D Bm Asus2 D E5 Gbm7
  V: "[e4,g4,b4]@4 [e4,g4,b4]@2 [e3,b3] ~@3 [e3,b3]@2 [e4,g4,b4]@4 [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~, ~@2 [e4,g4,b4] ~@3", // Em E5 Em E5 Em E5 Em
  W: "[e4,g4,b4]@4 [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~ [e4,g4]@2 [e3,b3]@2 [e4,g4,b4]@2 b3@2 ~@2 [e3,b3]@2, ~@12 b4@4 ~@2 e3 ~ [e4,g4,b4]@4", // Em E5 Em E5 Em E5 Em E5 …
  X: "[d4,gb4,a4]@4 [d4,gb4,a4]@2 b3 ~ [d4,gb4,a4]@2 b3 ~ [d4,gb4,a4]@4 [d4,gb4,a4]@2 b3 ~ [d4,gb4,a4]@2 b3 ~", // D
  Y: "[d4,gb4,a4]@4 [d4,gb4,a4]@2 [a3,b3] ~ [d4,gb4,a4]@2 e4@2 [d4,gb4,a4]@2 ~@2 [d4,gb4,a4]@2 [a3,b3]@2 [d4,e4,gb4,a4]@2 d4@2, ~@10 b3 ~@3 [b3,e4]@4 ~@4 b3 ~", // D Asus2 D Asus2 D E5
  Z: "[f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ a4@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ f4 ~ [f3,c4]@2, ~@8 f4 ~@11 a4@4", // F F5 F F5 F F5 F F5
  AA: "a4@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ f4@2 ~@2 [f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~, f4 ~@11 a4@4 ~@8, ~@7 [f3,c4]@2 ~@3", // F5 F F5 F F5 F F5 F …
  AB: "[c4,e4]@4 [c4,e4]@2 g3 ~ [c4,e4]@2 [c3,g3] ~ [c4,e4]@4 [c4,e4]@2 [c3,g3] ~ [c4,e4]@2 [c3,g3] ~", // C C5 C C5 C C5
  AC: "c4@2 [c3,g3]@2 [c4,e4,g4]@2 [c3,g3] ~ [c4,e4,g4]@2 [c3,g3] ~ [c4,e4,g4]@2 ~@2 [c4,e4,g4]@2 [c3,g3] ~ [c4,e4,g4]@2 [c3,g3] ~, [e4,g4]@2 ~@5 [c3,g3]@2 ~@3", // C5 C C5 C C5 C C5 C …
  AD: "[d4,f4,a4]@2 ~@2 [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4]@4 [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4]@2 [d3,a3] ~", // Dm D5 Dm D5 Dm D5 Dm D5
  AE: "[d4,f4,a4]@2 ~@4 [d3,a3]@2 [d4,f4,a4]@2 [d3,a3] ~ [bb3,d4,f4]@5 ~ [bb3,d4,f4]@6, ~ [d3,a3]@2 ~@9, ~ [d4,f4,a4] ~@4", // Dm D5 Dm D5 Bb D5 Dm
  AF: "[bb3,d4,f4]@5 ~ [bb3,d4,f4]@4 bb2 ~ [bb3,d4,f4]@2 bb2@2 ~@6 bb2@2, ~@2 [bb3,d4,f4]", // Bb
  AG: "[[bb3,d4,f4]@3 ~ [bb3,d4,f4]@5 ~ [bb3,d4,f4] ~ [b3,d4] f3 g2 ~ [f3,b3,d4] ~ g2 ~@5 [f3,b3,d4]@4 [f3,b3,d4]@2 ~@2 f3@2 ~@2 [f3,b3,d4]@4 [f3,b3,d4]@2 ~@2 f3@2 g2@2, ~@5 [f3,b3,d4] ~@6, ~@22 g2@7 ~ g2@4 g2@6 ~@2 g2@4 ~@2]/2", // Bb Bm Bdim
  AH: "[[f3,b3,d4]@4 [f3,b3,d4]@2 ~@4 g2@2 a2@4 [a3,db4,e4]@2 a2 ~ a3@2 ~@2 [g3,db4,e4]@2 ~@2 [a3,db4,e4]@2 a2 ~ a3@2 a2@2 [a2,a3,db4,e4]@2 ~@2 [a3,db4,e4]@2 a2@2 a3@2 a2@2, ~@6 g2@4 ~@12 a2@7 ~@19, ~@2 [f3,b3,d4] ~@9]/2", // Bdim A Dbdim A Bdim
  AI: "[a3,db4,e4]@2 ~@2 [a3,db4,e4]@2 ~@2 a3@2 a2 ~ [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~@3 [e3,b3]@2, ~@8 e4 ~@11 [e4,g4,b4]@4", // A Em E5 Em E5 Em
  AJ: "[e4,g4,b4]@4 [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~ e4@2 [e3,b3]@2 [e4,g4,b4]@2 [e3,b3] ~ [e4,g4,b4]@2 [e3,b3] ~, ~@3 [g4,b4] ~@2", // Em E5 Em E5 Em E5 Em E5 …
  AK: "[e4,g4,b4]@2 ~@2 [e4,g4,b4]@2 [e3,b3] ~@3 [e3,b3]@2 [d4,gb4,a4]@2 ~@2 [d4,gb4,a4]@2 ~@2 [d4,gb4,a4]@2 b3 ~, ~ [e3,b3]@2 ~ [e4,g4,b4]@2 ~@3 b3@2 ~", // Em E5 D E5 Em
  AL: "[d4,gb4,a4]@2 ~@3 b3 [d4,gb4,a4]@2 [d4,gb4,a4] ~ [d4,gb4,a4] e4, ~@4 [d4,gb4,a4]@4 [d4,gb4,a4]@4 ~@10 b3 ~, ~@6 b3@4 ~@8 [a3,b3]@5 ~", // D Asus2
  AM: "~@4 [d4,gb4,a4]@2 ~@2 d4@2 [b3,d4]@2 [e4,g4,b4]@4 [e4,g4,b4]@2 [e3,b3] ~@3 [e3,b3]@2, [d4,gb4,a4]@2 ~ b3@2 ~@7, ~ [b3,e4]@2 a3@3 ~@6, ~@2 [e4,gb4,a4] ~@2 [e4,g4,b4]", // D Bm Em E5 D E5 Gbm7 Em
  AN: "[e4,g4]@2 [e3,b3]@2 [e4,g4,b4]@2 b3@2 ~@2 [e3,b3]@2 [d4,gb4,a4]@4 [d4,gb4,a4]@2 b3 ~ [d4,gb4,a4]@2 b3 ~, b4@4 ~@2 e3 ~ [e4,g4,b4]@4 ~@12", // Em E5 Em E5 D Em
  AO: "[d4,gb4,a4]@4 [d4,gb4,a4]@2 b3 ~ [d4,gb4,a4]@2 b3 ~ [d4,gb4,a4]@4 [d4,gb4,a4]@2 [a3,b3] ~ [d4,gb4,a4]@2 e4@2, ~@22 b3 ~", // D Asus2 D
  AP: "[d4,gb4,a4]@2 ~@2 [d4,gb4,a4]@2 [a3,b3]@2 [d4,e4,gb4,a4]@2 d4@2 [f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ a4@2 [f3,c4] ~, ~@2 [b3,e4]@4 ~@4 b3 ~@9 f4 ~@3", // D Asus2 D F F5 F F5 E5
  AQ: "[f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ f4 ~ [f3,c4]@2 a4@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~, ~@8 a4@4 f4 ~@11", // F F5 F F5 F F5 F F5
  AR: "f4@2 ~@2 [f4,a4]@2 [f3,c4] ~ [f4,a4]@2 [f3,c4] ~ [c4,e4]@4 [c4,e4]@2 g3 ~ [c4,e4]@2 [c3,g3] ~, a4 ~@5, ~ [f3,c4]@2 ~@9", // F F5 F F5 C C5 F5
  AS: "[c4,e4]@4 [c4,e4]@2 [c3,g3] ~ [c4,e4]@2 [c3,g3] ~ c4@2 [c3,g3]@2 [c4,e4,g4]@2 [c3,g3] ~ [c4,e4,g4]@2 [c3,g3] ~, ~@3 [e4,g4] ~@2", // C C5 C C5 C C5 C C5 …
  AT: "[c4,e4,g4]@2 ~@2 [c4,e4,g4]@2 [c3,g3] ~ [c4,e4,g4]@2 [c3,g3] ~ [d4,f4,a4]@2 ~@2 [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4]@2 [d3,a3] ~, ~ [c3,g3]@2 ~@9", // C C5 C C5 Dm D5 Dm D5 …
  AU: "[d4,f4,a4]@4 [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4]@2 [d3,a3] ~ [d4,f4,a4]@2 ~@4 [d3,a3]@2 [d4,f4,a4]@2 [d3,a3] ~, ~@7 [d3,a3]@2 ~@3, ~@4 [d4,f4,a4] ~", // Dm D5 Dm D5 Dm D5 Dm D5 …
  AV: "[bb3,d4,f4]@5 ~ [bb3,d4,f4]@6 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@4 bb2 ~", // Bb
  AW: "[bb3,d4,f4]@2 bb2@2 ~@6 bb2@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@5 ~ [bb3,d4,f4] ~, ~ [bb3,d4,f4]@2 ~@3", // Bb
  AX: "[[b3,d4] f3 g2 ~ [f3,b3,d4] ~ g2 ~@5 [f3,b3,d4]@4 [f3,b3,d4]@2 ~@2 f3@2 ~@2 [f3,b3,d4]@4 [f3,b3,d4]@2 ~@2 f3@2 g2@2 [f3,b3,d4]@4 [f3,b3,d4]@2 ~@4 g2@2, ~@2 [f3,b3,d4] ~@8 [f3,b3,d4], ~@10 g2@7 ~ g2@4 g2@6 ~@2 g2@4 ~@8 g2@4 ~@2]/2", // Bm Bdim
  AY: "a2@4 [a3,db4,e4]@2 a2 ~ a3@2 ~@2 [g3,db4,e4]@2 ~@2 [a3,db4,e4]@2 a2 ~ a3@2 a2@2, ~@10 a2@7 ~@7", // A Dbdim A
  AZ: "[a2,a3,db4,e4]@2 ~@2 [a3,db4,e4]@2 a2@2 a3@2 a2@2 [a3,db4,e4]@2 ~@2 [a3,db4,e4]@2 ~@2 a3@2 a2 ~, ~@20 e4 ~@3", // A
// … 81 more lines

More by Blondie