Strudelify

Wind of You

Neople

KeyC majorTempo85 bpm
0:00/0:00
// Wind of You — Neople
// 85 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6363348; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 50 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(85/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 · "Piano 1"
const piano = note(`<
  ~@4 A B A B C D E F G H G I J K L M N@2 O P Q@2 R S T U V W@2 X A B A B A B A B L M N@2 O Y Z@2
>`.pickRestart({
  A: "e6 a6 b6 c7 f6 a6 b6 c7", B: "g6 a6 d7 c7 b6@4",
  C: "[e3,a3]@2 [e4,a4]@2 [e4,e5]@3 [e4,a4] [f4,f5]@2 e5@2 d5@2 c5@2", D: "[d4,g4,d5] [e4,g#4,b4]",
  E: "~@2 [e4,a4]@2 [e4,e5]@3 [e4,a4] [f4,f5]@2 e5@2 d5@2 c5@2", F: "[d4,g4,b4,d5]@2 [d4,g#4,b4,e5] [e4,g#4,b4]",
  G: "~@2 [c5,c6] [b4,b5] [c5,e5,c6]@2 e5 a4 [f4,c5,f5]@2 [g4,e5,g5]@2 d5@2 c5@2", H: "[d4,g4,b4,d5] [e4,g#4,b4,e5]",
  I: "[b4,d5,a5]@6 [b4,d5,a5] [d5,d#5] [g#4,d5,e5,g#5]@4 [b4,e5,b5]@4", // Bm7 D#maj7 E7 E5
  J: "~@2 [c4,e4]@2 [e4,g4]@3 [c4,g4] [c4,f4,a4]@2 [e4,g4]@2 [d4,f4]@2 [c4,e4]@2", // C Em C5 F Em Dm C
  K: "[d4,a4,d5]@2 [b4,d5,g#5,b5] [e5,g#5,b5,e6]", // D5 G#dim E
  L: "[a3,e4]@2 [e4,a4] [d4,b4] [e4,a4,c5]@2 e4@2 [c4,c5] [b3,b4] [c4,f4,a4,c5]@4 [d4,g4,c5]@2", // A5 G Am C B F Csus2
  M: "[d4,g4,c5]@2 [d4,g4,c5]@3 [d4,g4,c5]@3 [d4,g#4,b4]@2 [a4,a5] [b4,b5] [c5,c6] [b4,b5] [a4,a5] [g#4,g#5]", // Csus2 G#dim A B C B A G#
  N: "[[a4,c5,e5,a5]@2 [c5,e5,c6] [b4,d5,b5] [c5,e5,a5,c6]@4 [c5,f5,c6] [b4,e5,b5] [c5,f5,c6]@4 [d5,g5,b5,d6]@9 ~ [d5,g#5,b5]@8]/2", // Am C Bm Am F5 E5 F5 G …
  O: "~@2 [a4,c5,a5] [b4,d5,b5] [c5,e5,a5,c6]@4 [c5,f5,c6] [b4,e5,b5] [c5,f5,c6]@4 [d4,g4,c5]@2", // Am Bm Am F5 E5 F5 Csus2
  P: "[d4,g4,c5]@2 [d4,g4,c5]@3 [d4,g4,c5]@3 [e4,g#4,b4]@2 [a4,d5,a5] [b4,d5,g#5,b5] [c5,e5,a5,c6] [b4,d5,g#5,b5] [a4,c5,a5] [g#4,b4,g#5]", // Csus2 E D5 G#dim Am G#dim Am G#m
  Q: "[[a4,a5]@2 [c5,e5,a5,c6] [b4,d5,b5] [c5,e5,a5,c6]@4 [c5,f5,a5,c6] [b4,e5,b5] [c5,f5,a5,c6]@4 [d5,g5,b5,d6]@9 ~ [d5,g#5,b5]@8]/2", // A Am Bm Am F E5 F G …
  R: "g#4 g4 a4 b4@3 a4@2 c5 b4 c5 d5@3 c5@2", S: "e5 d5 e5 a5@3 e5@2 d5 c5 b4 c5@3 a4 g4", T: "f4 f4@2 [f4,a4]",
  U: "[e4,g#4]@9 ~ e4@2 a4@2 b4@2", V: "a4 g#4 a4 b4@3 a4@2 c5 b4 c5 d5@3 c5@2",
  W: "[e5 d5 e5 a5@3 b5@2 c6 b5 c6 a5@16 ~ b5@2 a5@2]/2", X: "g#5@11 ~ f5@2 e5@2",
  Y: "[d4,g4,c5]@2 [d4,g4,c5]@3 [d4,g4,c5]@3 [e4,g#4,b4]@2 [a4,d5,a5] [b4,d5,g#5,b5] [c5,e5,a5,c6] [b4,d5,g#5,b5] [a4,c5,f5,a5] [g#4,b4,e5,g#5]", // Csus2 E D5 G#dim Am G#dim F E
  Z: "[[a4,a5]@2 [c5,e5,a5,c6] [b4,d5,g5,b5] [c5,e5,a5,c6]@4 [c5,f5,a5,c6] [b4,e5,b5] [c5,e5,a5,c6]@4 [g5,b5,d6]@2 [f5,g5,d6]@15 ~, ~@14 d5@17 ~]/2", // A Am G Am F E5 Am G …
})).s("gm_piano").gain(0.35)

