Strudelify

The Horse

Phish

KeyA minorTempo120 bpm
0:00/0:00
// The Horse — Phish
// 120 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 8, 4/4 at bar 9, 2/4 at bar 19, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 4 voice oohs (copy of ch 3 voice oohs); ch 5 voice oohs (copy of ch 3 voice oohs)
// note: Full arrangement: all 29 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · acoustic guitar steel
const acoustic_guitar_steel = note("<~ A@3 B C D E F G H I J K L M N O P Q R O S T U V W X Y>".pickRestart({
  A: "[~@5 a3 c4 b3 e4@11 ~@6 a3 c4 b3 e4@11 ~@2 a3 c4 b3 g#3 b3 ~ b3]/3",
  B: "~ a3 c4 e4 [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~", // D5
  C: "[a3,d4]@3 ~ c4 d4@2 ~ [c4,e4] f4 e4 d4 [c4,e4] [d4,f4] [c4,e4] ~, ~@4 a3@3 ~@9", // D5 C Dm C
  D: "[b3,d4] ~ [a3,c4] ~@2 c4 e4 ~ [a#3,d4]@3 ~@3 a#3 d4", E: "~@2 a#3 d4 ~@4 a#3 ~ d4@4 ~@2", F: "~@13 a3 c4 b3",
  G: "e4@11 ~@5", H: "~ a3 c4 b3 e4@11 ~", I: "~ a3 c4 b3 g#3 b3 ~ b3 ~ a3 c4 e4 [a3,d4]@3 ~",
  J: "[a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ c4 d4@2 ~, ~@12 a3@3 ~", // D5
  K: "[c4,e4] f4 e4 d4 [c4,e4] [d4,f4] [c4,e4] ~ [b3,d4] ~ [a3,c4] ~@2 c4 e4 ~", // C Dm C Bm Am
  L: "[a#3,d4]@3 ~@3 a#3 d4 ~@2 a#3 d4 ~@2 a#3 b3", M: "~@4 [d4,g4]@3 ~ [d4,g4]@2 ~ [d4,g4]!5",
  N: "[c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@2 ~ [c4,e4]!2 ~ [c4,e4] ~", O: "[c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@2 ~ [c4,e4]!5",
  P: "[c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 ~", Q: "[c4,e4]@2 ~ [c4,e4]!5 [d4,g4]@3 ~ [d4,g4]@3 ~",
  R: "[d4,g4]@2 ~ [d4,g4]!2 ~ [d4,g4] ~ [d4,f#4]@3 ~ [d4,f#4]@3 ~", // G5 D
  S: "[c4,f4]@3 ~ [c4,f4]@3 ~ [c4,f4]@2 ~ [c4,f4] e4@2 ~ e4", T: "[d4,f#4]@3 ~ [d4,f#4]@3 ~ [d4,f#4]@2 ~ [d4,f#4]!5",
  U: "[d4,f#4]@3 ~ [d4,f#4]@3 ~ [c4,e4]@3 ~ [c4,e4]@3 ~", V: "[c4,e4]@2 ~ [c4,e4]!5 [c4,e4]@3 ~ [c4,e4]@3 ~",
  W: "[c4,e4]@2 ~ [c4,e4]!2 ~ [c4,e4] ~ [d#4,f#4]@5 ~@3", X: "e4@5 ~@3 [c4,e4]@5 ~@3", Y: "~@5 g4@11",
})).s("gm_acoustic_guitar_steel").gain(0.41)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note("<A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC>".pickRestart({
  A: "~@8 a2@3 ~ a2@3 ~", B: "a2@3 ~ a2@3 ~@5 a2@3 ~", C: "a2@3 ~ a2@3 ~ a2@3 ~@5", D: "a2@3 ~ a2@4 e3 ~@5 e3 ~",
  E: "f3 ~@3 f3@3 ~ f3@3 ~ f3@3 ~", F: "f3@3 ~ f3@3 ~@9", G: "~@4 e3 ~@3 [a#2,f3]@3 ~ a#2 f3 ~@2",
  H: "a#2 f3 ~@2 a#2 ~ f3 ~@9", I: "a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~", J: "~@4 a2@3 ~ a2@3 ~ a2@3 ~",
  K: "a2@3 ~@5 a2@3 ~ a2@4", L: "e3 ~@5 e3 ~ f3 ~@3 f3@3 ~", M: "f3@3 ~ f3@3 ~ f3@3 ~ f3@3 ~", N: "~@12 e3 ~@3",
  O: "[a#2,f3]@3 ~ a#2 f3 ~@2 a#2 f3 ~@2 a2 f3 ~@2", P: "g2@3 ~ [g2,b2,d3,g3]@3 ~ [g2,b2,d3,g3]@2 ~ [g2,b2,d3,g3]!5",
  Q: "[a2,e3,a3]@3 ~ [a2,e3,a3]@3 ~ [a2,e3,a3]@2 ~ [a2,e3,a3]!2 ~ [a2,e3,a3] ~", // A5
  R: "[a2,e3,a3]@3 ~ [a2,e3,a3]@3 ~ [a2,e3,a3]@2 ~ [a2,e3,a3]!5", // A5
  S: "[a2,e3,a3]@3 ~ [a2,e3,a3]@3 ~ [c3,e3,g3]@3 ~ [c3,e3,g3]@3 ~", // A5 C
  T: "[c3,e3,g3]@2 ~ [c3,e3,g3]!5 [g2,b2,d3,g3]@3 ~ [g2,b2,d3,g3]@3 ~", // C G
  U: "[g2,b2,d3,g3]@2 ~ [g2,b2,d3,g3]!2 ~ [g2,b2,d3,g3] ~ [a2,d3,a3]@3 ~ [a2,d3,a3]@3 ~", // G D5
  V: "[c3,e3,g3]@3 ~ [c3,e3,g3]@3 ~ [c3,e3,g3]@2 ~ [c3,e3,g3]!5", // C
  W: "[f3,a3]@3 ~ [f3,a3]@3 ~ [f3,a3]@2 ~ [f3,a3] [e2,b2,e3,g#3,b3]@2 ~ [e2,b2,e3,g#3,b3]", // F E
  X: "[a2,d3,a3]@3 ~ [a2,d3,a3]@3 ~ [a2,d3,a3]@2 ~ [a2,d3,a3]!5", // D5
  Y: "[a2,d3,a3]@3 ~ [a2,d3,a3]@3 ~ [c3,e3,g3]@3 ~ [c3,e3,g3]@3 ~", // D5 C
  Z: "[c3,e3,g3]@2 ~ [c3,e3,g3]!5 [a2,e3,a3]@3 ~ [a2,e3,a3]@3 ~", // C A5
  AA: "[a2,e3,a3]@2 ~ [a2,e3,a3]!2 ~ [a2,e3,a3] ~ [f#3,b3]@5 ~@3", AB: "[e2,b2,e3,g3,b3]@5 ~@3 [c3,e3,g3]@5 ~@3",
  AC: "~ b3@3, g2, ~ b2@15, ~ d3@7, ~@3 g3@13",
})).s("gm_acoustic_guitar_steel").gain(0.41)

stack(acoustic_guitar_steel, acoustic_guitar_steel_2)

More by Phish