Strudelify
Where Have All the Cowboys Gone cover art

Where Have All The Cowboys Gone

Where Have All the Cowboys Gone

Paula Cole

KeyA majorTempo128 bpm
0:00/0:00
// Where Have All the Cowboys Gone — Paula Cole
// 128 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: duplicate parts dropped: ch 8 "Clean Guitar" electric guitar clean (copy of ch 7 "Jazz Guitar" electric guitar jazz); ch 11 "Slow Attack" pad bowed (copy of ch 7 "Jazz Guitar" electric guitar jazz)
// note: Full arrangement: all 122 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/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.

// chords · acoustic guitar steel · "Steel String"
const acoustic_guitar_steel = note(`<
  A B C D C E F G ~@13 H A B C B C E F I@5 ~@11 H A B C B C E J@6 K L M N O@8 ~@13 H A B C B C E F P@8 Q@8 R@5 S@6 T@2 U
  ~
>`.pickRestart({
  A: "[f#3,a3,c#4,f#4]@4 f#3@2 f#3@2 [f#3,a3,c#4,f#4]@2 [f#3,a3,c#4,f#4]@2 f#3 ~ [c#3,g#3,c#4,e4]@2, ~ [a3,c#4,f#4] ~@2", // F#m C#m F#m
  B: "g#3@2 g#3@2 g#3@2 g#3@2 [c#3,g#3,c#4,e4]@2 [c#3,g#3,c#4,e4]@2 g#3 ~ [f#3,a3,c#4,f#4]@2, [c#3,c#4,e4]!2 ~@2", // C#m F#m C#m
  C: "f#3@2 f#3@2 f#3@2 f#3@2 [f#3,a3,c#4,f#4]@2 [f#3,a3,c#4,f#4]@2 f#3 ~ [c#3,g#3,c#4,e4]@2, [a3,c#4,f#4]!2 ~@2", // F#m C#m F#m
  D: "g#3@2 g#3@2 g#3@2 g#3@2 [c#3,g#3,c#4,e4]@2 [c#3,g#3,c#4,e4]@2 f#3 ~ [f#3,a3,c#4,f#4]@2, [c#3,c#4,e4]!2 ~@2", // C#m F#m C#m
  E: "g#3@2 g#3@2 g#3@2 g#3@2 [c#3,g#3,c#4,e4]@2 [c#3,g#3,c#4,e4]@2 g#3 ~ [d3,f#3,a3,e4]@2, [c#3,c#4,e4]!2 ~@2", // C#m D C#m
  F: "f#3@2 f#3@2 f#3@2 f#3@2 [d3,f#3,a3,e4]@2 [d3,f#3,a3,e4]@2 f#3 ~ [e3,g#3,b3,e4]@2, [d3,a3,e4]!2 ~@2", // D E Dsus2
  G: "g#3@2 g#3@2 g#3@2 g#3@2 [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4]@2 [e3,g#3,b3,e4] ~, [e3,b3,e4]!2 ~@2", // E E5
  H: "~@5 [g#3,c#4,e4]!3", // C#m
  I: "[[g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 ~@2 e3@2 ~@10 [f#3,b3,d4,f#4]@2 ~@2 b2@2 ~@10 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 ~@10 [a3,d4,f#4]@2 ~@2 d3@2 ~@6 [g#3,b3,e4,f#4]@2 ~@2 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 [e3,g#3,b3,e4,f#4]@2 [e3,g#3,b3,e4,f#4] ~, e3@3 e3@3 ~ [f#3,b3,d4,f#4]@3 [f#3,b3,d4,f#4]@2 ~ [f#3,b3,d4,f#4]@2 [g#3,c#4,e4,f#4]@3 [g#3,c#4,e4,f#4]@2 ~ [g#3,c#4,e4,f#4]@2 [a3,d4,f#4]@3 [a3,d4,f#4]@2 ~ [a3,d4,f#4]@2 [g#3,b3,e4,f#4]@3 ~@6, ~@2 [g#3,b3,e4,f#4]@2 ~ [g#3,b3,e4,f#4]@2 ~ b2@3 b2@3 ~@2 c#3@3 c#3@3 ~@2 d3@3 d3@3 ~@2 e3@3 e3@3 ~@2]/5", // E Bm C#m D E Bm C#m D …
  J: "[f#3@2 f#3@2 f#3@2 f#3@2 [d3,f#3,a3,e4]@2 [d3,f#3,a3,e4]@2 f#3 ~ [g#3,b3,e4]@2 [g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 e3 ~@11 [f#3,b3,d4,f#4]@2 ~@2 b2@2 ~@10 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 ~@10 [a3,d4,f#4]@2 ~@2 d3@2 ~@10 [g#3,b3,e4,f#4]@2 ~@2 e3@2 g#3 ~, [d3,a3,e4]@4 [d3,a3,e4]@4 ~@6 e3@8 e3@6 ~@2 [f#3,b3,d4,f#4]@6 [f#3,b3,d4,f#4]@4 ~@2 [f#3,b3,d4,f#4]@4 [g#3,c#4,e4,f#4]@6 [g#3,c#4,e4,f#4]@4 ~@2 [g#3,c#4,e4,f#4]@4 [a3,d4,f#4]@6 [a3,d4,f#4]@4 ~@2 [a3,d4,f#4]@4 [g#3,b3,e4,f#4]@6 [g#3,b3,e4,f#4]@4 ~@2 [g#3,b3,e4,f#4]@5 ~, ~@10 [g#3,b3,e4,f#4]@2 ~@4 b2@3 b2@3 ~@2 c#3@3 c#3@3 ~@2 d3@3 d3@3 ~@2 e3@3 e3@3 ~@2]/6", // D E Bm C#m D E Dsus2 Bm …
  K: "[g3,b3,d4]@2 g3!2 [g3,b3,d4,f#4]@2 g3!2, ~ [b3,d4] ~ [b3,d4,f#4]", // G Gmaj7 Bm
  L: "[g3,b3,d4,f#4]@2 g3!2 [g3,b3,d4,f#4]@2 g3!2, ~ [b3,d4,f#4] ~ [b3,d4,f#4]", // Gmaj7 Bm
  M: "[g3,b3,d4,f#4]@3 g3 g3@2 g3@2 [g3,b3,d4,f#4]@4 g3@2 g3@2, ~ [b3,d4,f#4] ~ [b3,d4,f#4]", // Gmaj7 Bm
  N: "[g3,b3,d4,f#4]@4 g3@2 g3@2 [g3,b3,d4,f#4]@4 [g3,b3,d4,f#4]@2 ~ d4, ~@2 [b3,d4,f#4]@2 ~@3 [g3,b3,f#4]", // Gmaj7 Bm Gmaj7
  O: "[[f#3,b3,d4,f#4]@4 ~@4 [f#3,b3,d4,f#4]@2 ~@2 b2@2 ~@10 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 ~@10 [a3,d4,f#4]@2 ~@2 d3@2 ~@10 [g#3,b3,e4,f#4]@2 ~@2 e3@2 ~@10 [f#3,b3,d4,f#4]@2 ~@2 b2@2 ~@10 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 ~@10 [a3,d4,f#4]@2 ~@2 d3@2 ~@6 [g#3,b3,e4,f#4]@2 ~@2 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4] ~, b2@3 b2@3 ~@2 c#3@3 c#3@3 ~@2 d3@3 d3@3 ~@2 e3@3 e3@3 ~ [f#3,b3,d4,f#4]@3 [f#3,b3,d4,f#4]@2 ~ [f#3,b3,d4,f#4]@2 [g#3,c#4,e4,f#4]@3 [g#3,c#4,e4,f#4]@2 ~ [g#3,c#4,e4,f#4]@2 [a3,d4,f#4]@3 [a3,d4,f#4]@2 ~ [a3,d4,f#4]@2 [g#3,b3,e4,f#4]@3 ~@6, ~@4 [f#3,b3,d4,f#4]@4 ~@2 [f#3,b3,d4,f#4]@4 [g#3,c#4,e4,f#4]@6 [g#3,c#4,e4,f#4]@4 ~@2 [g#3,c#4,e4,f#4]@4 [a3,d4,f#4]@6 [a3,d4,f#4]@4 ~@2 [a3,d4,f#4]@4 [g#3,b3,e4,f#4]@6 [g#3,b3,e4,f#4]@4 ~@2 [g#3,b3,e4,f#4]@4 ~@2 b2@6 b2@6 ~@4 c#3@6 c#3@6 ~@4 d3@6 d3@6 ~@4 e3@6 e3@9 ~]/8", // Bm C#m D E Bm C#m D E …
  P: "[[g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 e3 ~ [a3,c#4,f#4]@2 [a3,c#4,f#4]@4 ~@4 [a3,c#4,f#4]@2 [a3,c#4,f#4]@2 f#2 ~ [g#3,c#4,e4]@2 [g#3,c#4,e4]@4 ~@4 [g#3,c#4,e4]@2 [g#3,c#4,e4]@2 c#3 ~ [a3,c#4,f#4]@2 [a3,c#4,f#4]@4 ~@4 [a3,c#4,f#4]@2 [a3,c#4,f#4]@2 f#2 ~ [g#3,c#4,e4]@2 [g#3,c#4,e4]@4 ~@4 [g#3,c#4,e4]@2 [g#3,c#4,e4]@2 c#3 ~ [a3,c#4,f#4]@2 [a3,c#4,f#4]@4 ~@4 [a3,c#4,f#4]@2 [a3,c#4,f#4]@2 f#2 ~ [g#3,c#4,e4]@2 [g#3,c#4,e4]@4 ~@4 [g#3,c#4,e4]@2 ~@2 c#3@2 e4 e4@5 ~@4 [f#3,a3,e4]@2 [f#3,a3,e4]@2 d3 ~ [e3,g#3,b3,e4]@2, e3@3 e3@3 ~ f#2@4 f#2@3 ~ c#3@4 c#3@3 ~ f#2@4 f#2@3 ~ c#3@4 c#3@3 ~ f#2@4 f#2@3 ~ c#3@4 c#3@3 ~ d3@4 d3@3 ~@2, ~@4 [g#3,b3,e4,f#4]@4 ~@12 [a3,c#4,f#4]@4 ~@12 [g#3,c#4,e4]@4 ~@12 [a3,c#4,f#4]@4 ~@12 [g#3,c#4,e4]@4 ~@12 [a3,c#4,f#4]@4 ~@12 [g#3,c#4,e4]@4 ~@2 [g#3,c#4,e4]@4 d4@15 ~@3, ~@55 [f#3,a3]@3 [f#3,a3,e4]@2 ~@4]/8", // E F#m C#m F#m C#m F#m C#m F#m7 …
  Q: "[[g#3,b3,e4]@4 ~@4 [g#3,b3,e4]@2 [g#3,b3,e4]@2 e3 ~ [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 ~@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 b2 ~ [g#3,c#4,e4,f#4]@2 [g#3,c#4,e4,f#4]@4 ~@4 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 [a3,d4,f#4]@2 [a3,d4,f#4]@4 ~@4 [a3,d4,f#4]@2 [a3,d4,f#4]@2 d3 ~ [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 e3 ~ [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 ~@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 b2 ~ [g#3,c#4,e4,f#4]@2 [g#3,c#4,e4,f#4]@4 ~@4 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 [a3,d4,f#4]@2 [a3,d4,f#4]@4 ~@4 [a3,d4,f#4]@2 [a3,d4,f#4]@2 d3 ~ [e3,g#3,b3,e4,f#4]@2, ~@2 [g#3,b3,e4]@2 ~@6 [f#3,b3,d4,f#4]@2 ~@6 [g#3,c#4,e4,f#4]@2 ~ [g#3,c#4,e4,f#4]@2 ~@3 [a3,d4,f#4]@2 ~@6 [g#3,b3,e4,f#4]@2 ~@6 [f#3,b3,d4,f#4]@2 ~@6 [g#3,c#4,e4,f#4]@2 ~ [g#3,c#4,e4,f#4]@2 ~@3 [a3,d4,f#4]@2 ~@4, ~@3 e3@3 ~ b2@4 b2@3 ~ c#3@4 c#3@3 ~ d3@4 d3@3 ~ e3@4 e3@3 ~ b2@4 b2@3 ~ c#3@4 c#3@3 ~ d3@4 d3@3 ~@2]/8", // E Bm C#m D E Bm C#m D …
  R: "[[g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 e3 ~ [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 ~@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 b2 ~ [g#3,c#4,e4,f#4]@2 [g#3,c#4,e4,f#4]@4 ~@4 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 [a3,d4,f#4]@2 [a3,d4,f#4]@4 ~@4 [a3,d4,f#4]@2 [a3,d4,f#4]@2 d3 ~ [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 e3 ~ [b2,f#3,b3,d4,f#4]@2, ~@2 [g#3,b3,e4,f#4]@2 ~@6 [f#3,b3,d4,f#4]@2 ~@6 [g#3,c#4,e4,f#4]@2 ~ [g#3,c#4,e4,f#4]@2 ~@3 [a3,d4,f#4]@2 ~@6 [g#3,b3,e4,f#4]@2 ~@4, ~@3 e3@3 ~ b2@4 b2@3 ~ c#3@4 c#3@3 ~ d3@4 d3@3 ~ e3@4 e3@3 ~@2]/5", // E Bm C#m D E Bm E Bm …
  S: "[[f#3,b3,d4,f#4]@4 ~@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 b2 ~ [g#3,c#4,e4,f#4]@2 [g#3,c#4,e4,f#4]@4 ~@4 [g#3,c#4,e4,f#4]@2 ~@2 c#3@2 [f#3,a3,d4]@2 [f#3,a3,d4,f#4]@4 ~@4 [f#3,a3,d4,e4,f#4]@2 ~@2 d3@2 [g#3,b3,e4,f#4] ~ [g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@2 e3 ~ [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 ~@4 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 b2 ~ [g#3,c#4,e4,f#4]@2 [g#3,c#4,e4,f#4]@4 ~@4 [g#3,c#4,e4,f#4]@2 [g#3,c#4,e4,f#4]@2 c#3 ~ [d3,f#3,a3,d4,f#4]@2, b2@3 b2@3 ~ c#3@4 c#3@3 ~ d3@4 d3@3 ~ e3@4 e3@3 ~ b2@4 b2@3 ~ c#3@4 c#3@3 ~@2, ~@4 [f#3,b3,d4,f#4]@4 ~@12 [g#3,c#4,e4,f#4]@4 ~@2 [g#3,c#4,e4,f#4]@4 f#4 ~@5 [f#3,a3,d4,e4,f#4]@4 ~@2 [f#3,a3,d4,e4,f#4]@4 ~@6 [g#3,b3,e4,f#4]@4 ~@12 [f#3,b3,d4,f#4]@4 ~@12 [g#3,c#4,e4,f#4]@4 ~@8]/6", // Bm C#m D E Bm C#m D Bm …
  T: "[[f#3,a3,d4,f#4]@4 ~@4 [f#3,a3,d4,e4,f#4]@2 [f#3,a3,d4,e4,f#4]@2 d3 ~ [g#3,b3,e4,f#4]@2 [g#3,b3,e4,f#4]@4 ~@4 [g#3,b3,e4,f#4]@2 ~@2 e3@4, d3@3 d3@3 ~ e3@4 e3@3 ~@2, ~@2 [f#3,a3,d4,e4,f#4]@2 ~@6 [g#3,b3,e4,f#4]@2 ~ [g#3,b3,e4,f#4]@3]/2", // D E D E
  U: "[f#3,a3,c#4,f#4]@13 ~@3", // F#m
})).s("gm_acoustic_guitar_steel").gain(0.22)

