Strudelify

If You Were Me

Chris Rea

KeyA majorTempo91 bpm
0:00/0:00
// If You Were Me — Chris Rea
// 91 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 84 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(91/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@5 C@2 D E F G H I@2 J K L M N O P Q E F G H E F G H I@2 J K L M N O P Q E F G H E F G H R@2 S@2 T U V@2 W@2 E F G
  H I@2 J K L M N O P Q E F G H E F G H X@2 ~
>`.pickRestart({
  A: "~@19 c#5@5 e5@2 ~@2 g#5@2 ~@2",
  B: "[b5@2 ~@6 b5@2 ~@5 a5@2 ~@11 e5@2 ~@2 b5@2 ~ c#6@2 ~@2 b5@2 ~@2 g#5@2 ~@2 a5@2 ~@2 b5@2 ~@2 c#6@2 ~@2 c#6@2 ~@2 c#6@5 a5@2 ~@2 a5@2 ~@2 f#5@2 ~@2 f#5@2 ~@2 c#5@2 ~ b4@2 ~@2 a4@2 ~@2 b4@2 ~@3 b4@2 ~@2 f#4@11 ~@9 f#5@2 ~@2 g#5@2 ~@2 g#5@2 ~@2 f#5@2 ~@2 f#5@2 ~@2 f#5@2 ~ c#5@2 ~@2 e5@2 ~@2 f#5@2 ~@3, ~@27 c#5@2 ~@2 g#5@2 ~@66 c#5@2 ~@2 a4@2 ~@18 e5@2 ~@2 g5@2 ~@2 b5@2 ~@10 e5@2 ~@15]/5",
  C: "[~@4 [f#5,b5]@2 ~@2 [e5,a5]@2 ~ [f#5,b5]@2 ~@3 [f#5,b5]@2 ~@2 [e5,a5]@2 ~ [f#5,b5]@2 ~@2 e6@2 ~@2 e6@4 ~ c#6@2 ~@2 b5@2 ~@2 a5@2 ~@2 a5@2 ~@2 b5@2 ~ f#5@2 ~@7, ~@47 f#5@2 ~@15]/2", // B5 A5 B5 A5 B5
  D: "e5 ~ c#5 ~ b4 ~ b4 ~ a4 ~ f#4 ~ e4 ~ c#4 ~, ~@3 f#5@2 ~@10 c#5@2 ~@10 f#4@2 ~@3",
  E: "[g#3,c#4,e4]@11 ~ [f#3,c#4]@15 ~ f#3@2 ~@2, a2@31 ~, ~@27 e3@2 ~@3", // C#m F#5
  F: "[g#3,c#4]@5 ~@3 [g#3,c#4]@4 ~@3 [f#3,c#4]@14 a2@2 ~, a2@29 ~@3", // C#5 F#5
  G: "[d3,f#3,c#4]@8 ~@4 [f#3,b3]@15 ~ b3@2 ~@2, ~@4 d3@11 ~, ~@27 [f#3,f#4]@3 ~@2", // Dmaj7 B5 F#
  H: "[f#3,c#4]@5 ~@3 [f#3,c#4]@4 ~@3 [f#3,b3]@12 [f#3,b3]@2 ~@3, d3@13 ~@3, ~@12 f#4@15 ~@5", // F#5 B5
  I: "[[g#3,b3]@4 e4@2 ~@2 [g#3,b3]@4 ~@3 [f#3,a3]@11 ~@2 f#3@2 ~@2 [e3,g#3,b3]@2 ~@6 [e3,g#3,b3]@4 ~@3 [e3,f#3,a3]@5 ~ f#3@2 ~ a3@2 ~@2 b3@2 ~@2, a2@37 a2@6 ~ a2@18 ~@2, ~@27 e3@2 ~@23 e3@2 ~@10]/2", // G#m F#m E F#m7
  J: "[f#3,a3,c#4]@10 ~@2 f#3@11 ~ f#3@4 d3@4, d3@25 ~@7, ~@3 [a3,b3]@4 ~", // F#m Asus2
  K: "[d3,a3,c#4]@2 f#4 ~ [d3,f#3,a3,c#4] ~@7 [c#3,c#4]@2 [d3,d4] ~, f#3@2 ~@13 b3@15 ~@2, ~@4 d3@3 ~", // Dmaj7 C# D
  L: "[e3,e4]@10 ~ [b3,b4]@5 a3@16, ~@16 a4@13 ~@3", // E B
  M: "~@4 b2@4 ~@4 [f#4,f#5]@2 [g#4,g#5] ~, [f#4,a4]@8 [a4,a5]@7 ~, [b2,d4]@7 d4@10 ~@4 [g#4,g#5]@7 ~@4, ~ b1@3 ~@4", // F# G# F#m A Bm G#
  N: "[e3,e4]@7 ~@5 [b3,b4]@4 [a3,a4]@12 ~@4", // E B A
  O: "~@12 [d4,f#4]@3 ~@9 [f#4,f#5]@4 ~ g#5@2 ~, a4@15 ~ [a4,a5]@13 ~@3, f#4@9 b2@7 ~@16, [b2,d4]@7 d4@5 ~@8 [g#4,g#5]@8 g#4@2 ~@2, ~ b1@3 ~@4", // D F# A Bm G#
  P: "~@12 g#4@3 ~@14 [e4,e5]@2 ~, b4@15 ~@7 [g#4,g#5]@9 ~, g#4@8 c#3@7 ~@17, [c#3,e4]@6 e4@9 ~@11 [f#4,f#5]@5 ~, ~@4 c#2@11 ~ [f#2,f#3,a4,a5]@16", // E G# C#m F# F#m
  Q: "~@12 [d4,f#4,a4]@3 ~ d4@4 ~@5 e3@7, [b2,d5]@15 ~@5 e3@4 ~@8, [d4,a4]@6 ~@5 d4@3 ~@2, ~ f#4@11 ~@20, ~@9 b1@7 [e2,f#4,a4]@13 ~@3", // D Bm D5 F#m7
  R: "[~@56 [e3,g#3,b3]@7 ~, [a1,c#4]@63 ~, [e3,g#3]@32 e4@31 ~, ~@28 c#5@35 ~, ~@31 g#4@33]/2", // E A E
  S: "[c#4@28 [c#4,a4]@3 ~ c#4@12 c#4@4 b3@14 ~@2, d2@61 ~@3, [f#3,a3]@44 f#4@17 ~@3, ~@31 [b3,g#4]@19 ~@14, ~@32 a4@29 ~@3]/2", // F#m E
  T: "[b3,d4]@2 ~@2 [b3,f#4]@2 ~@2 [c#4,e4]@2 ~@2 [c#4,g#4]@2 ~@2 [d4,f#4]@2 ~@2 [d4,a4]@3 ~ [e4,g#4]@2 ~@2 [e4,b4]@3 ~, b1 ~ c#2 ~ d2 ~ e2 ~", // Bm B5 C#m C#5 D D5 E E5
  U: "[f#4,c#5]@3 ~ f#4@2 ~@2 [e4,b4]@2 ~@2 e4@2 ~@2 [d4,a4]@3 ~ d4@2 ~@2 [c#2,c#4,g#4]@3 ~ c#4@2 ~@2, f#2@6 ~@2 e2@3 ~@5 d2@6 ~@10, ~@3 a4@2 ~@6 g#4@2 ~@6 f#4@2 ~@6 e4@2 ~@3", // F#5 E5 D5 C#5
  V: "[f#4@6 ~ b4@9, [g1,a3,b3,d4], ~@3 [f#4,f#5]@5, ~@27 d5@37]/2", // G F#
  W: "[d4@24 ~@4 [a4,d5]@24 ~@4 e2@7 ~, e1@63 ~, [e2,d3,g3,a3]@52 e3@11 ~, ~@24 d4@29 ~@11, ~@27 g4@27 ~@10]/2", // D5 Em7
  X: "[~@32 e4@31 ~, [a1,e3,g#3,c#4]@63 ~, ~@28 c#5@35 ~, ~@31 g#4@33]/2", // Amaj7
})).s("gm_piano").gain(0.33).pan(0.2)

// bass · fretless bass
const bass = note(`<
  ~ A B C D A B C D A B C D A B C D E F G H I J A B C D A B C D A B C D E F G H I J A B C D A B C D K@2 L@2 M N O@2 P@2
  A B C D A B C D E F G H I J A B C D A B C D K@2 ~
