Strudelify

Ich bin verliebt in Dich

G. G. Anderson

KeyA majorTempo128 bpm
0:00/0:00
// Ich bin verliebt in Dich — G. G. Anderson
// 128 bpm, 1/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 406 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/1)

// 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 · string ensemble 2 · "Slow-Strin"
const string_ensemble_2 = note(`<
  ~@4 A@8 B@8 C@4 D@4 B@8 E@8 A@8 ~@8 F@4 D@4 E@8 G@8 F@4 D@4 H@5 ~@3 I@8 J@8 K@8 L@8 M@8 ~ N@7 O@4 P@4 B@8 E@8 A@8 ~@8
  F@4 D@4 E@8 Q@8 F@4 D@4 H@5 ~@3 I@8 J@8 K@8 L@8 M@8 ~ N@7 O@4 P@4 B@8 A@8 B@8 R@8 S@4 ~@4 T@8 U@8 V@8 W@8 X@8 ~ Y@7
  Z@8 AA@8 Z@8 AB@6 ~@4
>`.pickRestart({
  A: "[e3,g#3,b3]/8", B: "[a3,c#4,e4]/8", C: "[d3,f#3,a3]/4", D: "[e3,g#3,b3]/4", E: "[a2,c#3,e3]/8",
  F: "[a2,c#3,e3]/4", G: "[[f#3,a3]@127 ~, d3@13 ~@3]/8", H: "[[a2,c#3,e3]@37 ~@3]/5", I: "[e4,g#4,b4]/8",
  J: "[c#4,e4]/8", K: "[[e4,g#4,b4]@19 f#4@13]/8", L: "[~@3 [a3,c#4,e4]@29]/8", M: "[~ [e4,g#4,b4]@15]/8",
  N: "[a3,c#4,e4]/7", O: "[d4,f#4,a4]/4", P: "[e4,g#4,b4]/4", Q: "[d3,f#3,a3]/8",
  R: "[[d4,f#4,a4]@17 ~ b3@14, ~@17 e3@15, ~@17 g#3@13 ~@2]/8", S: "[a3,c#4,e4]/4", T: "[f4,a4,c5]/8", U: "[d4,f4]/8",
  V: "[[f4,c5]@19 g4@13]/8", W: "[~@3 [a#3,d4,f4]@29]/8", X: "[~ [f4,a4,c5]@15]/8", Y: "[a#3,d4,f4]/7",
  Z: "[[d#4,g4,a#4]@17 ~ c4@14, ~@17 [f3,a3]@15]/8", AA: "[a#3,d4,f4]/8", AB: "[a#3,d4,f4]/6",
})).s("gm_string_ensemble_2").gain(0.17).pan(0.4)

// chords · string ensemble 2 · "Slow-Strin" · soft notes
const string_ensemble_2_soft = note(`<
  ~@82 A@2 ~@24 B@8 ~@4 C@5 ~@111 B@8 ~@4 D@5 ~@59 E ~@2 F ~@16 G@8 ~@4 H@5 ~@27 I ~@15 I ~@13
>`.pickRestart({
  A: "[~ d3@3]/2", B: "a3/8", C: "[~@3 a4@13 a4@4, ~@3 d4@17]/5", D: "[~@3 [d4,a4]@16 ~]/5", E: "~ b3 ~@2", F: "~ g#3",
  G: "a#3/8", H: "[~@16 g4@3 ~, ~@3 [d#4,a#4]@17]/5", I: "~ c4 ~@2",
})).s("gm_string_ensemble_2").gain(0.09).pan(0.4)

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

