Strudelify

High Blood Pressure

Jerry Lee Lewis

KeyE♭ majorTempo119 bpm
0:00/0:00
// High Blood Pressure — Jerry Lee Lewis
// 119 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 91 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(119/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 · "Ac Piano"
const piano = note(`<
  A@2 B C D E F G H I J K L M N O P Q B C D E F G H I J K L M N O R S T@2 U@2 V@2 W X B C Y@2 Z AA AB AC AD AE AF AG AH
  AI AJ AK AL AM AN AO T@2 U@2 V@2 W X B C AP@2 Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AQ@2
>`.pickRestart({
  A: "[[ab3,d4,gb4,bb4]@3 [ab3,d4,gb4,c5]@11 ~@2, bb2@43 ~@5]/2", // Daug Ab7
  B: "g3@3 g3@3 bb3@2 ~@7 g3@3 bb2@3 g3 ~@2, eb2@11 ~ g2@5 ~@7, eb4@7 ~@2 g3@5 ~@10, bb3@5 ~@4 [bb3,eb4]@13 ~@2", // Eb5
  C: "[bb3,d4,f4]@8 ~@4 bb2@3 bb2@4 ~@2 bb2 ~@2, bb2@11 ~@13, ~@9 [bb3,d4,f4]@13 ~@2", // Bb
  D: "g3@4 ~@2 g3@3 g3@3 ~@9 g3@3, eb2@11 ~ g2@6 bb2@5 ~, [bb3,eb4]@9 [bb3,eb4]@13 ~@2, ~@5 g3@2 ~", // Eb5
  E: "g3@3 ~@3 g3@2 ~ g3@3 [g2,g3]@6 bb2@3 bb2 ~@2, eb2@11 ~@13, [bb3,eb4]@9 [bb3,eb4]@13 ~@2", // G Eb5
  F: "g3@5 ~ g3@3 eb2 ~@5 g3@3 ~@3 g3 ~@2, [eb2,bb3,eb4]@9 [bb3,eb4]@13 ~@2, ~@9 g3@5 ~@10, ~@2 g2 bb2", // Eb5
  G: "g3@6 g3@3 g3@3 ~@6 bb2@4 ~@2, [eb2,eb4]@5 ~ g2@3 ~@3, bb3@8 ~ [bb3,eb4]@13 ~@2, ~@5 g3@2 ~", // Eb Eb5
  H: "[bb3,d4,f4]@4 ~@2 d3@3 f3@3, bb2@11 ~@13, ~@9 [bb3,d4,f4]@13 ~@2", // Bb
  I: "[bb3,d4,f4]@4 ~@2 d3@3 f3@2 ~, bb2@11 ~@13, ~@9 [bb3,d4,f4]@13 ~@2", J: "[g3,bb3,eb4]@9 [g3,bb3,eb4]@12 bb2 ~@2",
  K: "g3@5 ~ g3@3 g3@3 eb3@6 g3@2 ~ eb3 ~@2, [bb3,db4]@9 [bb3,db4]@11 ~@4", // Bbm
  L: "ab3@5 ~ ab3@2 ~ ab3@3 [ab2,ab3]@3 g2@3 [gb2,ab3]@3 ab3@2 ~, ab2@5 ~@7, [c4,eb4]@8 ~ [c4,eb4]@13 ~@2", // Ab Gbsus2 Cm
  M: "a3@5 ~ a3@2 ~ [a3,c4,eb4,f4]@4 ~@3 [gb4,c5]@3 ~ [gb4,c5]@3 ~, f2@5 ~@7, [c4,eb4,f4] ~@2", // F7 Gbdim F7
  N: "g3@4 ~@2 g3@3 g3@3 eb2@3 [eb2,g3]@3 g3@3 eb2@2 ~, eb2@5 ~@7, [bb3,eb4]@8 ~ [bb3,eb4]@13 ~@2", // Eb Eb5
  O: "[d4,f4]@6 bb3@2 ~ ab3@3 bb2@3 [bb2,ab3]@3 ab3@3 bb2 ~@2, bb2@5 ~@7, bb3@5 ~@4 [d4,f4]@12 ~@3", // Dm Bb7 Dm
  P: "g3@5 ~ g3@3 g3@3 ~@6 bb3@3 bb2@2 ~, eb2@9 bb3@6 g3@7 ~@2, [bb3,eb4]@8 ~ eb4@12 ~@3, ~@3 eb2@2 ~", // Eb5
  Q: "bb3@6 ~@6 eb2@2 ~ bb2@2 ~ [bb2,bb3]@3 [bb2,bb3] ~@2, [eb2,eb4]@3 [bb3,eb4]@2 ~@3, g3@5 ~ g3@6 g3@6 ~@6", // Bb Eb Eb5
  R: "eb2@3 ~ [g3,db4,eb4]@2 [g3,db4,eb4]@2 ~@2 [g3,db4,eb4]@2 eb2@3 ~ [g3,db4,eb4]@2 [g3,db4,eb4]@2 ~@2 [g3,eb4]@2, ~@22 db4 ~", // Eb7 Cm
  S: "eb2@3 ~ [g3,db4] ~ [g3,db4,eb4]@2 ~@2 [g3,db4,eb4]@2 eb2@3 ~ [g3,db4,eb4]@2 eb2@3 ~ [g3,db4,eb4]@2, ~@2 eb4 ~@9", // Gdim Eb7
  T: "[[c4,eb4]@4 ab3 ~ [ab3,c4,eb4]@3 ~ ab3@2 ab2@2 ab3@2 ~@2 ab3@6 ~@2 ab3 ~@3 [ab3,c4,eb4]@2 ~@2 ab3@2 ab2@2 ab3@2 ab2@2 [c4,eb4]@4 ab3 ~, ab2@10 ~@6 ab2@7 ~ ab2@11 ~@13, ab3@3 ~@7 [c4,eb4]@6 ~@2 [c4,eb4]@11 ~@5 [c4,eb4]@6 ~@2 ab3@3 ~@3]/2", // Cm Ab Cm
  U: "[g3@3 ~ g3 ~ [g3,bb3,eb4]@3 ~ [g3,bb3,eb4]@5 ~ eb2@2 g3@3 ~ g3@2 eb2@2 g3@2 eb2 ~ [g3,bb3,eb4]@3 ~ g3@2 eb2 ~ g3@2 eb2@2 [g3,bb3,eb4]@4 eb2 ~, [eb3,bb3,eb4]@3 ~@6 eb4@5 ~@10, ~@18 bb3@7 ~ bb3 ~@7 [bb3,eb4]@6 ~@8]/2", // Eb Eb5
  V: "[f2@4 a3 ~ [a3,c4,eb4,f4]@3 ~ a3@2 f2 ~ a3@2 f2@2 [c4,eb4]@4 ~@2 c4@3 ~ [a3,c4,eb4] ~ [a3,c4,eb4,f4]@3 ~ [eb4,f4]@6 a3 ~ [a3,c4,eb4,f4]@4 a3 ~, ~@10 [c4,eb4,f4]@6 ~@2 f4@11 ~@19, ~@18 a3@2 ~@2 a3@5 ~@7 [a3,c4]@4 ~@10]/2", // F7 Cm Adim F7 Ebsus2 F7 Am
  W: "[bb2,ab3,d4,g4,bb4]@5 ~@19", X: "~@8 [bb2,bb3] [c3,c4]@2 bb3, ~@22 bb2 ~",
  Y: "[g3@4 ~@2 g3@3 g3@3 ~@12 bb2@2 bb3@2 bb2 ~ [bb2,bb3,bb4]@3 ~ [bb2,bb3]@2 [bb2,bb3,bb4]@2 ~@2 [bb2,bb3,bb4]@2 [bb2,bb3,bb4]@2 ~@2 [bb2,f4] gb4, eb2@11 ~ g2@6 bb2@5 ~@25, [bb3,eb4]@9 [bb3,eb4]@13 ~@12 bb4 ~@13, ~@5 g3@2 g3@2 ~@7]/2", // Bb Bb5 Eb5
  Z: "g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 c4 db4, eb2@9 ~ gb2@2 g2@5 ~ bb2@4 ~@2",
  AA: "d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 f4 gb4, bb2@8 ~@2 db3@2 d3@5 ~ f3@4 ~@2",
  AB: "g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 [f2,g4] eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5, eb2@9 ~@3 g2@5 ~ bb2@4 ~@2", // Fsus2
  AC: "g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 [a2,g4] eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 f4 gb4, eb2@4 ~ gb2 g2@3 bb2@2 ~", // A7
  AD: "g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5, eb2@8 ~@2 gb2@2 g2@5 ~ bb2@5 ~",
  AE: "g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 c4 db4, eb2@8 ~@2 gb2@2 g2@5 ~ bb2@3 ~@3",
  AF: "d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4, bb2@9 ~ db3@2 d3@5 ~ f3@5 ~",
  AG: "d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 ~@2, bb2@4 ~ db3 d3@3 f3@2 ~",
  AH: "eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 [gb2,eb5] g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5 eb5 g5, eb2@8 ~@4 g2@5 ~ bb2@5 ~", // Ebm
  AI: "c5 db5 f5 db5 f5 db5 f5 db5 f5 db5 f5 db5 f5 db5 f5 db5 f5 db5 f5 db5 f5 db5 f5 db5, eb2@9 ~ gb2@2 g2@5 ~ bb2@4 ~@2",
  AJ: "bb4 b4 c5 eb5 c5 eb5 c5 eb5 c5 eb5 [b2,c5] eb5 c5 eb5 c5 eb5 c5 eb5 c5 eb5 c5 eb5 c5 eb5, ab2@9 ~@3 c3@5 ~ eb3@4 ~@2", // Cmaj7
  AK: "a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 f4 gb4, f2@8 ~@2 ab2@2 a2@5 ~ c3@5 ~",
  AL: "g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 c4, eb2@8 ~@2 gb2@2 g2@5 ~ bb2@4 ~@2",
  AM: "db4 d4 bb4 d4 [d4,bb4] d4 bb4 d4 bb4 d4 [db2,bb4] d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 d4 bb4 f4, bb2@6 ~@6 d2@5 ~ f2@5 ~", // Gm Gb
  AN: "gb4 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4 eb5 g4, eb2@8 ~@2 gb2@2 g2@5 ~ bb2@4 ~@2",
  AO: "eb2@3 ~ [db4,g4,eb5]@2 eb2@2 ~@2 [db4,g4,eb5]@2 eb2@3 ~ [db4,g4,eb5]@2 eb2@3 ~ [db4,g4,eb5]@2", // Eb7
  AP: "[g3@4 ~@2 g3@3 g3@3 ~@12 bb2@2 bb3@2 bb2 ~ [bb2,bb3,bb4]@3 ~ [bb2,bb4] ~ [bb2,bb3,bb4]@2 ~@2 [bb2,bb3,bb4]@2 [bb2,bb3,bb4]@2 ~@2 [bb2,f4] gb4, eb2@11 ~ g2@6 bb2@5 ~@25, [bb3,eb4]@9 [bb3,eb4]@13 ~@12 bb3@2 ~@12, ~@5 g3@2 g3@2 ~@7]/2", // Bb Bb5 Eb5
  AQ: "[[eb2,eb3,db4,g4]@3 ~ [b3,f4]@2 [d2,d3,c4,gb4]@3 ~ [eb2,eb3]@18 ~@20, ~@4 [db2,db3] ~@5 [db4,g4]@12 ~@26]/2", // Eb7 Bdim D7 Eb Db Dbdim
})).s("gm_piano").gain(0.4)

