Strudelify

Senor K.K

K.K Slider

KeyE majorTempo170 bpm
0:00/0:00
// Senor K.K — K.K Slider
// 170 bpm, 3/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/8 at bar 1, 3/4 at bar 2) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5126679; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 71 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(170/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  A B C D E B F G H B C D E B F I J ~@9 K L M N ~@2 O@2 ~ A B C D E B F G H B C D E B F I J ~@9 K L M N ~@2 O@3 P
>`.pickRestart({
  A: "~@8 d4@3 e4@2 f4@3", B: "f#4@3 ~@2 f#4@3 g4 f#4 ~ f4@2 f#4@3", C: "g4@3 ~@5 g3@3 g#3@2 a3@3",
  D: "b3@3 ~@2 b3@3 c#4 b3 ~ a3@2 g3@3", E: "a3@3 ~@5 d4@3 e4@2 f4@3", F: "g4@3 b4@2 b4@5 ~ a4@2 g4@3",
  G: "g4@3 f#4@2 f#4@3 e4@3 e4@2 c#4@3", H: "d4@3 ~@5 d4@3 e4@2 f4@3", I: "g4@3 f#4@2 f#4@3 e4@3 d4@2 e4@3",
  J: "f#4@5 ~@11", K: "~@11 b4 c5 b4 ~ a4", L: "g4@3 ~@13", M: "~@11 a4 b4 a4 ~ g4", N: "f#4@3 ~@13",
  O: "~@3 f#4!3 ~@2 f#4 ~@4 e4@3", P: "~@3 f#4@2 f#4 ~ f#4 f#4@8",
})).s("gm_trumpet").gain(0.4)

// chords · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel = note(`<
  ~ A B C D A B C D A B C D E B C D F G H I J K L M F G H I J K L N@3 O A B C D A B C D A B C D E B C D F G H I J K L M
  F G H I J K L N@2 P Q
>`.pickRestart({
  A: "[f#3,a3]@3 ~@5 [f#3,a3]@3 ~@5", B: "[g3,b3]@3 ~@2 [g3,b3]@3 ~@3 [g3,b3]@3 ~@2",
  C: "[a3,c#4]@3 ~@5 [a3,c#4]@3 ~@5", D: "[f#3,a3]@3 ~@2 [f#3,a3]@3 ~@3 [f#3,a3]@3 ~@2",
  E: "[a3,c4]@3 ~@5 [a3,c4]@3 ~@5", F: "f#4@3 ~@2 f#4@3 ~@3 f#4@3 ~@2", G: "g4@3 a4@2 b4@3 ~@8",
  H: "e4@3 ~@2 e4@3 ~@3 e4@3 ~@2", I: "f#4@3 g4@2 a4@3 ~@8", J: "d4@3 ~@2 d4@3 ~@3 d4@3 ~@2", K: "e4@3 f#4@2 g4@3 ~@8",
  L: "e4@3 d4@2 d4@3 c#4@3 b3@2 c#4@3", M: "d4@3 ~@13", N: "d4@3 a3@2 d4@3 a3@3 [a3,c#4]@3 ~@2",
  O: "d4@3 a3@2 a3@3 ~@8", P: "[a3,d4]@3 [d3,a3]@2 [a3,d4]@3 [d3,a3]@3 c#4@3 ~@2",
  Q: "~@3 [f#3,a3,d4]!3 ~ [f#3,a3,d4] [f#3,a3,d4]@8", // D
})).s("gm_acoustic_guitar_steel").gain(0.25)

// chords · acoustic guitar steel · "Acoustic Guitar"
const acoustic_guitar_steel_2 = note(`<
  ~ A B C D A E C D A B C D A E C D F G H I J K L M N G H I J K L O@3 P A B C D A E C D A B C D A E C D F G H I J K L M
  N G H I J K L O@3 Q
