Strudelify
Everything I Wanted cover art

2019 · everything i wanted - Single

Everything I Wanted

Billie Eilish

KeyA majorTempo120 bpm
0:00/0:00
// Everything I Wanted — Billie Eilish
// 120 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5848701; license: https://creativecommons.org/publicdomain/zero/1.0/
// 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(120/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.

// other · piccolo
const piccolo = note("<~@40 A@4 B@4 C D@3 E@4 ~@28 A@4 B@4 C D@3 E@4 ~@20>".pickRestart({
  A: "[~@3 f#6 f#6@2 g#6 g#6@4 g#6@7 e6@2 e6@2 d6 d6@2 d6 ~@6]/4",
  B: "[~@2 f#6@2 f#6@2 g#6 g#6@4 g#6@7 e6@2 e6@2 d6 d6@2 d6 ~@6]/4", C: "~@2 f#6@2 f#6@2 a6 f#6",
  D: "[g#6@6 e6 c#7@5 a6 g#6@2 g#6@2 a6 f#6@2 ~@4]/3",
  E: "[~ f#6 f#6@2 f#6@2 g#6 g#6@4 g#6@7 e6@2 e6@2 d6 d6@2 d6 ~@6]/4",
})).s("gm_piccolo").gain(0.15)

// other · piccolo · soft notes
const piccolo_soft = note("<~@108 A@8 ~@4>".pickRestart({
  A: "[a5@2 a5@2 a5 g#5 a5 g#5@2 f#5 g#5@2 g#5 f#5 g#5 b5@2 a5 b5@2 b5 c#6 d6 c#6@3 ~@6]/4",
})).s("gm_piccolo").gain(0.05)

// other · pan flute
const pan_flute = note("<~@40 A@4 B@4 C@4 D@4 ~@28 A@4 B@4 C@4 D@4 ~@8 E@8 ~@4>".pickRestart({
  A: "[~@3 f#4 a4@2 b4 b4@4 b4@7 g#4 f#4 g#4@2 f#4 f#4@2 f#4 ~@6]/4",
  B: "[~@2 f#4@2 a4@2 b4 b4@4 b4@7 g#4 f#4 g#4@2 f#4 f#4@2 f#4 ~@6]/4",
  C: "[~@2 a4@2 a4@2 e5 b4@7 b4 f5@5 c#5 c#5@2 d5@2 a4 f#4@2 ~@4]/4",
  D: "[~ f#4 f#4@2 a4@2 b4 b4@4 b4@7 g#4 f#4 g#4@2 f#4 f#4@2 f#4 ~@6]/4",
  E: "[a4@2 a4@2 a4 g#4 a4 g#4@2 f#4 g#4@2 g#4 f#4 g#4 b4@2 a4 b4@2 b4 c#5 d5 c#5@3 ~@6]/4",
})).s("gm_pan_flute").gain(0.15)

