Strudelify
Crying cover art

Black & White Night

Crying

Roy Orbison

KeyE majorTempo90 bpm
0:00/0:00
// Crying — Roy Orbison
// 90 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 87 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/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.

// bass · fretless bass
const bass = note(`<
  A@6 B C D E B F G B H B H I G I J K L M N K O J@2 P Q R@4 O L S T O U V W O X O X Y J Z W AA@2 AB Q R@2 O AC D T O@2
  J@2 AD X O AE Z W Z J AD AF M N AD@2 U AG Z W U AH AI AJ
>`.pickRestart({
  A: "e2@3 g#2 b2@2 b1@2", B: "e2@6 g#2@2 b2@3 ~ b2@4", C: "e2@6 g#2@2 c3@3 ~ c3@4", D: "a2 ~@7",
  E: "a2@5 ~ a2 ~ a2@3 ~ a2@4", F: "b1@6 d#2@2 f#2@3 ~ f#2@3 ~", G: "b1@3 d#2 f#2 ~ f#2@2",
  H: "g#2@6 b2@2 d#3@3 ~ d#3@4", I: "a1@3 c#2 e2 ~ e2@2", J: "b1@3 d#2 f#2 ~ f#2 ~", K: "e2@3 g#2 b2 ~ b2@2",
  L: "e2@3 g#2 c3 ~ c3 ~", M: "a2@3 b2 c#3 ~ c#3 ~", N: "a2@3 b2 c3 ~ c3 ~", O: "e2@3 g#2 b2 ~ b2 ~",
  P: "e2@3 g#2 b2 ~ b1@2", Q: "e2@6 g#2@2 b2 ~@3 b1@2 ~@2", R: "e2@3 g#2 b2 ~ b1 ~", S: "a2 ~@3",
  T: "a2@5 ~ a2 ~ a2@2 ~@2 a2@2 ~@2", U: "e2@6 g#2@2 b2@2 ~@2 b2 ~@3", V: "b1@6 d#2@2 f#2 ~@3 f#2 ~@3",
  W: "b1@6 d#2@2 f#2 ~@3 f#2@2 ~@2", X: "g#2@6 b2@2 d#3@2 ~@2 d#3 ~@3", Y: "a1@6 c#2@2 e2 ~@3 e2@2 ~@2",
  Z: "a1@3 c#2 e2 ~ e2 ~", AA: "e2@6 g#2@2 b2 ~@3 b2@2 ~@2", AB: "e2@6 g#2@2 b2 ~@3 b1@4",
  AC: "e2@6 g#2@2 c3@2 ~@2 c3@3 ~", AD: "e2@6 g#2@2 b2 ~@3 b2 ~@3", AE: "g#2@6 b2@2 d#3 ~@3 d#3 ~@3",
  AF: "e2@6 g#2@2 c3 ~@3 c3@2 ~@2", AG: "c#2@3 e2 g#2 ~ g#2 ~", AH: "e2@5 ~ e2@2 a1@2 ~@2 a1@3 ~",
  AI: "e2@4 ~@2 e2 ~ e2@2 ~@2 e2@2 ~@2", AJ: "e2@5 ~ e2 ~ e2@2 ~@6",
})).s("gm_fretless_bass").gain(0.48)

