Strudelify

ocean eyes

Billie Eilish

KeyG majorTempo74 bpm
0:00/0:00
// ocean eyes — Billie Eilish
// 74 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5916170; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 27 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(74/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 · viola
const viola = note("<~@4 A B C D B@2 C E F@2 G H I@2 G J K L ~@5>".pickRestart({
  A: "e4@3 d4@3 b3@4 a3@2 g3@4", B: "e3@3 f#3@3 g3@10", C: "e3@3 f#3@3 g3@4 a3@2 g3@2 f#3@2", D: "b3@3 f#3@3 e3@10",
  E: "b3@3 f#3@3 e3@8 a3@2", F: "[b3@3 f#3@3 e4@6 a4@2 g4@16 f#4 e4]/2", G: "f#4 e4@12 e4!3",
  H: "b4!3 a4@2 a4 g4@4 e4!2 g4 a4 g4 b3", I: "[b4@3 d5@3 e4@6 a4@2 g4@16 f#4 e4]/2",
  J: "g4!3 a4@2 a4 g4@4 b3 e4 g4 a4 g4 f#4", K: "b4@3 g4@3 e4@6 ~@2 g4@2", L: "b4@3 g4@3 e5@6 ~@4",
})).s("gm_viola").gain(0.2)

// chords · piano
const piano = note("<A B A C D E D E D A D E D F@4 B A@2 G ~@6>".pickRestart({
  A: "[c3,e3,g3,e5]@3 [d3,f#3,a3,d5]@3 [e3,g3,b3,b4]@9 ~", // C D Em
  B: "[c3,e3,g3,e5]@3 [d3,f#3,a3,d5]@3 ~@4 e5 ~ b5@4, ~@6 [e3,g3,b3,b4]@9 ~", // C D Em
  C: "[g3,c4,e4,b4]@3 [d3,f#3,a3,d5]@3 ~@4 g4 a4 g4@4, ~@6 [e3,g3,b3,e4]@9 ~", // Cmaj7 D Em
  D: "[c3,e3,g3]@3 [d3,f#3,a3]@3 [e3,g3,b3]@9 ~", E: "[c3,e3,g3,e5]@3 [d3,f#3,a3,d5]@3 [g3,b3,e4,b4]@9 ~",
  F: "[c3,e3,g3,c5,e5,g5]@3 [d3,f#3,a3,d5,f#5,a5]@3 [e3,g3,b3,e5,g5,b5]@9 ~", // C D Em
  G: "[c3,e3,g3,b4]@3 [d3,f#3,a3,d5]@3 [g3,b3,e4]@9 ~", // Cmaj7 D Em
})).s("gm_piano").gain(0.2)

// drums · kick
const kick = s("bd").struct("<~@8 A B A B A B A B A B A B A B A B A B A>".pickRestart({
  A: "x ~@3 x!2 ~@10", B: "x ~@3 x!2 ~@7 x ~@2",
})).gain(0.3)

// drums · rim
const rim = s("rim").struct("<~@8 [~@3 x]!19>").gain(0.3)

stack(viola, piano, kick, rim)

More by Billie Eilish