// chords · piano
const piano = note(`<
  A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 A@2 B@2 C@2 D@2 A@2 B@2 A@2 B@2 C@2 E@2 A@2 B@2 C@2 D@2 A@2 F@2 C@2 G@2 ~@8
  H@2 I@2 J@2 I@2 K@2 L@2 A@2 B@2 C@2 M ~ J@2 I@2 K@2 L@2 J@2 N@2 K@2 L@2 O@2 P@2 O@2 P@2 O@2 Q@2 O@2 P@2 R ~@3
>`.pickRestart({
  A: "[~@6 a3@6 [e2,g#3,b3]@19 ~, [d2,f#3,c#4]@3 ~@5]/2", // E Dmaj7
  B: "[~@6 g#3@6 [a3,c#4]@11 ~ a3@2 b3@2 c#4@2 d4@2, [c#2,e3,c#4]@12 d2@19 ~]/2", // A C#m
  C: "[~@12 [e2,b3]@19 ~, [d2,f#3,c#4]@3 ~@5, ~@3 a3@3 ~@10, ~@10 g#3@21 ~]/2", // E5 Dmaj7
  D: "[~@6 [e3,c#4]@6 [d2,f#3,a3]@19 ~, [c#2,g#3]@3 ~@5]/2", // C#m D C#5
  E: "[~@6 [e3,c#4]@6 [d2,f#3,a3]@11 ~@9, [c#2,g#3]@3 ~@5]/2", // C#m D C#5
  F: "[~@6 g#3@6 [a3,c#4]@11 ~ a3@2 b3@2 c#4@2 d4@2, [c#2,f3,b3,c#4]@12 d2@19 ~]/2", // A C#7
  G: "[~@3 [e3,c#4]@3 [f#3,a3]@10, [c#2,g#3]@3 d2 ~@4]/2", // C#m F#m C#5
  H: "[~@3 c#3 ~@3 c#3 ~@3 e3 ~@3 e3, [d2,f#3,c#4]@4 d2@2 a2@2 ~ g#2@3 ~ g#2@3, a3@3 a3@5 ~@2 b2@2 ~@2 b2@2, ~ f#2@3 ~ f#2@3 e2@4 e2@4, ~ a2 ~ [g#3,b3]@5]/2", // Dmaj7 G#m
  I: "[~@3 c#3 ~@3 c#3 ~@3 c#3 ~@3 [c#3,d4], [c#2,e3,c#4]@4 c#2@2 g#2@2 ~ f#2@3 ~ [f#2,b3]@3, ~ e2@3 ~ e2@3 d2@4 [d2,a3]@4, ~ g#2 ~ [a3,c#4]@3 ~@2, ~@3 g#3@5 ~@2 a2@2 ~@2 [a2,c#4]@2]/2", // Dmaj7 C#m B5 D5 A
  J: "[~@3 c#3 ~@3 c#3 ~@3 e3 ~@3 e3, [d2,f#3,c#4]@4 d2@2 a2@2 ~ g#2@3 ~ g#2@3, ~ f#2@3 ~ f#2@3 e2@4 e2@4, ~ a2 ~ [g#3,b3]@5, ~@3 a3@5 ~@2 b2@2 ~@2 b2@2]/2", // Dmaj7 G#m
  K: "[~@3 c#3 ~@3 c#3 ~@3 e3 ~@3 e3, [d2,f#3,c#4]@2 d2 b3@4 b2, ~ f#2@3 ~ f#2 a2@2 e2@2 b2@2 ~ g#2@3, ~@2 a2@2 ~ g#3@11, ~@3 a3@5 ~ g#2@3 e2@4]/2", // Dmaj7
  L: "[~@3 c#3 ~@3 c#3 ~@3 c#3 ~@3 c#3, [c#2,g#3]@4 c#2@2 g#2@2 ~ f#2@3 ~ f#2@3, ~ e2@3 ~ e2@3 d2@4 d2@4, ~ g#2 ~ [f#3,a3]@5, ~@3 [e3,c#4]@5 ~@2 a2@2 ~@2 a2@2]/2", // C#5 F#m C#m
  M: "[c#2,g#3]@3 ~", // C#5
  N: "[~@3 c#3 ~@3 c#3 ~@3 c#3 ~@3 [c#3,d4], [c#2,f3,b3,c#4]@4 c#2@2 g#2@2 ~ f#2@3 ~ [f#2,b3]@3, ~ f2@3 ~ f2@3 d2@4 [d2,a3]@4, ~ g#2 ~ [a3,c#4]@3 ~@2, ~@3 g#3@5 ~@2 a2@2 ~@2 [a2,c#4]@2]/2", // Dmaj7 C#7 B5 D5 A
  O: "[~@3 c#3 ~@3 c#3 ~@3 e3 ~@3 e3, d5@5 f#2 [e5,g#5,b5]@10, d2 f#2 a2@2 d2@2 a2@2 e2@4 e2@4, ~ [f#5,a5]@15 ~@2 g#2@6 ~@2 g#2@6, ~ c#6@7 ~@2 b2@2 ~@2 b2@2]/2", // E F#m
  P: "[~@3 c#3 ~@3 c#3 ~@3 c#3 ~@3 c#3, c#5@3 [d5,f#5,a5]@5, c#2@2 g#2@2 ~ e2 g#2@2 ~ f#2@3 ~ f#2@3, ~ [e5,g#5]@15 ~@4 a2@4 ~@4 a2@4, ~ e2@3 c#2@4 d2@4 d2@4]/2", // D E
  Q: "[~@3 c#3 ~@3 c#3 ~@3 c#3 ~@3 c#3, c#5@5 f2 [d5,f#5,a5]@10, c#2 f2 g#2@2 c#2@2 g#2@2 d2@4 d2@4, ~ [f5,g#5]@15 ~@2 f#2@6 ~@2 f#2@6, ~ b5@7 ~@2 a2@2 ~@2 a2@2]/2", // D Fm
  R: "~@7 [c#3,c#5], [d2,d4]!2, ~ [f#2,f#4]@4 [f#2,f#4]@3, ~ [a2,a4]@2 [a2,a4], ~@3 [c#3,c#5]@4 ~", // C# D F# A C#
})).s("gm_piano").gain(0.25)