// bass · acoustic bass · "Ac Bass"
const bass = note(`<
  ~@2 A B C@4 D E F G H I C J K L A B C@4 D E F G H I C J M N O@2 P@2 Q R S T A B C U A B C@4 D E F G H I C J M V O@2
  P@2 Q R S T A B C U A B C@4 D E F G H I C J M W@2
>`.pickRestart({
  A: "eb2@6 ~@3 eb2 ~@2 g2@4 ~@2 bb2@5 ~", B: "bb2@8 ~ bb2 ~@2 d2@5 ~ f2@5 ~", C: "eb2@8 ~ eb2@2 ~ g2@5 ~ bb2@5 ~",
  D: "bb2@8 ~ bb2 ~@2 d2@6 f2@5 ~", E: "bb1@9 bb2 ~@2 d2@5 ~ f2@4 ~@2", F: "eb2@8 ~ eb2 ~@2 g2@5 ~ bb2@5 ~",
  G: "eb2@9 eb2@2 ~ g2@5 ~ bb2@5 ~", H: "ab2@8 ~ ab2@2 ~ c3@5 ~ ab2@5 ~", I: "f2@8 ~ f2@2 ~ c3@5 ~ bb2@5 ~",
  J: "bb1@7 ~@2 bb1@2 ~ d2@6 f2@5 ~", K: "eb2@8 ~ eb2@2 ~ g2@5 ~ bb2@6",
  L: "bb1@3 bb2@3 ~@3 bb2@3 ~@3 bb2@3 ~@3 bb2 ~@2", M: "eb2@8 ~@2 eb2 ~ g2@5 ~ bb2@4 ~@2",
  N: "eb2@5 ~ eb2@5 ~ g2@5 ~ bb2@4 ~@2", O: "ab2@8 ~@2 ab2@2 c3@5 ~ eb3@5 ~", P: "eb2@8 ~@2 eb2 ~ g2@5 ~ bb2@5 ~",
  Q: "f2@8 ~@2 f2@2 a2@5 ~ c3@5 ~", R: "f2@7 ~@3 f2@2 a2@5 ~ c3@4 ~@2", S: "bb2 ~@5", T: "~@18 bb1@5 ~",
  U: "bb1@2 ~@2 bb1@2 bb1@3 ~ bb2@2 bb2@3 ~ bb1 ~ bb1@3 ~ bb1 ~", V: "eb2@4 ~@2 eb2@5 ~ f2@4 ~@2 g2@4 ~@2",
  W: "[eb2@3 ~ db2@2 d2@2 ~@2 eb2@25 ~@13]/2",
})).s("gm_acoustic_bass").gain(0.45)