// bass · electric bass pick · "Bass"
const bass = note(`<
  A B A B A B C D ~@10 E F G H A B A B A B C I J B C I ~@8 K L M H A B A B A B C I J B C I N O P O J B C I J B C D ~@10
  E F G Q A B A B A B C I A B A B A B C I R B C I J B C I J B C I J B C I J B C I S ~
>`.pickRestart({
  A: "f#1@4 ~@2 f#1 ~ f#1@4 ~@4", B: "c#2@4 ~@2 c#2 ~ c#2@4 ~@4", C: "d2@4 ~@2 d2 ~ d2@4 ~@4", D: "e2@4 ~@2 e2 ~ e2@8",
  E: "g1", F: "a1", G: "b1", H: "c#2@7 ~", I: "e2@4 ~@2 e2 ~ e2@4 ~@4", J: "b1@4 ~@2 b1 ~ b1@4 ~@4", K: "g1@7 ~",
  L: "a1@7 ~", M: "b1@7 ~", N: "g1@5 ~ g1 ~ g1@4 ~@4", O: "g1@5 ~ g1 ~ g1@5 ~@3", P: "g1@4 ~@2 g1 ~ g1@6 ~@2",
  Q: "c#2@15 ~", R: "b1@3 ~ b1@2 ~@2", S: "f#2@11 ~@5",
})).s("gm_electric_bass_pick").gain(0.26)

