Strudelify

Everybody Everybody

Black Box

KeyF minorTempo117 bpm
0:00/0:00
// Everybody Everybody — Black Box
// 117 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 120 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(117/4)

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

// chords · lead 5 charang
const lead_5_charang = note(`<
  ~@32 A B A C A B A B A B A C A B A B A B A C A B A B A B A C A B A B ~@8 A B A C A B A B A B A C A B A B A B A C A B A
  B A B A C A B A B A B A C A B A B A B A C A B A ~
>`.pickRestart({
  A: "[c6,f7]!2 [c6,eb7] [c6,f7]!2 [c6,eb7] [c6,f7]!2 [c6,eb7] [c6,f7]!2 [c6,eb7] [c6,f7]!2 [c6,eb7]!2", // F5 Cm F5 Cm F5 Cm F5 Cm …
  B: "[db6,f7]!2 [db6,eb7] [db6,f7]!2 [db6,eb7] [db6,f7]!2 [db6,eb7] [eb6,f7]!2 [eb6,eb7] [eb6,f7]!2 [eb6,eb7]!2", // Db Dbsus2 Db Dbsus2 Db Dbsus2 Ebsus2 Eb …
  C: "[db6,f7]!2 [db6,eb7] [db6,f7]!2 [db6,eb7] [db6,f7]!2 [eb6,eb7] [eb6,f7]!2 [eb6,eb7] [eb6,f7]!2 [eb6,eb7]!2", // Db Dbsus2 Db Dbsus2 Db Eb Ebsus2 Eb …
})).s("gm_lead_5_charang").gain(0.05)

// other · brass section
const brass_section = note("<~@16 A B A C D B A B ~@32 A C A B D B A B ~@32 A B A B D B A B ~@16>".pickRestart({
  A: "c5@2 ~ c5 ~@10 c5@2", B: "bb4@2 ~ c5@3 db5@3 eb5@2 ~ c5@2 bb4@2", C: "bb4@2 ~ c5@3 db5@2 ~ eb5@2 ~ c5@2 bb4@2",
  D: "c5@2 ~ c5 ~ bb4 c5 ~@7 c5@2",
})).s("gm_brass_section").gain(0.35).pan(0.6)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~@8
  [~@4 f3 ~@2 eb3 f3 eb3 f3 ~@5]!6
  ~@2
  [~@4 f3 ~@2 eb3 f3 eb3 f3 ~@5]!92
  ~@4
  [~@4 f3 ~@2 eb3 f3 eb3 f3 ~@5]!7
  ~
>`).s("gm_electric_guitar_muted").gain(0.3)

// bass · acoustic bass
const bass = note(`<
  ~@7 A B C B C B C ~ A B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C
  B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C ~@4 B C B C B C B ~
>`.pickRestart({
  A: "~@3 f3", B: "f1@3 ~ f2@2 ~ eb2 f2 eb2 f2@2 c2@2 b1@2", C: "bb1@3 ~ bb2@2 ~ eb2 f2 eb2 f2@2 ab2@2 bb2@2",
})).s("gm_acoustic_bass").gain(0.4)

// chords · percussive organ
const percussive_organ = note(`<
  A B A C A C A B D B A C D C A C A C A B D C A C ~@32 A B A C D C A C ~@32 A C A C D C A C ~@16
>`.pickRestart({
  A: "[eb5,f5,ab5,c6]@2 ~ [eb5,f5,ab5,c6] ~@10 [eb5,f5,ab5,c6] ~", // Fm7
  B: "[db5,f5,ab5,bb5]@2 ~ [db5,f5,ab5,c6]@3 [db5,f5,ab5,db6]@2 ~ [db5,f5,ab5,eb6]@2 ~ [db5,f5,ab5,c6] ~ [db5,f5,ab5,bb5] ~", // Bbm7 Dbmaj7 Db Dbmaj7 Bbm7
  C: "[db5,f5,ab5,bb5]@2 ~ [db5,f5,ab5,c6]@3 [db5,f5,ab5,db6]@3 [db5,f5,ab5,eb6]@2 ~ [db5,f5,ab5,c6] ~ [db5,f5,ab5,bb5] ~", // Bbm7 Dbmaj7 Db Dbmaj7 Bbm7
  D: "[eb5,f5,ab5,c6]@2 ~ [eb5,f5,ab5,c6] ~ [eb5,f5,ab5,bb5] [eb5,f5,ab5,c6] [a5,b5] ~@6 [eb5,f5,ab5,c6] ~", // Fm7 Ebsus4 Fm7 Asus2 Fm7
})).s("gm_percussive_organ").gain(0.12)

// chords · percussive organ · soft notes
const percussive_organ_soft = note("<~@8 A ~@3 A ~@7 A ~@39 A ~@39 A ~@19>".pickRestart({
  A: "~@7 g5 [b4,c5,d5,e5,f5] [f4,g4,a4] ~@6", // Bdim F
})).s("gm_percussive_organ").gain(0.06)

// drums · kick
const kick = s("bd").struct("<~@2 A@2 B@10 C B@24 D B@5 C B C B@31 C B@5 C B C B@4 C B@26 ~>".pickRestart({
  A: "x!4", B: "x ~ x ~ x ~@2 x!2 ~ x ~ x ~ x ~", C: "x ~ x ~@4 x ~@2 x ~@3 x ~", D: "x ~ x ~ x ~@2 x!2 ~ x ~@3 x ~",
})).gain(0.25)

// drums · snare
const snare = s("sd").struct("<~@4 [~ x ~ x]!115 ~>").gain(0.45)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@4 [~@9 x ~@6]!115 ~>").gain(0.25)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@4 [x!16]!115 ~>").gain(0.35)

// drums · pedal hat · soft notes
const pedal_hat_soft = s("hh").struct("<~@119 x>").gain(0.05)

// drums · open hat
const open_hat = s("oh").struct("<~@4 [~ x ~ x ~ x ~ x]!115 ~>").gain(0.35)

// drums · china
const china = s("cr").struct("<A ~ A ~@7 A ~@5 A ~ A ~@3 A ~@73 A ~ A ~@3 A ~ A ~ A ~@13>".pickRestart({
  A: "~@3 x ~@4",
})).gain(0.4)

// drums · china · soft notes
const china_soft = s("cr").struct("<A ~ A ~@7 A ~@5 A ~ A ~@3 A ~@73 A ~ A ~@3 A ~ A ~ A ~@13>".pickRestart({
  A: "~@5 x ~@2",
})).gain(0.1)

// drums · tambourine
const tambourine = s("tb").struct("<~@4 [x!16]!115 ~>").gain(0.45)

// drums · congas
const congas = s("conga:33").struct("<~@23 [~@5 x ~@2] ~@7 [~@5 x ~@2] ~@39 [~@5 x ~@2] ~@48>").gain(0.95)

// drums · shaker
const shaker = s("sh").struct("<~@4 [x ~@3 x ~@2 x!2 ~ x ~ x ~@3]!115 ~>").gain(0.4)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct("<~@3 [~@7 x]!11 ~ [~@7 x]!104 ~>").gain(0.65)

stack(
  lead_5_charang, brass_section, electric_guitar_muted, bass, percussive_organ, percussive_organ_soft, kick, snare,
  snare_soft, pedal_hat, pedal_hat_soft, open_hat, china, china_soft, tambourine, congas, shaker, woodblocks
)

More by Black Box