// chords · epiano1
const epiano1 = note(`<
  A@6 B C D E F G@2 B H F I J K J L M N O P Q M R@2 A@6 B S D T U@2 V@2 B I F I J K J L A@6 B S D E U@2 V@2 B H F I J K
  J L M N O P M@3 W X R Y Z M AA
>`.pickRestart({
  A: "[~@8 [e5,g#5,b5]@13 ~@3 [e5,g#5,b5]@13 ~@3 [e5,g#5,b5]@12 ~@4 [e5,g#5,b5]@13 ~@3 [e5,g#5,b5]@13 ~@3 [e5,g#5,b5]@7 ~]/6", // E
  B: "[e5,g#5,b5]@15 ~", C: "[e5,g#5,c6]@7 ~", D: "[e5,a5,c#6] ~@7", E: "[e5,a5,c6]@15 ~", F: "[e5,g#5,b5]@7 ~",
  G: "[[d#5,f#5,b5]@31 ~]/2", H: "[g#5,b5,d#6]@7 ~", I: "[g#5,b5,d#6]@15 ~", J: "[e5,a5,c#6]@7 ~",
  K: "[d#5,f#5,b5]@15 ~", L: "[d#5,f#5,b5]",
  M: "[g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5", // G#m
  N: "[g#5,c6] e5 [g#5,c6] e5 [g#5,c6] e5 [g#5,c6] e5 [g#5,c6] e5 [g#5,c6] e5 [g#5,c6] e5 [g#5,c6] e5", // G#
  O: "[a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 c#6 e5, ~@7 a5", // A
  P: "[a5,c6] [e5,a5] [a5,c6] e5 [a5,c6] e5 [a5,c6] e5 [a5,c6] e5 [a5,c6] e5 [a5,c6] e5 [a5,c6] e5", // Am A5 Am
  Q: "[g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] ~ [g#5,b5] e5, ~@13 e5@2 ~", // G#m
  R: "[f#5,b5] d#5 [f#5,b5] d#5 [f#5,b5] d#5 [f#5,b5] d#5 [f#5,b5] d#5 [f#5,b5] d#5 [f#5,b5] d#5 [f#5,b5] d#5", // B5
  S: "[e5,g#5,c6]@15 ~", T: "[e5,a5,c6]@7 ~", U: "[[e5,g#5,b5]@15 ~]/2", V: "[d#5,f#5,b5]/2",
  W: "[g#5,c#6] e5 [g#5,c#6] e5 [g#5,c#6] e5 [g#5,c#6] e5 [g#5,c#6] e5 [g#5,c#6] ~ [g#5,c#6] e5 [g#5,c#6] e5, ~@11 e5@2 ~@3", // C#5
  X: "[a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5", // A
  Y: "[g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 b5 [f#5,a5] [a5,b5] f#5 [a5,b5] f#5 [a5,b5] f#5", // G#m F#m Asus2
  Z: "[g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5 [a5,c#6] e5", // G#m A
  AA: "[g#5,b5] e5 [g#5,b5] e5 [g#5,b5] e5 [g#5,b5] ~ [g#5,b5] ~@7, ~@7 e5@2 ~@7", // G#m
})).s("gm_epiano1").gain(0.36)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  A@2 B A@2 C D E F@2 G H@3 I J K L M N O A P Q R@3 S@3 A@5 T U V@2 W@2 X Y@2 Z AA AB AC AD AE AF A D AG A@3 T U V@2 W@2
  X AH@2 Z AA AB AC AD AE AF AI AJ AK AL T AM@2 AN AO AP AQ AR AS AT