>`.pickRestart({
  A: "a1@5 ~@2 a1 e1@3 ~ f#1@3 ~ a1@6 ~@2 e1@6 ~@2", B: "a1@6 ~@2 e1@6 ~@2 a1@7 ~ e1@2 ~@2 a1@2 ~@2",
  C: "d2@5 ~@3 a1@6 ~@2 d2@5 ~@2 d2 a1@7 ~", D: "d2@6 ~@2 a1@7 ~ d2@7 ~ e2@3 ~ e1@2 ~@2",
  E: "c#2@5 ~@3 c#2@6 ~@2 f#1@6 ~@2 f#1@6 ~@2", F: "b1@6 ~@2 b1@6 ~@2 e2@6 ~@2 d2@7 ~",
  G: "c#2@7 ~ c#2@6 ~@2 f#1@6 ~@2 f#1@7 ~", H: "b1@6 ~@2 b1@7 ~ e2@6 ~@2 d2@6 ~@2",
  I: "c#2@6 ~@2 c#2@7 ~ f#2@7 ~ f#1@7 ~", J: "b1@6 ~@2 b1@7 ~ e1@8 e1@8", K: "[a1@63 ~]/2", L: "[d2@59 e2 e1@3 ~]/2",
  M: "b1@3 ~@5 c#2@3 ~@5 d2@3 ~@5 e2@3 ~@5", N: "f#2@3 ~@5 e2@3 ~@5 d2@4 ~@4 c#2@3 ~@5", O: "[g1@62 ~ f#1]/2",
  P: "[e1@59 ~ e1@4]/2",
})).s("gm_fretless_bass").gain(0.54)

// chords · epiano2
const epiano2 = note(`<
  ~ A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C D E F G H A@2 B@2 A@2 B@2 A@2 B@2 C D E F G H A@2 B@2 A@2 B@2 I@2 J@2 K L M@4 A@2
  B@2 A@2 B@2 C D E F G H A@2 B@2 A@2 B@2 I@2 ~