// other · synth brass 2 · "Synt-Bras2"
const synth_brass_2 = note(`<
  ~@44 A B C D E F ~@10 G H I J E K L M ~@24 C N O P Q ~@59 R S T U V W X@2 ~@8 A B C D E F ~@10 G H I J E K L M ~@24 C
  N O P Q ~@59 R S T U V W X@2 ~@88 Y Z AA AB AC AD ~@8 Y Z AA AB ~@8
>`.pickRestart({
  A: "~@2 e3 ~", B: "b3 e4", C: "~@8 e4@7 ~", D: "b3@7 ~ e3@8", E: "~@8 e3@7 ~", F: "b3@7 ~ e4@8", G: "~ e3",
  H: "a3 e4", I: "~@8 d4@7 ~", J: "c#4@8 b3@7 ~", K: "b3@8 e4@7 ~", L: "~ e4", M: "b3 e3", N: "a4@3 ~ b4@4",
  O: "~@2 c#5 ~", P: "e5@9 ~@7", Q: "a5@11 ~@5", R: "~@4 e4@3 ~", S: "a4@5 ~@3 b4@7 ~", T: "~ c#5", U: "~@8 e5@7 ~",
  V: "~@8 c#5@7 ~", W: "b4@5 ~@3 a4@7 ~", X: "[e4@25 ~@7, f#4 ~@31]/2", Y: "~@4 f4@3 ~", Z: "a#4@5 ~@3 c5@7 ~",
  AA: "~ d5", AB: "~@8 f5@7 ~", AC: "~@8 d5@7 ~", AD: "c5@5 ~@3 a#4@7 ~",
})).s("gm_synth_brass_2").gain(0.57).pan(0.6)

// other · pad new age · "Fantasia"
const pad_new_age = note(`<
  A B C@2 D E F ~ E G H I J K L ~ A B C@2 D M J N D O P N Q R A K A S T ~@57 Q R A L D ~@3 U V ~@6 W X ~@14 Q R A K ~@4
  U V ~@6 W X ~@15 R A K A S Y ~@57 Q R A L D ~@3 U V ~@6 W X ~@14 Q R A K ~@4 U V ~@6 W X ~@15 R A K A S Y ~@12 D L
  ~@11 Q R A L Z ~@3 AA AB ~@6 U AC ~@14 AD AE AF AG ~@4 AA AB ~@6 U AC ~@30 AD AE AF AG AH ~@5
>`.pickRestart({
  A: "~@8 c#5 ~@7", B: "c#5 ~@7 e5 ~@7", C: "a5 ~@7 a5 ~@7", D: "a5 ~@15", E: "~@8 g#5 ~@7", F: "b5 ~@15",
  G: "g#5 ~@7 a5 ~@7", H: "b5 ~@7 b5 ~@7", I: "a5 ~@7 g#5 ~@7", J: "f#5 ~@15", K: "~@8 e5 ~@7", L: "e5 ~@15",
  M: "~@8 f#5 ~@7", N: "~@8 a5 ~@7", O: "g#5 ~@15", P: "f#5 ~@7 g#5 ~@7", Q: "~@8 e4 ~@7", R: "a4 ~@7 b4 ~@7",
  S: "b4 ~@7 a4 ~@7", T: "e4 ~@15", U: "~@8 d4 ~@7", V: "e4 ~@7 g#4 ~@7", W: "~@8 c#4 ~@7", X: "e4 ~@7 a4 ~@7",
  Y: "[e4,f#4] ~@15", Z: "f5 ~@15", AA: "~@8 d#4 ~@7", AB: "f4 ~@7 a4 ~@7", AC: "f4 ~@7 a#4 ~@7", AD: "~@8 f4 ~@7",
  AE: "a#4 ~@7 c5 ~@7", AF: "~@8 d5 ~@7", AG: "~@8 f5 ~@7", AH: "a#5 ~@15",
})).s("gm_pad_new_age").gain(0.64).pan(0.6)