// chords · brass section · "Brass"
const brass_section = note(`<
  ~@2 A B C D A@2 B@2 E@2 F G A H I H A B C D A@2 B@2 E@2 F G A H J K L@2 M@2 N@2 O P A B C D A B C D A@2 B@2 E@2 F G A
  H J K L@2 M@2 N@2 O P A B C D A B C D A@2 B@2 E@2 F G A H J Q@2
>`.pickRestart({
  A: "~@6 [bb3,eb4,g4]@3 [bb3,g4]@2 ~@13, ~@9 eb4 ~@14", B: "~@6 [bb3,d4,ab4]@3 [bb3,d4,ab4] ~@14",
  C: "~@6 [bb3,eb4,g4]@3 [bb3,eb4,g4] ~@14", D: "~@6 [bb3,eb4,g4]@2 ~ [bb3,eb4] ~@14, ~@9 g4@2 ~@13",
  E: "[[eb3,bb3,g4]@47 ~]/2", F: "[eb3,c4,ab4]@15 ~ [g3,g4]@4 [gb3,gb4]@4", G: "[f3,f4]@3 ~",
  H: "~@6 [bb3,d4,ab4]@3 [bb3,d4,ab4]@2 ~@13", I: "~@6 [bb3,eb4,g4]@3 [bb3,eb4,gb4] ~@14, ~@9 g4@2 ~@13",
  J: "~@6 [db4,eb4,g4]@3 ~ [db4,eb4,g4] ~@13", K: "~@6 [db4,eb4,g4]@3 ~ [db4,eb4] ~@13, ~@5 g4 ~@6",
  L: "[[c4,eb4,ab4]@11 ~]/2", M: "[[bb3,eb4,g4]@7 ~]/2", N: "[[c4,eb4,a4]@43 ~@5]/2", O: "[bb3,bb4] ~@23",
  P: "~@2 [c4,gb4]", Q: "[[eb3,eb4]@2 ~@2 [db3,db4]@2 [d3,d4]@2 ~@2 [eb3,eb4]@17 ~@21]/2",
})).s("gm_brass_section").gain(0.22)

