Strudelify
Everybody (Backstreet's Back) cover art

1997 · Backstreet's Back

Everybody (Backstreet's Back)

Backstreet Boys

KeyB♭ minorTempo108 bpm
0:00/0:00
// Everybody (Backstreet's Back) — Backstreet Boys
// 108 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 2 "P2-Syn Ba" synth bass 1 (copy of ch 1 "P1-Finger" electric bass finger)
// note: Full arrangement: all 102 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(108/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.

// bass · electric bass finger · "P1-Finger"
const bass = note(`<
  ~@6 A B C D E D E ~ F D F D F D F D F D F D F G H D E D E D E D E D E D E ~@7 I D F D F D F G H D E D E D E D E D E
  J@4 ~@8 K@4 D E D E D E D E D E D E D E D L M@2 ~
>`.pickRestart({
  A: "bb1@7 ~ bb1@7 ~", B: "bb1", C: "bb1 ~@3", D: "bb1 ~ bb1 a1 ab1 g1 gb1 ~", E: "gb1@2 ~@2 gb1@2 ab1@2 f1@3 ~@5",
  F: "gb1 ~ gb1 ab1 f1 ~@3", G: "gb1 ~ gb1 f1 e1 eb1 d1 ~", H: "gb1 ~ gb1 g1 ab1 ~@3", I: "~@4 eb1@2 db1 bb0",
  J: "[bb-1, bb1 ~@63]/4", K: "[bb1@7 ~, bb-1 ~@63]/4", L: "gb1 ab1", M: "[bb1@31 ~]/2",
})).s("gm_electric_bass_finger").gain(0.62)

// chords · rock organ · "P3-Drawba"
const rock_organ = note(`<
  ~@9 A B A B ~@16 A B A B A C A C A B A B ~@16 A B A B A C A C A B D@4 ~@8 E@4 A B A B A C A C A B A B A C A C F@2 ~
>`.pickRestart({
  A: "[db5,f5,bb5]", B: "[db5,gb5,bb5] [c5,f5,a5]", C: "[db5,gb5,bb5] [eb5,ab5,c6]",
  D: "[[db0,f0,bb0], [db5,f5,bb5] ~@63]/4", E: "[bb5@7 ~, bb1 ~@63]/4", F: "bb2/2",
})).s("gm_rock_organ").gain(0.22).pan(0.4)

// chords · rock organ · "P3-Drawba" · soft notes
const rock_organ_soft = note("<~@21 A B A B A B C D ~@20 A B A B A B C D ~@45>".pickRestart({
  A: "[db5,f5,bb5]", B: "[db5,gb5,bb5] [c5,f5,a5]", C: "[db5,gb5,c6] [db5,gb5,bb5]",
  D: "[eb5,ab5,db6]@8 [eb5,ab5,c6]@3 ~@5", // Dbsus2 Ab
})).s("gm_rock_organ").gain(0.1).pan(0.4)

// other · piano · "P5-Electr"
const piano = note("<~@9 A@4 ~@16 A@12 ~@16 A@10 ~@16 A@15 B C@2 ~>".pickRestart({
  A: "~@6 [bb1,bb2] ~@3 [bb1,bb2] ~ [bb1,bb2] ~ [bb1,bb2]@2", B: "[gb1,gb2] [ab1,ab2]", C: "[[bb1,bb2]@29 ~@3]/2",
})).s("gm_piano").gain(0.39).pan(0.6)

// bass · lead 2 sawtooth · "P6-Saw Le"
const bass_2 = note(`<
  ~@9 A B C B ~@16 C B C B C B C B C B C B ~@16 C B C B C B C B C B D@4 ~@8 E@4 C B C B C B C B C B C B C B C F G@2 ~
>`.pickRestart({
  A: "[bb1,bb2] ~ [bb1,bb2] [a1,a2] [ab1,ab2] [g1,g2] [gb1,gb2] ~", B: "[gb1,gb2] ~ [gb1,gb2] [ab1,ab2] [f1,f2] ~@3",
  C: "[bb1,bb2]@3 ~ [bb1,bb2]@2 [a1,a2]@2 [ab1,ab2]@2 [g1,g2]@2 [gb1,gb2]@2 ~@2", D: "[bb0, bb4 ~@63]/4",
  E: "[bb5@7 ~, bb2 ~@63]/4", F: "[gb1,gb2] [ab1,ab2]", G: "[[bb1,bb2]@15 ~]/2",
})).s("gm_lead_2_sawtooth").gain(0.25).pan(0.4)

// chords · pad sweep · "P7-Sweep"
const pad_sweep = note(`<
  ~@7 A ~@6 B ~ B ~ B ~ B ~ C ~ C ~ B D E ~@11 F ~@9 C ~ C ~ B D E ~@9 F ~@5 G ~ H ~ G I J ~@23
>`.pickRestart({
  A: "[bb2,bb3,f4,bb4]", B: "[gb4,db5] [f4,c5]", C: "gb4 f4", D: "[gb4,eb5] [f4,bb4]", E: "[ab4,db5]@8 [ab4,c5]@3 ~@5",
  F: "[bb3,f4,bb4]", G: "[f4,bb4] [f4,c5]", H: "[db4,gb4] [eb4,ab4]", I: "[gb4,c5] [gb4,bb4]", J: "[ab4,db5] [ab4,c5]",
})).s("gm_pad_sweep").gain(0.12)

// chords · pad sweep · "P7-Sweep" · soft notes
const pad_sweep_soft = note("<~@22 A ~ A ~@25 A ~ A ~@49>".pickRestart({
  A: "db5 c5",
})).s("gm_pad_sweep").gain(0.06)

// chords · synth drum · "P8-Syn. D"
const synth_drum = note("<~@41 A B A B A B A C ~@53>".pickRestart({
  A: "db1 ~ e6 ~ e5 ~ db1 ~@3 [db1,e6] ~ e5 ~ db1@2", B: "db1 ~ e6 ~ e5 ~ db1@2 db1 ~ e6 ~ e5 ~@3, ~@6 e6 ~@9",
  C: "db1 ~@7 db1 ~@3 e5 ~ db1 ~",
})).s("gm_synth_drum").gain(0.39)

// chords · synth drum · "P8-Syn. D" · soft notes
const synth_drum_soft = note("<~@41 A B A B A B A C ~@53>".pickRestart({
  A: "~@6 e6 ~@7 e6 ~", B: "~@7 db1, ~@14 e6 ~", C: "~@10 e6 ~@3 e6 ~",
})).s("gm_synth_drum").gain(0.22)

// chords · synth strings 1 · "P9-Syn. S"
const synth_strings_1 = note(`<
  ~ A B A B A C A D E F E F ~@8 G H G H G H I J E F E F E K E K E F E F L@8 G H G H G H I J E F E F E K E K E F M@4 N O
  P Q N R S T U@4 E F E F E K E V@7 E K W@2 ~
>`.pickRestart({
  A: "[bb3,db4,f4,bb4,db5]", B: "[bb3,db4,gb4,bb4,db5] [a3,c4,f4,a4,c5]",
  C: "[bb3,db4,gb4,bb4,db5] [c4,eb4,ab4,c5,eb5]", D: "[bb3,db4]@7 ~@9, [f4,bb4]@5 ~@11, db5@3 ~@13", E: "[f4,bb4,db5]",
  F: "[gb4,bb4,db5] [f4,a4,c5]", G: "[db4,f4,bb4]", H: "[db4,gb4,bb4] [c4,f4,a4]", I: "[db4,gb4,c5] [db4,gb4,bb4]",
  J: "[eb4,ab4,db5]@8 [eb4,ab4,c5]@3 ~@5", K: "[gb4,bb4,db5] [ab4,c5,eb5]", L: "[[f5,bb5]@15 ~]/8",
  M: "[[f0,bb0,db1], [f4,bb4,db5] ~@63]/4", N: "[bb2,bb3,db4,f4,bb4]", O: "[c4,f4,bb4] [c4,f4,a4], [f2,f3]",
  P: "[eb2,db4,eb4,gb4,bb4]", Q: "[gb2,gb3,db4,gb4,bb4] [ab2,ab3,eb4,ab4,c5]", R: "[c4,f4,bb4] [f4,a4,c5], [f2,f3]",
  S: "[gb2,gb3,db4,gb4,c5] [gb2,gb3,db4,gb4,bb4]", T: "[ab2,ab3,eb4,ab4,db5] [ab2,ab3,eb4,ab4,c5]",
  U: "[bb5@7 ~, bb1 ~@63]/4",
  V: "[[gb4,bb4,db5] ab4 [f4,bb4,db5]@2 [gb4,bb4,db5] [f4,a4,c5] [f4,bb4,db5]@2 [gb4,bb4,db5] [f4,a4,c5] [f4,bb4,db5]@2 [gb4,bb4,db5] [ab4,c5,eb5], ~ eb5@12 ~, ~ c5@4 ~@9]/7", // Gb Bbm Gb F Bbm Gb F Bbm …
  W: "[[bb1,bb2]@31 ~]/2", // Bb
})).s("gm_synth_strings_1").gain(0.17).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  ~@8 A B C B C D 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 E F E F E F E G B C B C B C B H B C B C B C B C
  B C B C B I A ~@3 A ~@3 D@2 F J B C B C B C B C B C B C B C B G A ~@2
>`.pickRestart({
  A: "x", B: "x ~@2 x!3 ~@2", C: "x ~@2 x!2 ~@3", D: "x ~@6 x", E: "x ~@2 x ~ x ~ x", F: "x ~@2 x!2 ~@2 x", G: "x!2",
  H: "x!5 ~@2 x", I: "x ~@2 x!3 ~ x", J: "x!5 ~@3",
})).gain(0.4)

// drums · clap
const clap = s("cp").struct("<~@9 A@4 B A@42 B A@14 ~@11 C A@15 ~@4>".pickRestart({
  A: "~ x ~ x", B: "~@3 x", C: "x!5 ~@3",
})).gain(0.27)

// drums · snare
const snare = s("sd").struct("<~@9 A@4 B A@34 C A@7 B A@14 ~@11 D A@15 ~@4>".pickRestart({
  A: "~ x ~ x", B: "~@3 x", C: "~ x ~@2", D: "x!5 ~@3",
})).gain(0.45)

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

// drums · open hat
const open_hat = s("oh").struct("<~@13 [~@7 x] ~@88>").gain(0.18)

// drums · crash
const crash = s("cr").struct(`<
  ~@8 A@2 B A B A B ~ B A B ~ B A B ~ B A B A@3 B A B A B A B A B A B A ~@3 A ~@2 C A B ~ B A B A@3 B A B A B A B A B A
  B A@3 ~@3 A ~@3 A@2 B D A B A B A B A B A B A B A B A B A ~@2
>`.pickRestart({
  A: "x", B: "x!2", C: "~ x", D: "x!5 ~@3",
})).gain(0.27)

// drums · crash · soft notes
const crash_soft = s("cr").struct("<~@42 x!3 ~ x!3 ~@7 [~ x] ~@45>").gain(0.18)

// drums · tambourine
const tambourine = s("tb").struct("<~@9 A@4 B C@15 A@12 C@7 D C@7 E A@13 F ~@12 A@15 B ~@3>".pickRestart({
  A: "x!16", B: "x", C: "x ~ x ~ x ~ x ~ x ~ x!3 ~ x ~", D: "x!5 ~@3", E: "x!5 ~@2 x", F: "x!9 ~ x ~ x ~@3",
})).gain(0.18)

// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct("<~@13 A B@15 ~@12 B@7 C B@7 D ~@45>".pickRestart({
  A: "~@15 x", B: "~ x ~ x ~ x ~ x ~ x ~@3 x ~ x", C: "~ x ~ x ~ x ~ x ~@7 x", D: "~ x ~ x ~ x ~ x ~@5 x ~ x",
})).gain(0.09)

// drums · cowbell
const cowbell = s("cb").struct("<~@9 A@4 ~ B@15 A@12 B@15 C A@10 B@4 ~@12 A@15 ~@4>".pickRestart({
  A: "~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2", B: "~ x ~ x ~ x ~ x", C: "~ x ~ x ~@4",
})).gain(0.09)

// drums · cowbell · soft notes
const cowbell_soft = s("cb").struct(`<
  ~@14
  [~@3 x ~@3 x ~@3 x ~@3 x]!15
  ~@12
  [~@3 x ~@3 x ~@3 x ~@3 x]!15
  [~@3 x ~@3 x ~@8]
  ~@10
  [~@3 x ~@3 x ~@3 x ~@3 x]!4
  ~@31
>`).gain(0.04)

// drums · agogo bells
const agogo_bells = s("agogo:2").struct("<~@41 A B A B A B A ~@54>".pickRestart({
  A: "~@2 x ~@3 x ~@3 x!5 ~", B: "~@2 x!2 ~@2 x ~@3 x!2 ~@2 x ~",
})).gain(1.14)

// drums · agogo bells · soft notes
const agogo_bells_soft = s("agogo:2").struct("<~@41 A ~ A ~ A ~ A ~@54>".pickRestart({
  A: "~@3 x ~@12",
})).gain(0.57)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct("<~@42 [~@10 x!5 ~] ~ [~@10 x!5 ~] ~ [~@10 x!5 ~] ~@55>").gain(0.26)

// drums · triangle
const triangle = s("triangles:30").struct("<~@9 A@4 ~ A@34 B A@7 C A@13 D ~@12 A@15 ~@4>".pickRestart({
  A: "~ x ~ x ~ x ~ x", B: "~ x ~ x ~@4", C: "~ x ~ x ~@3 x", D: "~ x ~ x ~ x ~@2",
})).gain(3.9)

// drums · bell tree
const bell_tree = s("marktrees:0").struct("<~@70 [~@4 x!2 ~@2] ~@3 [~@2 x!2] ~@27>").gain(0.8)

stack(
  bass, rock_organ, rock_organ_soft, piano, bass_2, pad_sweep, pad_sweep_soft, synth_drum, synth_drum_soft,
  synth_strings_1, kick, clap, snare, hihat, open_hat, crash, crash_soft, tambourine, tambourine_soft, cowbell,
  cowbell_soft, agogo_bells, agogo_bells_soft, woodblocks, triangle, bell_tree
)

More by Backstreet Boys