Strudelify

I Wonder Why

Curtis Stigers

KeyG majorTempo90 bpm
0:00/0:00
// I Wonder Why — Curtis Stigers
// 90 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 1 Harp 1 -> orchestral harp; ch 1 Fantasy -> pad new age
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 11 alto sax (copy of ch 9 alto sax, 0.146 beats late)
// note: Full arrangement: all 140 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(90/3)

// 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.

// other · pad metallic
const pad_metallic = note("<~@27 A B ~ B C@2 D ~@46 E F@2 ~@49 G H@2 I@4 ~>".pickRestart({
  A: "f4", B: "g4", C: "[f4@11 ~@5]/2", D: "d4@19 ~@5", E: "~ e4@2", F: "[d4@43 ~@5]/2", G: "~ f#4@2",
  H: "[e4@43 ~@5]/2", I: "[~ f#4@18 b4@18 e5@18 f#5@31 ~@10]/4",
})).s("gm_pad_metallic").gain(0.19).pan(0.6)

// chords · epiano2
const epiano2 = note(`<
  ~ A B C D E F G H I J K L M N ~@20 A B C D E F G H I J K L M N ~@20 A B C D E F G H I J K L M N ~@10 A B C D E F G O P
  Q R S T U V O P Q R S T U V O P Q R S T U V O P Q R S T U W X Y Z ~@5
>`.pickRestart({
  A: "f4@13 ~@3 a4@8, [d3,c5,e5], a4@2 ~, ~@13 f4@10 ~", B: "[f4,a4,c5,e5]@16 [f4,a4,c5,e5]@5 f3@2 ~, f3@7 ~",
  C: "[a3,g4,b4,d5]", D: "[g3,f4,a4,c5]@8 [g3,f4,a4,c5]@7 ~ [a3,g4,b4,d5]@8", E: "[d3,f4,a4,c5,e5]",
  F: "[a4,c5,e5]@2 [a4,c5,e5], [f3,g5]", G: "[a3,g4,b4,d5]@23 ~",
  H: "[g3,f4,a4,c5]@8 [g3,f4,a4,c5]@7 ~ [a3,g4,b4,d5]@7 ~", // F G
  I: "f4@13 ~@3 a4@7 ~, [d3,c5,e5]@23 ~, a4@2 ~, ~@13 f4@10 ~", J: "[f3,a4,c5,e5,g5]@23 ~", K: "[g3,c5,d5,g5]",
  L: "[g3,b4,d5,g5]", M: "[g3,g4,c5,d5,g5]", N: "[g3,g4,b4,d5,g5]",
  O: "[a3,g4,b4,d5]@8 [a3,g4,b4,d5]@7 ~ [b3,a4,c#5,e5]@7 ~", P: "g4@13 ~@3 b4@8, [e3,d5,f#5], b4@2 ~, ~@13 g4@10 ~",
  Q: "[g4,b4,d5,f#5]@16 [g4,b4,d5,f#5]@5 g3@2 ~, g3@7 ~", R: "[b3,a4,c#5,e5]",
  S: "[a3,g4,b4,d5]@8 [a3,g4,b4,d5]@7 ~ [b3,a4,c#5,e5]@8", T: "[e3,g4,b4,d5,f#5]",
  U: "[b4,d5,f#5]@2 [b4,d5,f#5], [g3,a5]", V: "[b3,a4,c#5,e5]@23 ~", W: "[a3,d5,e5,a5]", X: "[a3,c#5,e5,a5]",
  Y: "[a3,a4,d5,e5,a5]", Z: "[a3,a4,c#5,e5,a5]",
})).s("gm_epiano2").gain(0.18).pan(0.8)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~@4 A ~@4 B ~@11 C@4 D@8 E@5 ~ F@3 G@7 ~@6 H I@7 J@5 K@5 L@3 M@6 N@4 O@7 ~@6 P@5 ~ Q@7 ~ R@16 S@6 ~@5
>`.pickRestart({
  A: "~@2 [g4,g5] ~@2 [a4,a5] ~ [c5,c6] ~@2 [g4,g5] ~@2 [a4,a5] ~ [c5,c6] ~@2 [g4,g5] ~@2 [a4,a5] ~@2", // G A C G A C G A
  B: "~@7 [c5,c6] ~@2 [a4,a5] ~@2 [c5,c6] ~@10", // C A C
  C: "[~@23 [b3,d4]@8 [a3,f4]@8 [g3,e4]@8 [a3,c4,f4]@24 [g3,c4,e4]@23 ~ [a3,c4,f4], ~@23 g4@24 ~@49, ~@31 c4@16 ~@49]/4", // Bm Dm C F C F
  D: "[~@7 [a3,c4,f4]@8 [b3,d4,g4]@8 [g3,c4,e4]@24 [a3,d4,f4]@24 [b3,d4,g4]@24 [g3,c4,e4]@24 [a3,c4,f4]@24 [a#3,c4,d4,f4]@48 [c4,d4,g4]]/8", // F G C Dm G C F A# …
  E: "[~@23 [d3,g3,b3]@8 [f3,a3,c4]@8 [g3,b3,d4]@6 [e5,e6] ~ [g5,g6]@24 [g4,g5]@24 [d5,d6]@24 ~, ~@47 [f5,f6] ~@72]/5", // G F G E G D F
  F: "[~@15 [a4,a5]@8 [e5,e6]@8 [c5,c6]@16 [g4,g5]@25]/3", // A E C G
  G: "[~@7 [c4,c5]@8 [d4,d5]@6 [e5,e6]@2 [g5,g6]@40 [e5,e6]@2 [f5,f6]@2 [f#5,f#6]@2 [g5,g6]@2 [d5,d6]@88 ~@9, ~@23 [f5,f6]@2 ~@143]/7", // C D E G E F F# G …
  H: "~@23 b4",
  I: "[~@7 a4@8 g4@8 [f4,f5]@24 [e4,e5]@16 [c4,c5]@8 [a4,a5]@16 [b4,b5]@8 [g4,g5]@24 [d4,d5]@16 [e4,e5]@8 [d4,d5]@18 ~ [c4,c5]@2 ~ [d4,d5]@2 [e4,e5]]/7", // F E C A B G D E …
  J: "[~@15 [c4,c5]@8 [c4,c5]@19 [d4,d5]@3 [e4,e5]@2 [f4,f5]@48 [g4,g5]@25]/5", // C D E F G
  K: "[~@21 [e5,e6] ~ [g5,g6]@24 [g4,g5]@24 [d5,d6]@28 ~@21, ~@23 [f5,f6] ~@96]/5", // E G D F
  L: "[~@15 [a4,a5]@8 [e5,e6]@8 [c5,c6]@16 [d5,d6]@25]/3", // A E C D
  M: "[~@7 [c4,c5]@8 [d4,d5]@6 [e5,e6]@2 [g5,g6]@40 [e5,e6]@2 [f5,f6]@2 [f#5,f#6]@2 [g5,g6]@2 [d5,d6]@72 [b3,b4], ~@23 [f5,f6]@2 ~@119]/6", // C D E G E F F# G …
  N: "[~@2 [c4,c5]@3 [d4,d5]@2 [d4,d5]@3 [e4,e5]@3 [f4,f5]@2 [f4,f5]@3 [g4,g5]@3 [g#4,g#5]@2 g5@8 ~@40 f4@25, ~@23 g4@48 ~@25, ~@31 a#5@65]/4", // C D E F G G#
  O: "[~@15 [d#4,d#5]@5 ~ [d4,d5]@2 [a#3,a#4]@48 [g4,d5,g5,d6]@96 ~]/7", // D# D A# G5
  P: "[~@23 [a4,a5]@16 ~ [b4,b5]@5 [f#5,f#6] ~ [a5,a6]@24 [a4,a5]@24 [e5,e6]@24 ~, ~@23 [g5,g6] ~@36]/5", // A B F# A E G
  Q: "[~@15 [b4,b5]@8 [f#5,f#6]@8 [d5,d6]@16 [e5,e6]@31 ~ [d4,d5]@8 [e4,e5]@6 f#6@2 [a5,a6]@24 [a4,a5]@24 [e5,e6]@24 ~, ~@93 f#5 ~ [g5,g6]@2 ~@71]/7", // B F# D E D E A E …
  R: "[~@15 [b4,b5]@8 [f#5,f#6]@8 [d5,d6]@16 [e5,e6]@31 ~ [d4,d5]@8 [e4,e5]@6 f#6@2 [a5,a6]@24 [a4,a5]@24 [e5,e6]@32 ~@17, ~@93 f#5 ~ [g5,g6]@2 ~@95]/8", // B F# D E D E A E …
  S: "[~@15 [b4,b5]@8 [f#5,f#6]@8 [d5,d6]@16 [e5,e6]@88 ~@9]/6", // B F# D E
})).s("gm_string_ensemble_1").gain(0.21)

// chords · synth strings 1
const synth_strings_1 = note(`<
  A@8 B@7 ~@19 A@8 C@6 D@8 E@3 F@7 G@6 H@4 C@6 I@4 J@6 K@8 L@24 M@4 N@6 O@4 ~@2
