Strudelify
Over Now cover art

1995 · Alice In Chains

Over Now

Alice in Chains

KeyF♯ minorTempo112 bpm
0:00/0:00
// Over Now — Alice in Chains
// 112.3 bpm, 4/4, key F# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 169 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(112.3/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 · acoustic guitar steel · "acoustic guitar"
const acoustic_guitar_steel = note(`<
  ~ A B C D A B C D A B A B C D A B A B A B C D A B E F G H@2 A B C D A B C D A B A B C D A B A B A B C D A B E F G H@2
  A B C D A B C D I J K L I J K L I J K L I J K L I J K L I J K L A B A B C D A B A B A B C D A B E F G H@2 A B C D A B
  C D I J K L I J K L I J K L I J K L I J K L I J K L M N O@2 N@2 O@2 N@2 O@2 N@2 O@2 P@2 Q@2 P@2 R@3
>`.pickRestart({
  A: "f#2!2 [f#2,c#3,f#3,a#3,c#4,a4] [f#2,c#3,f#3,a#3,c#4,g#4] [f#2,c#3,f#3,a#3,c#4,f#4] [f#2,c#3,f#3,a#3,e4] [f#2,c#3,f#3,a#3,d#4] [f#2,c#3,f#3,a#3,c#4]", // F# F#7 D#m7 F#
  B: "f#2!2 [f#2,d#3,f#3,b3] [f#2,c#3,f#3,a#3] f#2 [f#2,d#3,f#3,b3] f#2 [f#2,c#3,f#3,a#3]", // B F# B F#
  C: "d2!2 [d2,a2,d3,f#3,a3,f4] [d2,a2,d3,f#3,a3,e4] [d2,a2,d3,f#3,a3,d4] [d2,a2,d3,f#3,c4] [d2,a2,d3,f#3,b3] [d2,a2,d3,f#3,a3]", // D D7 Bm7 D
  D: "d2!2 [d2,b2,d3,g3] [d2,a2,d3,f#3] d2 [d2,b2,d3,g3] d2 [d2,a2,d3,f#3]", // G D G D
  E: "a2!2 [a2,e3,a3,c#4,g4] a2 [a2,e3,a3,c#4,g4]!2 a2 [a2,e3,a3,c#4,g4]", // A7
  F: "a2!2 [a2,e3,a3,c#4,g4] a2 [a2,e3,a3,c#4,g4]!2 a2 [g#2,d#3,g#3,c4,f#4]", // A7 G#7
  G: "g#2!2 [g#2,d#3,g#3,c4,f#4] g#2 [g#2,d#3,g#3,c4,f#4]!2 g#2 [b2,f#3,b3,d#4,a4]", // G#7 B7
  H: "b2!2 [b2,f#3,b3,d#4,a4] b2 [b2,f#3,b3,f#4,a4]!2 b2 [b2,f#3,b3,d#4,a4]", I: "f#3 a3!3 f#3 b3 a3 f#3",
  J: "c#4 a3 f#3 a3 e4 c#4 a3 f#3", K: "d3 a3!3 d3 b3 a3 d3", L: "c#4 a3 d3 a3 d4 c#4 a3 d3",
  M: "c#6 d4 f#3 c#4 f#3 d4 f#3 c#4, f#2", N: "~ d4 f#3 c#4 f#3 d4 f#3 c#4, f#2", O: "~ c#4 f#3 d4 f#3 c#4 f#3 d4, d2",
  P: "[~ d4 f#3 c#4@12 ~, f#2]/2", Q: "[~ d4 f#3 c#4@12 ~, d2]/2", R: "d2/3",
})).s("gm_acoustic_guitar_steel").gain(0.6)