>`.pickRestart({
  A: "[d3,f#3]@3 ~@5 [d3,f#3]@3 ~@5", B: "[d3,g3]@3 ~@2 [d3,g3]@3 ~@3 [d3,g3]@2 ~@3",
  C: "[a2,c#3]@3 ~@5 [a2,c#3]@3 ~@5", D: "[d3,f#3]@3 ~@2 [d3,f#3]@3 ~@3 [d3,f#3]@2 ~@3",
  E: "[g2,d3]@3 ~@2 [g2,d3]@3 ~@3 [g2,d3]@2 ~@3", F: "[a3,d4]@3 [a3,d4]!2 [a3,d4]@3 [a3,d4]@3 [a3,d4]@2 [a3,d4]@3",
  G: "[b3,d4]@3 [b3,d4]@2 [b3,d4]@3 ~@3 [b3,d4]@2 b3@3", // Bm
  H: "[g3,c#4]@3 [g3,c#4]!2 [g3,c#4]@3 [g3,c#4]@3 [g3,c#4]@2 [g3,c#4]@3", // Gdim
  I: "[a3,d4]@3 [a3,d4]@2 [a3,d4]@3 ~@3 [a3,d4]@2 a3@3", // D5
  J: "[f#3,b3]@3 [f#3,b3]!2 [f#3,b3]@3 [f#3,b3]@3 [f#3,b3]@2 [f#3,b3]@3", // B5
  K: "[g3,b3]@3 [g3,b3]@2 [g3,b3]@3 ~@3 [g3,b3]@2 g3@3", L: "[e3,a3]@3 ~@2 [e3,a3]@3 [e3,a3]@3 [e3,a3]@3 ~@2",
  M: "[f#3,a3]@3 f#3@2 [f#3,a3]@3 f#3@3 [f#3,a3]@2 f#3@3", // F#m
  N: "[a3,c4]@3 [a3,c4]!2 [a3,c4]@3 [a3,c4]@3 [a3,c4]@2 [a3,c4]@3", // Am
  O: "[d3,a3]@3 [d3,a3]!2 [d3,a3]@3 [d3,f#3]@3 [d3,g3]@2 [e3,g3]@3", P: "[d3,a3]!2 ~ [d3,a3]!2 [d3,a3]@3 ~@8",
  Q: "~@3 [a2,d3,f#3]@2 [a2,d3,f#3] ~ [a2,d3,f#3] [a2,d3,f#3]@8", // D
})).s("gm_acoustic_guitar_steel").gain(0.3)

// chords · acoustic guitar steel · "Acoustic Guitar" · soft notes
const acoustic_guitar_steel_3 = note(`<
  ~ A B C D A E C D A B C D A E C D ~@19 A B C D A E C D A B C D A E C D ~@19
>`.pickRestart({
  A: "~@3 [d3,f#3]@2 d3@3 ~@3 [d3,f#3]@2 d3@3", B: "~@3 [d3,g3]@2 ~@3 [d3,g3]@3 ~@2 [d3,g3]@3",
  C: "~@3 [a2,c#3]@2 a2@3 ~@3 [a2,c#3]@2 a2@3", D: "~@3 [d3,f#3]@2 ~@3 [d3,f#3]@3 ~@2 [d3,f#3]@3",
  E: "~@3 [g2,d3]@2 ~@3 [g2,d3]@3 ~@2 [g2,d3]@3", // G5
})).s("gm_acoustic_guitar_steel").gain(0.2)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~@17 A B A B A B A B A B A B A B A ~@20 A B A B A B A B A B A B A B A ~@2 B C
>`.pickRestart({
  A: "~@3 x ~ x ~@5 x ~ x ~@2", B: "~@3 x ~@4 x ~@4 x ~@2", C: "~@3 x!3 ~ x!2 ~@7",
})).gain(0.25)

// drums · rim
const rim = s("rim").struct(`<
  ~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B ~ A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B C
>`.pickRestart({
  A: "x ~@2 x!3 ~@2 x ~@2 x ~ x ~@2", B: "x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2", C: "~@3 x ~ x ~ x!2 ~@7",
})).gain(0.2)

stack(trumpet, acoustic_guitar_steel, acoustic_guitar_steel_2, acoustic_guitar_steel_3, tambourine, rim)

More by K.K Slider