Strudelify

Once You Had Gold

Enya

KeyB majorTempo100 bpm
0:00/0:00
// Once You Had Gold — Enya
// 100 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 61 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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@8 B@6 C@8 D@3 E@5 F@7 G@8 H@6 I@5 J@5>".pickRestart({
  A: "[~@8 f#4 ~@11 f#3@5 ~@19 g#3@5 ~@41 f#3@5 ~@19 f#3@4 ~@21 d#3@4 ~@18 g#3@4 ~@21 c#3@5 ~@17 f#3@4 ~@20 e3@4 ~@8 c#3@4 ~@3 [g#2,b4]@4 c#3, ~ b2@24 [e2,g#4]@24 [f#2,f#4]@21 e4@24 ~@8 f#4@16 b4@25 ~@10 g#3@4 [b3,g#4]@9 ~@6 b3@20 ~@6 f#4@14 ~@12 e3@8 ~@4 c#5@20, ~ d#4@15 d#4@9 ~@7 e3@17 ~@7 f#3@7 e4@4 c#3@5 ~@6 d#4@17 d#4@15 d#4@8 ~@7 g#3@18 ~@7 [e3,b4]@16 ~@3 c#3@7 c#3@9 ~@6 [b2,b4]@21 [e2,a4]@25 c#2@19, ~@5 f#3@8 f#3@7 ~@9 b2@20 ~@3 c#3@7 c#3@5 f#3@8 ~@2 f#3@8 f#3@4 b3@8 ~@5 f#3@7 f#3@8 ~@8 d#3@8 d#3@9 ~@7 b2@19 [f#2,f#4]@27 ~@13 a4@7 ~@8 g#4@17 ~@7 g#4@12, ~@9 f#4@16 ~@11 g#3@4 b3@9 ~@6 c#4@16 b2@24 b2@23 g#2@16 g#2@9 [e2,c#5]@23 ~@15 f#3@11 ~@3 f#3@7 f#3@6 ~@8 b2@12 b2@9 ~@3 g#2@8 c#3@7 ~]/8", // G#m E F# E E5 B A5 F# …
  B: "[~@19 f#3@8 ~@18 f#3@3 ~@18 b2@4 ~@19 [c#3,a#3]@5 ~@24 d#3@7 ~@19 f#3@4 ~@18 g#3@4 f#2@2 ~@15 f#3@5, ~@3 [f#2,b4]@25 ~@13 d#4@7 ~@7 e4@15 ~@12 d#4@12 b3@32 ~@7 f#4@15 ~@11 g#3@3 b3@8 f#4@15 e4@7, ~@7 c#3@8 c#3@13 ~@3 f#3@7 f#3@7 ~@7 b2@3 e3@4 b2@3 c#4@8 ~@7 f#3@8 [f#3,c#4]@9 ~@4 f#3@9 f#3@19 ~@3 f#3@7 ~ f#3@7 ~@8 b2@19 ~@2 c#3@5 f#3@3 c#3@11, ~@10 a#4@18 ~@6 f#4@14 g#4@15 e3@7 ~@3 c#3@7 ~ c#3@8 ~@5 b2@19 b2@12 b2@22 ~ [e2,g#4]@23 ~@2 f#2@19, ~@11 f#3@8 ~@8 [b2,b4]@21 ~ e2@21 [f#2,b3]@24 ~@8 d#3@16 ~@7 d#4@15 d#4@8 ~@7 e3@15 ~@7 c#4@15]/6", // F# B5 F#5 E B B5
  C: "[~@21 f#3@4 ~@18 f#3@4 ~@20 d#3@4 ~@18 g#3@4 ~@23 f#3@5 ~@18 f#3@4 ~@18 g#3@4 ~@15 c#3@3 c#3@4 ~@16 f#3@8 ~@18 f#3@3 ~@19 b2@3 ~ f#2, b2@26 b2@22 ~@3 d#3@8 d#3@8 ~@8 b2@18 [f#2,f#4]@28 [b2,b4]@22 [e2,a4]@22 c#5@14 b4@8 ~@7 a#4@17 ~@7 f#4@13 ~@2 g#4@22 ~, ~ e4@26 ~@5 f#4@15 ~@16 b3@8 ~@11 g#3@3 [b3,g#4]@9 ~@7 f#3@14 ~@10 f#3@7 f#3@7 ~@8 b2@20 ~@2 g#2@4 c#3@3 g#2@11 [f#2,b4]@24 [b2,b4]@20 ~ e2@22 ~@2, ~@4 f#3@8 ~ f#3@4 b3@9 ~@3 f#3@7 f#3@7 ~@4 [g#2,b4]@24 [e2,c#5]@23 ~@17 a#2@11 ~@13 a4@7 ~@7 g#4@4 g#3@4 b3@9 ~@6 g#4@15 ~@8 f#3@8 ~@12 f#3@7 f#3@7 ~@7 b2@4 e3@4 b2@3 [e3,c#4]@7 ~@2, ~@8 d#4@17 d#4@14 ~ d#4@8 ~@6 g#3@16 ~@8 [e3,b4]@16 ~@3 c#3@9 c#3@16 ~@6 f#4@14 ~@8 e3@16 c#2@22 ~@3 c#3@8 c#3@13 ~@13 d#4@7 ~@8 e4@15 ~]/8", // F# B A5 E B5 B G#m C#m …
  D: "[~@18 [c#3,a#3]@4 ~@21 b2@5 ~@21 b2@5 ~@18 f#3@4, b3@22 ~@4 b2@17 ~@5 g2@28 ~@6 f#4@14, ~@3 c#3@7 c#3@5 c#4@7 ~@8 d#3@9 d#3@9 ~@8 d3@8 d3@11 b4@21, ~@7 f#3@7 f#3@8 [g#2,b3]@27 ~@3 b2@17 ~@5 b2@22, ~@11 d#4@11 ~@12 g#3@14 ~@12 g3@16 ~@2 f#3@7 f#3@4 d#4@7]/3", // F# G#m
  E: "[~@19 b2@4 ~@77 f#3@6 ~@21 b2@4 ~@23 f#3@6, [e2,g#4]@23 b3@20 a#3 c#3@3 b3@15 f#3@5 b3@23 f#3@5 b2@11 ~@5 b2@7 ~ b2@8 ~@4 [b2,d#4]@29, ~@3 b2@7 ~ b2@4 e3@9 ~@3 c#3@8 d#4@15 ~@8 b2@13 f#3@5 b2@4 f#3@5 a3@21 ~ e4@8 e4@8 ~@17 b3@9 b3@11, ~@7 e4@17 ~@7 f#3@4 c#3@4 [f#3,c#4]@11 ~@4 f#2@53 e2@25 ~@28, ~@7 e3@7 c#4@9 f#2@27 b1@56 ~@10 e3@7 [e3,e4]@10 ~@2 f#3@9 f#3@10 ~@6]/5", // E B F#5 E
  F: "[~@21 f#3@4 ~@22 b2@6 ~@19 b2@4 ~@18 [f#3,e4]@4 ~@20 f#3@5 ~@21 e3@7 ~@19 b2@4 ~@22 f#3@4 ~@20 f#3@4, f#4@8 [b3,f#4]@8 [b3,f#4]@9 e4@29 ~@7 [e3,g#4]@7 [e3,g#4]@9 ~@3 f#3@7 g#4@11 [b2,d#4]@27 ~@2 b2@8 ~ b2@16 ~@3 b2@8 b2@7 ~@5 b2@16 b2@9 ~ b2@23, ~ b2@25 ~@3 b2@9 b2@9 ~@6 g#4@8 ~@22 b3@7 f#4@9 ~@7 e4@17 ~@16 b3@12 e4@8 ~@15 d#4@27 ~@7 [b3,f#4]@8 [b3,f#4]@8, ~@4 f#3@8 f#3@9 ~@4 e2@17 ~ e2@10 e2@24 ~@10 f#3@4 b3@8 ~@3 f#3@8 f#3@8 ~@5 [e2,e4]@28 e2@25 ~@6 b3@19 ~@3 f#3@8 f#3@8 ~@4, ~@34 e3@20 ~@3 b2@7 b2@8 ~@4 [b2,a4]@23 ~@7 b3@8 [b3,f#4]@11 ~@6 e3@12 ~@16 [e3,e4]@7 [e3,e4]@9 ~@3 f#3@9 f#3@9 ~@4 f#4@8 ~@16]/7", // F#7 B5 E B B5 E B7 B5 …
  G: "[~@22 b2@5 ~@19 b2@4 ~@19 [f#3,e4]@4 ~@21 f#3@5 ~@131 g#3@4 ~@19 f#3@3, [e2,e4]@27 e2@25 ~@6 b3@7 [b3,f#4]@9 ~@7 b3@8 f#4@10 ~@11 g#3@12 d2@21 a2@45 b2@11 f#3@4 d#4@8 [e2,g#4]@24 ~@3 c#3@7 c#3@11, ~@5 b2@8 b2@9 ~@9 b2@7 b2@8 ~@4 [b2,a4]@23 [b2,d#4]@25 ~ [e2,e4]@25 ~@2 a2@13 d3@10 ~@3 c#3@14 f#3@5 c#3@44 b2@3 e3@4 g#3@4 b3@8 ~@7 c#4@15, ~@9 e3@8 e3@10 g#4@8 [e3,g#4]@7 [e3,g#4]@10 ~@2 f#3@7 g#4@12 ~@8 e4@17 ~@9 e3@7 e3@9 ~@7 d3@4 f#3@14 f#2@40 d#4@4 f#3@3 f#4@39 ~@7 f#3@8 e4@7, ~@61 f#3@8 ~@8 f#3@8 f#3@5 b3@9 ~@4 b2@15 b2@31 ~@7 f#3@5 a#3@46 f#3@27 [f#2,f#4]@22]/8", // F#7 E B5 E B7 B E F#
  H: "[~@21 f#3@4 ~@18 f#3@4 ~@21 d#3@4 ~@18 g#3@4 ~@21 c#3@9 ~@17 f#3@4 ~@12 e3@4 ~@4 b2@5 ~@19 g#2@3, ~ [b2,e4]@24 b2@21 ~ g#2@16 g#2@9 [e2,c#5]@23 ~@11 c#4@18 ~@6 f#4@15 ~@16 d#2@10 ~@6 c#3@8 [c#3,b4]@7, ~@5 f#3@7 f#3@8 ~@9 f#3@7 f#3@7 ~@8 d#3@8 d#3@9 ~@7 b2@19 [f#2,f#4]@30 ~@13 a4@8 ~@7 g#4@18 ~@7 g#4@15, ~@8 d#4@17 d#4@14 d#4@7 ~@9 g#3@18 ~@6 [e3,b4]@16 ~@3 c#3@17 ~@9 [b2,b4]@21 [e2,a4]@17 ~@8 [c#2,c#5]@22, ~@16 b3@9 ~@7 f#4@15 b4@26 ~@9 g#3@4 [b3,g#4]@9 ~@7 f#3@8 f#3@14 ~@4 f#3@6 f#3@7 ~@8 b2@13 ~@12 g#2@7 g#2@8 ~@3]/6", // E5 C#m C#7 F# E5 B A5 C# …
  I: "[~@21 f#3@4 ~@18 f#3@4 ~@18 e3@3 ~@19 [f#3,a#3]@4 ~@20 b2@4 ~@22 b2@4 ~@15 d#4@4, ~ [f#2,b4]@25 b2@21 [e2,g#4]@22 ~@3 c#3@19 ~@4 b2@12 d#3@8 ~@5 b2@13 d3@8 b2@19, ~@5 c#3@7 c#3@13 b4@22 ~@7 e3@7 c#4@8 ~@6 f#3@8 c#4@8 b3@52 ~@2 f#3@7 f#3@7 ~, ~@8 a#4@18 ~@6 f#4@15 ~@6 e4@15 ~@11 d#4@12 ~@8 d#3@4 g#3@13 ~@8 d3@4 g3@14 b4@18, ~@9 f#3@8 c#4@9 ~@3 f#3@6 ~ f#3@3 d#4@7 ~@4 b2@18 [f#2,b3]@23 g#2@25 g2@26 ~@6 f#4@12]/5", // F# B5 E B5
  J: "[f#3@3 ~@18 e3@4 ~@22 a#3@6 ~@24 f#3@10 ~@2 b4@58 ~@13, ~@3 e2@11 e3@3 c#4@8 b3@13 d#4@4 c#4@11 b3@14 d#3@64 ~@29, ~@4 g#4@22 ~@8 f#3@19 b1@35 [b2,d#4,f#4]@59 ~@13, ~@7 b2@19 f#2@28 ~@3 f#2@64 ~@39, ~@10 e4@15 ~@5 c#3@24 ~@8 b2@10 b3@15 [f#3,b3]@60 ~@13]/5", // B B5
})).s("gm_piano").gain(0.36)

