Strudelify

Guitar Boogie

The Shadows

KeyE majorTempo188 bpm
0:00/0:00
// Guitar Boogie — The Shadows
// 188 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 152 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(188/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 · acoustic bass · "BASS"
const bass = note(`<
  ~@2 A B C D E F G H I J K L A B C D E F G H I J K L A B C D E F K H I J K L A B C D E F K H I J K L A B C D E F G H I
  J K L A B C D E F K H I J K L A B C D E F K H I J K L A B C D E F K H I J K L A B C D E F K H I J K L A B C D E F K H
  I J K L A B C D E F K H I J K L A B C D E F G H I J M ~@4 N@3
>`.pickRestart({
  A: "e2@5 ~@3 b1@7 ~", B: "e2@7 ~ b1@7 ~", C: "e2@7 ~ b1@8", D: "e2@2 ~ e2 f#2@4 g2@3 ~ g#2@2 ~@2",
  E: "a2@7 ~ e2@6 ~@2", F: "a1@7 ~ e1@4 a1 ~@3", G: "e2@6 ~@2 b1@5 ~@3", H: "e2@6 ~@2 b1@3 ~ e2@3 ~",
  I: "f#2@7 ~ b1@5 ~@3", J: "f#2@5 ~@3 b1@4 d#2 ~@3", K: "e2@5 ~@3 b1@5 ~@3", L: "e2@3 ~ b1@3 ~", M: "e2",
  N: "[e2@47 ~]/3",
})).s("gm_acoustic_bass").gain(0.4)

// chords · acoustic guitar steel · "GUITAR 2"
const acoustic_guitar_steel = note(`<
  ~@2 A@4 B C A@2 D E A@6 B C A@2 D E A@6 B C A@2 D F A@6 B C A@2 D E A@6 B C A@2 D E A@6 B C A@2 D F A@6 B C A@2 D E
  A@6 B C A@2 D E A@6 B C A@2 D F A@6 B C A@2 D E A@6 B C A@2 D E A@6 B C A@2 D E G@3 ~@2 H@3
>`.pickRestart({
  A: "~@4 [e3,g#3,b3,e4] ~@7 [e3,g#3,b3,e4] ~@3", B: "~@4 [a3,c#4,e4,a4]@2 ~@6 [a3,c#4,e4,a4] ~@3",
  C: "~@4 [a3,c#4,e4,a4] ~@7 [a3,c#4,e4,a4]@2 ~@2", D: "~@2 [d#3,a3,b3,f#4] ~@3 [d#3,a3,b3,f#4] ~",
  E: "~@4 [d#3,a3,b3,f#4]@2 ~@6 [d#3,a3,b3,f#4] ~@3", F: "~@4 [d#3,a3,b3,f#4] ~@7 [d#3,a3,b3,f#4] ~@3",
  G: "[[e3,g#3,b3,e4]@19 ~@5]/3", H: "[~@2 e4@15 ~@7, ~ e2@34 ~@13, ~@2 [b2,e3]@33 ~@13, ~@3 [g#3,b3]@31 ~@14]/3",
})).s("gm_acoustic_guitar_steel").gain(0.26)

stack(bass, acoustic_guitar_steel)

More by The Shadows