Strudelify
Give Me All Your Love cover art

Omen - The Story Continues

Give Me All Your Love

Magic Affair

KeyD minorTempo133 bpm
0:00/0:00
// Give Me All Your Love — Magic Affair
// 133 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 116 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(133/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 · synth bass 1 · "SYN BASS 1"
const bass = note(`<
  ~@4 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 C D A@2 B C A@2 B C A@2 B C A@2 B C A@2 B@2 A@2 B E A@2 B@2 A@2 B@2 A@2 B@2
  A@2 C D A@2 B C A@2 B C A@2 B C A@2 B C A@6 B F A@2 B C A@2 B C ~@20
>`.pickRestart({
  A: "d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~ d2 ~ d2 ~", B: "bb1!2 ~ bb1!2 ~ bb1!2 ~ bb1!2 ~ bb1 ~ bb1 ~",
  C: "g1!2 ~ g1!2 ~ g1!2 ~ g1!2 ~ g1 ~ g1 ~", D: "g1 ~@15", E: "bb1 ~@15", F: "g1 ~",
})).s("gm_synth_bass_1").gain(0.72)

// chords · pad warm · "WARM PAD"
const pad_warm = note(`<
  ~@8 A@4 B@2 C@2 A@4 B@2 D@2 ~@16 B@2 E@2 B@2 E@2 ~@8 B@2 E@2 B@2 E@2 A@4 B@2 D@2 ~@12 F@3 G ~@16 H@2 I J K@3 J L@4
>`.pickRestart({
  A: "[[a4,c5] bb4, [d4,f4]]/4", B: "[d4,f4,a4,c5]/2", C: "[d4,f4,bb4]/2", D: "[g3,bb3,d4,f4]/2",
  E: "[[d4,f4,bb4]@31 ~]/2", F: "[[d2,d3]@2 [bb1,bb2]]/3", G: "[g1,g2]", H: "[f4,a4]/2", I: "[d4,f4]@7 ~, bb4",
  J: "[bb3,d4,g4]", K: "[~ [a4,d5]@31 bb4@16, ~ f4@46 ~, ~@16 d4@7 ~]/3", L: "[[d2,d4,gb4,a4,d5]@63 ~]/4",
})).s("gm_pad_warm").gain(0.09)

// bass · synth bass 1 · "MELODY"
const bass_2 = note(`<
  ~@8 A B C D E F G H I J K L M N O P ~@3 Q ~@3 R ~@3 Q ~@12 S T U G V W X Y Z AA AB AC AD AE AF AG ~@52
>`.pickRestart({
  A: "f3 ~ d3 f3 ~ d3 ~ f3 ~ d3 ~ d3!2 ~ d3 ~", B: "d3!5 ~ d3!2 ~ f3 d3 ~ d3 ~ d3 ~",
  C: "~ d3!2 ~ d3 ~ d3!3 ~ d3 ~ d3 ~@3", D: "d3!3 ~ d3 ~ d3 ~ d3 ~ d3!3 ~ d3 ~", E: "d3!6 ~ d3!5 ~ d3!2 ~",
  F: "~ d3 ~ d3!2 ~@2 d3 ~ d3!2 ~ d3 ~@3", G: "~@2 d3!3 ~ d3!2 ~ d3!2 ~ d3 ~ d3 ~", H: "d3!5 ~ d3!5 ~ d3@2 d3 ~",
  I: "~ d3!4 ~ d3!3 d3@2 ~ d3 ~ d3 ~", J: "d3!4 ~ d3 ~ d3 ~ d3!4 ~@3", K: "~@2 d3 ~ d3 ~ d3!2 ~ d3!4 ~ d3 ~",
  L: "~@2 g3 ~ g3@2 f3 ~ f3 d3 ~@2 d3 ~@3", M: "~ d3!2 ~ d3 ~ d3 ~ d3!3 ~ d3 ~ d3!2", N: "d3 ~ d3 ~ d3!5 ~ d3 ~ d3 ~@3",
  O: "~ d3 ~ d3!2 ~ d3 ~ d3!3 ~ d3 ~ d3 ~", P: "d3!4 ~@2 d3!5 ~ d3 ~ d3 ~", Q: "~@6 g2@4 f2 ~ g2 ~ f2 ~",
  R: "~@2 g3 ~ g3 ~ f3 ~ f3 d3 ~@2 d3@2 ~@2", S: "d3 ~ d3!2 ~ d3 ~ d3 ~ d3!2 ~ d3 ~ d3 ~",
  T: "d3!4 ~ d3 ~ d3 ~ d3!4 ~ d3 ~", U: "~ d3!4 ~ d3!3 ~ d3!2 ~ d3!2 ~", V: "d3 ~ d3!4 ~@2 d3 ~ d3!2 ~@2 d3 ~",
  W: "d3 ~ d3 ~ d3!7 ~@5", X: "d3!2 ~ d3 ~ d3 ~ d3 ~ d3!4 ~ d3 ~", Y: "f3 d3 ~ d3 f3 d3 ~ d3 ~ c3!3 d3 ~@2 d3",
  Z: "f3 ~ d3 f3 ~ d3 f3 ~ c3!2 ~ d3 ~ a2!2 ~", AA: "d3!2 ~ d3!3 ~ d3 ~ d3!3 f3 ~ d3!2",
  AB: "~ c3!3 d3 ~ d3!4 ~ d3 ~ d3!3", AC: "~ c3 d3 ~ d3!2 ~ d3 ~ d3!2 ~ f3 ~ c3!2",
  AD: "~ d3!2 ~ d3!3 ~ f3 ~ d3!2 ~ f3!2 ~", AE: "~ d3!2 ~ d3!3 ~ d3!3 ~ d3 ~@3", AF: "~@2 d3 ~ d3!5 ~@3 d3 ~ c3 ~",
  AG: "c4@2 f3@2 ~ f2!2 ~ c3!3 d3 f2 ~ f2 ~",
})).s("gm_synth_bass_1").gain(0.44)

// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
  ~@8 A B C D E B D F A B C D E B D F ~@16 G@7 ~ H I C D J I D F H I C D J I D F ~@52
>`.pickRestart({
  A: "[f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2", // F
  B: "[f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!3 ~", // F
  C: "[f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 bb4@2, ~@14 f4 ~", // Bb5
  D: "[f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2, ~@6 f4 ~@3 f4 ~@3 f4 ~", // Bb5
  E: "[f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4]@2, ~@6 f4 ~@7 c5 ~", // F Am F
  F: "[f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2 [f4,bb4]!3 ~, ~@2 f4 ~@3 f4 ~@3 f4 ~@5", // Bb5
  G: "d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4",
  H: "[f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2", // F
  I: "[f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!3 ~", // F
  J: "[f4,a4]!2 [f4,a4]@2 [f4,a4]!2 a4@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2, ~@6 f4 ~@9", // F
})).s("gm_synth_brass_1").gain(0.25).pan(0)

// other · synth brass 1 · "SYNBRASS 1"
const synth_brass_1_2 = note(`<
  A B C D A B C D ~@16 A B C D A B C D A B C D A B C D ~@24 A B C D A B C D A B C D A B C D E F G H ~@4 A B C I A B C D
  A B C D ~@4 J B K ~@3 L I ~@4