>`.pickRestart({
  A: "[~@23 [f3,a3,c4,e4]@47 ~ [g3,b3,d4]@22 ~@2 [f3,a3,c4]@7 ~ [f3,a3,c4]@7 ~ [g3,b3,d4]@7 ~ [f3,a3,c4,e4]@47 ~ [g3,b3,d4]@23 ~ [f3,a3,c4]]/8", // Fmaj7 G F G Fmaj7 G F
  B: "[~@7 [f3,a3,c4]@7 ~ [g3,b3,d4]@7 ~ [f3,a3,c4,e4]@24 [f3,a3,c4,e4]@23 ~ [g3,c4,d4]@23 ~ [g3,b3,d4]@23 ~ [g3,c4,d4]@23 ~ [g3,b3,d4]@23 ~@2]/7", // F G Fmaj7 Gsus4 G Gsus4 G
  C: "[~@7 [f3,a3,c4]@7 ~ [g3,b3,d4]@7 ~ [f3,a3,c4,e4]@24 [f3,a3,c4,e4]@23 ~ [g3,c4,d4]@23 ~ [g3,b3,d4]@23 ~ [g3,c4,d4]@23 ~ [g3,b3,d4]]/6", // F G Fmaj7 Gsus4 G Gsus4 G
  D: "[~@23 [a3,c4,f4]@24 [g3,c4,e4]@24 [a3,c4,f4]@15 ~ [b3,d4,g4]@8 [c4,e4]@16 [b3,d4]@8 e4@24 f4@24 [g3,c4,e4]@24 [b3,d4,g4], ~@95 g3@24 [a3,c4]@48 ~@25]/8", // F C F G C Bm C G …
  E: "[~@7 [a3,c4,f4]@8 [g3,c4,e4]@8 [a3,c4,f4]@24 [g3,c4,e4]@24 [a3,c4,f4]]/3", // F C F C F
  F: "[~@15 [b3,d4,g4]@8 [g3,c4,e4]@24 [a3,d4,f4]@24 [b3,d4,g4]@23 ~ [g3,c4,e4]@24 [a3,c4,f4]@23 ~ [a#3,d4,f4]@25]/7", // G C Dm G C F A#
  G: "[~@23 c4@24 b3@8 [a3,c4]@8 [b3,d4]@8 [f3,a3,c4,e4]@47 ~ [g3,b3,d4]@22 ~@2 [f3,a3,c4], ~@23 [g3,d4]@32 ~@89]/6", // Am Bm Fmaj7 G F G5
  H: "[~@7 [f3,a3,c4]@7 ~ [g3,b3,d4]@7 ~ [f3,a3,c4,e4]@47 ~ [g3,b3,d4]@23 ~ [f3,a3,c4]]/4", // F G Fmaj7 G F
  I: "[~@23 [g#3,c4,d#4,g4]@48 [a#3,d4,f4]@25]/4", // G#maj7 A#
  J: "[~@23 [g#3,c4,d#4,g4]@47 ~ [a3,c4,f4]@24 [b3,d4,g4]@24 [a3,c4,f4]@24 [b3,d4,g4]]/6", // G#maj7 F G F G
  K: "[~@23 [f3,a3,c4,e4]@47 ~ [g3,b3,d4]@22 ~@2 [f3,a3,c4]@7 ~ [f3,a3,c4]@7 ~ [g3,b3,d4]@7 ~ [f3,a3,c4,e4]@47 ~ [g3,b3,d4]@23 ~ [g3,b3,d4]]/8", // Fmaj7 G F G Fmaj7 G
  L: "[~@7 [g3,b3,d4]@7 ~ [a3,c#4,e4]@7 ~ [g3,b3,d4,f#4]@47 ~ [a3,c#4,e4]@22 ~@2 [g3,b3,d4]@7 ~ [g3,b3,d4]@7 ~ [a3,c#4,e4]@7 ~ [g3,b3,d4,f#4]@47 ~ [a3,c#4,e4]@23 ~ [g3,b3,d4]]/8", // G A Gmaj7 A G A Gmaj7 A …
  M: "[~@7 [g3,b3,d4]@7 ~ [a3,c#4,e4]@7 ~ [g3,b3,d4,f#4]@47 ~ [a3,c#4,e4]@22 ~@2 [g3,b3,d4]]/4", // G A Gmaj7 A G
  N: "[~@7 [g3,b3,d4]@7 ~ [a3,c#4,e4]@7 ~ [g3,b3,d4,f#4]@47 ~ [a3,d4,e4]@23 ~ [a3,c#4,e4]@23 ~ [a3,d4,e4]@23 ~ [a3,c#4,e4]]/6", // G A Gmaj7 Asus4 A Asus4 A
  O: "[~@23 [g3,b3,d4,f#4]@51 ~@22]/4", // Gmaj7
})).s("gm_synth_strings_1").gain(0.09)

// chords · vibraphone
const vibraphone = note(`<
  ~@56 A ~@14 B C D@2 E C D@2 F E G H ~@12 B C D@2 E I ~@2 J I K@2 L I ~@2 J I K@2 L I ~@2 J I K@2 L I ~@2 J I K@2 ~@4
  M@5
