Strudelify

No Time To Die

Billie Eilish

KeyG majorTempo71 bpm
0:00/0:00
// No Time To Die — Billie Eilish
// 71 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Transcription provider: pdmx. https://musescore.com/score/5986211; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 71 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(71/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.

// chords · glockenspiel
const glockenspiel = note("<~@48 A B A C D E F G H I J K H I J L M N O@3 P ~>".pickRestart({
  A: "[b6,e7,f#7]!2 [g6,c7,e7]!2", B: "[a6,c#7,e7]@2 [a6,c#7,e7]@2 [a6,c7,e7]@2 b6 g7",
  C: "[c#7,e7,a7]@2 [c#7,e7,a7]@2 [c7,e7,a7]@2 b7 c8", D: "[e7,f#7,b7]@2 [b6,e7,g7] a7 [c7,e7]@2 [c7,e7,b7] c8",
  E: "[e7,a7,b7]@2 [e7,a7,d8] c8 [e7,a7,b7]@2 [e7,g7] a7", F: "[e7,f#7,b7] [b6,e7,g7] [g6,c7,f#7] [g6,c7,e7]",
  G: "[a6,c#7,e7]@4 [a6,c#7,e7]@4 f#7@2 g7@2 f#7@2 g7 e7", H: "e7 b6 f#7 b6 g7 b6 b7 b6", I: "e7 c7 f#7 c7 g7 c7 b7 c7",
  J: "e7 c#7 f#7 c#7 g7 c#7 b7 c#7", K: "d#7 b6 e7 b6 f#7 b6 g7 b6", L: "d#7@4 b6@4 e7@4 ~ b6@4 f#7@13 ~@2",
  M: "~@29 b7@3", N: "~ c8@4 ~ [e7,f#7,b7]@8 [b6,e7,g7]@4 ~ a7@4 [c7,e7]@9",
  O: "[[c7,e7,b7]@4 c8@4 [e7,a7,b7]@9 [e7,a7,d8]@4 ~ c8@4 [e7,a7,b7]@9 [e7,g7]@4 a7@4 [e7,f#7,b7]@9 [b6,e7,g7]@9 [g6,c7,f#7]@9 [g6,c7,e7]@8 [a6,c#7,e7]@9 [a6,c#7,e7]@9]/3", // Cmaj7 Esus4 Dsus2 Esus4 Em Esus2 Em C …
  P: "f#7@4 g7@4 ~ f#7@4 g7@4 e7@15",
})).s("gm_glockenspiel").gain(0.5)

// chords · glockenspiel · soft notes
const glockenspiel_soft = note("<~@9 A ~ B ~ C ~@3 D ~ B ~@8 E F E G@3 H I J K L M ~ A ~ B ~ C ~@25>".pickRestart({
  A: "~@4 c6 e6 g6 f#6", B: "~@4 b6 a6 g6 f#6", C: "~@4 g6 f#6 e6 d6", D: "~@4 c6 e6 f#6 g6",
  E: "[b6,e7,f#7]!2 [g6,c7,e7]!2", F: "[a6,c#7,e7]@2 [a6,c#7,e7]@2 [a6,c7,e7]@2 b6 g7",
  G: "[[c#7,e7,a7]@4 [c#7,e7,a7]@4 [c7,e7,a7]@4 b7@2 c8 b7@5 g7@2 a7 e7@5 b7@2 c8 b7@3 a7 d8@3 c8 b7@5 g7@2 a7@2]/3", // A Am
  H: "b7@2 g7@2 f#7@2 ~ d7", I: "e7@6 g7@2 f#7@2 g7@2 f#7@2 g7 e7", J: "e7 b6 f#7 b6 g7 b6 b7 b6",
  K: "e7 c7 f#7 c7 g7 c7 b7 c7", L: "e7 c#7 f#7 c#7 g7 c#7 b7 c#7", M: "f#8 ~",
})).s("gm_glockenspiel").gain(0.3)