>`.pickRestart({
  A: "[e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2", // E
  B: "[e3,b3,e4,g#4]@2 [e3,b3,e4]!2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2, ~ g#4 ~@2", // E E5 E
  C: "[e3,b3,e4,g#4]@2 [b3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2, ~ e3 ~@2", // E
  D: "[e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [b3,e4,g#4]!2, ~@3 e3", // E
  E: "[e3,c4,e4,g#4]@4 [e3,c4,e4,g#4]@2 [e3,c4,e4,g#4]@2 [c4,e4,g#4]@4 [c4,e4,g#4]@2 [c4,e4] ~, ~@3 e3", // Eaug Caug C
  F: "[[a2,c#3,e3,a3,e4,a4] ~@7 [c3,e3,a3,e4,a4]@2 [a2,c3,e3,a3,e4,a4]!2 [c3,e3,a3,e4,a4]@2 [c3,e3,a3,e4,a4]!2, ~@15 a2@4 ~@5 a2@7 ~]/2", // A Am
  G: "[e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [b3,e4,g#4] ~", // E
  H: "[[b2,f#3,b3,d#4]@4 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@4 [b2,f#3,b3]@2 [f#3,b3]@2 [f#3,b3,d#4]@4 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,c#4,d#4]@2 [b2,f#3,b3,d#4]@4 [b2,f#3,b3,d#4]@2 [f#3,b3,d#4] ~ [e3,b3,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4] ~, ~@3 d#4 ~@8, ~@7 b2@3 ~@5 b2@4 ~@3 e3@2]/3", // B B5 B E
  I: "[g#2,d#3,g#3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]!2 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4] g#3", // G#5 G#m
  J: "[e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4] ~, b2", // E
  K: "[g#2,d#3,g#3,b3,d#4,g#4]@4 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]@4 [g#2,d#3,g#3,b3,d#4]@2 [d#3,g#3,b3,d#4,g#4] ~, ~@12 g#4 ~@3", // G#m
  L: "[a2,c#3,e3,a3]@3 [a2,c#3,e3,a3,e4,a4]@2 ~ [e4,a4]@2 [c#3,e3,a3,e4,a4]@4 [c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4]@2, ~@5 a2@6 ~@5, ~@5 [c#3,e3,a3]@2 ~@9", // A A5 A
  M: "[b2,f#3,b3]@4 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@4 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4] ~", // B5 B
  N: "[a2,c#3,a3,e4,a4]@4 [a2,c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4]@4 [c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4] ~, ~@8 a2@7 ~", // A
  O: "[b2,f#3,b3,d#4]@4 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@4 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4] ~", // B
  P: "[c4,e4,g#4]@4 [e3,c4,e4,g#4]@2 [e3,c4,e4,g#4]@2 [e3,c4,e4,g#4]@4 [e3,c4,e4,g#4]@2 [e3,c4,e4,g#4] ~", // Caug Eaug
  Q: "[a2,c#3,e3,a3,e4,a4]@3 ~ [e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@4 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2, ~@3 [a2,c#3]@2 ~@11", // A A5 A
  R: "[[a2,c3,e3,e4,a4]@4 [a2,c3,e3,a3,e4,a4]@2 [a2,c3,e3,a3,e4,a4]@2 [a2,c3,e3,a3,e4,a4]@4 [a2,c3,e3,a3,e4,a4]@2 [e3,a3,e4,a4]@2 [e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@4 [e3,b3,e4,g#4] ~@3, a3 ~@13 b2@6 b2@15 ~@13]/3", // Am A5 E
  S: "[[f#3,b3,d#4]@2 [d#4,f#4] [f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]!2 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]!2 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4] ~ [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2, b2@2 ~ b2@2 b2@4 ~@3]/3", // B D#m B E
  T: "[b3,e4,g#4]@2 [b3,e4,g#4] [e3,b3,e4,g#4] [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2, e3@3 ~@5", // E
  U: "[e3,c4,e4,g#4]@2 [e3,c4,e4,g#4]!2 [e3,c4,e4,g#4]@2 [c4,e4,g#4] ~, ~@3 e3", // Eaug Caug
  V: "[[a2,c#3,e3,a3,e4] ~@7 [c3,e3,a3,e4,a4]@2 [a2,c3,e3,a3,e4,a4]!2 [c3,e3,a3,e4,a4]@2 [c3,e3,a3,e4,a4] [e3,a3,e4,a4], ~@15 a2@4 ~@5 a2@7 ~]/2", // A Am A5
  W: "[[b3,e4,g#4]@2 [b3,e4,g#4]!2 [b3,e4,g#4]@2 [e3,b3,e4,g#4] [b3,e4,g#4] [b3,e4,g#4]@2 [e3,b3,e4,g#4] [b3,e4,g#4] [b3,e4,g#4]@2 [e3,b3,e4,g#4]!2, e3@3 e3@3 ~ e3@3 ~ e3@3 ~@2]/2", // E
  X: "[f#3,b3,d#4]@2 [f#3,b3,d#4]!2 [f#3,b3,d#4]@2 [f#3,b3,d#4]!2, b2@3 b2@5", // B
  Y: "[[b2,f#3,b3]@2 [f#3,b3,d#4]!2 [f#3,b3,d#4]@2 [f#3,b3,d#4] ~ [e3,b3,e4,g#4]@2 [e3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [b3,e4,g#4] ~, ~ b2 b2@3 b3 ~ e3]/2", // B5 B E
  Z: "[g#2,d#3,g#3,d#4,g#4]@4 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]@2 [d#3,g#3,b3,d#4,g#4]@4 [d#3,b3,d#4,g#4]@2 [g#3,b3,d#4,g#4] ~", // G#5 G#m
  AA: "[e3,b3,e4,g#4]@2 [e3,b3,e4,g#4] [b3,e4,g#4] [e3,b3,e4,g#4]@2 [b3,e4,g#4] ~, b2@11 ~ e3@4", // E
  AB: "[d#3,g#3,b3,d#4,g#4]@3 [d#3,g#3,b3,d#4,g#4]@2 ~ g#4 [d#3,g#3,b3,d#4,g#4]@4 ~ [g#3,b3,d#4,g#4]@2 [d#3,g#3,b3,d#4,g#4] ~, ~@5 [g#2,d#3,g#3,b3,d#4]@2 g#2 ~@3 [g#2,d#3]@2 ~@3", // G#m G#5
  AC: "[a2,c#3,e3,a3,e4]@3 [a2,c#3,e3,a3,e4,a4]@2 ~@2 a2 [c#3,e3,a3,e4,a4]@4 [c#3,e3,a3,e4]@2 [c#3,e3,a3,e4]@2, ~@5 [c#3,e3,a3,e4]@2 ~@9, ~@3 a4 ~@2 a4@2", // A
  AD: "[f#3,b3,d#4]@4 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@4 [b2,f#3,b3,d#4,g#4]@2 [f#3,b3,d#4] ~", // B G#m7 B
  AE: "[a2,c#3,e3,a3,e4,a4]@4 [a2,c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4]@4 ~ a3 [c#3,e3,a3,e4,a4] ~, ~@3 a2@3 [c#3,e3,a3,e4,a4] ~", // A
  AF: "[b2,f#3,b3,d#4]@4 [b2,f#3,b3]@2 [b2,f#3,b3]@2 [b2,f#3,b3,d#4]@4 [f#3,b3,d#4]@2 [f#3,b3,d#4] ~, ~ d#4 ~@2", // B B5 B
  AG: "[b3,e4,g#4]@2 [e3,b3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2, e3 ~@15", // E
  AH: "[[b2,f#3,b3]@2 [f#3,b3,d#4]!2 [f#3,b3,d#4]@2 [f#3,b3,d#4] ~ [e3,b3,e4,g#4]@2 [e3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4] ~, ~ b2 b2@3 b3 ~@2]/2", // B5 B E
  AI: "[e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2, b2@7 ~", // E
  AJ: "[e3,c4,e4,g#4]@4 [e3,c4,e4,g#4]@2 [e3,c4,e4,g#4]@2 [e3,c4,e4,g#4]@4 [e3,c4,e4,g#4]@2 [e3,c4,e4] ~", // Eaug C
  AK: "[a2,c#3,e3,a3,e4,a4]@3 ~ [c#3,e3,a3,e4]@2 [c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@4 [c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4]@2, ~ a2 ~@2, ~@4 a4 ~@11", // A
  AL: "[a2,c3,e3,a3,e4,a4]@2 [a2,c3,e3,a3,e4,a4] [c3,e3,a3,e4,a4] [c3,e3,a3,e4,a4]@2 [a2,c3,e3,a3,e4,a4] [c3,e3,a3,e4,a4], ~@3 a2@3 ~@2", // Am
  AM: "[[e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@4 [b3,e4,g#4]@2 [b3,e4,g#4]@2 [b3,e4,g#4]@4 [b3,e4,g#4] ~@3, ~@7 e3@3 e3@5 ~]/2", // E
  AN: "[c#3,g#3,c#4,e4,g#4]@4 [c#3,g#3,c#4,e4,g#4]@2 [c#3,g#3,c#4,e4,g#4]@2 [g#3,c#4,e4,g#4]@4 [g#3,c#4,e4,g#4]@2 g#3 ~, ~@8 c#3@7 ~", // C#m
  AO: "[c#3,e3,a3,e4]@4 [c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@4 [a2,e3,a3,a4]@2 [c#3,e3,a3,e4,a4] ~, a2@6 ~@6 [c#3,e4] ~@3", // A A5 A C#m
  AP: "[b2,f#3,b3,d#4]@4 [b2,f#3,b3]@2 [b2,f#3,b3,d#4]@2 [b2,f#3,b3,d#4]@4 [f#3,b3,d#4]@2 [b2,f#3,b3,d#4,g#4] ~", // B B5 B G#m7
  AQ: "[e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2 [e3,b3,e4,a4]@2 [e3,b3,e4,a4]!2, b2@9 ~@7", // E Esus4
  AR: "[e3,b3,e4,g#4]@4 [e3,b3,e4,g#4]@2 ~ a4 [c#3,e3,a3,e4,a4]@4 [c#3,e3,a3,e4,a4]@2 [c#3,e3,a3,e4,a4]@2, ~@6 [e3,b3,e4,g#4]@2 a2@7 ~", // E A E
  AS: "[e3,b3,e4,g#4]@2 [e3,b3,e4,g#4]!2 [b3,e4,g#4]@2 [b3,e4,g#4] [e3,b3,e4,g#4], ~@4 e3@3 ~", // E
  AT: "[e3,b3,e4,g#4]@2 [b3,e4,g#4]!2 [e3,b3,e4,g#4] ~@3, ~ e3 ~@2", // E
})).s("gm_electric_guitar_jazz").gain(0.26)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@6 A B C D E F G ~ H I J K ~ L M ~@4 N O P@2 Q R S T@2 U V W X Y@3 Z AA AB AC AD AE AF ~@2 AG Q R S T@2 U V W X Y@3
  AH AA AI AC AJ AE AF ~@2 AG AK AL AM AN AO@3 AP AM AQ AR AS AO AT
>`.pickRestart({
  A: "b3@14 a#3 b3", B: "c4@14 b3 c4", C: "c#4 ~@7", D: "c4@3 e4 f#4 g#4 [a4,c5]@2, ~@8 f4 ~@7", E: "[g#4,b4]",
  F: "[f#4,b4]@3 [f#4,a4] [a4,c#5] [b4,d#5] [d#5,f#5] [e5,g#5]", G: "[d#5,f#5]@15 ~", H: "~@11 b4!2 a#4!2 a4",
  I: "g#4@13 ~@3", J: "~@10 g#4!3 g4 f#4 f4", K: "e4 ~", L: "~@10 c#4 d#4 [c#4,e4]@4", M: "[b3,d#4]@11 ~@5",
  N: "~ b3 c#4 e4", O: "g#4@3 [g#4,b4] [a4,c#5]@2 [c#5,e5]@2",
  P: "[[d#5,f#5] [d5,f5] [d#5,f#5] [d5,f5] [d#5,f#5]@2 [e5,g#5]@2 [f#5,a5]@10 [e5,g#5]@2 [d#5,f#5]@2 [c#5,e5]@2 [b4,d#5]@8]/2", // D#m Dm D#m Dm D#m E F#m E …
  Q: "~@6 c#4 b3", R: "e4", S: "~@2 b3 [b3,e4,g#4]!2 ~ [b3,e4,g#4] ~ [b3,e4,g#4]@4 ~@4",
  T: "~@2 [b3,e4,g#4]!3 ~ [b3,e4,g#4] ~ [b3,e4,g#4]@4 ~@4", // E
  U: "~@2 [b3,e4] [b3,e4,g#4]!2 ~ [b3,e4,g#4] ~ [b3,e4,g#4]@4 ~@4", // E5 E
  V: "~@2 [e4,g#4,b4]!3 ~ [e4,g#4,b4] ~ [e4,g#4,b4]@4 ~@4", // E
  W: "e4 ~ [e4,g#4,c5]!3 ~ [e4,g#4,c5] ~ [e4,g#4,c5]@4 ~@2 [e4,g#4,c5]!2", X: "[e4,a4,c#5] ~@15",
  Y: "[~@6 b4@2 c5@2 e5@2 g#5@2 a5 ~ b5@2 ~ g#5!2 ~ a5 ~ b5@12 e5 f#5 g#5 a5 b5@7 ~, ~@15 a#5@2 ~@31]/3",
  Z: "b5@2 ~ g#5!2 ~ a5 ~ b5@6 ~@2",
  AA: "~@4 [a4,f#5] [g#4,f5] [a4,f#5] [b4,g#5] [c#5,a5] [b4,g#5] [c#5,a5] [d#5,b5] [e5,c#6] [f#5,d#6] [g#5,e6] [a5,f#6]", // D C# D E F#m E F#m G#m …
  AB: "[g#5,e6,g#6]@15 ~", AC: "[d#5,b5,d#6]@10 b5!3 a#5!2 a5", AD: "g#5@13 ~@3", AE: "~@10 g#5!3 g5 f#5 f5",
  AF: "e5 ~", AG: "~@6 [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~",
  AH: "b5@2 ~ g#5!2 ~ a5 ~ b5@7 ~", AI: "[g#5,e6], g#6@7 ~", AJ: "g#5@7 ~",
  AK: "[g#4,b4,e5]@2 ~@2 [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5]@3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~", // E
  AL: "[g#4,c5,e5]@3 ~ [g#4,c5,e5] ~ [g#4,c5,e5] ~ [g#4,c5,e5]@3 ~ [g#4,c5,e5] ~ [g#4,c5,e5] ~", // G#aug
  AM: "[a4,c#5,e5]@3 ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5]@3 ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~", // A
  AN: "[a4,c5,e5]@3 ~ [a4,c5,e5] ~ [a4,c5,e5] ~ [a4,c5,e5]@3 ~ [a4,c5,e5] ~ [a4,c5,e5] ~", // Am
  AO: "[g#4,b4,e5]@3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5]@3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~", // E
  AP: "[g#4,c#5,e5]@3 ~ [g#4,c#5,e5] ~ [g#4,c#5,e5] ~ [g#4,c#5,e5]@3 ~ [g#4,c#5,e5] ~ [g#4,c#5,e5] ~", // C#m
  AQ: "[b4,d#5,f#5]@3 ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~ [b4,d#5,f#5]@3 ~ [b4,d#5,f#5] ~ [b4,d#5,f#5] ~", // B
  AR: "[g#4,b4,e5]@3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,b4,e5]@3 ~ [a4,b4,e5] ~ [a4,b4,e5] ~", // E Asus2
  AS: "[g#4,b4,e5]@3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [a4,c#5,e5]@3 ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~", // E A
  AT: "[g#4,b4,e5]@3 ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [b4,e5]@2 ~@6, ~@8 g#4 ~@7", // E E5
})).s("gm_string_ensemble_1").gain(0.41)

