Strudelify

King Kong

Zappa

KeyG majorTempo120 bpm
0:00/0:00
// King Kong — Zappa
// 120 bpm, 6/8, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 6 "Track 5" piano (copy of ch 2 "Track 1" piano)
// note: Full arrangement: all 26 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · piano · "Track 2"
const piano = note("<A B C@2 D E F G H I J K I A B C@2 D E F G H I J K I>".pickRestart({
  A: "a4@3 ~ g4@2 f4@2 d4@3 ~ g4@3 ~ f4@2 d4@2 c4@3 ~", B: "f4@3 ~ d4@2 c4@2 b3@3 ~ d4@3 ~ c4@2 b3@2 a3@3 ~",
  C: "[~@4 b2@3 ~ d3@3 ~ c3@6 ~@2 f3@7 ~ d3@3 ~ g3@6 ~@2 f3@3 ~ a3@3 ~]/2",
  D: "c4@3 ~ g3@3 ~ d4@3 ~ a3@3 ~ f4@3 ~ c4@3 ~", E: "g4@3 ~ d4@3 ~ a4@3 ~ g4@3 ~ f4@2 d4@2 c4@3 ~",
  F: "f4@3 ~ e4@2 g4@2 f4@3 ~ e4@3 ~ d4@2 f4@2 e4@3 ~", G: "d4@3 ~ c4@2 e4@2 d4@3 ~ c4@2 d4@2 b3@2 c4@2 a3@2 f3@2",
  H: "g3@11 ~@5 a3 b3 ~ c4 d4 e4 ~ f4", I: "g4@11 ~", J: "g4@11 ~ b4@11 ~", K: "g4@13 ~@9 f4@2",
})).s("gm_piano").gain(0.26)

// other · piano · "Track 3"
const piano_2 = note("<[d3@6 ~@2 d3@3 ~ a3@3 ~ g3@6 ~@2]!15 ~@4 [d3@6 ~@2 d3@3 ~ a3@3 ~ g3@6 ~@2]!7>")
  .s("gm_piano").gain(0.26)

// chords · piano · "Track 4"
const piano_3 = note("<A B@2 C A B@2 C D@2 E D@2 F@2 G ~@3 A D E D@3 E>".pickRestart({
  A: "d2@4 b3 ~@3 d2@2 ~@2 d2@3 ~ f2@4 b3@2 ~@2, b3 ~@7 b3 ~@3 b3 ~@3 b3 ~@7",
  B: "d2@4 b3 ~@3 [d2,b3] ~@3 d2@2 ~@2 f2@4 b3@2 ~@2, b3 ~@11 b3 ~@3 b3 ~@7", // G
  C: "d2@4 b3 ~@3 d2@2 ~@2 d2@2 ~@2 f2@4 b3 ~@3, b3 ~@7 b3 ~@3 b3 ~@3 b3 ~@7",
  D: "[d2,b3] ~@3 b3 ~@3 [d2,b3] ~@3 [d2,b3] ~@3 [f2,b3] ~@3 b3 ~@3", // G Fdim
  E: "[d2,b3] ~@3 b3 ~@3 [d2,b3] ~@3 [d2,b3] ~@3 f2@4 b3 ~@3, ~@16 b3 ~@7", // G
  F: "f2 ~@3 f2 ~ f2 ~ f2 ~@3 f2 ~@3 f2 ~ f2 ~ f2 ~@3", G: "g2 ~@7",
})).s("gm_piano").gain(0.41)

stack(piano, piano_2, piano_3)

More by Zappa