// other · viola · "Bratsche"
const viola = note("<~@39 A B ~@5 C@2 D@2 E@4 F G H@3 I H@3 J K L M@3 N ~>".pickRestart({
  A: "~@16 b4 c5 b4 g4 f#4 g4 f#4 d#4 b3 c4 b3 g3 f#3 g3 f#3 d#3", B: "e3 ~", C: "[~@14 e4 e4@13 b3@2 g4@2]/2",
  D: "[f#4@6 b3 e4@7 c4 b3@9 ~@4 b3@2 g4@2]/2",
  E: "[f#4@6 e4 g4@7 a4 a4@3 e4@6 ~@4 b4@2 c5 b4@5 g4@2 a4 e4@5 b4@2 c5 b4@3 a4 d5@3 c5 b4@5 g4@2 a4@2]/4",
  F: "b4@2 g4@2 f#4@2 ~ d4", G: "e4@6 g4@2 f#4@2 g4@2 f#4@2 g4 e4", H: "e4 f#4 g4 b4", I: "d#4 e4 f#4 g4",
  J: "d#4@8 e4@9 f#4@13 ~@2", K: "~@29 b4@3", L: "~ c5@2 b4@11 g4@4 ~ f#4@2 e4@11",
  M: "[b4@4 c5@2 b4@7 g4@2 g4@7 f#4@2 e4@11 g4@4 a4@4 b4@9 g4@9 f#4@9 ~@4 d4@4 e4@13 g4@4 ~]/3",
  N: "f#4@4 g4@4 ~ f#4@4 g4@4 e4@15",
})).s("gm_viola").gain(0.5)

// other · viola · "Bratsche" · soft notes
const viola_soft = note("<~@36 [b3 b3@2 b3@2 b3@2 b3] [c4 c4@2 c4@2 c4@2 c4] [c#4 c#4@2 c#4@2 c#4@2 c#4] ~@32>")
  .s("gm_viola").gain(0.3)