// drums · kick
const kick = s("bd").struct("<[x!2]!8 x [x!2]!28 x [x!2]!21 x [x!2]!26 [x ~@2 x!2 ~@3]>").gain(0.47)

// drums · rim
const rim = s("rim").struct(`<
  [~@2 x!2 ~@2 x ~]!8
  ~
  [~@2 x!2 ~@2 x ~]!28
  ~
  [~@2 x!2 ~@2 x ~]!21
  ~
  [~@2 x!2 ~@2 x ~]!26
  [x ~@2 x!2 ~@3]
>`).gain(0.47)

// drums · ride
const ride = s("rd").struct(`<
  [x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~]!8
  x
  [x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~]!28
  x
  [x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~]!21
  x
  [x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~]!26
  [x ~ x!3 ~ x ~ x ~@7]
>`).gain(0.55)

// drums · bongos
const bongos = s("bongo:18").struct(`<
  [~@6 x!3 ~ x ~@5]!8
  ~
  [~@6 x!3 ~ x ~@5]!28
  ~
  [~@6 x!3 ~ x ~@5]!21
  ~
  [~@6 x!3 ~ x ~@5]!26
  ~
>`).gain(1.24)

// drums · congas
const congas = s("conga:33").struct("<[~@3 x]!8 ~ [~@3 x]!28 ~ [~@3 x]!21 ~ [~@3 x]!26 [~@3 x!2 ~@3]>").gain(1.51)

stack(bass, epiano1, electric_guitar_jazz, string_ensemble_1, kick, rim, ride, bongos, congas)

More by Roy Orbison