// chords · electric guitar clean · "Clean-Git."
const electric_guitar_clean = note(`<
  ~@4 A B@2 C A D C E F G H G I G@3 J K@3 A B@3 L M@3 F M N G O G N@2 P Q M G R S@3 T U S@2 T S@3 T S@2 V I M@3 W V S V
  X@7 G Y@7 Z AA AB@3 AC AD@3 F M@3 ~@4 AE B C B A B@3 F M G@2 F N G M AE B@2 C AF AG@2 K L M G M L M G@2 AE B@3 A B C B
  F M@3 L M@2 G AH AI K AJ A B@3 F M@2 AK AL M@2 G ~ G N@2 P Q M G R S@3 T U S@2 T S@3 T S@2 V I M@3 W V S V X@7 G Y@7 Z
  AA AB@3 AC AD@3 F M@3 ~@4 AE B C B A B@3 F M G@2 F N G M AE B@2 C AF AG@2 K L M G M L M G@2 AE B@3 A B C B F M@3 L M@2
  G AH AI K AJ A B@3 F M@2 AK AL M@2 G AM AN@5 S AO F AK M@2 L M@3 J AG@2 AP ~ S@3 F M@3 ~@4 AQ AR AS AR AT AR@3 AU AV
  AW@2 AU AX AW AV AQ AR@2 AS AY AZ@2 BA BB AV AW AV BB AV AW@2 AQ AR@3 AT AR AS AR AU AV@3 BB AV@2 AW BC BD BA BE AT
  AR@3 AU AV@2 ~@2 BF AV AW BC BD BA BE AT AR@3 AU AV@2 BF ~@6
>`.pickRestart({
  A: "~@8 [e3,g#3,b3] ~@3 [e3,g#3,b3]@2 ~@2", B: "~@4 [e3,g#3,b3] ~@3", C: "~@8 [e3,g#3,b3]@3 ~@5",
  D: "[e3,g#3,b3] ~@7 [e3,g#3,b3]@2 ~@6", E: "~@2 [e3,g#3,b3] ~", F: "~@4 [a2,c#3,e3] ~ [a2,c#3,e3] ~",
  G: "~@8 [a2,c#3,e3]@3 ~@5", H: "~@2 [a2,c#3] ~, ~@4 e3 ~@3", I: "~@8 [a2,c#3,e3]@2 ~@2 [a2,c#3]@3 ~, ~@12 e3 ~@3",
  J: "~@8 [d3,f#3,a3]@2 ~@2 [d3,f#3,a3]@3 ~", K: "~@8 [d3,f#3,a3]@3 ~@5", L: "~@8 [a2,c#3,e3] ~@3 [a2,c#3,e3]@2 ~@2",
  M: "~@4 [a2,c#3,e3] ~@3", N: "~@8 [a2,c#3]@3 ~@5, ~@8 e3 ~@7", O: "~@8 [a2,c#3,e3]@2 ~@2 [a2,c#3,e3]@3 ~",
  P: "~@4 [c#3,e3] ~ [a2,c#3,e3] ~", Q: "[a2,c#3,e3] ~@3 [a2,c#3,e3] ~@3", R: "~@4 [e2,g#2,b2] ~ [e2,g#2,b2] ~",
  S: "~@4 [e2,g#2,b2] ~@3", T: "~@8 [e2,g#2,b2] ~@3 [e2,g#2,b2]@2 ~@2", U: "[e2,g#2,b2] ~@3 [e2,g#2,b2] ~@3",
  V: "~@8 [e2,g#2,b2]@3 ~@5", W: "~@8 [g#2,b2]@2 ~@2 [e2,g#2,b2]@3 ~",
  X: "[~@8 [a2,c#3,e3] ~@3 [a2,c#3,e3]@2 ~@10 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3] ~@3 [a2,c#3,e3]@2 ~@10 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@3 ~@5, [a3,c#4,e4]@7 ~]/7", // A
  Y: "[~@8 [f#2,a2]@2 ~@2 [f#2,a2]@3 ~@9 [f#2,a2]@3 ~@13 [f#2,a2]@3 ~@13 [f#2,a2]@3 ~@13 [d2,f#2,a2]@2 ~@2 [d2,f#2]@4 ~@8 [d2,f#2,a2]@3 ~@13 [f#2,a2]@2 ~@6, [d4,f#4,a4]@7 ~, ~@8 d2@8 ~@8 d2@5 ~@11 d2@5 ~@11 d2@5 ~@15 a2@2 ~@26 d2@4 ~@4]/7", // F#m D F#m D
  Z: "~@8 [d2,f#2,a2]@3 ~@5", AA: "~@8 [a2,c#3,e3] ~@3 [c#3,e3]@4, ~@6 a2 ~",
  AB: "[a3@7 ~ [a2,c#3,e3]@3 ~@13 [a2,c#3,e3]@2 ~@14 [a2,c#3,e3]@3 ~@5, ~ e4@5]/3", // A
  AC: "~@8 [e2,b2] ~@3 [e2,g#2,b2]@2 ~@2, ~ e3, ~@4 g#2 ~@3", // E5 E
  AD: "[b3@7 ~ [e2,g#2,b2]@3 ~@13 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2]@2 ~@6, ~@4 e4@17 ~@3]/3", // E
  AE: "~@4 [e3,g#3,b3] ~ [e3,g#3,b3] ~", AF: "~@8 [f#3,a3]@3 ~ [f#3,a3]@3 ~, ~ d3", AG: "~@4 [d3,f#3,a3] ~@3",
  AH: "~@8 [f#3,a3]@2 ~@2 [f#3,a3]@3 ~, ~@8 d3@7 ~", AI: "~@4 [f#3,a3] ~@3, ~@2 d3 ~", AJ: "~@2 [d3,f#3,a3] ~",
  AK: "~@8 [a2,c#3,e3] ~@7", AL: "[a2,c#3,e3]@2 ~@6 [a2,c#3,e3] ~@3 [a2,c#3,e3]@2 ~@2",
  AM: "~@4 [e2,g#2,b2] ~ [e2,g#2,b2] ~, ~ e3", // E
  AN: "[g#3@6 ~@2 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2]@2 ~@14 [e2,g#2,b2] ~@3 [e2,g#2,b2]@2 ~@10 [e2,g#2,b2] ~@7, ~@4 b3@35 ~]/5", // E
  AO: "~@4 [e2,g#2,a2,b2] ~@3", AP: "~@2 [d3,a3] ~, ~@4 f#3 ~@3", AQ: "~@4 [f3,a3,c4] ~ [f3,a3,c4] ~",
  AR: "~@4 [f3,a3,c4] ~@3", AS: "~@8 [f3,a3,c4]@3 ~@5", AT: "~@8 [f3,a3,c4] ~@3 [f3,a3,c4]@2 ~@2",
  AU: "~@4 [a#2,d3,f3] ~ [a#2,d3,f3] ~", AV: "~@4 [a#2,d3,f3] ~@3", AW: "~@8 [a#2,d3,f3]@3 ~@5",
  AX: "~@8 [a#2,d3]@3 ~@5, ~@8 f3 ~@7", AY: "~@8 [g3,a#3]@3 ~ [g3,a#3]@3 ~, ~ d#3", AZ: "~@4 [d#3,g3,a#3] ~@3",
  BA: "~@8 [d#3,g3,a#3]@3 ~@5", BB: "~@8 [a#2,d3,f3] ~@3 [a#2,d3,f3]@2 ~@2",
  BC: "~@8 [g3,a#3]@2 ~@2 [g3,a#3]@3 ~, ~@8 d#3@7 ~", BD: "~@4 [g3,a#3] ~@3, ~@2 d#3 ~", BE: "~@2 [d#3,g3,a#3] ~",
  BF: "~@8 [a#2,d3,f3] ~@7", // A#
})).s("gm_electric_guitar_clean").gain(0.34).pan(0.3)