// chords · piano · soft notes
const piano_soft = note("<~@55 A@2 B C A@2 B C D ~@18 E@2 ~@33 F G H>".pickRestart({
  A: "~@7 c#3, d2!2, ~ f#2@4 f#2@3, ~ a2@2 a2, ~@3 c#3@4 ~", B: "~@7 e3, e2!2, ~ g#2@4 g#2@3, ~ b2@2 b2, ~@3 e3@4 ~",
  C: "~@7 c#3, c#2!2, ~ e2@4 e2@3, ~ g#2@2 g#2, ~@3 c#3@4 ~", D: "~@3 c#3 ~@4, d2 ~, ~ f#2@3 ~@4, ~ a2 ~@2",
  E: "[~@6 [e3,c#4]@6 [d2,f#3,a3]@11 ~@9]/2", // C#m D
  F: "~@7 [e3,e5], [e2,e4]!2, ~ [g#2,g#4]@4 [g#2,g#4]@3, ~ [b2,b4]@2 [b2,b4], ~@3 [e3,e5]@4 ~", // E G# B E
  G: "~@7 [c#3,c#5], [c#2,c#4]!2, ~ [e2,e4]@4 [e2,e4]@3, ~ [g#2,g#4]@2 [g#2,g#4], ~@3 [c#3,c#5]@4 ~", // C# E G# C#
  H: "~@7 [c#3,c#5], [d2,d4]!2, ~ [f#2,f#4]@4 [f#2,f#4]@3, ~ [a2,a4]@2 [a2,a4], ~@3 [c#3,c#5]@4 ~", // C# D F# A C#
})).s("gm_piano").gain(0.15)

// chords · epiano1 · "Electric Piano"
const epiano1 = note(`<
  ~@64 A B C A@2 B C A@2 B C A ~@8 D E F D@2 E F D@2 E G D@2 E F D H@2 I@2 H@2 I@2 J K L J@2 K M J N O P ~
>`.pickRestart({
  A: "d2 f#2 a2 c#3 d2 f#2 a2 c#3", B: "e2 g#2 b2 e3 e2 g#2 b2 e3", C: "c#2 e2 g#2 c#3 c#2 e2 g#2 c#3",
  D: "~@3 c#3 ~@3 c#3, d2!2, ~ f#2@3 ~ f#2@3, ~ a2 ~ a2", E: "~@3 e3 ~@3 e3, e2!2, ~ g#2@3 ~ g#2@3, ~ b2 ~ b2",
  F: "~@3 c#3 ~@3 c#3, c#2!2, ~ e2@3 ~ e2@3, ~ g#2 ~ g#2", G: "~@3 c#3 ~@3 c#3, c#2!2, ~ f2@3 ~ f2@3, ~ g#2 ~ g#2",
  H: "[~@3 c#3 ~@3 c#3 ~@3 e3 ~@3 e3, d5@5 f#2 [e5,g#5,b5]@10, d2 f#2 a2@2 d2@2 a2@2 e2@4 e2@4, ~ [f#5,a5]@15 ~@2 g#2@6 ~@2 g#2@6, ~ c#6@7 ~@2 b2@2 ~@2 b2@2]/2", // E F#m
  I: "[~@3 c#3 ~@3 c#3 ~@3 c#3 ~@3 c#3, c#5@3 [d5,f#5,a5]@5, c#2@2 g#2@2 ~ e2 g#2@2 ~ f#2@3 ~ f#2@3, ~ [e5,g#5]@15 ~@4 a2@4 ~@4 a2@4, ~ e2@3 c#2@4 d2@4 d2@4]/2", // D E
  J: "~@3 [c#3,c#5] ~@3 [c#3,c#5], [d2,d4]!2, ~ [f#2,f#4]@3 ~ [f#2,f#4]@3, ~ [a2,a4] ~ [a2,a4]", // C# D F# A
  K: "~@3 [e3,e5] ~@3 [e3,e5], [e2,e4]!2, ~ [g#2,g#4]@3 ~ [g#2,g#4]@3, ~ [b2,b4] ~ [b2,b4]", // E G# B
  L: "~@3 [c#3,c#5] ~@3 [c#3,c#5], [c#2,c#4]!2, ~ [f2,f4]@3 ~ [f2,f4]@3, ~ [g#2,g#4] ~ [g#2,g#4]", // C# F G#
  M: "~@3 [c#3,c#5] ~@3 [c#3,c#5], [c#2,c#4]!2, ~ [e2,e4]@3 ~ [e2,e4]@3, ~ [g#2,g#4] ~ [g#2,g#4]", // C# E G#
  N: "~@7 [c#3,c#5], [d2,d4]!2, ~ [f#2,f#4]@4 [f#2,f#4]@3, ~ [a2,a4]@2 [a2,a4], ~@3 [c#3,c#5]@4 ~", // C# D F# A C#
  O: "~@7 [e3,e5], [e2,e4]!2, ~ [g#2,g#4]@4 [g#2,g#4]@3, ~ [b2,b4]@2 [b2,b4], ~@3 [e3,e5]@4 ~", // E G# B E
  P: "~@3 [c#3,c#5]@4 ~, [c#2,c#4] ~, ~ [e2,e4]@4 ~@3, ~ [g#2,g#4]@2 ~", // C# E G#
})).s("gm_epiano1").gain(0.15)

