Strudelify
KeyB♭ majorTempo74 bpm
0:00/0:00
// unison — Björk Guðmundsdóttir
// 74 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/8 at bar 1, 4/4 at bar 1) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5887016; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 125 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. 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.

// chords · celesta
const celesta = note(`<
  ~@15 A B A B A B A B A B A B A B A B A B A B A B A B A B ~@2 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B ~@20
>`.pickRestart({
  A: "[d4,f4]@2 [d4,f4]@2 [d4,f4]!2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2", // Dm
  B: "[d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [c4,e4]!6 [c4,e4]@2 [c4,e4]!2", // Dm C
})).s("gm_celesta").gain(0.22)

// other · orchestral harp · "Harp"
const orchestral_harp = note(`<
  ~@26 A B A B A B ~ C ~@2 A C ~@2 A ~@2 D ~ D ~ D ~ D ~ D A B A B A B ~ C ~@14 E F A B A B ~ C ~ C ~ C ~ C ~ G ~@3 C
  ~@13 H@18
>`.pickRestart({
  A: "g5@3 f5 a5 g5@3 ~ f5@2 e5 d5@2 c5@2", B: "d5 e5 f5@2 f5@4 ~@4 g5@4", C: "~ f5@7 ~@8, [bb4,d5] ~", D: "~@3 g5",
  E: "c4 a3", F: "bb3@2 ~ g5", G: "e5 ~", H: "g4 a4 bb4 [d5,g5] a5 a4 bb4 [d5,g5] g4 a4 bb4 [d5,g5] a5 a4 bb4 [d5,g5]",
})).s("gm_orchestral_harp").gain(0.3)

// other · lead 1 square · "Synthesizer"
const lead_1_square = note(`<
  ~@19 A B A@3 B A@3 C A@3 C ~@16 A@3 C A D A E A D ~@16 F G H I J K I L M L I K I K N ~ O P Q L R S T@4 F L U L V ~@19
>`.pickRestart({
  A: "~ d3 f3 d3 c4 ~ f3 d3", B: "~ d3 f3 d3 c4 ~ d4 bb3", C: "~ d3 f3 d3 c4 ~ d4 d3", D: "~ d3 f3 d3 a3 ~ a3 f3",
  E: "~ d3 f3 d3 c4 ~ a3 f3", F: "~@2 a4 d4 a4 d4 a4 d4 a4@2 d4@4 c4@2", G: "~@2 a4 d4 a4 d4 a4 d4 a4@2 a4@4 c4@2",
  H: "c4@2 a4 d4 a4 d4 a4 d4 a4@2 bb4@4 d4@2", I: "d4@2 a4 d4 a4 d4 a4 d4 a4@2 d4@4 c4@2",
  J: "c4@2 a4 d4 a4 d4 a4 d4 a4@2 d4@4 c4@2", K: "c4@2 a4 d4 a4 d4 a4 d4 bb4@2 a4@4 f4@2",
  L: "~@2 a4 d4 a4 d4 a4 d4 bb4@2 a4@4 f4@2", M: "d4@2 a4 d4 a4 d4 a4 d4 a4@2 bb4@3 ~@3", N: "d4 ~@7", O: "~@6 bb4 a4",
  P: "~@2 a4 d4 a4 d4 a4 d4 c5@2 f4@4 d4@2", Q: "d4@2 a4 d4 a4 d4 a4 d4 c5@2 f4@4 d4@2",
  R: "f4@2 a4 d4 a4 d4 a4 d4 c5@2 f4@4 d4@2", S: "~@2 c5 f4 c5 f4 c5 f4 c5@2 f4@6",
  T: "~@2 a4 d4 a4 d4 a4 d4 bb4@2 a4@4 d4@2", U: "f4@2 a4 d4 a4 d4 a4 d4 a4@2 d4@4 c4@2", V: "f4 ~@7",
})).s("gm_lead_1_square").gain(0.17)

// chords · violin
const violin = note("<~@65 A B@5 ~@16 A C@4 D E F@2 G@4 H@2 ~ I J ~@20>".pickRestart({
  A: "~@3 d5@3 f5@2", B: "[g5@3 f5 g5 f5 bb5 a5@4 g5@3 f5@3 e5 d5 c5 g5 f5 bb5 a5@5 g5@3 f5@2 e5 d5 c5 ~@4]/5",
  C: "[g5@3 f5 g5 f5 bb5 a5@4 g5@3 f5@3 e5 d5 c5 g5 f5 bb5 a5@5 g5@2 f5@2]/4", D: "g5@4 g5 f5 bb5@2",
  E: "[a5,c6]@2 g5@3 g5 a5@2", F: "[[a5,c6]@2 [c6,e6,g6,c7]@2 g6 f6 bb6 a6@5 ~@4]/2", G: "[~@4 g6 f6 bb6 a6@5 ~@4]/2",
  H: "[~@4 g6 f6 bb6 a6@3 ~@6]/2", I: "~@4 e5 d5@3", J: "f5 e5 d5 c5@3 ~@2",
})).s("gm_violin").gain(0.24)

