Strudelify

Miss Clare Remembers

Enya

KeyF majorTempo63 bpm
0:00/0:00
// Miss Clare Remembers — Enya
// 63 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 28 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(63/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 · piano · "A.PIANO 1"
const piano = note("<A B@3 C@2 D@8 E@3 F@7 G@4>".pickRestart({
  A: "~@7 c4@5, ~@7 g3@15 ~@2, ~@21 bb3@14 ~@13",
  B: "[~@49 f3@17 ~@39 a2@8 ~@25 f3@5 c3, ~@15 bb2@43 ~@55 f2@31, ~@22 f3@27 ~@23 f3@25 ~@23 c3@23 ~, ~@28 a3@14 a3@25 ~@11 a3@12 a3@24 ~@11 f3@12 ~@7, ~@35 bb3@32 ~@17 c4@30 ~@18 g3@12]/3",
  C: "[~@34 f4@2 ~@41 c3@8 ~@7 f3@4, ~@6 f2@31 c3@40 ~@8 bb2@11, ~@31 g4@5 g4@51 ~@9, ~@43 g3@19 bb3@25 ~@9, ~@49 bb3@6 c4@31 f4@10]/2",
  D: "[~@2 a3@6 ~@18 bb2@6 ~@38 a2@9 ~@25 f3@12 ~@24 [d4,f4]@3 ~@38 c3@9 ~@13 a3@7 ~@6 a3@6 ~@6 bb2@6 ~@38 a2@9 ~@31 c3@6 ~@23 bb4@3 ~@31 f4@6 [c3,g4]@3, ~@8 [bb3,a4]@24 c5@48 ~@17 g3@20 ~@21 [eb4,g4]@5 [eb4,g4]@47 bb2@21 ~@23 a2@31 f3@16 [a4,c5,f5]@64 ~@11 bb3@6 c4@12 g3@10, ~@15 a3@17 a2@38 ~@9 f5@64 ~@12 bb3@6 c4@30 [d4,f4]@19 ~@24 [f4,a4,c5]@47 f2@37 f2@27 ~@16 e4@23, ~@20 f3@13 ~@5 f3@18 a3@24 ~@5 c3@25 ~@6 f2@27 ~@6 g3@18 bb3@25 ~@18 [bb3,d4,f4,a4]@13 ~@23 a3@5 c4@31 ~@11 f3@7 g3@20 ~@18 g4@7 ~@5 g3@18 bb3@16, ~@21 bb4@13 ~@10 a3@5 c4@31 ~@11 f3@13 ~@40 c3@29 g3@19 ~@4 f3@14 ~@12 [f3,d4,f4,bb4]@13 ~@4 f3@19 a3@25 ~@4 c3@19 f3@13 ~@25 [c3,c5]@40]/8", // Dm C5 Bbmaj7 Eb F Dm F Bbmaj7 …
  E: "[~@19 f3@2 f3@5 ~@36 bb2@8 ~@16 f4@5 ~@11 bb3@12 ~@13 c3@7 [eb3,g4]@5 [g3,bb4]@5, ~@3 [e3,c5]@10 [e3,c5]@13 bb4@44 [g3,bb4]@10 [g3,bb4]@12 ~@5 g3@23 g3@15 ~@9, ~@8 [g3,e5]@18 bb2@29 f3@17 ~@13 d3@6 c3@36 ~@17, ~@19 a4@8 ~@4 f3@18 a3@23 ~@19 g4@42 ~@11, ~@37 a3@5 bb3@29 ~@4 [bb3,d5]@17 ~@22 bb3@21 ~@9]/3", // Eb Gm C Gm C Bb
  F: "[~ [eb3,g4]@5 ~ c4@5 ~@39 bb2@10 ~@38 c3@8 ~@37 bb2@8 ~@37 a2@8 ~@30 c3@7 ~@25 g4@6 ~@32 g3@16 ~@14 a3@6 [bb3,a4]@3, ~@6 ab2@6 bb2@39 ~@10 c3@38 ~@8 bb2@37 ~@8 a2@37 ~@8 f2@37 f2@32 ~@12 bb3@6 c4@31 ~@5 f3@14 ~@2, ~@13 d4@50 ~@11 bb3@11 bb3@23 ~@11 a3@12 a3@22 ~@11 a3@12 a3@22 ~@11 f3@12 f3@13 ~@37 g3@19 bb3@24 f4@20 ~@2, ~@18 f3@25 ~@25 g3@24 ~@21 f3@24 f3@15 ~@5 f3@24 ~ f3@16 ~@5 c3@24 ~@38 c3@40 ~@8 bb2@21 ~@2, ~@24 bb3@6 c4@31 c4@18 ~ c4@28 ~@16 bb3@28 ~@18 c4@28 ~@17 g3@20 ~@30 g4@50 ~@21]/7", // Eb Bbmaj7
  G: "[~@3 a3@6 ~@6 bb2@6 ~@39 a2@9 ~@33 c3@8 f2@60 ~@22, ~@9 [f3,bb4]@12 c5@48 f2@41 ~@82, ~@21 a2@38 ~@10 f5@96 ~@27, ~@27 f3@19 a3@24 ~@4 c3@21 f3@16 ~@81, ~@33 a3@6 c4@31 ~@11 f3@7 g3@23 ~@81]/4", // Bb5
})).s("gm_piano").gain(0.4)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note("<A@2 B@2 ~ C ~ D@2 ~@7 E F@3 ~@2 G H ~ I ~@2>".pickRestart({
  A: "[~@54 c3@11 ~@31, ~@7 c3@47 ~@42, ~@35 bb3@29 ~@32, ~@44 g3@21 ~@31]/2",
  B: "[~@10 bb2@8 ~@31 f3@17 ~@30, ~@9 a2@19 ~@20]/2", C: "~@20 g3@19 ~@9",
  D: "[~@14 f3@17 ~@31 c3@8 ~@26, ~@31 f2@37 ~@28]/2", E: "~@11 c4@28 ~@9",
  F: "[~@43 f3@20 ~@29 g3@16 ~@36, ~@4 bb3@3 ~@9]/3", G: "~@11 f4@2 ~@11", H: "~@17 c3@9 ~@22", I: "~@4 f3@17 ~@27",
})).s("gm_piano").gain(0.24)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@13 A@7 ~@8>".pickRestart({
  A: "[~@9 [c4,f4]@56 [a3,c4,f4]@7 ~ [bb3,d4]@65 ~ [bb3,c4]@41 ~ eb3@17 [ab3,c4,eb4]@3 ~@3 [bb3,d4,f4]@47 [bb3,c4,f4]@46 ~@39, ~@8 bb3@57 ~@7 f4@66 f4@42 [g3,bb3]@18 ~@138]/7", // F5 F Bb Bbsus2 Ab Bb Bbsus2 Gm
})).s("gm_string_ensemble_1").gain(0.1)

// chords · piccolo
const piccolo = note("<~@9 A@8 B@4 ~ C@6>".pickRestart({
  A: "[[bb3,c4,f4]@46 [d4,f4]@17 [d4,f4,a4]@14 [d4,f4,bb4]@12 [f4,a4,c5]@46 ~ c5@64 ~ c4@16 e4@14 ~@6 g4@6 c5@6 e5@4 c5@6 a4@5 bb4@45 bb4@5 d5@6 bb4@5 f4@6 g4@43 g4@5 bb4@5, ~@135 [a4,f5]@65 [bb3,f4]@18 ~@13 f4@12 ~@141]/8", // Bbsus2 Dm Bb F Dm Bb5
  B: "[g4@6 c4@6 d4@47 [bb3,c4,f4]@93 ~@40]/4", // Bbsus2
  C: "[~@26 [bb3,c4,f4]@46 [d4,f4]@19 ~ [f4,a4]@12 [d4,f4,bb4]@12 [f4,a4,c5]@47 [f3,a4,c5,f5]@85 ~@40, ~@91 d4@13 ~@184]/6", // Bbsus2 Dm F Bb F
})).s("gm_piccolo").gain(0.07)

stack(piano, piano_soft, string_ensemble_1, piccolo)

More by Enya