>`.pickRestart({
  A: "[[e3,g#3,b3]@8 [e3,g#3,b3]@4 ~@3 [e3,f#3,a3]@13 ~@4 [e3,g#3,b3] ~@3 [e3,g#3,b3]@8 ~@3 [e3,f#3,a3]@17, c#3@28 c#3@15 ~ c#3@20]/2", // E F#m7 E F#m7
  B: "[~ [f#3,a3]@11 ~@32 a3@8 ~@8 e3@3 ~, d3@63 ~, ~ c#4@11 f#3@16 e3@25 ~@11, ~@3 b3@10 ~@3, ~@12 a3@24 f#3@16 [f#3,b3]@11 ~]/2", // F#m B5
  C: "[e3,g#3,b3] [c#3,e3,a3]", D: "[d3,f#3,a3]@2 [f#3,a3,c#4] [e3,g#3,b3]", E: "[e3,g#3,b3] [c#3,f#3,a3]",
  F: "[f#3,a3,c#4]@2 [f#3,a3,c#4] [e3,g#3,b3]", G: "[e3,g#3,b3] [e3,f#3,a3]", H: "[f#3,a3,c#4]@2 ~ a4, ~ [f#3,a3,d4]",
  I: "[[g#3,b3]@12 ~@36 b3@15 ~, a2@63 ~, e4@16 e4@8 b4@39 ~, ~@12 g#3@51 ~, ~@13 b3@23 e4@27 ~]/2", // G#m
  J: "[~@14 c#4@12 [c#4,f#4]@5 ~, [e3,f#3,a3]@53 ~@11, c#4@27 f#4@25 ~@12, ~@6 d2@25 ~, ~@24 a4@29 ~@11]/2", // F#5 F#m7
  K: "[b2,b3,d4]@2 ~@2 [b3,f#4]@2 ~@2 [c#3,c#4,e4]@3 ~ [c#4,g#4]@2 ~@2 [d3,d4,f#4]@3 ~ [d4,a4]@2 ~@2 [e3,e4,g#4]@3 ~ [e4,g#4,b4] ~@3, ~@12 e4 ~@7 f#4 ~@11", // Bm B5 C#m C#5 D D5 E
  L: "[f#3,f#4,c#5]@3 ~ f#4@2 ~@2 [e3,e4,b4]@3 ~ [e4,g#4]@2 ~@2 [d3,d4,a4]@2 ~@2 [d4,f#4] ~@3 [c#3,c#4,g#4]@3 ~ e4@2 ~@2, ~@3 a4@2 ~@23 c#4 ~@3", // F#5 E5 E D5 D C#5
  M: "[~@64 b2@20 ~@28 a4@7 ~@5 e5@3 ~, [g2,b3]@44 d4@8 a3@12 g3@20 b2@8 d4@12 g4@15 d5@8 ~, a3@40 f#4@51 a3@30 ~@7, d4@23 d5@41 d4@24 g3@32 ~@8, f#4@5 [a4,b4,f#5]@11 [e2,f#3]@14 ~@2]/4", // G B7 Esus2
})).s("gm_epiano2").gain(0.29)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A@2 B@2 A@2 B@2 ~@8 C@4 D@2 A@2 B@2 ~@4 E@2 F@2 C@4 D@2 A@2 B@2 A@2 B@2 G@2 H@2 I J K@2 L@2 M@4 N@2 F@2 C@4 D@2 A@2
  B@2 A@2 B@2 G@2 ~
>`.pickRestart({
  A: "[[g#4,b4]@3 [f#4,a4]@5 [e4,g#4]@3 [f#4,a4]@5, [a2,e3]]/2", // G#m F#m E F#m A5
  B: "[[a4,c#5]@3 [f#4,b4]@5 [f#4,a4]@3 [f#4,b4]@5, [d3,a3]]/2", // A B5 F#m B5 D5
  C: "[[c#3,b3,e4]@2 [f#2,e3]@2 b2@2 e2 [d2,g#3], ~@2 a3@5 ~, ~ d4]/2", // C#m7 F#7 Ddim
  D: "[[c#3,b3,e4] [f#2,e3] b2 e2, ~ a3@3, ~ d4]/2", E: "[e5@40 ~ d6@3 c#6@3 ~ b5@6 c#6@6 a5@4]/2",
  F: "[f#5@56 c#5@3 ~ d5@4]/2", G: "[g#3@53 ~@11]/2", H: "[f#3@53 ~@11]/2",
  I: "d4 ~ f#4 ~ e4 ~ g#4 ~ f#4 ~ a4 ~ g#4 ~ b4 ~", J: "c#5 e5", K: "f#5/2",
  L: "[[e2,b2,g3,d4,f#4]@55 ~ d5 e5 f#5 g#5 a5 b5 c#6 d6]/2", // Em7
  M: "[e6@40 d6@3 ~ c#6@4 b5@5 c#6@6 ~ f#5@44 c#5@8 b4@7 ~ a4@7 ~]/4", N: "[[e5,e6]@41 d6@3 c#6@3 ~ b5@6 c#6@6 a5@4]/2",
})).s("gm_string_ensemble_1").gain(0.33)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A@2 B C D E@2 F G H I J K L M N@2 O P Q R S T U V W X Y Z AA@2 AB AC AD@2 AE@2 AF@2 AG@2 AH@2 AI@2 AJ AK AL@2 AM@2
  AN@2 AO AP AQ@2 AR@2 AS AT@2 AU@8 AV@3 AW AX AY@6 AZ@3