// chords · violin · soft notes
const violin_soft = note("<~@66 A@5 ~@17 B@5 ~ C ~ C ~@28>".pickRestart({
  A: "[~@6 d6 c6@13 ~@2 d6 c6@13 ~@4]/5", B: "[~@6 d6 c6@13 ~@2 d6 c6@13 ~@2 d6@2]/5", C: "~@6 g6 ~",
})).s("gm_violin").gain(0.14)

// chords · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  ~@32 A B ~@2 C D E F G H ~@16 I J C H K D E D L@5 ~@9 I J C H K D E D M@4 N@2 O@4 P@2 Q@5 ~@20
>`.pickRestart({
  A: "[c5,e5,g5]", B: "d3", C: "[e4,g4,c5]", D: "~@5 c4 bb3 a3, [a4,c5,e5]", E: "g3 c4, [g4,c5,e5]",
  F: "~ c4 bb3@2, [a4,c5,e5]", G: "g3 c4, [e4,g4,c5]", H: "[a4,c5,e5]", I: "~@6 bb4 a4", J: "[d4,f4,a4]",
  K: "[g4,c5,e5]", // C
  L: "[[g3,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [g4,bb4,e5,g5] ~ c4@2 ~@2 e4@2 [f4,bb4,d5,bb5]@6 ~ f4 [g4,bb4,e5,g5] a4 d4@3 e4 e4@2 ~@2 g4@4 g4 f4 bb4 a4, ~@7 [bb4,d5,f5]@4 [g4,c5,e5]@3 ~@6 [g4,c5,e5]@2 ~ [bb4,d5,f5]@5 [g4,c5,e5]@3 [bb4,d5]@5 ~@4, ~@5 d4 ~@9 f4 ~@4]/5", // C Edim Bb Edim Bb C Bb C …
  M: "[[g3,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [g4,bb4,e5,g5] ~ c4@2 ~ [g4,c5,e5]@3 [bb4,d5,bb5]@6 [g4,c5,e5]@2 [bb4,e5,g5] [bb4,d5,f5]@5 [g4,c5,e5]@2 [f4,bb4,d5]@2, ~@7 [bb4,d5,f5]@4 ~@21]/4", // C Edim C Bb C Edim Bb C …
  N: "[[g4,c5,e5]@4 [g4,c5,e5]@2 [e5,g5]@2 [d5,f5]@2 [g4,c5,e5]@3 [g4,c5,e5] [f4,bb4,d5,f5]@2, ~@3 bb4@2 ~@3]/2", // C Em Dm C Bb
  O: "[[f4,bb4,d5,f5]@2 [g4,c5,e5,g5]@2 [c5,g5,c6,e6]@2 [g5,bb5,e6] [bb5,d6,f6]@4 [g5,bb5,d6,f6] [g5,c6,e6,g6]@2 [f5,bb5,d6,f6]@4 [e5,a5,c6,e6]@2 [c5,g5,c6,e6]@2 [g5,bb5,e6] [bb5,d6,f6]@3 e6 d6 [g5,c6,e6,g6]@2 [f5,bb5,d6,f6]@2]/4", // Bb C Edim Bb Gm7 C Bb Am …
  P: "[[g5,c6,e6,g6]@4 [c5,g5,c6,e6]@2 [g5,bb5,e6,g6] [bb5,d6,f6]@5 [g5,c6,e6,g6]@2 [f5,bb5,d6,f6]@2]/2", // C Edim Bb C Bb
  Q: "[[g5,bb5,d6] [a5,c6,e6]@3 [c5,g5,c6,e6]@2 [g5,bb5,e6,g6] [bb5,d6,f6]@3 [bb5,d6,f6] c6@3 bb5 [f5,a5,d6,f6]@3 [e5,a5,c6,e6]@3 [f5,bb5,d6]@7 [g5,bb5]@2 ~ c4 c4@4 ~@4, ~@11 [g5,e6,g6]@4 ~@13 bb3@3 ~@9, ~@15 [f4,a4]@3 ~@2, ~@15 d5 ~@4]/5", // Gm Am C Edim Bb Dm Am Bb …
})).s("gm_string_ensemble_1").gain(0.13)

// bass · synth bass 1 · "Bass"
const bass = note(`<
  ~@5 A B C B A B C B A B C B A B C B A B C B A B C B A B C B D B C B A B C B ~@4 A B C B A B C B A B C B A B C B A B C
  B A B C B A B C B A B C B A B C B A B C B A B C B A B C B A B C B A B C B A B C B E ~@19
>`.pickRestart({
  A: "bb1@3 bb1@5", B: "c2 a1", C: "bb1@7 bb1", D: "bb1@3 bb1 bb1@4", E: "bb1 ~",
})).s("gm_synth_bass_1").gain(0.28)

stack(celesta, orchestral_harp, lead_1_square, violin, violin_soft, string_ensemble_1, bass)

More by Björk Guðmundsdóttir