// chords · pad bowed · "Slow attack"
const pad_bowed = note(`<
  A B A B A B C@2 ~@10 D E F G H I J@2 K@2 L M N O@2 P ~@8 Q ~@3 R S@3 T@2 U V W@4 ~@3 X@2 Y Z@2 AA@2 AB AC ~@52
>`.pickRestart({
  A: "[c#4,f#4,a4]@3 ~", B: "[g#4,c#5,e5]@3 ~", C: "[[d4,f#4,a4]@13 ~@2 [b3,g#4]@12 ~@5]/2", D: "~@3 a3@2 d4@3, ~ g3@3",
  E: "c#4@13 ~@3", F: "b3@13 ~@3", G: "g#3@11 ~@5", H: "[c#4,f#4]@3 ~", I: "c#5@3 ~",
  J: "[[c#4,f#4,a4]@12 ~@3 c#5@13 ~@4]/2", K: "[~@15 [g#4,c#5,e5]@13 ~@4]/2", L: "[f#4,a4]@3 ~", M: "[b3,e4,g#4]@3 ~",
  N: "c#5", O: "[~@4 f#4@3 ~, f#5@21 ~@11]/2", P: "g#4@11 ~@5", Q: "[d5,a5]@11 ~@5", R: "[c#4,f#4,a4]@13 ~@3, g#4 ~@15",
  S: "[[g#4,c#5,e5]@13 ~@2 [c#4,f#4,a4]@13 ~@3 [g#4,c#5,e5]@13 ~@4]/3", // C#m F#m C#m
  T: "[[c#4,f#4,a4]@12 ~@3 [g#4,c#5,e5]@12 ~@5]/2", U: "[a3,e4]@3 ~", V: "[e4,b4]@11 ~@5",
  W: "[~@7 c#5@9 f#5@8 f#4@21 ~@2 [b3,e4,g#4]@11 ~@6, ~@7 f#4@15 ~@42]/4", // E
  X: "[~@16 b3@13 ~@3, ~@15 [d4,f#4]@14 ~@3]/2", Y: "[c#4,e4,g#4]@15 ~", Z: "[f#4@7 ~ f#4@7 ~, ~@15 [b3,e4]@14 ~@3]/2",
  AA: "[[d4,f#4]@15 ~ f#3@7 ~@9, ~@15 [c#4,f#4]@15 ~@2]/2", AB: "[a3,d4,f#4]@15 ~", AC: "[b3,e4,f#4]@7 ~",
})).s("gm_pad_bowed").gain(0.14).pan(1)

