Strudelify

Right by Your Side

Eurythmics

KeyF♯ majorTempo85 bpm
0:00/0:00
// Right by Your Side — Eurythmics
// 85 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 46 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(85/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.

// bass · electric bass finger · "El Bass"
const bass = note("<~@2 A B C D E@8 F B C G E@8 ~@4 H I H I H J K L E@8>".pickRestart({
  A: "f#2 ~@15", B: "f#2 ~ f#2 ~@13", C: "f#2 ~ f#2 ~ f#2 ~@11",
  D: "f#2 ~ f#2 ~ f#2 ~ f#2 ~@2 f#3 f3 d#3 c#3 b2 a#2 c#3", E: "f#2@3 a#2@3 c#3 ~@2 g#2@3 b2@2 c#3 ~", F: "f#2 ~@7",
  G: "f#2 ~ f#2 ~ f#2 ~ f#2 ~@2 f#3 f3 d#3 c#3 b2 a#2 g#2", H: "b2@3 b2@3 b2 ~@2 b2@3 a#2@2 g#2 ~",
  I: "f#2@3 f#2@3 f#2 ~@2 f#2@3 g#2@2 a#2 ~", J: "f#2@3 f#2@3 f#2 ~@2 f#2@3 f#2@2 f#2 ~",
  K: "g#2@3 g#2@3 g#2 ~@2 g#2@3 g#2@2 g#2 ~", L: "c#2@3 c#2@3 c#2 ~@2 c#3@3 b2@2 g#2 ~",
})).s("gm_electric_bass_finger").gain(0.51).pan(1)

// bass · electric bass finger · "El Bass"
const bass_2 = note("<~@2 A B C D E@8 F B C G E@8 ~@4 H I H I H J K L E@8>".pickRestart({
  A: "f#1 ~@15", B: "f#1 ~ f#1 ~@13", C: "f#1 ~ f#1 ~ f#1 ~@11",
  D: "f#1 ~ f#1 ~ f#1 ~ f#1 ~@2 f#2 f2 d#2 c#2 b1 a#1 c#2", E: "f#1@3 a#1@3 c#2 ~@2 g#1@3 b1@2 c#2 ~", F: "f#1 ~@7",
  G: "f#1 ~ f#1 ~ f#1 ~ f#1 ~@2 f#2 f2 d#2 c#2 b1 a#1 g#1", H: "b1@3 b1@3 b1 ~@2 b1@3 a#1@2 g#1 ~",
  I: "f#1@3 f#1@3 f#1 ~@2 f#1@3 g#1@2 a#1 ~", J: "f#1@3 f#1@3 f#1 ~@2 f#1@3 f#1@2 f#1 ~",
  K: "g#1@3 g#1@3 g#1 ~@2 g#1@3 g#1@2 g#1 ~", L: "c#1@3 c#1@3 c#1 ~@2 c#2@3 b1@2 g#1 ~",
})).s("gm_electric_bass_finger").gain(0.51).pan(0)

// bass · tenor sax
const bass_3 = note("<~@2 A B C D ~@8 A E C D ~@28>".pickRestart({
  A: "f#2 ~@7", B: "f#2 ~ f#2@2 ~@12", C: "f#2 ~ f#2 ~ f#2 ~@11", D: "f#2 ~ f#2 ~ f#2 ~ f#2 ~@9", E: "f#2 ~ f#2 ~@13",
})).s("gm_electric_bass_finger").gain(0.51)

// chords · electric guitar clean · "Electric guitar" · F# B C# F# B C# F# B …
const electric_guitar_clean = note(`<
  ~@2
  [[c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] [d#4,f#4,b4]!2 ~ [d#4,f#4,b4] [f4,g#4,c#5]!2 ~@2]
  ~@11
  [[c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] [d#4,f#4,b4]!2 ~ [d#4,f#4,b4] [f4,g#4,c#5]!2 ~@2]
  [[c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] [d#4,f#4,b4] [d#4,f#4,b4,c#5] d#5 [d#4,f#4,b4,f5] [f4,g#4,c#5,f#5] [f4,g#4,c#5,g#5] a#5 b5]
  [[c#4,f#4,a#4,c#6] ~ [c#4,f#4,a#4,c#6] a#5 [c#4,f#4,a#4] c#6 ~ [c#4,f#4,a#4,b5] [d#4,f#4,b4] [d#4,f#4,b4,b5] ~ [d#4,f#4,b4,a#5] [f4,g#4,c#5,b5] [f4,g#4,c#5] f5 ~]
  [[c#4,f#4,a#4,f#5] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@2 [c#4,f#4,a#4] [d#4,f#4,b4]!2 ~ [d#4,f#4,b4] [f4,g#4,c#5]!2 ~@2]
  ~@28
>`).s("gm_electric_guitar_clean").gain(0.36)

// drums · kick
const kick = s("bd").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
>`.pickRestart({
  A: "x", B: "x ~@2 x ~@5 x ~@2 x ~@3",
})).gain(0.51)

// drums · snare
const snare = s("sd").struct("~@7 x").gain(0.51)

// drums · clap
const clap = s("cp").struct("~@5 x!3 ~@8").gain(0.51)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
>`.pickRestart({
  A: "~ x ~@6",
})).gain(0.51)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
>`.pickRestart({
  A: "x!16",
})).gain(0.51)

// drums · shaker
const shaker = s("sh").struct(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
>`.pickRestart({
  A: "~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2",
})).gain(0.51)

// drums · jingle bells
const jingle_bells = s("sleighbells:4").struct(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
>`.pickRestart({
  A: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2",
})).gain(2.21)

stack(bass, bass_2, bass_3, electric_guitar_clean, kick, snare, clap, low_tom, hihat, shaker, jingle_bells)

More by Eurythmics