// chords · epiano1 · "Electric Piano" · soft notes
const epiano1_soft = note("<~@55 A@2 B C A@2 B C D ~@54 E F>".pickRestart({
  A: "d2 f#2 a2 c#3 d2 f#2 a2 c#3", B: "e2 g#2 b2 e3 e2 g#2 b2 e3", C: "c#2 e2 g#2 c#3 c#2 e2 g#2 c#3",
  D: "d2 f#2 a2 c#3 ~@4", E: "~@7 [c#3,c#5], ~ [c#2,c#4], ~@5 [e2,e4]@3, ~@3 [g#2,g#4]",
  F: "~@3 [c#3,c#5]@5, [d2,d4], ~ [f#2,f#4]@7, ~ [a2,a4]@3", // C# D F# A
})).s("gm_epiano1").gain(0.05)

// chords · pad warm · "Warm Synthesizer"
const pad_warm = note("<~@40 A@2 B@2 A@2 B@2 C@2 D@2 A@2 E@2 ~@28 A@2 B@2 A@2 B@2 C@2 D@2 A@2 F@2 ~@20>".pickRestart({
  A: "[[d2,a4,c#6]@3 [e2,b4,b5]@5]/2", B: "[[c#2,c#5,g#5]@3 [d2,a4,a5]@5]/2", C: "[[d2,c#5,a5]@3 [e2,b4,b5]@5]/2",
  D: "[[c#2,b4,f5,g#5]@3 [d2,a4,a5]@5]/2", E: "[[c#2,c#5,g#5]@6 d2@2 d2 f#2 ~@6, ~@3 [a4,a5]@5]/2",
  F: "[[c#2,c#5,g#5]@6 d2@2 d2 f#2 a2 c#3 d2 f#2 a2 c#3, ~@3 [a4,a5]@5]/2", // C#5 A
})).s("gm_pad_warm").gain(0.3)

// chords · pad warm · "Warm Synthesizer" · soft notes
const pad_warm_soft = note("<~@55 A ~@44 B@2 C@2 B@2 C@2 B@2 D@2 B@2 C@2 E@2 F@2>".pickRestart({
  A: "~@2 a2 c#3 d2 f#2 a2 c#3", B: "[~ c#6@5 ~@2 e2@8, d2 ~, d5@3 [e5,g#5,b5]@5, ~ [f#5,a5]@11 ~@20]/2",
  C: "[~ [e5,g#5]@11 ~@4 d2@16, c#2 ~, c#5@3 [d5,f#5,a5]@5]/2", // E D
  D: "[~ b5@5 ~@2 d2@8, c#2 ~, c#5@3 [d5,f#5,a5]@5, ~ [f5,g#5]@11 ~@20]/2", // D Fm
  E: "[[d5,f#5,a5,c#6]@3 ~ e2@4, d2 ~, ~@3 [e5,g#5,b5]@5]/2", F: "[[c#5,e5,g#5]@3 ~ d2@4, c#2 ~, ~@3 [d5,f#5,a5]@5]/2",
})).s("gm_pad_warm").gain(0.2)

// drums · rim
const rim = s("rim").struct("<~@16 [x!4]!22 ~@2 [x!4]!23 [x!2 ~@2] [x!4]!12 ~@8 [x!4]!36>").gain(0.3)

// drums · clap
const clap = s("cp").struct("<~@20 A@16 ~@4 A@16 ~@8 A@12 ~@8 A@35 B>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2",
})).gain(0.25)

stack(piccolo, piccolo_soft, pan_flute, piano, piano_soft, epiano1, epiano1_soft, pad_warm, pad_warm_soft, rim, clap)

More by Billie Eilish