// chords · pad bowed · "Slow attack" · soft notes
const pad_bowed_soft = note("<~@6 A@2 ~@14 B C D@2 E ~ F ~ G@2 H@2 ~@9 I ~@22 J ~@55>".pickRestart({
  A: "[~@15 e4@12 ~@5]/2", B: "a4@3 ~", C: "[g#4,e5]@13 ~@3", D: "[~@15 [g#4,e5]@13 ~@4]/2", E: "[c#4,f#4,a4]@3 ~",
  F: "d4@3 ~", G: "f#4/2", H: "[~@8 e4@5 ~@3, ~@15 b3@10 ~@7]/2", I: "[a4,e5]@13 ~@3", J: "b3@15 ~",
})).s("gm_pad_bowed").gain(0.07).pan(1)

// chords · electric guitar jazz · "Jazz Guitar"
const electric_guitar_jazz = note(`<
  ~@4 A B C ~@11 D E F G H I J K J L@3 M C M N ~@8 D E F O@3 J P@2 I Q@3 F R S T@2 U V W X Y Z AA AB AC AD ~@10 D E F AE
  AF AG J AH@2 AG AI AJ@2 AK AL AM AL AN AO AP AQ@2 AR AS@4 AT@2 AU AV AW@7 AX@2 AY@2
>`.pickRestart({
  A: "[c#4,f#4,a4]", B: "~@5 a3@3", C: "f#3", D: "~@5 d4@3, ~ g3@3, ~@3 a3@5", E: "c#4", F: "b3", G: "g#3@15 ~",
  H: "~@5 a4@3, ~ c#4@3, ~@3 f#4@5", I: "~@3 e4@5, g#4", J: "~@5 a4@3, ~@3 c#4@5", K: "~@10 e4@5 ~, g#4, ~@6 c#4@9 ~",
  L: "[~@6 e4@4 ~@22 f#3@13 ~@3, g#4@16 f#4@29 ~@3, ~@5 c#4@16 ~@3]/3", M: "~@5 f#4@3, ~@3 c#4@5", N: "g#4@13 ~@3",
  O: "[~@26 a4@5 ~@7 e4@10, g#3@9 ~@7, ~@10 c#4@12 c#4@25 ~, ~@14 f#4@13 ~@5 g#4@16]/3",
  P: "[~@6 c#4@5 ~@2 a4@3, g#4@11 ~@5, ~@3 e4@8 c#4@5]/2", Q: "[~@2 a3, f#4@6 f#4@6 f#4@5 ~@7, ~ c#4@2 b3@2 c#4@3]/3",
  R: "d3@8 e3@7 ~", S: "e3@8 b2@7 ~", T: "[b2@3 [b3,d4]]/2", U: "[a3,c#4] [g3,b3]", V: "[f#3,a3] [e3,g3]",
  W: "~@3 f#4@5, d3@15 ~, ~@2 f#3@13 ~, ~ b3@3", X: "~@10 e4@5 ~, e3@15 ~, ~@2 g#3@13 ~, ~@4 c#4@11 ~, ~@6 g#4@9 ~",
  Y: "~@6 a4@9 ~, a3@15 ~, ~@2 d4@13 ~, ~@4 e4@11 ~", Z: "~@5 a4@2 ~, b3@7 ~, ~ e4@6 ~, ~@2 f#4@5 ~, ~@6 b4@7 ~@3",
  AA: "~@3 d4, ~ b3@7, ~@3 b4@5, ~@5 f#4@3", AB: "~@12 g#4@3 ~, ~@4 c#4@11 ~, ~@10 c#5@5 ~",
  AC: "~@5 a4@2 ~, ~@3 a3@11 ~@2, ~@4 d4@9 ~@3, ~@3 e4@4 ~",
  AD: "~@10 b4@3 ~@3, g#3@13 ~@3, ~@2 b3@11 ~@3, ~@4 e4@9 ~@3, ~@6 f#4@7 ~@3", AE: "g#4@15 ~", AF: "~ [f#4,a4]",
  AG: "e4@2 ~@3 c#4@3, g#4, ~@3 e4@5", AH: "[~@3 c#4@3 g#3 f#3@5 [f#4,a4]@4, g#4@3 ~@5]/2", AI: "f#4@15 ~",
  AJ: "[~@5 f#4@2 f#4@6 [f#4,a4]@3, b3@13 ~@3, ~@2 e4@13 ~@17, ~@2 f#4@3 ~@11, ~@3 b4@10 ~@3]/2", // F#m
  AK: "~@3 e4, b4, e4@3 ~, ~@3 g#4@5", AL: "~@5 f#4@3, ~@3 [c#4,a4]@5", AM: "~@3 e4@4 ~, [c#4,g#4]@7 ~",
  AN: "~@10 b4@5 ~, [c#4,g#4]@15 ~, ~@6 e4@9 ~", AO: "~@10 e4@5 ~, ~@4 a3@11 ~, ~@6 d4@9 ~",
  AP: "~@3 b4@5, b3, ~ e4@7, ~ f#4@3", AQ: "[~@18 f#4@13 ~, a4@31 ~, f#4@9 ~@7, ~@6 c#5@25 ~, ~@12 c#4@19 ~]/2",
  AR: "~@5 a4@3, a3, ~ d4@3, ~@3 e4@5",
  AS: "[~@3 e4@3 ~@23 f#4@3, g#4@8 f#4@16 f#4@5 ~@3, ~@6 c#4@16 ~@5 c#4@5, ~ c#5]/4",
  AT: "[~@5 b3@2 ~@4 [f#4,a4]@5, g#4@11 ~@5, ~@3 e4@4 c#4@9]/2", AU: "[e4,g#4]@15 ~", AV: "[f#4,a4]",
  AW: "[e4@2 ~ e4@3 ~@39 f#4@2 ~@6 e4@2 f#4, g#4@12 f#4@14 f#4@8 f#4@8 f#4@8 f#4@8 f#4@8 f#4@8 f#4@6 ~@2 f#4@8 ~@4 g#4@8 g#4@9 ~, ~@20 c#5@10 c#5@8 c#5@8 c#5@8 c#5@8 b4@8 b4@25 ~@17, ~@78 a4@8 a4@9 ~@3 e4@8 ~@6]/7",
  AX: "[~@26 e4@5 ~, ~ d4@4 d4@11, ~@3 f#4@4 g#4@4 g#4@5, ~@9 e4@4 ~@3]/2",
  AY: "[~@14 c#5@15 ~@3, c#4@29 ~@3, ~@4 f#4@25 ~@3, ~@6 g#4@23 ~@3, ~@10 a4@19 ~@3]/2",
})).s("gm_electric_guitar_jazz").gain(0.22).pan(0.6)

