Strudelify

Boogie Man

Aerosmith

KeyA majorTempo82 bpm
0:00/0:00
// Boogie Man — Aerosmith
// 82 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 46 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/4)

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

// chords · electric guitar clean · "Guitar 1"
const electric_guitar_clean = note(`<
  A B C D C E F G F H I J I K L M N O P Q R S T D T U V D W X F G F H I J I K L M Y@2 Z ~@3
>`.pickRestart({
  A: "~@12 [e4,a4] ~ [e4,b4] ~", B: "[f#4,c#5]@13 ~ a3 ~", C: "[e4,b4]@12 [e4,a4] ~ [e4,b4] ~",
  D: "[f#4,c#5]@3 ~ [a4,e5]@8 ~@4", E: "[f#4,c#5]@12 [b4,f#5] ~ e5 ~", F: "c5@8 ~@4 f#5 ~ e5 ~",
  G: "c#5@8 ~@4 f#5 ~ e5 ~", H: "c#5@8 ~@4 a5 ~ g5 ~", I: "d#5@8 ~@4 a5 ~ g5 ~", J: "e5@8 ~@4 a5 ~ g5 ~",
  K: "e5@11 ~@5", L: "[a4,d5] ~ d5 ~ [a4,c#5]@3 ~ [g#4,c5] ~ [a4,c#5] ~@5",
  M: "[a4,d5]@3 ~ [a4,c#5] ~ [g#4,c5]@3 ~ [a4,c#5]@4 ~@2", N: "[a4,c#5]@3 ~ [a4,c#5] ~ [g#4,b4]@10",
  O: "~@4 [a4,c#5] ~ [g#4,b4]@8 ~@2", P: "[a4,d5] ~ [a4,d5] ~ [a4,c#5]@3 ~ [g#4,c5] ~ [a4,c#5] ~@3 [a4,c#5] ~",
  Q: "[a4,d5] ~ [a4,d5] ~ [a4,c#5] ~ g#4 ~ a4 ~ [a4,c#5] ~@3 [a4,c#5] ~", R: "[a4,c#5] ~ [a4,c#5] ~@3 [g#4,b4]@8 ~@2",
  S: "~@4 e4 b3 ~ e4 b3 ~ e4 b3 e4 b3 d4 ~", T: "[e4,b4]@12 [e4,a4,c#5] ~ [e4,b4] ~", U: "[f#4,c#5]@13 ~@3",
  V: "b4@8 ~@4 [a4,c#5] ~ b4 ~, e4 ~@15", W: "[e4,b4]@8 ~@4 [e4,a4,c#5] ~ [e4,b4] ~",
  X: "[f#4,c#5]@8 ~@2 e5 ~ f#5 ~ e5 ~", Y: "[a4,c#5]@3 ~ [a4,c#5] ~ [g#4,b4]@8 ~@2",
  Z: "[a4,d5] ~ [a4,d5] ~ [a4,c#5]@3 ~ [g#4,c5] ~ [a4,c#5] ~@5", // D5 A G# A
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.2)

// chords · electric guitar clean · "Guitar 1" · soft notes · E5 D5 A G# A G#m Asus2 G#m
const electric_guitar_clean_2 = note(`<
  [[e4,b4]@13 ~@3]
  ~@42
  [[a4,d5]!2 ~ [a4,d5] [a4,c#5] ~@3 [g#4,c5] ~ [a4,c#5]@4 ~@2]
  [[a4,c#5]@4 ~@2 [g#4,b4]@4 ~@2 [g#4,b4]!2 ~ [g#4,b4]]
  [[g#4,b4] ~ [a4,b4]@3 ~ [g#4,b4]@8 ~@2]
>`).s("gm_electric_guitar_clean").gain(0.05).pan(0.2)

// bass · slap bass 1 · "Bass"
const bass = note("<A B@9 C D C E F@2 G@2 F@2 G ~ A B@11 C D C E F@2 G@2 F@2 G@2>".pickRestart({
  A: "~@4 a2 ~@3 a2@4 a2@3 ~", B: "a2@4 a2@3 ~ a2@4 a2@3 ~", C: "b2@4 b2@3 ~ b2@4 b2@3 ~", D: "c3@4 c3@3 ~ c3@4 c3@3 ~",
  E: "c#3@11 ~@5", F: "f#3@4 f#3@3 ~ f#3@4 f#3@3 ~", G: "e3@4 e3@3 ~ e3@4 e3@3 ~",
})).s("gm_slap_bass_1").gain(0.26).pan(0.9)

stack(electric_guitar_clean, electric_guitar_clean_2, bass)

More by Aerosmith