// chords · piano · "Piano 2"
const piano_2 = note(`<
  A B A B A B A C D E D F D E D G H I J@2 K@2 J@2 L@2 M N O P M Q R S T U V W X U Y Z AA@2 K@2 J@2 AB@2
>`.pickRestart({
  A: "e5@2 e5@2 e5@3 e5 f5!2 f5@2 f5@3 f5", B: "d5@2 d5@2 d5@3 d5 b4!2 b4@2 b4@3 b4", C: "d5@2 d5@2 d5@3 d5 b4@8",
  D: "[a1,a2]@2 a2@2 [a2,e3,a3]@3 a2@2 c3 f2@2 [c3,f3]@3 f2", // A A5 F5
  E: "[g1,g2]@2 g2@2 [g2,d3,g3]@3 g2@2 [b2,e3] e2@2 [b2,e3,g3]@3 b2", // G G5 E5 Em
  F: "[g1,g2]@2 g2@2 [g2,d3,g3]@3 g2@2 [b2,e3] e2@2 [b2,e3,g#3]@3 b2", // G G5 E5 E
  G: "[g1,g2]@2 g2@2 [g2,d3,g3]@3 g2@2 [d3,e3] g#2@2 [e3,g#3,b3]@3 b2", H: "a2@4 [e3,a3]@3 a2@2 c3 f2@2 [c3,f3]@3 f2",
  I: "[g2,d3]@2 g2@2 [d3,g3]@3 g2@2 [b2,e3] e2 b2 e2 g#2 e2 g#1", // G5 E5
  J: "[[a1,a2]@2 a2@2 [c3,e3,a3]@3 a2 f2 [a2,c3,f3] f2@2 [f2,c3,f3]@2 [g2,d3,g3]@4 g1@2 [g2,d3]@3 d3@2 [d3,g#3] g#2@2 [c3,e3,c4]@2 [b2,e3,b3]@2]/2", // A Am F F5 G5 Ddim C E5
  K: "[[a1,a2]@2 a2@2 [c3,e3,a3]@3 a2 f2 [a2,c3,f3] f2@2 [f2,c3,f3]@2 [g2,d3,g3]@4 g1@2 [g2,d3]@2 g2 d3 e2 [g#2,e3] e2 b2 e2 [g#2,e3] e2 b2]/2", // A Am F F5 G5 C#m
  L: "[[a1,a2]@2 a2@2 [c3,e3,a3]@3 a2 f2 [a2,c3,f3] f2@2 [c3,f3]@2 [g2,d3,g3]@4 g1@2 [g2,d3]@3 d3@2 [b2,e3] e2@2 [b2,e3] e2@2 e2]/2", // A Am F F5 G5 E5
  M: "[a3,c4,e4] [g#3,c4,e4]", N: "[g3,c4,e4] [f#3,c4,f#4]", O: "[f3,c4]@11 ~ a3@4", P: "[g#3,b3]@9 ~ [g#3,b3,d4]@6",
  Q: "[g3,c4,e4] [f#3,a3,d4,f#4]", R: "[f3,a3,c4,f4]@15 ~", S: "[g#3,b3,d4]@15 ~", T: "[e3,a3,c4,e4] [f3,c4,f4]",
  U: "[g3,d4,g4] [e3,b3,e4]", V: "[e3,a3,c4] [f3,c4,f4]", W: "[g3,d4,b4]@2 [e3,b3,e4] e5",
  X: "[a3,c4,e4,a4]@4 e5@3 a4 [f3,c4,f4]@2 f5@4 d5@2", Y: "[e3,a3,c4]@2 a4@2 e5@3 a4 [f3,c4,f4]@2 f5@4 d5@2",
  Z: "[g3,d4,g4] [e3,g#3,b3,e4]", // G5 E
  AA: "[[a1,a2]@2 a2@2 [c3,e3,a3]@3 a2 f2 [a2,c3,f3] f2@2 [f2,c3,f3]@2 [g2,d3,g3]@4 g1@2 [g2,d3]@3 d3!2 [d3,g#3] g#2@2 [c3,e3,c4]@2 [b2,e3,b3]@2]/2", // A Am F F5 G5 Ddim C E5
  AB: "[[a1,a2]@2 a2@2 [c3,e3,a3]@3 a2 f2 [a2,c3,f3] f2@2 [c3,f3]@2 [g2,d3,g3]@4 g1@2 [g2,d3]@11 ~]/2", // A Am F F5 G5
})).s("gm_piano").gain(0.3)

stack(piano, piano_2)

More by Neople