// chords · acoustic guitar steel · "Steel String"
const acoustic_guitar_steel_2 = note("<~@17 A@5 ~@19 B@5 ~@33 C@5 ~@38>".pickRestart({
  A: "[~@16 f#4@13 ~@3 e4@14 ~@2 f#4@14 ~@2 [e4,g#4]@8 ~@8, ~@14 g3@15 ~@2 [a3,c#4]@15 f#3@16 ~@18, ~@15 [b3,d4]@14 ~@18 [b3,d4]@15 ~ c#4@9 ~@8]/5", // E A Bm
  B: "[~@16 [d4,f#4]@13 ~@3 [c#4,e4]@14 ~@2 [d4,f#4]@13 ~@3 g#4@9 ~@7, ~@15 [g3,b3]@14 ~ e3@15 ~ f#3@14 ~@2 g#3@11 ~@7, ~@31 a3@15 ~ b3@13 ~@3 [c#4,e4]@10 ~@7]/5", // D C#m D G C#m
  C: "[~@16 f#4@15 ~ [c#4,e4]@15 ~@17 [e4,g#4]@11 ~@5, ~@14 g3@16 ~ a3@16 ~ [d4,f#4]@15 c#4@12 ~@5, ~@15 [b3,d4]@16 ~@16 b3@15 g#3@12 ~@6]/5", // C#m E D Bm
})).s("gm_acoustic_guitar_steel").gain(0.25)