>`.pickRestart({
  A: "g4@3 c5@2 g4@3 f4@3 c5@2 f4@3 e4@7 ~", B: "[g4,b4,d5]@11 ~", C: "[f4,a4,c5]!2 [g4,b4,d5]", D: "[a4,c5,e5]",
  E: "[g4,b4,d5]", F: "[g4,c5,d5]@23 ~", G: "[g4,c5,d5]", H: "[g4,b4,d5]@7 ~", I: "[g4,b4,d5]!2 [a4,c#5,e5]",
  J: "[a4,c#5,e5]@11 ~", K: "[b4,d5,f#5]", L: "[a4,c#5,e5]",
  M: "[~@20 f#7@13 ~@7, [g3,f#4]@101 ~@19, b4@17 g5@14 d6@16 b6@48 ~@25, ~@8 d5@13 a5@15 e6@17 d7@47 ~@20, ~@13 e5@13 b5@15 f#6@48 ~@31]/5", // Gmaj7
})).s("gm_vibraphone").gain(0.17)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  A B C ~ A B D@2 E F G@5 ~@7 H@3 ~@2 I J K L@5 B M@2 E B D@2 E F N@5 ~@4 O P@3 Q R Q S@8 T B M@2 E B D@2 E F G@5 U@2 V
  W X@6 Y Z AA AB AC AD AE AF AG@3 AH@2 AI@2 AJ AG@3 AH@2 AI@2 AJ AG@3 AH@2 AI@2 AJ AG@3 AH@2 AK AL@4 ~@5
>`.pickRestart({
  A: "~@23 d4", B: "e4@5 g4@8 ~@3 e4@3 f4@2 g4@3", C: "d4 ~@7 g4@16, e4@23 ~",
  D: "[[e4,g4]@7 ~ [e4,g4]@7 ~ [e4,g4]@7 ~ [d4,g4]@24, ~@23 b3@24 ~]/2", E: "[a3,c4,g4]@8 [a3,c4,g4]@8 [b3,d4,g4]@7 d4",
  F: "e4@5 g4@10 ~ e4@3 f4@2 g4@3",
  G: "[[e4,g4]@7 ~ [e4,g4]@7 ~ [e4,g4]@6 ~@2 [d4,g4]@22 ~@2 [d4,g4]@23 ~@2 g4@21 ~@3 g4@22 ~, ~@22 g3@24 g3@24 ~ [g3,c4]@23 g3@25 ~, ~@23 c4@24 b3@24 ~ d4@23 b3@24 ~, ~@96 d4@23 ~]/5", // Em G5 C5
  H: "[g4@8 g4@8 c4@5 ~@3 c4@21 ~@19 c4@8, ~@7 g3@8 g4@9, ~@2 c5]/3", I: "f4@7 e4", J: "d4@19 c4@2 d4@3", K: "e4@2 d4",
  L: "[c4@19 d4@2 e4@2 ~@22 c4@2 ~@17 d4@5 ~@4 d4@6 ~@2 d4@5 ~@2 d4@7 ~ b3@7 ~@2 c4@6 ~@2 d4@5 ~ d4, ~@23 f3@23 ~ [f3,a#3]@7 f3@7 f3@8 ~@2 g3@7 ~ g3@7 g3@9 [d3,g3]@9 ~@16, ~@24 [a#3,c4,d4]@23 ~ c4@7 a#3@7 a#3@7 ~@34 f3@8 g3@6 ~@3, ~@43 f4@5 ~ d4@7 c4@7 c4@6 ~@3 c4@8 c4@7 c4@8 ~@9 a3@8 b3@6 ~@2, ~@57 d4@7 ~@56]/5", // A#5 G5 A#
  M: "[e4@7 c4 d4@7 c4@7 ~@3 d4@23, d4 ~@14 b3 ~@7 g3@23 ~@2, ~@24 b3@23 ~]/2",
  N: "[[e4,g4]@7 ~ [e4,g4]@7 ~ [e4,g4]@6 ~@2 [d4,g4]@22 ~@2 [d4,g4]@23 ~@2 g4@21 ~@3 g4@22 ~, ~@22 g3@24 g3@24 ~ [g3,c4]@23 g3@25 ~, ~@23 c4@23 ~ b3@24 ~ d4@23 b3@24 ~, ~@96 d4@23 ~]/5", // Em G5 C5
  O: "~@16 d4@3 e4@2 g4@3",
  P: "[f4@15 ~ f4@7 ~ e4@12 ~@9 g3@12 ~@15, ~@23 [g3,c4]@14 f4@5 c4@5 ~@25, ~@39 e4@8 ~@25]/3", // C5
  Q: "c4@5 c4@2 ~@12 g3 ~ a3 ~@2", R: "c4@5 c4@2 ~@9 d#4@3 d4@2 c4@3",
  S: "[c4@5 c4@2 ~@9 d4@5 g4@2 ~@2 f4@7 ~@8 e4@6 ~@18 d4@7 ~ g4@21 ~@18 c4@6 ~@3 f4@8 ~@8 c4@5 ~@3 f4@8 ~@8 c4@5 ~@3 g4@6 ~@2 g4@6 ~ [d4,g4]@8 ~, ~@23 a3@23 g3@24 ~@23 a3@24 f3@24 f3@48 ~@3, ~@24 c4@23 b3@46 ~@3 a4@22 ~@10 f4@14 ~@10 f4@39 ~, ~@32 f4@15 ~ d4@15 ~@8 c4@22 c4@11 g4@14 ~ c4@17 ~@7 c4@17 ~@6 c4 d4@7 c4 d4@7 c4@9 ~, ~@56 g4@15 ~@24 f4@23 a#3@24 a#3@48 ~@2]/8", // G5
  T: "[g3,b3]@8 [a3,c4]@8 [b3,d4]@7 d4", // G Am Bm
  U: "[~@19 g#4@2 a#4@3 ~@16 d#4@7 ~, g4@17 ~@7 g4@23 ~, ~@5 a#4@14 ~@13 a#4@16, ~@2 d#4@7 ~@3]/2",
  V: "f4@19 a#3@2 c4@3", W: "d#4 f4@6 ~",
  X: "[~@19 g#4@2 a#4@3 ~@16 g4@7 ~@2 a4@22 ~@2 b4@19 ~@4 c5@21 ~@3 [b4,d5]@21 ~@3, g4@17 ~@7 g4@16 ~@8 f4@22 ~@25 [f4,a4]@21 ~@28, ~@5 a#4@14 ~@13 g#4@16 ~@24 g4@19 ~@28 g4@22 ~@3, ~@8 d#4@28 ~@11 c4@22 ~@2 d4@20 ~@2 c4@22 ~@3 d4@23 ~@3]/6", // Bm F
  Y: "e4@2 ~ a4@2 e4@3 a4@3 e4@2 a4@3 e4@3 a4@2 e4@3", Z: "a4@3 e4@2 a4@3 e4@3 a4@2 e4@3 a4@3 e4@2 a4@3",
  AA: "g4@13 c5@3 b4@3 g4@2 d4@3", AB: "c4@15 ~ d4@8", AC: "e4@5 g4@8 ~@3 e4@3 g4@2 c5@3",
  AD: "e4@5 f4@2 ~ d4@8 c4@7 ~, ~@7 e4@2 ~@15", AE: "b3@2 ~ c4@2 d4@10 ~ b3@3 d4@2 a4@3",
  AF: "b3@3 d4@2 g4@3 b3@3 d4@2 g4@3 c#4@3 e4@2 a4@2 e4",
  AG: "[f#4@5 a4@10 ~ f#4@3 g4@2 a4@2 ~ [d4,f#4]@7 ~ f#4@7 ~ f#4@7 ~@2 e4@23, ~@23 b3@8 [b3,d4]@8 [b3,d4]@8 a3@23 ~@2, ~@48 c#4@23 ~]/3", // D Bm
  AH: "[[b3,d4,a4]@8 [b3,d4,a4]@8 [c#4,e4,a4]@7 ~ f#4@5 a4@10 ~ f#4@3 g4@2 a4@3, ~@23 e4@2 ~@23]/2", // Bm7 A
  AI: "[[b3,d4,f#4]@8 [b3,d4,g4]@8 [b3,d4,f#4]@7 ~ [e4,a4]@24, ~@23 c#4@24 ~]/2", // Bm G Bm A5
  AJ: "[b3,d4,a4]@8 [b3,d4,a4]@8 [c#4,e4,a4]@7 e4", AK: "[b3,d4,f#4] [b3,d4,g4] [b3,d4,f#4]",
  AL: "[[d4,e4,a4]@22 ~@2 [e4,a4]@23 ~@2 a4@21 ~@3 a4@22 ~, ~@22 a3@24 ~ [a3,d4]@23 a3@25 ~, ~@23 c#4@24 ~ e4@23 c#4@24 ~, ~@72 e4@23 ~]/4", // Dsus2 A5 D5
})).s("gm_electric_guitar_muted").gain(0.21).pan(0.9)