// bass · electric bass finger · "bass"
const bass = note(`<
  ~ A@2 B@2 A@2 B@2 A@4 B@2 A@6 B@2 A@2 C D E F@2 A@2 B@2 A@2 B@2 A@4 B@2 A@6 B@2 A@2 C D E F@2 A@2 B@2 A@2 B@2 G@2 H@2
  G@2 H@2 G@2 H@2 G@2 H@2 G@2 H@2 G@2 H@2 A@4 B@2 A@6 B@2 A@2 C D E F@2 A@2 B@2 A@2 B@2 G@2 H@2 G@2 H@2 G@2 H@2 G@2 H@2
  G@2 H@2 G@2 H@2 ~@4 I@2 H@2 I@2 H@2 I@2 H@2 I@2 H@2 I@2 H@2 ~
>`.pickRestart({
  A: "f#1!8", B: "d1!8", C: "a1!8", D: "a1!7 g#1", E: "g#1!7 b1", F: "b1!8", G: "f#1/2", H: "d1/2",
  I: "[f#1@2 f#1@2 f#1@2 f#1@2 f#2@23 ~]/2",
})).s("gm_electric_bass_finger").gain(0.66)

// chords · distortion guitar · "guitar 1"
const distortion_guitar = note(`<
  ~@67 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@29 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@25
>`.pickRestart({
  A: "[f#2,c#3]/2", B: "[d2,a2]/2",
})).s("gm_distortion_guitar").gain(0.28)

// chords · acoustic guitar steel · "acoustic guitar"
const acoustic_guitar_steel_2 = note("<~@144 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~>".pickRestart({
  A: "[f#2,c#3]/2", B: "[d2,a2]/2",
})).s("gm_acoustic_guitar_steel").gain(0.45)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@7 B A@15 C D@4 E A@23 C D@4 E A@8 E F E F E F E F E F E F E F E F E F E F E F E F A@15 C D@4 E A@8 E F E F E F E F
  E F E F E F E F E F E F E F E F E ~@3 G ~@3 G ~@3 G ~@3 G ~@3 G ~ E ~@2
>`.pickRestart({
  A: "x ~@4 x ~@2", B: "x ~@9 x ~ x!2 ~@2", C: "x!2", D: "x ~@3 x!2 ~@2", E: "x", F: "x!2 ~@2", G: "x!4 ~@4",
})).gain(0.8)

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

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@68 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@32 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@25
>`.pickRestart({
  A: "~@14 x!2",
})).gain(0.48)

// drums · low tom
const low_tom = s("lt").struct("<~@24 A ~@4 B ~@23 A ~@4 B ~@47 A ~@4 B ~@57>".pickRestart({
  A: "~@7 x", B: "~@3 x!5",
})).gain(0.8)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@8 A ~@15 B ~@28 B ~@52 B ~@62>".pickRestart({
  A: "~@12 x!2 ~@2", B: "~@6 x!2",
})).gain(0.8)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@4 A ~@9 A ~@9 B ~@8 A ~@3 A ~@5 A ~@9 B ~@8 A ~@3 A ~@29 A ~@9 B ~@8 A ~@3 A ~@49
>`.pickRestart({
  A: "~@2 x ~@2 x ~@2", B: "~@5 x ~@2",
})).gain(0.8)

// drums · high tom
const high_tom = s("ht").struct("<~@8 [~@10 x!2 ~@4] ~@160>").gain(0.8)

// drums · crash
const crash = s("cr").struct(`<
  ~@9 A ~@15 A ~@4 A ~@7 A ~@15 A ~@4 A ~@7 A ~@23 A ~@15 A ~@4 A ~@3 A ~@3 A ~@23 A ~@3 B ~@3 B ~@3 B ~@3 B ~@3 B ~ A
  ~@2
>`.pickRestart({
  A: "x", B: "~ x",
})).gain(0.8)

// drums · ride
const ride = s("rd").struct("<~@25 A B@3 C ~@24 A B@3 C ~@8 D E@23 ~@16 A B@3 C ~@8 D E@23 ~@25>".pickRestart({
  A: "~ x!7", B: "x!8", C: "x!3 ~@5", D: "~ x!2 ~ x ~ x ~", E: "x!4",
})).gain(0.8)

stack(
  acoustic_guitar_steel, bass, distortion_guitar, acoustic_guitar_steel_2, kick, snare, snare_soft, low_tom, hihat,
  mid_tom, open_hat, high_tom, crash, ride
)

More by Alice in Chains