// chords · piano · "Klavier"
const piano = note(`<
  A B C D A B E F G H G I G I J K L M L N L O J K P Q R S T U T V W X Y Z AA AB AC AD L M L N L O J AE T U T V W X Y Z
  AA AB AC AF AA AB AC AG AH AI@4 ~@2
>`.pickRestart({
  A: "[e4,e5] b4 [f#4,f#5] b4 [g4,g5] b4 [b4,b5] b4, e3@15 ~", // E F# G B
  B: "[e4,e5] b4 [f#4,f#5] b4 [g4,g5] b4 [b4,b5] b4, c3@15 ~", // E F# G B
  C: "[e4,e5] c#5 [f#4,f#5] c#5 [g4,g5] c#5 [b4,b5] c#5, a2@15 ~", // E F# G B
  D: "[d#4,d#5]@4 b4@4 [e4,e5]@4 b4@4 [f#4,f#5]@15 ~, b2@15 ~", // D# E F#
  E: "[e4,e5] c#5 [f#4,f#5] c#5 [g4,g5] c#5 [b4,b5] [c5,c6], a2@15 ~", F: "[b2,b5]@15 ~",
  G: "~ [e4,f#4]@15 ~ [c4,e4]@15, [e3,b3] [c3,g3]", H: "~ [c#4,e4]@31, [a2,a3]", I: "~ [c#4,e4]@15 ~@16, a2@15 ~, a3 ~",
  J: "c4 g3 e4 g3 f#4 g3 g4 g3, c3@15 ~", K: "[b2,f#4]@15 ~",
  L: "[b3,e4,f#4]@2 ~ e3 [g3,c4,e4]@2 ~ c3, e3@11 ~@5 c3@11 ~@5, ~ [b3,e4,f#4] ~ [g3,c4,e4]", // Bsus4 C Bsus4 C
  M: "[a3,c#4,e4]@8 ~@4 a2@4 [a2,a3,c4]@15 ~, a2@11 ~@21, ~ [a3,c#4,e4] ~@2", // A Am A
  N: "[c#4,e4,a4]@2 ~ a2 [c4,e4]@2 [c4,e4]@2, a2@11 ~@5 a2@15 ~, ~ [c#4,e4,a4] ~@2", // A C A
  O: "[a3,c#4,e4]@8 ~@4 a2@4 [a2,c4,e4]@15 ~, a2@11 ~@21, ~ [a3,c#4,e4] ~@2", // A Am A
  P: "e4 b3 e4 b3 g4 b3 b4 b3, [c2,c3]@15 ~", Q: "e4 b3 e4 b3 g4 b3 b4 b3, [e2,e3]@15 ~",
  R: "e4 c4 f#4 c4 g4 c4 b4 [c4,c5], [a1,a2]@15 ~", S: "[b1,b2,f#4]@15 ~@9 [g2,b3]@4 [f#2,g4]@4",
  T: "[b3,e4,f#4]@2 ~ e3 [g3,c4,e4]@2 ~ c3, [e2,e3]@11 ~@5 [c2,c3]@11 ~@5, ~ [b3,e4,f#4] ~ [g3,c4,e4]", // Bsus4 C E C Bsus4 C
  U: "[a3,c#4,e4]@2 ~ a2 [a3,c4,e4]@2 b3 g4, [a1,a2]@11 ~@5 a2@15 ~, ~ [a3,c#4,e4] ~@2", // A Am A
  V: "[c#4,e4,a4]@2 ~ a2 [c4,e4,a4]@2 b4 c5, [a1,a2]@11 ~@5 a2@15 ~, ~ [c#4,e4,a4] ~@2", // A Am A
  W: "[e4,f#4,b4]@2 [b3,e4,g4] [e3,a4] [c4,e4]@2 [c4,e4,b4] [c3,c5], [e2,e3]@11 ~@5 [c2,c3]@11 ~@5", // Esus2 Em A5 C Cmaj7 C E C
  X: "[e4,a4,b4]@2 [e4,a4,d5] [a2,c5] [e4,a4,b4]@2 [e4,g4] a4, [a1,a2]@11 ~@5 a2@15 ~", // Esus4 Dsus2 Am Esus4 Em A
  Y: "[e4,f#4,b4]@2 ~ e3 [g3,c4,f#4]@2 ~ c3, [e2,e3]@11 ~@5 [c2,c3]@11 ~@5, ~ [b3,e4,g4] ~ [g3,c4,e4]", // Esus2 C E C Em C
  Z: "[a3,c#4,e4]!2 ~@2, [a1,a2]@11 ~@21", // A
  AA: "[e2,e3] ~@6 e3, [e4,b4,e5] [f#4,b4,f#5] [g4,b4,g5] [b4,b5], ~ e3@2 e3@2 e3@2 ~", // E E5 B5 G B
  AB: "[c2,c3] ~@6 c3, [e4,b4,e5] [f#4,b4,f#5] [g4,b4,g5] [b4,b5], ~ c3@2 c3@2 c3@2 ~", // C E5 B5 G B
  AC: "[a1,a2] ~@6 a2, [e4,c#5,e5] [f#4,c#5,f#5] [g4,c#5,g5] [b4,b5], ~ a2@2 a2@2 a2@2 ~", // A C#m F#5 Gdim B
  AD: "[f#4,d#5,f#5] [f#4,e5,f#5] ~@2, [b1,b2]@15 ~", AE: "[b2,f#4]@23 ~ [g2,b3]@4 [f#2,g4]@4",
  AF: "b1 ~@6 b2, [f#4,d#5,f#5] [f#4,e5,f#5] [g4,b4,f#5] [b4,b5], ~ b2@2 b2@2 b2@2 ~", // D#m F#7 Gmaj7 B
  AG: "b1@4 ~@13 [f#4,a4,f#5]@12 ~@3, [f#4,d#5,f#5] [f#4,e5,f#5] ~@2, ~@4 b2@8 ~ b2@17 ~@2", AH: "~@29 b4@3",
  AI: "[~ c5@4 ~ [e4,f#4,b4]@8 [b3,e4,g4]@4 ~ [e3,a4]@4 [c4,e4]@8 ~ [c4,e4,b4]@4 [c3,c5]@4 [e4,a4,b4]@8 ~ [e4,a4,d5]@4 ~ [a2,c5]@4 [e4,a4,b4]@8 ~ [e4,g4]@4 a4@4 [e4,f#4,b4]@8 ~@6 e3@4 [g3,c4,f#4]@8 ~@5 c3@4 [a3,c#4,e4]@8 ~ [a3,c#4,e4]@8 ~, ~@6 [e2,e3]@12 ~@5 [c2,c3]@12 ~@5 [a1,a2]@12 ~@6 a2@17 [e2,e3]@12 ~@6 [c2,c3]@12 ~@5 [a1,a2]@12 ~@6, ~@42 [b3,e4,g4]@4 ~@5 [g3,c4,e4]@4 ~@9]/4", // Esus2 Em A5 C Cmaj7 C Esus4 Dsus2 …
})).s("gm_piano").gain(0.3)

stack(glockenspiel, glockenspiel_soft, viola, viola_soft, piano)

More by Billie Eilish