Strudelify

KK House

K.K Slider

KeyA majorTempo122 bpm
0:00/0:00
// KK House — KK Slider
// 122 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6279666; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 40 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(122/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 · "Grand Piano"
const piano = note("<A B C D A B C E F@3 G F@3 H A B C D A B C I J K L G J K L H A B C D A B C M>".pickRestart({
  A: "d2@3 a2@3 d3@4 d2@2 d3@2 d2 d#2", B: "e2@3 b2@3 e3@4 e2@2 e3@2 g1 g#1", C: "a1@3 e2@3 a2@4 a1@2 a2@2 g1 g#1",
  D: "a1@3 e2@3 a#2 b2@3 a2@2 e2@2 d#2@2", E: "a1@4 ~@8 [g2,g#2,a2] [c#2,d2,d#2,e2,f2,f#2] [a#1,b1,c2] ~, ~@7 a1",
  F: "[~@2 [f3,a3,c4]@3 [f3,a3,c4]@3 [d2,f3,a3,c4]@3 [d2,f3,a3,c4]@3 d2@2 ~@2 [b3,d4,f#4]@3 [b3,d4,f#4]@3 [e2,b3,d4,f#4]@3 [e2,b3,d4,f#4]@3 e2@2 ~@2 [e3,g#3,c#4]@3 [e3,g#3,c#4]@3 [a1,e3,g#3,c#4]@3 [a1,e3,g#3,c#4]@3 [a1,e3,g#3,c#4]@2, d2@4 ~@3 [f3,a3,c4]@2 ~@6 [b3,d4,f#4]@2 ~@7, ~@2 e2 ~ a1 ~]/3", // F Dm7 Bm C#m Amaj7 F Bm
  G: "[a2,g#3,c#4,e4] [d#2,g3,a#3,c#4,f4]", H: "[a2,g#3,c#4,e4]@4 d#2@2 c2 c#2, ~ [g3,a#3,c#4,f4]",
  I: "a1 a2 b1 b2 c2 c3 [c#2,b3,d4] [c#3,c4,d#4]", // G Cm
  J: "[a3,c4,e4]!2 [a3,c4,e4]@2 [a3,c4,e4]!2 ~@2 [a3,c4,e4]@2 ~ [a3,c4,e4]@2 ~ [a3,c4,e4]@2, d2@4 c3@2 [a3,c4,e4]@2 ~@2 c3@3 c3@3, ~@7 d2@3 ~@6", // Am
  K: "[b3,d4,f#4]!2 [b3,d4,f#4]@2 [b3,d4,f#4]!2 ~@2 [b3,d4,f#4]@2 ~ [b3,d4,f#4]@2 ~ [b3,d4,f#4]@2, e2@4 d3@2 [b3,d4,f#4]@2 ~@2 d3@3 d3@3, ~@7 e2@3 ~@6", // Bm
  L: "[g#3,c#4,e4]!2 [g#3,c#4,e4]@2 [g#3,c#4,e4]!2 ~@2 [g#3,c#4,e4]@2 ~ [g#3,c#4,e4]@2 ~ [g#3,c#4,e4]@2, a1@4 a2@2 [g#3,c#4,e4]@2 ~@2 a2@3 a2@3, ~@7 a1@3 ~@6", // C#m
  M: "[a1,g#3,c#4,e4] ~@3", // Amaj7
})).s("gm_piano").gain(0.3)

// bass · acoustic bass
const bass = note("<A B C D A B C E A B C F A B C G A B C D A B C H I J K F I J K G A B C D A B C L>".pickRestart({
  A: "d2@3 a2@3 d3@4 d2@2 d3@2 d2 d#2", B: "e2@3 b2@3 e3@4 e2@2 e3@2 g1 g#1", C: "a1@3 e2@3 a2@4 a1@2 a2@2 g1 g#1",
  D: "a1@3 e2@3 b2@4 a2@2 e2@2 d#2@2", E: "a1@4 ~@8 [g2,g#2,a2] [c#2,d2,d#2,e2,f2,f#2] [a#1,b1,c2] ~, ~@7 a1",
  F: "a2 d#2", G: "a2@4 d#2@2 c2 c#2", H: "a1 a2 b1 b2 c2 c3 c#2 c#3", I: "d2@5 f2@3", J: "e2@5 g2@3", K: "a1@5 a1@3",
  L: "a1 ~@3",
})).s("gm_acoustic_bass").gain(0.3)

// other · flute
const flute = note("<~@4 A B ~@2 A B C ~ A B D ~@9 E@3 ~ E@3 ~@9>".pickRestart({
  A: "e5@2 a4@2 c5 d5@2 e5@8 ~", B: "~@2 a4@2 c5 g5@2 e5@8 ~", C: "~@2 e5@2 g5 a5@2 e5@8 ~",
  D: "~@2 a4@2 a4 g5@2 e5@8 ~", E: "[~@10 a4@2 c5@2 d5 e5@3 a4@2 c5@2 d5 d#5@3 d5@2 c5@2 a4@6 ~@12]/3",
})).s("gm_flute").gain(0.27)

stack(piano, bass, flute)

More by K.K Slider