// chords · epiano2 · "E-Piano 2"
const epiano2 = note(`<
  ~@60 A@4 B@4 C@5 D E F G@4 ~@4 H@3 ~ I@3 ~ J@4 ~@92 A@4 B@4 C@5 D E F G@4 ~@4 H@3 ~ I@3 ~ J@4 ~@182
>`.pickRestart({
  A: "[[a3,c#4,e4]@53 ~@3 [a3,c#4,e4]@3 ~@5]/4", B: "[[e3,g#3,b3]@61 ~@3]/4", C: "[~@32 d4@7 ~, [a3,c#4,e4]@15 ~]/5",
  D: "c#4@15 ~", E: "b3@15 ~", F: "c#4@7 ~", G: "[[d3,f#3,a3]@53 ~@11]/4", H: "[[a3,c#4,e4]@11 ~]/3",
  I: "[e3,g#3,b3]/3", J: "[a3,c#4,e4]/4",
})).s("gm_epiano2").gain(0.36)

// chords · acoustic guitar steel · "Steel-Git."
const acoustic_guitar_steel = note(`<
  ~@4 A B@3 C D@3 A E@2 F G H@3 I@4 J K@3 L M@3 A N@3 O P@2 F Q@2 P R S T@2 U V@3 U W T@2 U X T@2 U Y P Z@2 V@3 AA AB
  P@2 AC Y P@2 F AD AE@2 AF AG@2 AE@2 AH@2 AI@2 AJ@2 AK@2 AL@4 AM ~@3 AN AO@3 AP AQ@2 AR AS AT AU AV AW AX@2 AY AZ BA@3
  BB BC BD BE AS AX@2 BF AS AX@2 BG AZ BH@2 BI BJ BH@2 AR BK BL BM@2 AS BN@2 ~ BO BP@2 BQ BR BS@2 BT AW BU@3 BV BW@2 BX
  O P@2 F Q@2 P R S T@2 U V@3 U W T@2 U X T@2 U Y P Z@2 V@3 AA AB P@2 AC Y P@2 F AD AE@2 AF AG@2 AE@2 AH@2 AI@2 AJ@2
  AK@2 AL@4 AM ~@3 AN AO@3 AP AQ@2 AR AS AT AU AV AW AX@2 AY AZ BA@3 BB BC BD BE AS AX@2 BF AS AX@2 BG AZ BH@2 BI BJ
  BH@2 AR BK BL BM@2 AS BN@2 ~ BO BP@2 BQ BR BS@2 BT AW BU@3 BV BW@2 BX BY@4 AJ@2 BZ@2 CA CB CC@2 CD@4 CE AE@2 CF T@3 AA
  CG CB CH@2 ~@4 CI CJ@3 CK CL@2 CM CN CO CP CQ CR CS@2 CT CU CV@3 CW CX CY CZ CN CS@2 DA CN CS@2 DB CU DC@2 DD DE DC@2
  CM DF DG DH@2 CN DI@2 ~ DJ DK@2 DL DM DN@2 DO CR DP@4 DQ CP ~ DJ DK@2 DL DM DN@2 DO CR DR@3 ~@6
>`.pickRestart({
  A: "[a3,c#4,e4]@10 ~@3 [a3,c#4,e4]@2 ~", // A
  B: "[[a3,c#4,e4]@2 ~@6 [e3,g#3,b3]@14 ~@2 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@5 ~@3]/3", // A E
  C: "[e3,g#3,b3]@11 ~@2 [e3,g#3,b3]@2 ~", // E
  D: "[[e3,g#3,b3]@6 ~@2 [e3,g#3,b3]@14 ~@2 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@3 ~@5, ~@40 a3 ~@7]/3", // E
  E: "[[a3,c#4,e4]@3 ~ [a3,c#4,e4]@7 ~ [a3,c#4,e4]@4, ~@24 d#4@5 ~@3]/2", F: "~@2 [a3,c#4,e4] ~",
  G: "[a3,c#4,e4]@10 ~ [a3,c#4,e4]@2 ~@3", // A
  H: "[[a3,c#4,e4]@7 ~ [a3,c#4,e4]@15 ~ [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@3 ~@5]/3", // A
  I: "[[d3,f#3,a3]@10 ~@3 [f#3,a3]@2 ~ [f#3,a3]@5 ~@3 [d3,f#3,a3]@14 ~@2 [d3,f#3,a3]@13 ~@3 [d3,f#3,a3]@8, ~@13 d3@8 ~@43]/4", // D F#m D
  J: "[e3,g#3,b3]@10 ~@3 [e3,g#3,b3]@2 ~", // E
  K: "[[e3,g#3,b3]@6 ~@2 [e3,g#3,b3]@14 ~@5 [e3,g#3,b3]@13 [e3,g#3,b3]@4 ~@4]/3", // E
  L: "[a3,c#4,e4]@9 ~@4 [a3,c#4,e4]@2 ~", // A
  M: "[[a3,c#4,e4]@5 ~@3 [a3,c#4,e4]@14 ~@2 [a3,c#4,e4]@14 ~@2 [a3,c#4,e4]@5 ~@3, ~@24 d#4 ~@23]/3", // A
  N: "[[a3,c#4,e4]@6 ~@2 [a3,c#4,e4]@15 ~ [a3,c#4,e4]@13 ~@11]/3", O: "[e3,g#3,a3,b3,c#4,e4]@5 ~@3 [a3,c#4,e4]@8",
  P: "~ [a3,c#4,e4]", Q: "[[a3,c#4,e4]@5 ~@3 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@8]/2", R: "~@8 [a3,c#4,e4]@3 ~@5",
  S: "[e3,g#3,b3]@3 ~ [e3,g#3,b3]@4", T: "~ [e3,g#3,b3]", U: "~@2 [e3,g#3,b3] ~",
  V: "[[e3,g#3,b3]@5 ~@3 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@8]/3", W: "[e3,g#3,b3]@5 ~@3 [e3,g#3,b3]@8",
  X: "[e3,g#3,b3] ~ [e3,g#3,b3]@2", Y: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@4",
  Z: "[~@8 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@3 ~@5]/2", AA: "~@8 [e3,g#3,b3]@3 ~@5", AB: "[a3,c#4,e4] ~ [a3,c#4,e4]@2",
  AC: "~@8 [a3,c#4,e4]@5 ~@3", AD: "[d3,a3]@5 ~@3 [d3,f#3,a3]@8, f#3@3 ~@13",
  AE: "[~@8 [d3,f#3,a3]@13 ~@3 [d3,f#3,a3]@8]/2", AF: "~@2 [d3,f#3] ~, ~@4 a3 ~@3",
  AG: "[[d3,f#3,a3]@5 ~@3 [d3,f#3,a3]@14 ~@2 [d3,f#3,a3]@8]/2", // D
  AH: "[[a3,c#4,e4]@2 ~@2 [a3,c#4,e4]@7 ~ [a3,c#4,e4]@4]/2", AI: "[~@4 [a3,c#4,e4]@7 ~ [a3,c#4]@2 ~@2, ~@12 e4 ~@3]/2",
  AJ: "[[e3,g#3,b3]@5 ~@3 [e3,g#3,b3]@14 ~@2 [e3,g#3,b3]@8]/2", AK: "[~@8 [e3,b3]@16 g#3@3 ~@5, ~@4 g#3@7 ~@5]/2",
  AL: "[[a3,c#4,e4]@6 ~@2 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@14 ~@2 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@4 ~@4]/4", // A
  AM: "[a3,c#4,e4] ~", AN: "[e3,g#3,b3,e4,g#4,b4]@4 ~@2 [e3,g#3,b3,e4,g#4,b4] ~",
  AO: "[[e3,g#3,b3,e4,g#4,b4]@4 ~@4 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@3 ~@5]/3", // E
  AP: "[e3,g#3,b3,e4,g#4,b4]@11 ~ [e3,g#3,b3,e4,g#4,b4]@2 ~@2", // E
  AQ: "[[e3,g#3,b3,e4,g#4,b4]@5 ~@3 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@8]/2", // E
  AR: "~@4 [e3,g#3,b3,e4,g#4,b4] ~@3", AS: "[a2,c#3,e3,a3,c#4,e4]@5 ~ [a2,c#3,e3,a3,c#4,e4] ~",
  AT: "[a2,c#3,e3,a3,c#4,e4]@3 ~ [a2,c#3,e3,a3,c#4,e4]@4", AU: "~ [a2,c#3,e3,a3,c#4,e4]",
  AV: "~@8 [a2,c#3,e3,a3,c#4,e4]@5 ~@3", AW: "[a2,c#3,e3,a3,c#4,e4]@9 ~@3 [a2,c#3,e3,a3,c#4,e4]@2 ~@2",
  AX: "[[a2,c#3,e3,a3,c#4,e4]@6 ~@2 [a2,c#3,e3,a3,c#4,e4]@13 ~@3 [a2,c#3,e3,a3,c#4,e4]@8]/2", // A
  AY: "~@8 [a2,c#3,e3,a3,c#4,e4]@3 ~@5", AZ: "[e3,g#3,b3,e4,g#4,b4]@9 ~@3 [e3,g#3,b3,e4,g#4,b4]@2 ~@2",
  BA: "[[e3,g#3,b3,e4,g#4,b4]@6 ~@2 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@3 ~@5]/3", // E
  BB: "[g#3,a3,g#4,a4] ~@2 [d3,d4], [f#3,f#4]@6 [a3,a4] ~, [d3,d4]@9 ~@7", // Amaj7 D F# A D
  BC: "[d3,f#3,d4,f#4]@5 ~@3 [d3,f#3,a3,d4,f#4,a4]@8, [a3,a4]@3 ~@13", BD: "~ [d3,f#3,a3,d4,f#4,a4]",
  BE: "~@2 [d3,f#3,a3,d4,f#4,a4] ~", BF: "~@2 [a2,c#3,e3,a3,c#4,e4] ~", BG: "~@4 [a2,c#3,e3,a3,c#4,e4] ~@3",
  BH: "[[e3,g#3,b3,e4,g#4,b4]@6 ~@2 [e3,g#3,b3,e4,g#4,b4]@13 ~@3 [e3,g#3,b3,e4,g#4,b4]@8]/2", // E
  BI: "~@2 [e3,g#3,b3,e4,g#4,b4] ~", BJ: "[e3,g#3,b3,e4,g#4,b4]@5 ~ [e3,g#3,b3,e4,g#4,b4] ~",
  BK: "[a2,c#3,e3,a3,c#4,e4]@9 ~@3 [a2,c#3,e3,a3,c#4,e4]@2 ~@2, [b2,b3] ~@15", // A B
  BL: "[a2,c#3,e3,a3,c#4,e4]@7 ~ [a2,c#3,e3,a3,c#4,e4]@8", // A
  BM: "[~@8 [a2,c#3,e3,a3,c#4,e4]@13 ~@3 [a2,c#3,e3,a3,c#4,e4]@4 ~@4]/2", // A
  BN: "[[a2,c#3,e3,a3,c#4,e4]@5 ~@3 [a2,c#3,e3,a3,c#4,e4]@13 ~@3 [a2,c#3,e3,a3,c#4,e4]@8]/2", // A
  BO: "[d3,f#3,a3,d4,f#4,a4]@9 ~@3 [d3,f#3,d4,f#4]@3 ~, ~@12 [a3,a4] ~@3", // D A
  BP: "[[d3,f#3,a3,d4,f#4,a4]@7 ~ [d3,f#3,a3,d4,f#4,a4]@13 ~@3 [d3,f#3,a3,d4,f#4,a4]@8]/2", // D
  BQ: "~@4 [d3,f#3,a3,d4,f#4,a4]@3 ~", BR: "[e3,g#3,b3,e4,g#4,b4]@7 ~@5 [e3,g#3,b3,e4,g#4,b4] ~@3",
  BS: "[[e3,g#3,b3,e4,g#4,b4]@5 ~@3 [e3,g#3,b3,e4,g#4,b4]@14 ~@2 [e3,g#3,b3,e4,g#4,b4]@8]/2", // E
  BT: "~@2 [e3,g#3,e4,g#4] ~, ~@4 [b3,b4] ~@3", // E B
  BU: "[[a2,c#3,e3,a3,c#4,e4]@5 ~@3 [a2,c#3,e3,a3,c#4,e4]@14 ~@2 [a2,c#3,e3,a3,c#4,e4]@13 ~@3 [a2,c#3,e3,a3,c#4,e4]@5 ~@3]/3", // A
  BV: "[a2,c#3,e3,a3,c#4,e4] [a3,c#4,e4]", BW: "[~@8 [a3,c#4,e4]@13 ~@3 [a3,c#4,e4]@8]/2", BX: "~@8 [a3,c#4,e4]@7 ~",
  BY: "[[e3,g#3,b3]@5 ~@3 [e3,g#3,b3]@14 ~@2 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@4 ~@4]/4", // E
  BZ: "[~@8 [e3,g#3,b3]@13 ~@3 [e3,g#3,b3]@3 ~@5]/2", CA: "[a2,c#3,e3] ~ [a2,c#3,e3]@2", CB: "~ [a2,c#3,e3]",
  CC: "[~@8 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@4 ~@4]/2", // A
  CD: "[[a2,c#3,e3]@5 ~@3 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@13 ~@11]/4", // A
  CE: "[d3,f#3,a3]@5 ~@3 [d3,f#3,a3]@8", CF: "~@8 [d3,f#3,a3]@5 ~@3", CG: "[a2,c#3]@5 ~@3 [a2,c#3,e3]@8, e3@3 ~@13",
  CH: "[~@8 [a2,c#3,e3]@13 ~@3 [a2,c#3,e3]@7 ~]/2", CI: "[f3,a3,c4,f4,a4,c5]@4 ~@2 [f3,a3,c4,f4,a4,c5] ~",
// … 99 more lines

More by G. G. Anderson