// chords · pad new age · "FANTASIA"
const pad_new_age = note("<A@8 B@6 C@5 D@6 E@4 F@3 G@8 H@5 I@6 J@2 K@7 ~>".pickRestart({
  A: "[~@2 [f#3,b3,d#4]@22 [e2,g#3,b3,e4]@24 ~ [a#3,c#4]@22 e4@7 d#4@16 ~ [f#3,b3,d#4]@23 [g#2,b3,d#4,g#4]@23 ~ e2@22 ~ b3@8 a#3@17 d#4@8 f#4@14 a3@8 g#3@16 [c#2,g#3,c#4,f4]@20, ~ b1@24 ~@23 [f#1,f#3]@23 [b1,f#3,b3]@23 b1@24 ~@23 [g#3,b3,e4]@23 [f#1,c#4]@27 ~@21 [e2,b3,e4]@25 ~@19, ~@165 f#3@25 [b1,f#3,b3]@23 ~@43]/8", // B E A#m B G#m C# F# B5 …
  B: "[~@3 [f#1,f#3,a#3,c#4]@23 ~ [b1,d#4]@22 [e2,g#3,b3,e4]@20 b3@8 a#3@16 [b1,f#3,b3,d#4]@30 ~ b1@23 [e2,g#3,b3,e4]@23 [f#1,f#3,a#3,c#4]@22, ~@26 [f#3,b3]@23 ~@20 [f#1,f#3,c#4]@25 ~@29 [f#3,b3,d#4]@25 ~@44]/6", // F# B E B E F# B5 F#5 …
  C: "[e4@7 d#4@18 [b1,f#3,b3,d#4]@21 ~ [g#2,b3,d#4]@24 [e2,g#3,b3,e4]@21 ~@2 g#1 ~@6 a#3@19 ~@9 f#4@13 a3@8 g#3@10, [b1,f#3,b3]@25 ~@21 g#4@27 ~@19 [f#3,c#4]@28 [b1,f#3,b3,d#4]@23 ~@17, ~@92 b3@9 ~@41 [e2,b3,e4]@18]/5", // B G#m E B5 F#5 B E5
  D: "[~@29 b3@6 a#3@17 [b1,f#3,b3,d#4]@20 ~ [e2,g#3,b3]@22 b3@9 a#3@13 [g#1,g#3,b3,d#4]@26 ~ g1@25 ~ b2@22, ~@5 [c#2,g#3,c#4,f4]@24 [f#3,c#4]@24 ~@19 e4@23 ~@48 [g3,b3,d4]@26 [f#3,b3,d#4]@23, ~@27 f#1@26 ~@42 [f#1,f#3,c#4]@23 ~@74]/6", // B E G#m C# F#5 G B F#5
  E: "[[e3,g#3,b3,e4]@22 ~@16 [f#3,a#3]@10 ~@27 a3@31 [e2,e3,g#3,b3,e4]@22, ~@11 f#2@14 b2@28 ~@11, ~@11 [f#3,b3]@8 ~@5 [f#3,b3,d#4]@29 ~@11, ~@23 c#4@26 ~@79]/4", // E F# E B5 B
  F: "[~ [b3,d#4]@18 [g#3,b3,e4]@13, ~@2 f#3@55 ~@39]/3", // B E
  G: "[~@13 [b1,d#4]@46 [e3,g#3,e4]@51 ~ [b1,b2,d#4]@50 [g#3,e4]@48 [b1,b2,d#4]@47, ~@59 b3@148 ~@49, ~@110 f#3@51 ~@95]/8", // B E B C#m B
  H: "[~@2 [e2,e3,g#3,e4]@24 ~ [f#3,a3,d4]@24 ~ [f#1,f#2,a#3,c#4]@40 ~ [b1,b2,f#3,b3,d#4]@22 ~ [e2,e3,b3,e4]@21 ~ [f#2,f#3,a#3,c#4]@22, ~@26 d2@25 f#3@40 ~@24 g#3@22 f#1@23]/5", // E D F# B E5 F#
  I: "[e4@8 ~@16 [b1,b2,f#3,b3]@22 [g#1,g#2,b3,d#4,g#4]@25 [e2,g#3,b3,e4]@24 b3@15 a#3@12 ~ [b2,b3]@22 [e2,e3,g#3,b3,e4]@24 [c#2,c#3,g#3,c#4,f4]@23, [b1,b2,f#3,b3]@24 ~@71 [f#1,f#2,c#4]@27 [b1,d#4]@24 ~@46, ~@8 d#4@38 ~@49 f#3@51 ~@46]/6", // B5 G#m E B E C# B5 F#5 …
  J: "[~ b3@8 a#3@16 [b1,b2,f#3,b3,d#4]@22 [e2,e3,g#3,b3,e4]@17, [f#1,f#2,f#3]@25 ~@39, ~ c#4@25 ~@38]/2", // B E F#
  K: "[~@3 b3@8 a#3@15 ~ [g#3,b3,d#4]@25 [g1,g2,g3,b3,d4]@26 ~ b1@20 ~ [e3,g#3]@21 b3@17 a#3@10 [b1,d#3,f#3,b3]@64 ~@12, ~@3 [f#1,f#2,f#3,c#4]@23 [g#1,g#2]@27 ~@25 b3@43 ~@103, ~@78 [f#3,d#4]@21 [e2,e4]@22 [f#1,f#2,f#3,c#4]@28 ~@75]/7", // G#m G E B F#5 G# D#m E …
})).s("gm_pad_new_age").gain(0.35)

// chords · pad new age · "FANTASIA" · soft notes
const pad_new_age_soft = note("<~@16 A@2 ~@11 B@7 ~ C@6 ~@4 D ~@7 E@2 ~@4>".pickRestart({
  A: "[~@30 f#1@27 ~@7]/2", B: "[~@3 [b1,b2]@54 [e2,e3]@51 ~ f#3@46 e2@52 ~@17, ~@27 [b2,b3]@12 ~@17]/7",
  C: "[~ e3@48 b3@70 ~@4 d3@25 f#4@40 ~@4, e2@49 f#3@49 ~@94]/6", D: "~@7 e3@25", E: "[~@22 b2@15 ~@27]/2",
})).s("gm_pad_new_age").gain(0.18)

stack(piano, pad_new_age, pad_new_age_soft)

More by Enya