// chords · piano
const piano = note(`<
  ~ A B C D E F G D E F H I J K L M N O P Q R S T U V W X Y Z AA AB@2 AC AD A B C D E F G D E F H I J K AE AF AG AH AI
  AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB AY AZ BA BB BC BD BE BF BE BG BH BI BJ BK BL BM BB BN BO BP
  AY BQ BA BR BS BT BU BV BW BX BY BZ CA CB CC CD BW BX BY BZ CE CF CG CH CI CJ CK CL CM CN CO@2 CP CQ CR CS CT CU CV CW
  CX CY@6
>`.pickRestart({
  A: "[d2,d3,f4,a4,c5,e5]", B: "[a4,c5,e5]@2 [f4,a4,c5,e5], [f2,f3,g5]", C: "[a2,a3,g4,b4,d5]",
  D: "[g2,g3,f4,a4,c5]@8 [g2,g3,f4,a4,c5]@7 ~ [a2,a3,g4,b4,d5]@7 ~", E: "[f4,a4,c5,e5] [a4,c5,e5,g5]@2, [d2,d3]",
  F: "[f2,f3,f4,a4,c5,e5]", G: "[a2,a3,g4,b4,d5]@23 ~", H: "[g4,c5]@13 ~@3 c5@8, [g2,g3,d5,g5], ~@13 g4@10 ~",
  I: "g5@3 ~ d5@2, [g2,g3,g4,b4], d5@2 ~, ~@13 g5@11", J: "[g2,g3,g4,c5,d5,g5]", K: "[g2,g3,g4,b4,d5,g5]@19 ~@5",
  L: "[c2,c3]@7 [c2,c3], [a3,c4,f4]", M: "[c2,c3]@7 [c2,c3], [e3,g3,c4]",
  N: "[a3,c4,f4]@8 [a3,c4,f4]@5 [c2,c3]@2 ~ [c2,c3,b3,d4,g4]@8, [c2,c3]@13 ~@11", // F C G C
  O: "[c2,c3,g3,c4,e4]@2 [b1,b2,g3,b3,d4]", P: "[a1,a2,a3,c4,e4]", Q: "c4@8 c4@15 ~, [f1,f2,a3,f4]@23 ~",
  R: "[g3,c4]@19 ~@2 c4@3, [c2,c3,e3], ~@19 g3@5", S: "[b3,g4,c5,g5] [a3,f4,c5,g5] [g3,e4,g4,c5], c3@7 ~",
  T: "a3@16 ~@5 c2@2 ~, [c3,c4,f4], c2@7 ~, ~@2 a3", U: "g3@8 ~@8 c4@5 c3@2 ~, [c2,c3,e4]@23 ~, c4@2 ~, ~@8 g3@15 ~",
  V: "[a3,c4,f4]@8 ~@5 [c2,c3]@2 ~ [c2,c3,b3,d4,g4]@7 ~, [c2,c3]@13 ~@11, ~ [a3,c4,f4] ~", // F C G C F
  W: "g3@13 ~@6 d4@2 e4@3, c3, [c2,c4,e4]@2 [c2,c4], ~@13 g3@11", // C
  X: "[a3,d4,f4]@16 ~@5 [d2,d3]@3, [d2,d3]@7 ~, ~@2 [a3,d4,f4]", Y: "[g3,d4]@16 d4@3 c4@2 d4@3, [b1,b2], ~@2 g3",
  Z: "~@2 g4, [c3,g3,c4,e4]", AA: "c4@8 c4@8 c4@3 d4@2 e4@3, [a2,a3,g4], [f3,f4]@2 g3",
  AB: "[f4@19 f4@5 f4@16 f4@7 ~, a#2@47 ~, [f3,a#3,c4,d4]@24 [a#3,c4,a#4,c5]@23 ~]/2", // A# A#sus2
  AC: "g4@16 ~@5 g2@3, [c4,d4], g2@7 ~, ~@2 g4", // Csus2
  AD: "~@13 g2@3 [g2,g3,b3,d4]@6 ~@2, d3@7 ~, [g3,b3]@2 ~, g2@13 ~@11, ~@8 [f3,a3,c4]@13 ~@3", // G F
  AE: "c2@16 ~@5 [a3,c4,f4]@2 ~, c3, [a3,c4,f4]@7 ~, ~@2 c2", // F
  AF: "[c2,c3]@13 ~@8 g4@3, e4, c4@19 c4@5, g3@2 g3, ~@13 [c2,c3]@11", // C
  AG: "[a3,c4,f4]@8 ~@13 c2@2 ~, c3, c2@13 c2@8 ~@3, ~ [a3,c4,f4] [b3,d4,g4]", // F G
  AH: "c2@13 c2@2 ~ d4@3 ~@2 d4@3, [c3,g3,c4,e4]@2 [b1,b2,g3], ~@19 g4@4 ~", AI: "a2@7 a2, [a1,a3,c4,e4]",
  AJ: "[a3,c4,f4]@7 [a3,c4,f4], [f1,f2]", AK: "g3@16 ~@5 c3@2 ~, [c2,c4,e4], c3@7 ~, ~@2 g3",
  AL: "[b3,d4,g4]@8 [a3,c4,f4,g4]@8 [g3,c4,e4,g4]@7 ~, [c2,c3]", AM: "[a3,c4,f4]@7 [a3,c4,f4], [c2,c3]",
  AN: "g3@13 g3@3 [g3,c4,e4]@5 c3@2 ~, [c2,c3]@23 ~, [c4,e4]@2 ~", // C
  AO: "[a3,c4,f4]@8 [a3,c4,f4]@7 ~ [b3,d4,g4]@8, [c2,c3]", AP: "[c2,c3,g3,c4,e4]",
  AQ: "[a3,f4]@2 [a3,c4,e4,f4], [d2,d3,d4]", AR: "d4@16 ~@5 d4@3, [b1,b2,g3,b3], ~@16 d4@5 ~@3, ~@19 c4@5",
  AS: "g3@13 ~@3 c4@8, [c2,c3,e4], c4@2 ~, ~@13 g3@10 ~", AT: "[c4,f4]@16 ~@3 d4@2 e4@3, [a1,a2,a3], ~@2 c4",
  AU: "[a#1,a#2,f3,a#3,d4,f4]", AV: "c4@8 ~@8 d4@7 ~, [a#1,a#2,f3,a#3]@23 ~, ~@8 c4@15 ~",
  AW: "[a3,c4,f4]@8 ~@8 [a3,c4,f4]@5 g1@2 ~, g2@23 ~, g1@13 g1@8 ~@3, ~ [a3,c4,f4] ~", // F
  AX: "[g1,d3,g3,b3]@8 [f3,a3,c4]@5 ~@3 [g3,b3,d4]@6 ~@2, g2@11 ~, ~@13 g1@9 ~@2", AY: "[d2,f3,a3,c4,e4]",
  AZ: "[f2,f3,a3,c4,e4]", BA: "[a2,g3,b3,d4]", BB: "[g2,f3,a3,c4]@8 [g2,f3,a3,c4]@7 ~ [a2,g3,b3,d4]@8",
  BC: "f3@7 f3, [d2,a3,c4,e4]", BD: "e4@16 e4@7 ~, [f2,f3,a3,c4]@23 ~", BE: "[g2,g3,c4,d4]",
  BF: "g3@13 ~@3 b3@8, [g2,d4], b3@2 ~, ~@13 g3@11", // G5
  BG: "b3@11 ~@10 e4@2 ~, [g2,g3], d4@2 c4, ~@11 a3@13, ~@13 b3@6 d4@5", // G
  BH: "~@2 g#2, [g3,c4,g4], g#2@2 ~, d#4 d#4@2, ~@5 a#4@19", BI: "d#4 ~ g4, [f2,d#3,a#4], g4@2 ~, ~ [c4,d#4]@2",
  BJ: "a#3@13 ~@3 d4@5 c3@2 ~, [c3,f4]@23 ~, d4@2 ~, ~@13 a#3@10 ~", // F5
  BK: "[g3,a#3,d#4,f4]@8 ~@5 c3@3 [c3,g3,a#3,d4,f4]@8, c3@13 ~@11, ~@8 d#4@13 ~@3, ~ [g3,a#3,f4] ~", // D# Gm7
  BL: "~@21 [a#4,a#5]@2 ~, [g#2,d#3,c4,d#4,g4]@23 ~, ~@5 c5@18 ~, ~@8 d#5@15 ~, ~@19 [g#4,g#5]@5", // A# G#maj7 G#
  BM: "~@2 [g4,c5,g5], [f2,c3,g#3], [g4,c5,g5]@2 ~, ~ [g#4,g#5]@2", // C5 Fm C5 G#
  BN: "~@21 [d5,g5,b5]@2 ~, [g2,g3,b3,d4,g4], ~@5 b4@18 ~, ~@19 [c5,f5,a5]@5", // G F
  BO: "[f5,a5,c6]@5 [f5,a5]@11 ~@5 [f5,a5,c6]@3, g2, g1@2 [g1,c5], ~@5 c6@14 [d5,g5,b5]@5, ~@16 [f5,a5]@5 ~@3", // F C5 G F
  BP: "~@8 [g4,b4,d5,g5]@3 ~, g2@11 ~, [d5,g5,b5]@3 ~, g1@13 g1@9 ~@2, ~@4 [a4,c5,f5,a5]@5 ~@3", // G F
  BQ: "f3@13 ~@8 f2@3, [c4,e4], f2@7 ~, a3@2 a3, ~@13 f3@11", BR: "[g2,f3,a3,c4]!2 [a2,g3,b3,d4]",
  BS: "f3@13 ~@8 d3@2 ~, [d2,c4,e4], a3@2 a3, ~@13 f3@10 ~", BT: "[c4,e4,g4] ~ [c4,e4], [f2,a3], ~ [d4,f4]@2",
  BU: "~@11 d4@13, [a2,b3,g4], d4@5 ~@7, ~@5 a4@18 ~", // Em
  BV: "b3 ~@4 d4@3 [a2,b3,d4,g4]@7 ~ [b2,a3,c#4,e4,a4]@6 ~@2, [a2,g4] ~@2, d4@5 ~@19, ~@3 b3@5 ~@16", // G A A7
  BW: "[g3,b3,d4]@8 [g3,b3,d4]@13 e2@2 ~, [e2,f#4]@23 ~", // G Esus2
  BX: "[b3,d4]@8 [b3,d4]@8 [b3,d4,f#4]@5 g2@2 ~, g2@7 ~, f#4@2 ~, ~@8 g4@15 ~", // Bm
  BY: "a3@13 ~@8 b2@2 ~, e4, b2@7 ~, c#4@2 c#4, ~@13 a3@10 ~",
  BZ: "[a2,g3,b3,d4]@8 [a2,g3,b3,d4]@7 ~ [b2,a3,c#4,e4]@7 ~", // G A
  CA: "[g3,b3,d4]@8 ~@8 e3@5 g3@2 ~, [e2,f#4]@23 ~, ~@8 [g3,b3,d4]@15 ~", // G Esus2 G
  CB: "[g3,b3,d4]@8 [g3,b3,d4]@8 ~@5 g2@2 ~, g2@7 ~, f#4@2 [g3,b3,d4,f#4], ~ g4@2", // G Gmaj7
  CC: "a3@13 a3@3 [a3,c#4,e4]@5 b2@2 ~, b2@7 ~, [c#4,e4]@2 ~", // A C#m
  CD: "[a2,g3,b3,d4]@8 ~@8 [b2,a3,c#4,e4]@7 ~, ~@8 [a2,g3,b3,d4]@15 ~", CE: "[g3,b3,d4] ~ e3, [e2,f#4], ~ [g3,b3,d4]@2",
  CF: "[g3,b3,d4]@8 [g3,b3,d4]@15 ~, [g2,f#4]@23 ~", // G Gmaj7
  CG: "a3@5 ~@11 [a3,c#4,c#5]@8, [b2,e4]@23 ~, c#4@11 [b3,b4]@13, ~@5 a4@18 ~, ~@5 a3@11 ~@8", // A E5 B
  CH: "~@2 [a4,a5], [a2,g3,b3,d4,d5], ~@5 [e4,e5]@18 ~, ~@11 [f#4,f#5]@13", // A G E F#
  CI: "g3@13 ~@8 e2@3, [d4,f#4], e2@7 ~, b3@2 b3, ~@13 g3@11", // D
  CJ: "[g3,b3,d4,f#4]@16 ~@5 g2@3, g2@7 ~, ~@2 [g3,b3,d4,f#4]", // Gmaj7
  CK: "~@21 b2@2 ~, [a3,c#4], b2@7 ~, e4@2 e4, ~@13 a4@10 ~", CL: "[a2,g3,b3,d4]@8 [a2,g3,b3,d4]@8 [b2,a3,c#4,e4]@7 ~",
  CM: "[g3,b3,d4,f#4] ~ e2, e2@2 ~, ~ [b3,d4,f#4,a4]@2", CN: "[g3,b3,d4] ~ g2, f#4, g2@2 ~, ~ [g3,b3,d4]@2",
  CO: "[~@45 c#5@2 ~, [b2,a3,c#4]@37 g4@3 a4@3 b4@5, e4@2 e4, ~ [a2,g3,b3,d4], ~@35 f#4@13]/2", // F#m G
  CP: "[d4,g4,b4]@16 ~@5 e3@2 ~, [e2,d5], ~@2 [d4,g4,b4]", CQ: "[g3,b3,d4]@16 ~@5 g2@3, f#4, g2@7 ~, ~@2 [g3,b3,d4]",
  CR: "a3@13 a3@3 ~@5 b2@3, b2@7 ~, [c#4,e4]@2 [a3,c#4,e4]", // C#m A
  CS: "[g3,b3,d4]@8 [g3,b3,d4]@7 ~ [b2,a3,c#4,e4]@7 ~, a2@5 ~@3", // G A
  CT: "[b3,d4,f#4]@8 ~@8 e3@5 g3@2 ~, [e2,g3]@23 ~, ~@8 [b3,d4,f#4,a4]@15 ~", // Bm Em Bm7
  CU: "[g3,b3,d4] ~ f#4, g2, f#4@2 ~, ~ [g3,b3,d4]@2", CV: "[a4,e5]@13 ~@3 d5@8, [a2,a3,a5], d5@2 ~, ~@13 a4@10 ~",
  CW: "a5@3 ~ e5@2, [a2,a3,a4,c#5], e5@2 ~, ~@13 a5@11", CX: "[a2,a3,a4,d5,e5,a5]",
// … 201 more lines

More by Curtis Stigers