>`.pickRestart({
  A: "[~@33 e4@7 ~@4 [g#3,c#4]@3 ~@9 a2@7 f#3, ~@31 g#3@12 ~@8 f#3@3 ~ f#3@3 ~@6, ~@31 a2@8 ~ a2@7 ~ a2@6 ~@10, ~@16 c#4@5 ~@5 c#4@6]/2", // C#5
  B: "~@11 c#4@4 ~@13 f#3@4, a2@7 e4@25, ~@3 g#3@11 ~ f#3@4 c#4@5 a2@7 ~, ~@4 c#4@4 a2@7 ~ a2@4 f#3@7 c#4@5",
  C: "~@4 c#4@4 ~@4 c#4@2 ~@2 b3@4 ~@7 a3 ~@3 b3, d3@7 ~ d3@15 b3@2 ~@7, ~@11 f#3@4 ~@5 f#3@4 d3@6 ~@2",
  D: "~@12 c#4@2 ~ f#3 b3@3 ~@4 b3@2 ~@2 f#3@2 ~@3, d3@7 ~ d3@10 ~@2 d3@7 ~@5, ~@3 f#3@7 ~ f#3@2 ~@6 f#3@2 ~@11, ~@4 c#4@7 ~@21",
  E: "[~@12 e3@4 f#3@4 ~@8 e3@3 ~@9 e3@3 ~ e3@3 ~ f#3@3 ~@9 [a2,e3]@2 ~ f#3, a2@7 ~ a2@20 ~@4 a2@13 ~@2 a2@12 ~@5, ~@3 e3@4 c#4@10 ~@6 c#4@10 ~@3 g#3@6 ~ g#3@4 ~@4 e3@8 c#4@5, ~@4 g#3@5 ~@2 g#3@2 ~@7 e3@6 ~ f#3@3 ~ f#3@2 ~@2 e3@4 c#4@9 ~@7 f#3@7 ~@2]/2", // A5
  F: "~@12 c#4@3 ~ b3@3 ~@4 b3@4 ~ d3@3 ~, d3@7 c#4@4 f#3@3 ~ f#3@2 ~@2 f#3@2 ~@6 f#3@5, ~@4 f#3@4 d3@11 ~ d3@7 ~@5",
  G: "d3@4 [f#3,c#4]@3 ~@9 b3@3 ~@4 b3@4 ~ e3@3 f#3, ~@7 d3@4 c#4@4 f#3@2 ~@2 f#3@4 ~@4 f#3@2 ~@3, ~@8 f#3@4 d3@7 ~ d3@6 ~@6", // F#5
  H: "~@6 g#3 ~@7 f#3@2, a2@8 a2@7 ~ a2@7 ~ a2@5 ~@3, ~@3 e3@4 c#4@6 ~@2 f#3@5 c#4@8 ~@4, ~@4 g#3@6 ~ e3@5 ~@3 e3@4 ~@4 e3@2 ~@3",
  I: "~@4 g#3@3 ~@4 g#3@2 e3@2 f#3@5 e3@4 c#4@3 ~ [e3,f#3]@3 ~, a2@7 ~ a2@23 ~, ~@3 e3@3 ~ c#4@3 ~@22", // Esus2
  J: "~@4 f#3@3 c#4@4 ~@4 b3@4 ~@5 b3@3 ~ d3@2 ~ f#3, d3@11 f#3@4 ~@4 f#3@2 ~@6 f#3@3 ~@2, ~@12 d3@7 ~ d3@7 ~@5",
  K: "~@3 f#3@2 ~@2 c#4@2 ~@6 b3@4 ~@5 b3@3 f#3 e3@3 f#3, d3@11 f#3@3 ~@5 f#3@4 ~@9, ~@12 d3@7 ~ d3@7 ~@5",
  L: "~@12 e3@3 ~@5 e3@3 ~ a2@3 ~ e3@3 f#3, a2@7 c#4@5 ~@11 c#4@4 ~@5, ~@3 e3@5 a2@6 ~@2 a2@7 ~@9, ~@4 g#3@5 ~@2 g#3@2 ~@2 f#3@6 ~@6 f#3@2 ~@3",
  M: "~@7 c#4@4 ~ e3@3 ~@5 f#3@3 ~@5 e3@3 f#3, a2@12 ~@4 a2@13 ~@3, ~@3 e3@4 ~@8 f#3@5 ~@3 c#4@9, ~@4 g#3@5 ~@2 g#3@2 ~@6 e3@8 f#3@3 ~@2",
  N: "[~@15 b3 ~@3 f#3@2 ~@7 d3@2 ~@22 b3@3 ~@5 f#3@4, d3@7 c#4@6 ~@10 b3@9 d3@4 c#4@4 d3@7 ~ d3@7 ~ d3@6 ~@2, ~@4 f#3@4 d3@18 ~ f#3@3 ~ f#3@2 ~@2 f#3@2 ~@2 f#3@3 ~ c#4@2 ~@2 b3@4 ~@8 b3@5, ~@44 f#3@5 ~@2 f#3@2 ~@2 f#3@4 ~@5]/2",
  O: "~@4 b3@3 ~@5 e3@4 ~@4 a3@3 ~@5 e3@4, c#3@6 ~@2 c#3@7 ~ f#2@7 ~ f#2@6 ~@2, ~@3 e3@2 ~@2 e3@4 b3@5 ~@3 e3@2 ~@2 e3@4 a3@2 ~@3",
  P: "~@4 a3@3 ~@5 d3@3 ~@5 c#4@3 ~@5 g#3@4, b2@6 ~@2 b2@7 ~@2 e3@6 ~ e3@7 ~, ~@3 d3@2 ~@2 d3@3 ~ a3@3 ~@5 a3@2 ~@2 a3@2 ~@2 b3@3 ~@2",
  Q: "~@4 e3@3 ~@5 b3@4 ~@4 a3@3 ~@5 e3@4, c#3@7 b3@4 e3@3 ~@9 e3@4 a3@5, ~@8 c#3@7 ~ f#2@7 ~ f#2@6 ~@2",
  R: "b2@4 d3@3 ~@5 a3@4 ~@4 c#4@3 a3@2 ~@3 g#3@4, ~@7 a3@4 d3@2 ~@6 d3@3 ~@5 b3@3 ~@2, ~@8 b2@7 ~ e2@7 ~@9",
  S: "~@4 e3@3 ~@5 g#3@3 ~@5 a3@3 ~@5 e3@4, ~ b2@6 g#3@2 ~@2 e3@4 b3@2 ~@2 e3@4 c#4@4 a3@2 ~@3, ~@8 c#3@7 ~ f#2@7 ~ f#2@7 ~",
  T: "~@4 a3@3 ~@5 d3@4 ~@4 a3@4 e2@3 ~ a3@2 ~@2, b2@3 ~ b2@4 e2@3 ~@5, ~@3 d3@2 ~@2 d3@3 ~ a3@6 ~@2 d3@2 ~@6 d3@2 ~@3",
  U: "~@4 e3@3 ~@5 g#3@2 ~@6 f#3@4 ~@4 c#4@4, a2@7 g#3@4 c#4@3 ~ f#3@4 c#4@5 e3@5 ~@3, ~@8 a2@7 ~ a2@10 ~ f#3@5",
  V: "~@4 g#3@3 ~ e3@3 ~@9 f#3@4 ~@4 c#4@4, a2@7 ~@5 a2@13 ~@7, ~@3 e3@4 c#4@4 g#3@2 ~@2 f#3@4 c#4@7 ~ f#3@5, ~@8 e3@3 ~ e3@3 ~",
  W: "~@4 c#4@3 ~@21 f#3@4, d3@6 ~@2 d3@7 ~ d3@7 ~ d3@6 ~@2, ~@3 f#3@2 ~@2 f#3@4 c#4@2 ~@2 b3@4 ~ b3@5 ~@2 b3@5, ~@12 f#3@5 ~@2 f#3@2 ~@2 f#3@5 ~@4",
  X: "~@4 c#4@3 ~@13 b3@3 ~ d3@3 ~ e3@3 f#3, d3@7 ~ d3@4 f#3@4 d3@7 ~@4 b3@5, ~@3 f#3@2 ~@2 f#3@4 c#4@2 ~@2 b3@4 f#3@2 ~@2 f#3@7 ~@2",
  Y: "~@7 c#4, a2@4 g#3@4 a2@12 c#4@7 ~@5, ~@3 e3@4 c#4@4 g#3@2 ~@2 f#3@10 ~@2 f#3@5, ~@12 e3@6 ~ e3@4 ~ e3@8",
  Z: "~@11 g#3@2 ~@15 f#3@4, a2@16 ~@8 a2@5 ~@3, ~@3 e3@12 f#3@3 ~ f#3@3 ~ f#3@4 ~@5, ~@4 g#3@5 ~@7 e3@8 ~@3 e3@4 ~, ~@7 c#4@12 ~ c#4@8 ~@4",
  AA: "[d3@4 ~@8 c#4@2 ~ b3@4 ~@13 d3@4 c#4@3 ~@8 b3@4 ~@5 d3@3 ~ b3@3 e3, ~@4 f#3@4 d3@12 b3@4 d3@7 ~@9 d3@10 ~ d3@4 ~@9, ~@7 c#4@4 f#3@3 ~@5 f#3@2 ~@2 f#3@4 b3@7 ~@9 c#4@2 ~@10 b3@4 ~@5, ~@28 f#3@7 ~@4 f#3@2 ~@3 f#3@7 ~ f#3@5 ~@2 f#3@4 ~]/2",
  AB: "~@15 f#3@4 ~@9 c#4@3 e3, a2@7 ~ a2@16 ~@8, ~@3 e3@4 c#4@5 e3@5 ~@2 e3@4 ~ e3@5 ~@3, ~@4 g#3@5 ~@2 g#3@2 ~@7 c#4@7 f#3@5",
  AC: "~@7 c#4@4 ~@17 f#3@3 c#4, a2@5 c#4@2 ~, ~@3 e3@8 ~ e3@5 ~@2 e3@4 ~ a2@6 ~@2, ~@4 g#3@5 ~@2 g#3@2 ~@2 f#3@11 ~ e3@3 ~@2",
  AD: "[~@4 c#4@3 ~@13 b3@4 ~@4 b3@3 ~@5 c#4@3 ~@13 b3@3 ~@5 f#3@3 b3, d3@6 ~@2 d3@4 f#3@4 d3@7 ~ d3@6 ~@2 d3@7 ~ d3@7 ~ d3@5 ~@3 d3@7 ~, ~@3 f#3@3 ~ f#3@4 c#4@2 ~@2 b3@4 f#3@6 ~@2 f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~@2 f#3@4 c#4@2 ~@2 b3@4 ~@8 b3@2 ~@3, ~@44 f#3@5 ~@2 f#3@3 ~ f#3@3 ~@6]/2",
  AE: "[~@4 b3@3 ~@6 e3@2 ~@5 a3@3 ~@5 e3@3 ~ b2@4 d3@3 ~@5 a3@3 ~ e2@3 ~ a3@3 c#4 e3@3 ~ b3@3 g#3, c#3@6 ~@2 c#3@8 f#2@7 ~ f#2@7 ~@9 b2@7 ~@17, ~@3 e3@2 ~@2 e3@2 ~@2 e3@2 ~@6 e3@2 ~@2 e3@3 ~@17 d3@2 ~@2 d3@2 ~@2 d3@4 ~@9, ~@12 b3@3 ~@12 a3@2 ~@2 a3@3 ~@5 a3@4 ~@16 g#3@2 ~@3]/2",
  AF: "[~@4 g#3@2 ~@5 g#3 e3@3 g#3 f#2@5 e3@2 ~@5 a3@3 ~@5 a3@3 ~@5 d3@4 e2@3 ~ a3@3 ~ e3@3 ~ b3@3 g#3, c#3@6 ~@2 c#3@7 ~@9 f#2@6 ~@2 b2@5 ~@3 b2@8 ~@3 d3@4 ~@9, ~@3 e3@3 ~ b3@4 ~@12 a3@3 ~ e3@2 ~@2 e3@2 ~@2 d3@2 ~@2 d3@2 ~@2 a3@2 ~@10 c#4@2 ~@2 g#3@2 ~@3]/2",
  AG: "[~@4 b3@3 ~@5 e3@4 ~@4 a3@3 ~@4 a3 e3@3 ~@5 a3@3 ~@5 d3@4 ~@3 d3@2 a3@2 ~ e2@3 ~ d3@2 ~@2, c#3@6 ~@2 c#3@8 f#2@7 ~ f#2@6 ~@2 b2@6 ~@2 b2@8 e2@6 ~@10, ~@3 e3@2 ~@2 e3@3 ~ b3@2 ~@6 e3@3 ~ c#4@3 ~@5 a3@3 ~ d3@2 ~@2 d3@2 ~@2 a3@2 ~@10 d3@4 a3@2 ~@3]/2",
  AH: "[~@4 g#3@3 ~@4 g#3@2 ~@2 f#3@4 ~ f#3@4 c#4@3 ~ e3@3 ~@5 g#3@3 ~@5 e3@3 ~@5 f#3@3 ~@5 e3@3 f#3, a2@6 ~@2 a2@19 ~@5 a2@6 ~@2 a2@7 ~ a2@6 ~@2 a2@5 ~@3, ~@3 e3@4 c#4@3 ~@9 e3@8 f#3@2 ~@2 f#3@2 ~@2 e3@4 c#4@4 g#3@2 ~@2 f#3@4 e3@4 c#4@4 f#3@2 ~@3]/2",
  AI: "[~@4 c#4@3 ~@4 c#4@2 ~@7 b3@3 ~ a3@2 ~@2 d3@3 ~@5 c#4@4 ~@3 f#3@2 ~@7 b3@4 d3@3 ~ e3@3 b3, d3@7 ~ d3@7 ~ d3@6 ~ d3@4 ~@4 f#3@2 ~@2 f#3@6 ~@6 b3@4 f#3@3 ~@5 f#3@2 ~@3, ~@3 f#3@3 ~ f#3@3 ~@5 b3@4 f#3@3 ~@5 b3@3 ~@2 d3@7 ~ d3@7 ~ d3@7 ~@9]/2",
  AJ: "~@4 g#3@3 ~@5 e3@3 ~@5 e3@3 ~ a2@3 ~ e3@4, a2@6 ~@2 a2@7 ~ a2@5 ~@11, ~@3 e3@4 c#4@3 ~ g#3@2 ~@2 f#3@3 ~ f#3@2 ~@2 c#4@4 f#3@2 ~@3",
  AK: "~@12 e3@3 ~@5 f#3@3 ~ a2@3 ~ e3@3 f#3, a2@4 g#3@4 a2@6 ~@2 a2@7 c#4@5 ~@4, ~@3 e3@4 c#4@4 g#3@2 ~@2 f#3@4 e3@5 ~@3 f#3@2 ~@3",
  AL: "[d3@4 f#3@3 ~@4 f#3@4 ~@5 b3@3 ~ a3@2 ~@2 d3@2 ~@6 c#4@3 ~@4 c#4@2 ~@7 b3@3 ~ a3@3 ~ e3@3 ~, ~@7 c#4@4 ~@4 b3@4 f#3@2 ~@6 b3@2 ~@3 d3@7 ~ d3@7 ~ d3@5 ~@2 d3@4 ~@5, ~@8 d3@7 ~ d3@5 ~@2 d3@5 ~@3 f#3@2 ~@2 f#3@2 ~@2 f#3@4 ~@4 b3@4 f#3@2 ~@6 b3@2 ~@3]/2",
  AM: "[~@9 c#4@6 ~, a2@8 a2@7 ~, g#3@27 ~ g#3@32 ~@4, ~ c#4@34 ~@29, ~@3 e4@58 ~@3]/2",
  AN: "[~@26 f#3@5 ~, d3@31 ~, f#3@25 ~@7, ~ c#4@38 ~ c#4@22 ~@2, ~@28 f#4@33 ~@3]/2",
  AO: "b2@3 ~ [a3,d4]@2 ~@2 c#3@2 ~@2 [b3,e4]@2 ~@2 d3@3 ~ [c#4,f#4]@2 ~@2 e3@3 ~ [b3,e4]@2 ~@2", // D5 E5 F#5 E5
  AP: "f#3@3 ~ [c#4,f#4]@3 ~ e3@3 ~ [b3,e4]@2 ~@2 d3@3 ~ [a3,d4]@2 ~@2 c#3@2 ~@2 [b3,e4]@2 ~@2", // F#5 E5 D5 E5
  AQ: "[~@33 f#3@25 ~@6, g2@7 ~, ~ f#3@30 ~@33, ~ d3@17 ~@2 d3@35 ~@9, ~@2 b3@23 ~@2 b3@30 ~@7]/2",
  AR: "[~@27 a3@28 ~@9, e2@55 ~@9, ~ [b2,d3]@27 ~@4, ~@3 g3@52 ~@9, ~@10 d4@17 ~@5]/2", // Bm
  AS: "~@12 e3@3 ~@13 f#3@4, a2@4 g#3@4 a2@7 ~ a2@4 c#4@12, ~@3 e3@4 c#4@4 g#3@2 ~@2 f#3@12 e3@4 ~, ~@19 e3@2 ~@3 a2@6 ~@2",
  AT: "[~@12 e3@3 ~@13 e3@3 ~@5 c#4@3 ~@13 b3@3 ~@5 f#3@4, a2@4 g#3@4 a2@7 ~ a2@4 f#3@4 a2@5 ~@3 d3@6 ~@2 d3@7 ~ d3@6 ~@2 d3@6 ~@2, ~@3 e3@4 c#4@4 g#3@2 ~@2 f#3@4 e3@4 c#4@10 ~@10 c#4@2 ~@2 b3@4 ~@8 b3@5, ~@27 f#3@3 ~ f#3@2 ~@2 f#3@2 ~@2 f#3@4 ~ f#3@5 ~@2 f#3@2 ~@2 f#3@4 ~@5]/2",
  AU: "[~@4 c#4@3 ~@5 f#3@3 ~@5 b3@3 ~ d3@3 ~ b3@3 ~@5 g#3@3 ~@5 e3@3 ~@5 f#3@3 ~ a2@3 ~ e3@3 ~@13 e3@3 ~@5 f#3@3 ~@5 e3@3 ~@5 c#4@3 ~@5 f#3@3 ~@5 b3@3 ~ a3@2 ~ b3@2 ~@7 c#4@3 ~@5 d3@3 ~@5 b3@3 ~@5 d3@3 ~@5 b3@3 ~@5 b3@3 ~@5 a3@3 ~@5 a3@3 ~@5 a3@3 ~@5 a3@3 ~@5 a3@3 ~ e3@3 g#3@2 b3@2 ~ c#3@3 ~ b3@3 ~@5 e3@3 b3 ~@4 e3@3 ~@5 a3@3 e3, d3@5 ~@3 d3@6 ~@2 d3@6 ~@10 a2@6 ~@2 a2@5 ~@3 a2@7 ~@4 f#3@2 ~@2 f#3@2 ~@2 e3@4 c#4@3 ~ g#3@2 ~@2 f#3@4 e3@4 c#4@4 f#3@3 ~ f#3@2 ~@2 f#3@2 ~@2 f#3@4 c#4@2 ~@2 b3@4 f#3@2 ~@10 f#3@2 ~@2 f#3@4 ~ f#3@5 ~@3 d3@5 ~@2 d3@4 b3@5 c#3@6 ~@2 c#3@7 ~ f#2@5 ~@3 f#2@5 ~@3 b2@6 ~@2 b2@7 ~ e2@6 ~@18 c#3@7 ~ f#2@6 ~@2 f#2@7 ~, ~@3 f#3@3 ~ f#3@4 c#4@2 ~@2 b3@4 f#3@2 ~@2 f#3@4 a3@2 ~@2 f#3@2 ~@2 e3@4 c#4@4 g#3@2 ~@2 f#3@4 e3@4 c#4@7 ~@2 a2@4 g#3@4 a2@5 ~@3 a2@7 ~ a2@5 ~@3 d3@6 ~@2 d3@7 ~ d3@6 ~ d3@8 ~ d3@5 ~@2 d3@4 c#4@2 ~@2 b3@4 f#3@4 ~ f#3@5 ~@2 f#3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@3 ~ e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 d3@2 ~@2 d3@2 ~@2 d3@2 ~@2 d3@2 ~@2 d3@4 c#4@2 ~@6 e3@2 ~@2 e3@3 ~ e3@3 ~ b3@2 ~@6 c#3@4 a3@4 e3@2 ~@3]/8",
  AV: "[~@4 a3@3 ~@5 d3@3 ~ c#4@3 ~ d3@3 ~ e3@3 ~ b3@3 ~@5 b3@3 ~@5 e3@3 ~@5 a3@3 ~@5 e3@3 ~@5 a3@3 ~@5 d3@3 ~@5 a3@3 ~@5 d3@3 a3, b2@6 ~@2 b2@6 ~ e2@9 ~@8 c#3@5 ~@3 c#3@7 ~ f#2@6 ~@2 f#2@6 ~@2 b2@6 ~@2 b2@7 ~ e2@7 ~ e2@7 ~, ~@3 d3@2 ~@2 d3@2 ~@2 a3@3 ~@5 a3@2 ~@2 c#4@2 ~@2 g#3@2 ~@2 g#3@2 ~@2 e3@2 ~@2 e3@3 ~ b3@2 ~@2 b3@2 ~@2 e3@2 ~@2 e3@2 ~@2 a3@2 ~@2 a3@2 ~@2 d3@2 ~@2 d3@2 ~@2 a3@2 ~@2 a3@2 ~@2 d3@3 ~ c#4@4 a3@2 ~@3]/3",
  AW: "~@4 g#3@3 ~@4 e3@3 ~@6 f#3@3 ~@4 f#3 e3@3 f#3, a2@5 ~@3 a2@7 ~ a2@6 ~@2 a2@6 ~@2, ~@3 e3@3 ~ c#4@3 ~@5 f#3@3 ~ e3@2 ~@2 c#4@4 ~@5",
  AX: "~@4 g#3@3 ~@5 e3@3 ~@5 f#3@3 ~ a2@3 ~ e3@3 f#3, a2@5 ~@3 a2@5 ~@3 a2@6 ~@5 f#3@2 ~@3, ~@3 e3@3 ~ c#4@3 ~ g#3@2 ~@2 f#3@4 e3@4 c#4@5 ~@4",
  AY: "[~@4 c#4@3 ~@4 c#4 f#3@3 ~@5 b3@2 ~@2 a3@2 ~@2 d3@3 ~@5 c#4@3 ~ f#3@3 ~ d3@3 ~@5 b3@3 ~ a3@3 ~ d3@2 ~@6 g#3@3 ~@4 g#3@2 ~@2 f#3@4 ~ f#3@3 ~ f#3@3 ~ e3@3 ~@5 g#3@3 ~@5 e3@3 ~@5 f#3@3 ~ a2@3 ~ e3@3 ~@5 c#4@3 ~@5 f#3@3 ~@5 b3@3 ~ a3@3 b3@2 ~@7 c#4@3 ~ f#3@3 ~ d3@3 ~@5 b3@3 ~ f#3@2 ~@2 a3@2 ~ f#3, d3@7 ~ d3@7 ~ d3@11 ~@4 f#3@3 ~ f#3@2 ~@6 c#4@2 ~@2 b3@3 ~ f#3@2 ~@6 b3@2 ~@3 a2@6 ~@2 a2@7 ~@4 a2@8 ~@5 a2@6 ~@2 a2@6 ~@2 a2@6 ~@5 f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~@2 f#3@3 ~ c#4@2 ~@2 b3@4 f#3@2 ~@10 f#3@2 ~@2 f#3@2 ~@6 c#4@2 ~@2 b3@3 ~ f#3@2 ~@11, ~@3 f#3@2 ~@2 f#3@3 ~@5 b3@4 f#3@2 ~@2 f#3@2 ~@2 b3@2 ~@3 d3@6 ~ d3@4 ~@5 d3@5 ~@2 d3@4 ~@4 f#3@2 ~@2 e3@4 c#4@4 ~@12 e3@4 c#4@4 f#3@2 ~@2 e3@4 c#4@4 g#3@2 ~@2 f#3@4 e3@4 c#4@5 ~@4 d3@7 ~ d3@7 ~ d3@5 ~@2 d3@9 d3@5 ~@2 d3@4 ~@5 d3@5 ~@2 d3@7 ~@2]/6",
  AZ: "[~@6 c#4@23 ~@26 e3@11 ~@30, a2@67 ~@29, ~@2 e3@32 ~@2 e3@9 c#4@22 ~@29, ~@4 g#3@63 ~@29, ~@29 b3@38 ~@29]/3",
})).s("gm_acoustic_guitar_steel").gain(0.36).pan(0.8)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@2 A ~ B ~ A ~@3 C@2 D E F G H ~@4 I J K ~ L M N O P Q ~ R S T ~@2 U@2 ~@2 V W@2 X Y Z AA AB ~@5 AC AD@2 AE@2 ~@12 AF
  ~@12
>`.pickRestart({
  A: "~@12 [c#5,e5] ~@2 [c#5,e5]!2 ~@3 [a4,c#5] ~@2 [a4,c#5]!2 ~@3 [f#4,a4] ~@2 [f#4,a4]", // C#m A F#m
  B: "~@12 [a4,c#5]@4 ~@4 [f#4,a4]@3 ~@5 e4 ~@3", // A F#m
  C: "[~@12 e5@3 c#5 [c#5,e5] ~@3 [a4,c#5] ~@2 [a4,c#5]!2 ~@3 [f#4,a4] ~@2 [f#4,a4]@17 ~@16, ~@12 c#5 ~@51]/2", // C#m A F#m
  D: "~@20 [a4,c#5]@3 ~@4 [f#4,a4] ~@4", E: "e4 ~", F: "~@12 [a4,c#5]@3 ~@5 [f#4,a4]@2 ~@5 [c#4,f#4] ~@4",
  G: "b3@7 ~ a3@23 ~", H: "~@16 [a4,c#5] ~@6 [f#4,a4] ~@4 d4 ~@3", I: "~@16 a4@5 ~@2 g#4@2 ~@2 f#4@2 e4@2 ~",
  J: "d4@5 ~@11", K: "~@12 [c#5,e5] ~@2 [c#5,e5]!2 ~@3 [a4,c#5] ~@2 c#5!2 ~@3 [f#4,a4] ~@2 [f#4,a4], ~@23 a4@3 ~@6",
  L: "[c#5,e5] ~@6 [a4,c#5] ~@4 [f#4,a4]@10 ~@6 [c#5,e5] ~@2 c#5", M: "[c#5,e5] ~@6 [a4,c#5] ~@4 [f#4,a4]@11 ~@9",
  N: "~@28 c#5 ~@3", O: "[c#5,e5] ~@6 [a4,c#5] ~@4 [g#4,b4]@16 ~@4", P: "~@28 [a4,c#5] ~@2 [a4,c#5]",
  Q: "[a4,c#5] ~@6 [f#4,a4] ~@4 [c#4,f#4]@15 ~@5", R: "~@12 [f#4,b4] ~@6 [e4,a4] ~@4 [f#4,b4]@3 ~ [e4,a4] ~@3",
  S: "~@28 [c#5,e5]@3 ~", T: "~@4 [a4,c#5]@3 ~@5 [f#4,a4]@11 ~@9",
  U: "[~@8 e4 ~@3 f#4 ~@2 g#4 a4@7 ~ g#4 ~@3 e4@2 ~ f#4@14 ~@4 a4@3 g#4@2 ~@2 f#4@3 ~ g#4@3 ~]/2",
  V: "~@12 [c#5,f#5] ~@3 [b4,e5]@3 ~ [c#5,f#5] ~@11", // F#5 E5 F#5
  W: "[~@4 [c#5,e5] ~@2 [c#5,e5]!2 ~@3 [a4,c#5]@2 ~ [a4,c#5]!2 ~@3 [g#4,b4] ~@2 [g#4,b4] ~@4 [f#4,a4] ~@2 [f#4,a4]@11 ~@18 [a4,c#5] ~@2 [a4,c#5]]/2", // C#m A G#m F#m A
  X: "[a4,c#5] ~@3 [f#4,a4] ~@2 [f#4,a4]!2 ~@3 [c#4,f#4] ~@2 [c#4,f#4]!2 ~@7 [c#4,f#4]@6 ~@2", // A F#m F#5
  Y: "[b3,e4]@17 ~@11 [c#4,f#4]@3 ~", Z: "[b3,e4]@3 ~ [c#4,f#4] ~@6 [c#4,f#4] ~@4 [b3,e4]@9 ~@7",
  AA: "~@12 [f#4,b4]@4 [e4,a4]@4 [f#4,b4] ~@6 [f#4,b4] ~@4", AB: "[e4,a4]@3 ~@5", AC: "~@29 a4 ~@2",
  AD: "[f#5@45 ~@16 d4 ~@2]/2", AE: "[b4@45 ~@19]/2", AF: "[c#5,e5]@7 ~@9",
})).s("gm_electric_guitar_jazz").gain(0.22)