// other · rock organ · "Mel Organ"
const rock_organ = note(`<
  ~ A B C ~ D B E F D G H I A J K@2 L B C ~ D B E F D G H I M J K@2 N O P Q R S T U@2 B V ~@17 N O P Q R S T U@2 B V
  ~@19
>`.pickRestart({
  A: "~@16 bb4 ~ c5@4 bb4 ~", B: "eb5@3 ~@15 gb5@3 ~ f5 ~, ~@18 f5 ~@5",
  C: "eb5@3 ~ eb5 ~ c5@3 ~ bb4 ~ eb5@3 ~@3 c5@3 ~ eb5@2", D: "~@16 bb4 ~ c5@3 ~ bb4 ~",
  E: "eb5@3 ~ eb5 ~ eb5@3 ~ c5 ~ eb5@5 ~ eb5@3 ~ f5@2", F: "~@2 db5 ~ c5 ~ bb4@4 ~@14",
  G: "eb5@5 ~ eb5@2 ~@10 gb5@3 ~ f5 ~, ~@18 f5 ~@5", H: "eb5@3 ~ eb5@2 c5@2 ~@2 eb5@2 ~@10 c5 ~, f5 ~@23",
  I: "eb5@5 ~ eb5@2 ~@2 c5 ~ eb5@3 ~ eb5 ~ c5@2 ~@2 eb5@2", J: "eb5@3 ~@15 eb5@3 ~ bb4 ~",
  K: "[db5@2 ~@2 db5 ~ c5@2 ~@2 bb4 ~ eb5@3 ~@3 c5@2 ~@2 eb5@8 ~@18]/2", L: "~@16 bb4@2 c5@3 ~ bb4@2",
  M: "~@16 bb4@2 c5@4 bb4 ~", N: "~@16 bb4 ~ c5@3 ~ bb4@2, ~@22 eb5 ~", O: "gb5@5 ~ f5@5 ~ eb5@4 ~@2 eb5@4 c5 ~",
  P: "eb5@3 ~ eb5 ~ c5@2 ~@2 eb5@3 ~@9 eb5 ~", Q: "gb5@5 ~ f5@4 ~@2 eb5@4 ~@2 c5@3 ~ bb4 ~, f5 ~@23",
  R: "eb5@3 ~ eb5@2 c5@2 ~@2 eb5@2 ~@10 eb5 ~", S: "f5@5 ~ f5@3 ~ eb5 ~ f5@4 ~@2 f5@3 ~ eb5 ~",
  T: "f5@3 ~ f5@2 eb5@3 ~ f5@2 ~@10 eb5 ~",
  U: "[g5@4 ~@2 f5@3 ~ eb5 ~ f5@3 ~ eb5 ~ f5@2 ~@2 c4@5 ~ bb3 ~ bb3@4 g3 ~@5 bb4 ~ c5@4 bb4 ~, gb5 ~@21 bb3 ~@13 bb3@6 c4@2 ~@4]/2",
  V: "eb5@2 ~@2 eb5 ~ c5@3 ~ bb4 ~ eb5@5 ~ c5@3 ~ eb5@2",
})).s("gm_rock_organ").gain(0.36)

