Strudelify

Location Unknown x Slow Dancing in the Dark (Honne + Joji)

Zeroize

KeyG majorTempo92 bpm
0:00/0:00
// Location Unknown x Slow Dancing in the Dark (Honne + Joji) — Zeroize
// 92 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: Transcription provider: pdmx. https://musescore.com/score/5923167; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 95 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(92/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 · trumpet · "B♭ Trumpet"
const trumpet = note(`<
  ~@12 A B@4 C D E F G H I@2 J K L ~ M N O P Q R S T U V W X Y X Z A AA@4 AB@3 AC AD AE AF@3 AG L ~ M N O P Q R S T U V
  W X Y X Z ~ M N O P Q R S T U V W X Y X AH ~@3
>`.pickRestart({
  A: "~@4 a4 g4 a4 g4 a4@8", B: "[~@6 f4@2 a4@2 c5@4 e5@4 f5 e5@7 ~@2 c5@2 c5@8 ~@2 c5@2 a#4@2 a4@2 g4@4 g4@6 ~@8]/4",
  C: "~@12 f4 g4 a4@2", D: "a4 c5 a4@4 ~@6 f4 g4 a4@2", E: "a4 ~@3", F: "~@7 f4",
  G: "d5@3 c5 c5@3 a#4 a#4@3 a4 a4@3 g4", H: "g4@3 a4@3 ~@8 f4@2",
  I: "[d5@3 c5 c5@3 a#4 a#4@3 a4 a4@3 g4@4 ~@7 f4!4 g4@2]/2", J: "g4@8 ~@2 f4!4 g4@2", K: "g4@2 a4@4 ~@4 f4!2 ~@4",
  L: "~@10 f4!2 ~@4", M: "g5@3 f5 e5@3 d5 e5@3 d5 e5@3 f5", N: "f5 ~@3", O: "g5@3 f5 e5@3 d5 e5@3 d5 a5@3 f5",
  P: "e5 f5@2 ~@4 c5", Q: "g5@3 f5 e5@3 f5 e5@3 d5 c5@2 d5@2", R: "d5 e5@2 ~@4 d5", S: "d5@2 e5@4 ~@2 a5@4 e5@3 d5",
  T: "e5 f5@2 ~@5", U: "~@8 [c5,c6]@3 [d5,d6] [a4,a5]@3 [g4,g5]", V: "[g4,g5]@3 [a4,a5]@8 ~@5", W: "~@4 f5 e5!2 ~",
  X: "[f5,a5]", Y: "[e5,g5]@5 [d5,f5] ~@2", Z: "[e5,g5]@3 ~",
  AA: "[~@6 f4@2 d5@2 c5@4 a4@4 g4@3 ~@7 f4@2 f4@8 ~@2 d5@2 c5@2 c5@2 a4@8 g4@4 ~@6]/4",
  AB: "[~@4 d5 c5!2 a4@2 g4@2 ~@4 f5@2 g5@2 ~@5]/3", AC: "~@8 f5@3 e5 d5@3 c5", AD: "a4@2 ~ f4 g4 a4 c5 a4",
  AE: "g4@2 ~@4 f4 g4", AF: "g4@4 ~@6 f4!4 g4@2", AG: "g4@2 a4@2 ~@6 f4!2 ~@4", AH: "[e5,g5]@13 ~@3",
})).s("gm_trumpet").gain(0.2)

// chords · piano
const piano = note(`<
  A B C D A B C D A B C D E F G H F@2 G H F@2 G H F@2 I J K L M N O P Q R K L S N K T U V A B C D A B C D F@2 W X F@2 Y
  Z K L M N O P Q R K L S N K T U V K L M N O P Q R K L S N K T U AA@4
>`.pickRestart({
  A: "d5@3 a5@3 f5@9 ~, [a#2,f4]@15 ~", B: "d5@3 a5@3 f5@6 f5@4, [a#2,f4]@15 ~", C: "a4@3 e5@3 c5@9 ~, [f2,f4]@15 ~",
  D: "a4@3 e5@3 c5@6 c5@4, [f2,f4]@15 ~", E: "d4@3 a4@3 f4@9 ~, a#2@15 ~, f4@3 ~@5",
  F: "d4@3 a4@3 f4@6 f4@4, a#2@15 ~, f4@3 ~@5", G: "~@3 e4@3 c4@9 ~, [f2,a3]@15 ~",
  H: "~@3 e4@3 c4@6 c4@4, [f2,a3]@15 ~", I: "d4@3 a4@3 f4@9 ~, [d3,c4]@15 ~", J: "[d3,c4,d4,f4]@8 e4@3 f4 e4@4, ~ c3",
  K: "[a#3,c4,f4]@3 [a#3,c4,f4]@3 [a#3,c4,f4]@4 [a#3,c4,f4]@3 [a#3,c4,f4]@3, a#2@15 ~", // A#sus2
  L: "[a#3,c4,f4]@3 [a#3,c4,f4]@3 [a#3,c4,f4]@4 [a#3,c4,f4]@3 [a#3,c4,f4]@2 g3, a#2@15 ~", // A#sus2
  M: "[a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@4 [a3,c4,f4]@3 [a3,c4,f4]@3, f2@15 ~", // F
  N: "c4@3 ~@3 f2@2 e4@3 f4 e4@3 f3, [a3,f4] ~, f2@3 ~ [c3,c4]@4, ~@3 c4@5 ~@8", // Dm C
  O: "[a#3,c4,f4]@3 [a#3,c4,f4]@3 [a#3,c4,f4]@4 [a#3,c4,f4]@3 [a#3,c4,f4]@3, [a#2,d3]@15 ~", // A#sus2 A#
  P: "[a#3,c4,f4]@3 [a#3,c4,f4]@3 [a#3,c4,f4]@4 [a#3,c4,f4]@3 [a#3,c4,f4]@2 g3, [a#2,d3]@15 ~", // A#sus2 A#
  Q: "[c4,f4]@3 [c4,f4]@3 [c4,f4]@4 [c4,f4]@6, d3@15 ~", R: "c4@3 c4@5 e4@3 f4 e4@3 f3, [a3,f4] [g3,c4]",
  S: "[a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@4 [a3,c4,f4]@3 [a3,c4,f4]@3, [f2,a4]@15 ~", // F
  T: "[a#3,c4,f4,a#4]@3 [a#3,c4,f4,a#4]@3 [a#3,c4,f4,a#4]@4 [a#3,c4,f4,a#4]@3 [a#3,c4,f4,a#4]@2 g4, a#2@15 ~", // A#sus2
  U: "[c4,f4,a4]@3 [c4,f4,a4]@3 [c4,f4,a4]@4 [c4,f4,a4]@3 [c4,f4,a4]@3, d3@15 ~", // F
  V: "[d3,c4,f4,a4]@8 e4@3 f4 e4@4, ~ c3", W: "a3@3 e4@3 c4@9 ~, f2@15 ~, ~@3 a3@12 ~",
  X: "a3@3 e4@3 ~@6 c4@4, f2 c3, ~@3 a3@12 ~, ~@3 c4@3 ~@2", Y: "a3@3 e4@3 c4@9 ~, d3@15 ~, ~@3 a3@12 ~",
  Z: "a3@3 e4@3 ~@6 c4@4, d3 c3, ~@3 a3@12 ~, ~@3 c4@3 ~@2",
  AA: "[[d3,c4,f4,a4]@8 e4@3 ~ f4 e4@5 [f2,f3,e4,f4,a4]@41 ~@5, ~@4 c3@5 ~@23]/4", // Dm7 Fmaj7
})).s("gm_piano").gain(0.3)

stack(trumpet, piano)