>`.pickRestart({
  A: "d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2 g4@2", B: "d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2 c5@2",
  C: "bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2 g4@2", D: "bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2 c5@2",
  E: "~@4 d3 ~@2 d3!2 ~ d3!2 ~@4", F: "c3 ~ eb3 ~ d3 ~@2 d3!2 ~ d3!2 ~ d3!2 ~",
  G: "c3 ~ eb3 ~ d3 ~@2 d3 ~@2 d3!2 ~@2 d3 ~", H: "~@2 eb3 ~ d3 ~@2 d3 ~@3 d3 ~ d3!2 ~",
  I: "bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2 c5 ~", J: "d4 ~@13 g4@2", K: "bb3 a4@2 bb3 g4@2 ~@10",
  L: "bb3 a4@2 bb3 g4@2 bb3 a4@2 ~@2 bb3 f4@2 g4@2",
})).s("gm_synth_brass_1").gain(0.36)

// other · synth brass 1 · "SYNBRASS 1" · soft notes
const synth_brass_1_soft = note("<~@80 A B C D E F G ~@17 H ~ I J E K L ~@5>".pickRestart({
  A: "~@5 d3 ~@7 d3!2 ~", B: "~@5 d3 ~@10", C: "~@5 d3 ~@2 d3 ~@4 d3 ~@2", D: "c3 ~@4 d3 ~@2 d3 ~ d3 ~@5",
  E: "d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2 g4@2", F: "d3 a3@2 d3 g3@2 d3 a3@2 d3 g3 d3 f3@2 c4@2",
  G: "bb2 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2 g4@2", H: "~ a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2 ~@2",
  I: "~@6 bb3 a4@2 bb3 g4 bb3 f4@2 g4@2", J: "bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2 c5 ~",
  K: "d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2 c5@2", L: "~@9 bb3 g4 ~@5",
})).s("gm_synth_brass_1").gain(0.2)

// other · lead 2 sawtooth · "SAW WAVE"
const lead_2_sawtooth = note("<~@18 A B C@2 D@2 ~@16 C E F C@3 E ~@5 G H I C@8 ~@41 J K L M N K L M ~@4>".pickRestart({
  A: "~@4 bb4 f4 bb4 a4 bb4 f4 bb4 a4 bb4 f4 bb4 a4", B: "bb4 f4 bb4 a4 bb4 f4 bb4 a4 bb4 f4 g4 a4 d4 f4 g4 a4",
  C: "d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4", D: "bb3 f4 g4 a4 bb3 f4 g4 a4 bb3 f4 g4 a4 bb3 f4 g4 a4",
  E: "d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 ~@5", F: "~@3 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4",
  G: "~@9 f4 g4 a4 d4 f4 g4 a4", H: "d4 f4 g4 a4 d4 f4 g4 a4 d4 ~@7",
  I: "~ f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4", J: "~@2 d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2",
  K: "g4@2 d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2", L: "c5@2 bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2",
  M: "g4@2 bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2", N: "c5 ~ d4 a4@2 d4 g4@2 ~@5 d4 f4@2",
})).s("gm_lead_2_sawtooth").gain(0.17)

// other · lead 2 sawtooth · "SAW WAVE" · soft notes
const lead_2_sawtooth_soft = note("<~@18 A ~@22 B C ~@3 B ~@5 D E F ~@53 G ~@7>".pickRestart({
  A: "~@2 bb4 a4 ~@12", B: "~@11 a4 d4 f4 g4 a4", C: "d4 f4 g4 ~@13", D: "d4 f4 g4 a4 d4 f4 g4 a4 d4 ~@7",
  E: "~@9 f4 g4 a4 d4 f4 g4 a4", F: "d4 ~@15", G: "~@8 d4 a4@2 d4 g4 ~@3",
})).s("gm_lead_2_sawtooth").gain(0.1)

// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1_3 = note(`<
  ~@8 A B C D E B D F A B C D E B D F ~@17 G H I J K L ~ M N C D O N D F M N C D O N D F ~@52
>`.pickRestart({
  A: "[f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2", // F
  B: "[f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!3 ~", // F
  C: "[f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 bb4@2, ~@14 f4 ~", // Bb5
  D: "[f4,bb4]!2 [f4,bb4]@2 [f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2, ~@6 f4 ~@3 f4 ~@3 f4 ~", // Bb5
  E: "[f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [a4,c5]@2 [f4,a4,c5]!2 [f4,a4,c5]@2 [f4,a4,c5]!2 [f4,a4]@2, ~@6 f4 ~@7 c5 ~", // F Am F
  F: "[f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2 [f4,bb4]!2 bb4@2 [f4,bb4]!3 ~, ~@2 f4 ~@3 f4 ~@3 f4 ~@5", // Bb5
  G: "~@4 g4 a4 d4 f4 g4 a4 d4 f4 ~@4", H: "~@10 d4 f4 g4 a4 d4 f4", I: "g4 ~@13 d4 f4", J: "g4 a4 d4 f4 ~@12",
  K: "~@8 g4 a4 d4 f4 g4 a4 d4 f4", L: "g4 a4 d4 f4 g4 a4 d4 ~@9",
  M: "[f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2", // F
  N: "[f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!3 ~", // F
  O: "[f4,a4]!2 [f4,a4]@2 [f4,a4]!2 a4@2 [f4,a4]!2 [f4,a4]@2 [f4,a4]!2 [f4,a4]@2, ~@6 f4 ~@9", // F
})).s("gm_synth_brass_1").gain(0.25).pan(1)

// chords · synth brass 1 · "SYNBRASS 1" · soft notes
const synth_brass_1_soft_2 = note("<~@40 A B C D E F G H ~@68>".pickRestart({
  A: "~@2 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4", B: "g4 a4 d4 f4 ~@8 g4 a4 d4 f4",
  C: "g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 ~@6", D: "~ a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 ~@2",
  E: "~@4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4", F: "g4 a4 d4 f4 g4 a4 d4 f4 ~@8", G: "~@7 f4 g4 a4 d4 f4 g4 a4 d4 f4",
  H: "g4 a4 ~@14",
})).s("gm_synth_brass_1").gain(0.15).pan(1)

// other · synth brass 1 · "SYNBRASS 1"
const synth_brass_1_4 = note(`<
  A B C D A B C D ~@16 A B C D A B C D A B C D A B C D ~@13 E F G H ~@7 A B C D A B C D A B C D A B C D I J@3 K L M N A
  B C O A B C D A B C D ~@16