// drums · kick
const kick = s("bd").struct("<~@2 A@15 B A@11 C A@3 B A@6 B D A@15 C A@3 B A@6 B D A@15 C A@3 E ~>".pickRestart({
  A: "x!2", B: "x", C: "x ~ x!2", D: "~@3 x", E: "x ~@4 x ~@6",
})).gain(0.6)

// drums · snare
const snare = s("sd").struct("<~@2 A@15 B A@11 C A@3 B A@6 ~ D A@15 C A@3 B A@6 ~ D A@15 C A@3 E ~>".pickRestart({
  A: "~@2 x!2 ~@2 x ~", B: "~ x ~ x", C: "~@6 x ~@3 x!2 ~@4 x!2 ~@3 x!3", D: "~@8 x!2 ~ x", E: "~ x ~@2",
})).gain(0.6)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@17 A ~@11 B ~@3 A ~@23 B ~@3 A ~@23 B ~@3 C ~>".pickRestart({
  A: "~@2 x ~@5 x ~@2 x", B: "~@3 x ~ x ~@2", C: "~ x ~@4",
})).gain(0.3)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@2 A B C D C B C D C B C D C B C E A B C D C B C D C B C F A B C E A B C D C B G H A B C D A B C D C B C D C B C F A
  B C E A B C D C B G H A B C D A B C D C B C D C B C F A B C ~@2
>`.pickRestart({
  A: "~ x!7", B: "x ~ x!6", C: "x!8", D: "x!5 ~ x!2", E: "x ~ x!2 ~@2 x ~ x!2 ~ x", F: "x!4 ~@4", G: "x!2 ~ x",
  H: "x!3 ~",
})).gain(0.42)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@3 A ~ B ~ A ~ B ~ A ~ B ~ A ~ C ~ A ~ B ~ A ~ B ~ A ~@3 A ~ C ~ A ~ B ~ A D ~@2 A ~ B ~ A ~ B ~ A ~ B ~ A ~@3 A ~ C
  ~ A ~ B ~ A D ~@2 A ~ B ~ A ~ B ~ A ~ B ~ A ~@3 A ~@3
>`.pickRestart({
  A: "~ x ~@6", B: "~@5 x ~@2", C: "~@5 x ~@6", D: "~ x",
})).gain(0.24)

// drums · open hat
const open_hat = s("oh").struct("<~@89 x ~>").gain(0.54)

// drums · crash
const crash = s("cr").struct(`<
  ~@2 A ~@15 A ~@11 A ~@3 A ~@7 A ~@3 A ~@11 A ~@3 A ~@7 A ~@3 A ~@11 A ~@2 B ~
>`.pickRestart({
  A: "x", B: "~@5 x ~@6",
})).gain(0.36)

stack(piano, bass, brass_section, rock_organ, kick, snare, snare_soft, hihat, hihat_soft, open_hat, crash)

More by Jerry Lee Lewis