Strudelify

nocturne

Secret Garden

KeyF majorTempo90 bpm
0:00/0:00
// nocturne — Secret Garden
// 90 bpm, 3/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 3/4 at bar 2) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5937767; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 81 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/3)

// 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
const piano = note(`<
  A B C B D E F G H I J K L M N O P Q R@2 L M N S P T U@2 V@2 W X Y Z AA AB AC AD@2 AE@2 AF L O N O P AG AH@2 AI O AJ AK
  AL AM AN@3 AO AP AQ AC AO AR AQ AC AD@2 AS@2 AT B C B AU E F AV AW AX
>`.pickRestart({
  A: "~@4 a4 c5", B: "d5@4 d5 e5, [a3,d4,f4]", C: "a4@4 a4 c5, [a3,c4,e4]", D: "c5@6 d5 c5 a4@8 a4@4 c5@4, [a3,c4,e4]",
  E: "a4@2 f4@3 g4, [g3,bb3,d4]", F: "e4@2 c4@3 a3, [d3,f3], a3@5 ~", G: "[a3,bb3,d4]",
  H: "d4@4 ~ c4, [g3,bb3], ~@2 d4", I: "d2 a2 f3@4, a3", J: "d2 a2 f3@3 a2", K: "d2 a2 f3@4",
  L: "d3 a3 ~@2 d5 e5, d5@2 ~, ~ f4@2", M: "a2 c3 ~@2 a4 c5, a4@2 ~, ~ c4@2", N: "d3 a3 d5@3 e5, d5 f4@2",
  O: "a2 e3 ~@2 a4 c5, a4@2 ~, ~ c4@2", P: "g2 d3 [bb3,d4,f4]@3 g4, a4 a3@2", Q: "d2 a2 [f3,a3,c4]@3 a3, e4 e3@2",
  R: "[g2 d3 a3@2 bb3@2 g2 d3 ~@2 a4 c5, d4@2 bb3]/2", S: "a2 c3 a4@2 a4 c5, c5 c4@2",
  T: "c2 a2 [f3,a3,c4]@3 a3, e4 e3@2", U: "[g2 d3 a3@2 bb3@2 g2 d3 ~@2 d4 c4, d4@5 ~, ~@2 bb3]/2",
  V: "[d2 a2 f3@4 d2 a2 ~@2 a4 d5, a3@2 f3]/2", W: "d3 a3 ~@2 a4 e5, e5@2 ~, ~ f4@2",
  X: "a2 e3 ~@2 a4 f5, f5@2 ~, ~ c4@2", Y: "[d3,e5] [a3,d5] bb4@2 c5@2, ~ f4@2", Z: "g2 d3 ~@2 a4 d5, a4@2 ~, ~ bb3@2",
  AA: "d2 a2 ~@2 a4 g5, e5@2 ~, ~ f3@2", AB: "[d2,f5]@4 g5 f5 ~ e5 f5@8 a4@4 f5@4, ~ a2 f3@4",
  AC: "[g2,e5] [d3,d5] bb4@2 c5@2, ~ bb3@2", AD: "[a2@4 e3@4 c4@16 a2@4 e3@4 ~@8 a4@4 a4 bb4 a4 g4, a4@5 ~, ~@2 c4]/2",
  AE: "[d2 a2 f3@4 d2 a2 f3@3 a2, a4@2 ~]/2", AF: "d2 a2 ~@3 a4, ~ f3@2", AG: "d2 a2 [a3,c4]@3 a3, e4 f3@2",
  AH: "[g2 d3 a3@4 g2 d3 ~@2 a4 c5, d4@2 a3]/2", AI: "d2 a2 ~@2 d5 e5, d5@2 ~, ~ f3@2", AJ: "d2 a2 d5@3 e5, d5 f3@2",
  AK: "[a2,c5]@2 d5 c5 a4@4 a4@2 c5@2, ~ e3 c4@4", AL: "g2 bb2 f4@3 g4, a4 a3@2", AM: "d2 a2 c4@3 a3, e4 f3@2",
  AN: "[g2 d3 a3@2 bb3@2 g2 d3 bb3@4 d2 a2 ~ c5 bb4 g4, ~@2 a4@13 ~@3, ~@7 f3@2]/3",
  AO: "d2 a2 ~@2 a4 d5, a4@2 ~, ~ f3@2", AP: "a2 e3 ~@2 a4 e5, e5@2 ~, ~ c4@2", AQ: "d2 a2 ~@2 a4 f5, f5@2 ~, ~ f3@2",
  AR: "a2 e3 ~@2 a4 g5, e5@2 ~, ~ c4@2", AS: "[d2 a2 f3@4 d2 a2 f3@4, a4]/2", AT: "d2 a2 ~@2 a4 c5, ~ f3@2",
  AU: "c5@2 a4@2 a4 c5, [a3,c4,e4]", AV: "g2 d3 g3 a3 bb3 d4, d4@5 ~", AW: "g4 a4 bb4 d5 g5@2, d4", AX: "[d2,d6]",
})).s("gm_piano").gain(0.3)

stack(piano)

More by Secret Garden