// chords · acoustic guitar steel · "Steel String" · soft notes
const acoustic_guitar_steel_3 = note("<~@18 A@2 B@2 ~@58 C@3 ~@39>".pickRestart({
  A: "[g4 ~@13 e3@16 ~@2]/2", B: "[~@7 g#3@5 ~@4]/2", C: "[~@15 e3@15 f#3@17 ~]/3",
})).s("gm_acoustic_guitar_steel").gain(0.15)

// chords · rock organ · "Organ 3"
const rock_organ = note(`<
  A@2 B@2 C@2 D E ~@10 F G H I@3 J@2 K@3 L@2 M D E ~@8 F N H O@3 J@4 P Q@4 R@8 S@4 E ~@10 F N H O@3 J@2 T@3 E J@4 U@3
  S@20 V W ~
>`.pickRestart({
  A: "[[f#5,a5]@16 [e5,g#5]@7 ~ [c#6,e6]@7 ~, c#5@22 ~@2 f6 ~@7]/2", B: "[[f#5,a5]@2 [e5,g#5] [c#6,e6], c#5@11 ~@5]/2",
  C: "[[f#5,a5]@15 ~ g#5@16, c#5@15 ~, ~@8 e5@7 ~]/2", D: "[a4,d5,f#5]", E: "[b4,e5,g#5]@15 ~", F: "[g4,b4,d5]",
  G: "~ [a4,c#5]@15, e4, ~ d4 ~@14", H: "[f#4,b4,d5]", I: "[[e4,g#4]@2 [f#5,a5]@2 [e5,g#5] [c#6,e6], c#5@3 ~]/3",
  J: "[[f#5,a5]@2 [e5,g#5] [c#6,e6], c#5@3 ~]/2", K: "[[f#5,a5] [e5,g#5] [d5,f#5,a5], c#5@11 ~@5]/3",
  L: "[[e5,g#5] [d5,f#5], b4]/2", M: "[c#5,e5,g#5]", N: "[e4,a4,c#5]",
  O: "[[e4,g#4]@2 [f#5,a5]@2 [e5,g#5] [c#6,e6], c#5@5 ~]/3", P: "[d5,f#5,a5]",
  Q: "[g#5 d5 [g#4,c#5] [a4,d5], b4 ~, e5@7 ~ f#5@24]/4", // C#5 D5
  R: "[[e5,g#5] ~@5 [g#4,c#5] [a4,d5], b4@3 ~, ~@16 d5@79 ~@33, ~ g4@4 ~@3, ~@3 f#5@5]/8", // E C#5 D5
  S: "[[e5,g#5] d5 [g#4,c#5] [a4,d5], b4 ~, ~ f#5@3]/4", T: "[[f#5,a5] g#5 [d5,f#5,a5], c#5@11 ~@5, ~ e5@2]/3",
  U: "[[f#5,a5] [e5,g#5] [a4,d5,f#5], c#5@11 ~@5]/3", V: "[b4,e5,g#5]", W: "[a4,c#5,f#5]@7 ~@9",
})).s("gm_rock_organ").gain(0.06).pan(1)

// drums · kick
const kick = s("bd").struct("<[x ~@3 x!2 ~@2]!120 ~@2>").gain(0.43)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!120 ~@2>").gain(0.57)

// drums · hihat
const hihat = s("hh").struct("<[x!7 ~]!120 ~@2>").gain(0.43)

// drums · open hat
const open_hat = s("oh").struct("<[~@7 x]!120 ~@2>").gain(0.36)

// drums · shaker
const shaker = s("sh").struct("<[x!8]!120 ~@2>").gain(0.36)

stack(
  acoustic_guitar_steel, bass, pad_bowed, pad_bowed_soft, electric_guitar_jazz, acoustic_guitar_steel_2,
  acoustic_guitar_steel_3, rock_organ, kick, snare, hihat, open_hat, shaker
)

More by Paula Cole