Strudelify

Suicidal Dream

Silverchair

KeyD majorTempo96 bpm
0:00/0:00
// Suicidal Dream — Silverchair
// 96 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 4 "Grt 3" acoustic guitar steel (copy of ch 1 "Grt 1" acoustic guitar steel)
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(96/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 · "Grt 1"
const acoustic_guitar_steel = note(`<
  A B C B C B C B D B C B C B C B D B C B C B C B E@2 F G F G F G F H I B C B C B C B E@2 F G F G F G F H J K L M N ~@19
>`.pickRestart({
  A: "~@7 a2", B: "b2 f#3 b3 g2 f#3 b3 f#3 g2", C: "e2 f#3 b3 f#2 f#3 b3 a2 b3", D: "~@2 e4 b3@5, e2, b2@11 ~@5",
  E: "[[e2,b2,g3,b3,d4,e4]@31 ~]/2", F: "[b2,f#3] [b3,d4,f#4] ~ [f#2,c#3,f#3]@2 [a#3,c#4,f#4]@2 [g3,b3,e4]",
  G: "[e2,b2,e3] [g3,b3,e4]@2 [g2,b2,d3,g3,d4,g4]@2 [g3,d4,g4]!2 [g3,b3,e4]", // E5 Em G G5 Em
  H: "[e2,b2,e3] [g3,b3,e4]@2 [g2,b2,d3,g3,d4,g4]@5", I: "~@14 a2 a#2",
  J: "[f#2,b2,f#3,b3]@5 ~ d3@8 [d3,g3]@2, ~@3 [a2,a3,d4]@5", K: "[g2,d3,g3]@5 ~@9 [e2,a2]@2, ~@3 [f#2,c#3,f#3]@5",
  L: "[f#2,b2,f#3,b3]@5 ~ [a2,d3,a3,d4]@5 ~ [a2,d3,a3,d4]@2 [d3,g3]@2", // B5 D5 G5
  M: "[g2,d3,g3]@5 ~ [f#2,c#3,f#3]@5 ~ [f#2,c#3,f#3]@2 [e2,a2]@2", // G5 F#5 A5
  N: "[f#2,b2,f#3,b3]@5 ~ [a2,d3,a3,d4]@5 ~@3 [e2,a2]!2", // B5 D5 A5
})).s("gm_acoustic_guitar_steel").gain(0.64)

// chords · overdriven guitar · "Grt 2"
const overdriven_guitar = note("<~ A@8 ~@48 B C D C D C D C E F G F G F G F H I@2>".pickRestart({
  A: "[b3 b5@15]/8", B: "[g2,d3,g3]!3 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [e2,a2]",
  C: "[b2,f#3] [b3,d4,f#4] ~ [f#2,c#3,f#3]@2 [a#3,c#4,f#4]@2 [g3,b3,e4]", // B5 Bm F#5 F# Em
  D: "[e2,b2,e3] [g3,b3,e4]@2 [g2,b2,d3,g3,d4,g4]@2 [g3,d4,g4]!2 [g3,b3,e4]", // E5 Em G G5 Em
  E: "[e2,b2,e3] [g3,b3,e4]@2 [g2,b2,d3,g3,d4,g4]@5", F: "[b2,f#3,b3,d4,f#4]!3 [f#2,c#3,f#3,a#3,c#4,f#4]!5",
  G: "[e2,b2,e3,g3,b3,e4]!3 [g2,b2,d3,g3,d4,g4]!5", H: "[e2,b2,e3,g3,b3,e4]!3 [g2,b2,d3,g3,b3,d4,g4]@5",
  I: "[[b3,d4,f#4]@16 ~@12 [g3,a3] [c#3,d3,e3] [f#2,g2,a2,b2] [c#2,d2,e2], [b2,f#3]@29 f#3@3, ~ a#6]/2", // Bm Gsus2 C#m Gmaj7 C#m B5
})).s("gm_overdriven_guitar").gain(0.64)

// chords · overdriven guitar · "Grt 3"
const overdriven_guitar_2 = note("<~@58 A B C D@2 ~@13>".pickRestart({
  A: "~@4 f#3 b3 a3@2", B: "b3", C: "~@5 [f#3,b3] a3 [f#3,b3]", D: "[[b2,f#3,b3]@31 ~]/2",
})).s("gm_overdriven_guitar").gain(0.25)

// bass · slap bass 2 · "Bass"
const bass = note(`<
  ~@3 A@2 B C B D B C B C B C B D B C B C B C B E@2 F G F G F G F H@2 B C B C B C B E@2 F G F G F G F I J K J K J L F G
  F G F G F G M N M N M N M I A@2
>`.pickRestart({
  A: "[b1@31 ~]/2", B: "b1!3 g1!5", C: "e1!3 f#1!3 a1!2", D: "e1", E: "[e1@31 ~]/2", F: "b1!3 f#1@2 f#1!2 e1",
  G: "e1!3 g1@2 g1!3", H: "[e1!3 g1@8 ~@5]/2", I: "e1!3 g1@5", J: "b1@5 ~ d2@8 ~@2", K: "g1@5 ~ f#1@8 ~@2",
  L: "g1!3 f#1@2 f#1!2 e1", M: "b1!3 f#1!5", N: "e1!3 g1!5",
})).s("gm_slap_bass_2").gain(0.64)

// drums · kick
const kick = s("bd").struct("<~@3 x ~ [x ~@2 x ~ x ~@2]!3 x [x ~@2 x ~ x ~@2]!2 ~@65>").gain(0.64)

// drums · snare
const snare = s("sd").struct("<~@5 [~ x ~ x]!3 [~@12 x ~ x!2] [~ x ~ x]!2 ~@65>").gain(0.64)

// drums · low tom
const low_tom = s("lt").struct("<~@4 [~@6 x!2] ~@71>").gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<~@2 A B@2 C D C E C D ~@65>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "x ~ x ~ x ~ x ~ x ~ x ~ x ~ x!2", D: "x!7 ~", E: "x!4",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<~@4 [~@5 x ~@2] ~@71>").gain(0.64)

// drums · open hat
const open_hat = s("oh").struct("<~@6 [~@7 x] ~@3 [~@7 x] ~@65>").gain(0.64)

// drums · crash
const crash = s("cr").struct("<~@3 x ~@4 x!2 ~@66>").gain(0.64)

stack(
  acoustic_guitar_steel, overdriven_guitar, overdriven_guitar_2, bass, kick, snare, low_tom, hihat, mid_tom, open_hat,
  crash
)

More by Silverchair