// drums · kick
const kick = s("bd").struct("<[~@7 x] [x!4]!80 x ~@2>").gain(0.45)

// drums · snare
const snare = s("sd").struct(`<
  [~@23 x!2 ~@7]
  [~ x ~ x ~ x ~ x]!51
  [~@4 x ~@7 x ~@7 x ~@6 x!2 ~@3]
  [~ x ~ x ~ x ~ x]!28
  ~@3
>`).gain(0.39)

// drums · hihat
const hihat = s("hh").struct("<[x ~ x ~ x!2 ~@2] [~ x ~ x ~ x ~ x]!80 ~@3>").gain(0.45)

// drums · crash
const crash = s("cr").struct("<~@81 x ~@2>").gain(0.52)

// drums · ride
const ride = s("rd").struct("<~@82 [~ x ~@6] ~>").gain(0.45)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~ [x!16]!48 ~@4 [x!16]!28 ~@3>").gain(1.96)

// drums · triangle
const triangle = s("triangles:35").struct("<~@51 x ~@4 [~@3 x] ~@26 x>").gain(5.05)

// drums · jingle bells
const jingle_bells = s("sleighbells:4").struct("<~ [x!8]!48 ~@4 [x!8]!28 ~@3>").gain(1.67)

// … 9 more lines

More by Chris Rea