>`.pickRestart({
  A: "~@2 d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2", B: "g4@2 d4 a4@2 d4 g4@2 d4 a4@2 d4 g4 d4 f4@2",
  C: "c5@2 bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2", D: "g4@2 bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4@2",
  E: "~@4 g4 a4 d4 f4 ~@8", F: "~@10 d4 f4 g4 a4 d4 f4", G: "g4 a4 d4 f4 g4 a4 d4 f4 g4 ~@2 f4 g4 a4 d4 f4",
  H: "g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 ~@6", I: "~@2 d3!2 ~ d3!2 ~ d3!2 ~ d3!2 ~ c3 ~",
  J: "eb3 ~ d3!2 ~ d3!2 ~ d3!2 ~ d3!2 ~ c3 ~", K: "eb3 ~ d4 a4@2 d4 g4@2 d4 a4@2 ~@5",
  L: "g4@2 d3 a3@2 d3 g3@2 d3 a3@2 ~@5", M: "~@9 a4@2 bb3 g4 bb3 f4@2", N: "g4 ~@7",
  O: "g4@2 bb3 a4@2 bb3 g4@2 bb3 a4@2 bb3 g4 bb3 f4 ~",
})).s("gm_synth_brass_1").gain(0.3).pan(1)

// other · synth brass 1 · "SYNBRASS 1" · soft notes
const synth_brass_1_soft_3 = note("<~@52 A B C D E F@6 G ~@20 H I J ~@29>".pickRestart({
  A: "~@2 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4", B: "g4 a4 d4 f4 ~@4 g4 a4 d4 f4 g4 a4 d4 f4",
  C: "g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 ~@6", D: "~@9 a4 d4 ~@5", E: "~@10 d4 f4 g4 a4 d4 f4",
  F: "g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4 g4 a4 d4 f4", G: "g4 a4 ~@14", H: "~@11 d4 g4 d4 f4@2",
  I: "~@11 d3 g3 d3 f3@2", J: "c4@2 bb2 a4@2 bb3 g4@2 bb3 ~@7",
})).s("gm_synth_brass_1").gain(0.1).pan(1)

// other · synth brass 1 · "SYNBRASS 1"
const synth_brass_1_5 = note("<~@80 [d3!2 ~ d3!2 ~ d3!2 ~ d3!2 ~ c3 ~ eb3 ~]!4 ~@3 [g3!16] ~@28>")
  .s("gm_synth_brass_1").gain(0.56).pan(0.4)

// drums · kick
const kick = s("bd").struct("<~@2 A@20 B C A@23 D A@14 B C A@20 ~@3 C A@20 ~@8>".pickRestart({
  A: "x!4", B: "x ~ x ~ x ~ x!2", C: "x", D: "x ~ x ~@2 x ~@2 x ~ x ~ x ~@3",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B C B A B C B C B C B C B@7 D B C B C B C B A B C B A B C B A B C B C B C B C B@15 D B C B C B C B A B C B C B C
  B A ~@8 B C B A B C B A B C B C B C B A ~@12
>`.pickRestart({
  A: "x!16", B: "~ x ~ x", C: "~@4 x ~@2 x ~@4 x ~@3", D: "~@6 x ~ x!2 ~ x!5",
})).gain(0.72)

// drums · hihat
const hihat = s("hh").struct("<~@2 A@21 B A@39 B A@16 ~@8 A@16 C@4 ~@8>".pickRestart({
  A: "x!4", B: "x", C: "x!4 ~@2 x!2 ~@2 x!2 ~ x!2 ~",
})).gain(0.56)

// drums · open hat
const open_hat = s("oh").struct("<~@2 A@6 B@15 ~ A@16 B@23 ~ A@16 ~@8 A@16 ~@12>".pickRestart({
  A: "~@2 x ~@3 x ~@3 x!2 ~@2 x ~", B: "~ x ~ x ~ x ~ x",
})).gain(0.48)

// drums · shaker
const shaker = s("sh").struct("<~@2 A@6 B@15 ~ A@16 B@7 C B@15 ~ A@16 ~@8 A@16 ~@12>".pickRestart({
  A: "x!4 ~@2 x!2 ~@2 x!2 ~ x!2 ~", B: "x!16", C: "x!13 ~@3",
})).gain(0.4)

stack(
  bass, pad_warm, bass_2, synth_brass_1, synth_brass_1_2, synth_brass_1_soft, lead_2_sawtooth, lead_2_sawtooth_soft,
  synth_brass_1_3, synth_brass_1_soft_2, synth_brass_1_4, synth_brass_1_soft_3, synth_brass_1_5, kick, snare, hihat,
  open_hat, shaker
)

More by Magic Affair