Strudelify

Standing Still

Jewel

KeyD majorTempo130 bpm
0:00/0:00
// Standing Still — Jewel
// 130 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 137 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(130/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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.

// other · ocarina
const ocarina = note(`<
  ~@8 A B C@2 D E F@2 G H I@2 J@2 K@2 L@3 ~ L@3 M N O P Q N R P S@2 T U@6 A B C@2 D E F@2 G H I@2 J@2 K@2 L@3 ~ L@3 M N
  O P Q N R P S@2 T U@6 V W V X Y@3 ~ L@3 M N O P Q N R P S@2 T Z@5 AA@2 AB ~ AC AD@4 AE ~@12
>`.pickRestart({
  A: "~@4 e4@3 ~ d4@2 d4@5 ~", B: "d4@2 e4@2 e4@3 ~ d4@2 d4@4 d4@2", C: "[d4@3 ~ e4@2 f#4@4 f#4@9 ~@13]/2",
  D: "d4@2 d4@2 e4@3 ~ d4@2 d4@5 ~", E: "d4@2 d4@2 e4@2 d4@4 d4@5 ~", F: "[d4@3 ~ e4@2 f#4@4 f#4 e4 d4@7 ~@13]/2",
  G: "d4@2 d4@2 f#4@2 f#4@2 f#4@2 e4@2 d4@3 ~", H: "d4@2 d4@2 g4@2 f#4@4 e4@2 d4@3 ~",
  I: "[~@4 e4@2 f#4@4 f#4 e4 d4@7 ~@13]/2", J: "[d4@2 e4@2 e4@2 d4@2 d4@3 ~ c#4@7 ~@13]/2",
  K: "[~@2 a3@2 e4@2 d4@2 d4@3 ~ d4@7 ~@13]/2", L: "[~@4 a4@15 ~ b4@14 f#4@2 e4@5 ~ f#4@5 ~]/3",
  M: "~@2 e4@2 f#4@3 ~ f#4@3 ~ f#4@2 f#4@2", N: "e4@2 f#4@9 ~@5", O: "~@2 a3@2 f#4@3 ~ g4@2 f#4@4 f#4@2",
  P: "e4@2 f#4@2 e4@7 ~@5", Q: "~@2 d4@2 f#4@3 ~ f#4@3 ~ f#4@2 f#4@2", R: "f#4!4 g4 f#4@2 f#4",
  S: "[~@2 e4@2 f#4@3 ~ f#4@3 ~ f#4@2 a4@4 a4@2 b4@2 a4@2 f#4@3 ~@3 f#4@2]/2", T: "f#4@2 e4@2 f#4@3 ~ g4@2 f#4@4 f#4@2",
  U: "[e4@2 f#4@2 e4@15 ~ f#4@7 ~ d4@7 ~ c#4@15 ~ f#4@7 ~ d4@2 e4@4 e4@17 ~@13]/6", V: "~@8 c#4@3 ~ c#4@2 c#4@2",
  W: "c#4@2 c#4@2 c#4@3 ~ c#4@2 c#4@4 b3@2", X: "c#4!2 e4 d4!2 c#4@2 c#4",
  Y: "[d4@3 ~ a4@15 ~ b4@14 f#4@2 e4@5 ~ f#4@5 ~]/3",
  Z: "[e4@2 f#4@2 e4@15 ~ f#4@7 ~ d4@7 ~ c#4@15 ~ f#4@7 ~ d4@2 e4@4 e4@2 e4@7 ~@3 e4@2]/5", AA: "[e4@2 f#4@29 ~]/2",
  AB: "e4@2 d4@2 d4@7 ~@5", AC: "~@8 f#4@3 ~ e4@3 ~",
  AD: "[d4@3 ~ [c#4,a4]@15 ~ b4@14 f#4@2 e4@5 ~ f#4@9 ~@5 f#4@3 ~ e4@3 ~]/4", AE: "d4@3 ~ [c#4,a4]@5 ~ a4@5 ~",
})).s("gm_ocarina").gain(0.72)

// other · ocarina · soft notes
const ocarina_soft = note("<~@125 A@2 B C A@2 B C A@2 B ~>".pickRestart({
  A: "~@4 a4@5 ~ a4@5 ~", B: "~@4 a4@2 a4@4 a4@5 ~", C: "~@2 f#4@2 [c#4,a4]@5 ~ a4@5 ~",
})).s("gm_ocarina").gain(0.16)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C D E@2 F D G H I D J K I D L M N O P@2 Q@2 R@3 S T@4 U V W@2 U X Y@3 Z AA AB@4 AC AD H I D J K I D L M N O P@2
  Q@2 R@3 S T@4 U V W@2 U X Y@3 Z AA AB@4 AE@2 AF@3 AG@3 S T@4 U V W@2 U X Y@3 Z AA AH@4 AI AJ AK AL AM AN AK AO AM AP@2
  ~@11
>`.pickRestart({
  A: "~@4 [f#3,b3,d4]@3 ~ [f#3,b3,d4]@2 [f#3,b3,d4]@4 [f#3,b3,d4]@2", // Bm
  B: "[f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [a3,c#4]@3 ~", // Bm A
  C: "[a3,c#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@4 [a3,d4,f#4]@2", // A D
  D: "[a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@4 [a3,d4,f#4]@2", // D
  E: "[[a3,d4,f#4]@3 ~ [f#4,b4]@2 d5@2 f#4@2 [d4,f#4,b4]@9 ~ [d4,f#4,b4]@3 ~ [d4,f#4,b4]@3 ~ [c#4,e4,a4]@3 ~]/2", // D B5 Bm A
  F: "[c#4,e4,a4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@4 [a3,d4,f#4]@2", // A D
  G: "[a3,d4,f#4]@3 ~ [f#3,b3,e4]@3 ~ d4@2 [f#3,b3,d4]@5 ~", H: "d4@2 e4@2 [f#3,b3,e4]@3 ~ d4@2 [a3,d4]@4 d4@2",
  I: "d4@3 ~ [a3,d4,e4]@2 f#4@4 [a3,d4,f#4]@4 [a3,d4,f#4]@2", J: "d4@2 d4@2 [f#3,b3,e4]@3 ~ d4@2 [f#3,b3,d4]@5 ~",
  K: "d4@2 d4@2 [f#3,b3,e4]@2 d4@4 [a3,d4]@5 ~", L: "d4@2 d4@2 [b3,d4,f#4]@2 f#4@2 f#4@2 e4@2 [b3,d4]@3 ~",
  M: "d4@2 d4@2 [b3,d4,g4]@2 f#4@4 e4@2 [a3,d4]@3 ~", N: "~@2 [a3,d4,e4] f#4@2 [a3,d4,f#4]@2 [a3,d4,f#4]",
  O: "[a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@5 ~", // D
  P: "[d4@2 e4@2 [f#3,b3,e4]@2 d4@2 d4@3 ~ [f#3,b3,c#4]@7 ~ [f#3,b3,d4]@3 ~ [f#3,b3,d4]@3 ~ [a3,c#4]@3 ~]/2", // Esus2 F#sus4 Bm A
  Q: "[[a3,c#4]@2 a3@2 [f#3,a3,e4]@2 d4@2 d4@3 ~ [f#3,a3,d4]@7 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@4 [a3,d4,f#4]@2]/2", // A F#m7 D
  R: "[[a3,d4,f#4]@3 ~ [d4,f#4,a4]@15 ~ [d4,f#4,b4]@14 f#4@2 [a3,d4,e4]@5 ~ [a3,d4,f#4]@5 ~]/3", // D Bm Asus4 D
  S: "[a3,d4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@2 [a3,c#4,e4]@4 [a3,c#4,e4]@2", // Asus4 A
  T: "[[a3,c#4,e4]@3 ~ [d4,f#4,a4]@15 ~ [d4,f#4,b4]@14 f#4@2 [a3,d4,e4]@5 ~ [a3,d4,f#4]@8 e4@2 [a3,c#4,f#4]@3 ~ [a3,c#4,f#4]@3 ~ [a3,c#4,f#4]@2 [a3,c#4,f#4]@2]/4", // A D Bm Asus4 D F#m
  U: "e4@2 [a3,d4,f#4]@5 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@5 ~", // D
  V: "[d4,f#4]@2 a3@2 [a3,d4,f#4]@3 ~ [b3,g4]@2 [a3,d4,f#4]@4 [a3,f#4]@2", // D Em D
  W: "[[g3,e4]@2 [a3,f#4]@2 [g3,b3,e4]@5 ~ [g3,b3,d4]@8 d4@2 [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,c#4,f#4]@2 f#4@2]/2", // C D Em G D F#m
  X: "[a3,f#4]!2 [a3,d4,f#4]!2 [b3,g4] [a3,d4,f#4]@2 [a3,f#4]", // D Em D
  Y: "[[g3,e4]@2 [a3,f#4]@2 [g3,b3,e4]@5 ~ [g3,b3,d4]@8 e4@2 [a3,c#4,f#4]@3 ~ [a3,c#4,f#4]@3 ~ [a3,c#4,f#4]@2 a4@4 [d4,f#4,b4]@7 ~ [d4,f#4]@4 f#4@2]/3", // C D Em G F#m Bm D
  Z: "f#4@2 e4@2 [a3,d4,f#4]@3 ~ g4@2 [a3,d4,f#4]@4 f#4@2", AA: "e4@2 f#4@2 [a3,d4,e4]@5 ~ [a3,d4,e4]@5 ~",
  AB: "[[a3,d4,e4]@3 ~ [a3,c#4,f#4]@7 ~ [a3,d4]@7 ~ [f#3,b3,c#4]@15 ~ [a3,d4,f#4]@7 ~ d4@2 e4@4 [a3,d4,e4]@7 ~ [a3,d4,e4]@5 ~]/4", // Asus4 F#m D5 F#sus4 D Asus4
  AC: "[a3,d4,e4]@3 ~ [a3,c#4,e4]@5 ~ [a3,c#4,e4]@5 ~", AD: "[a3,c#4,e4]@3 ~ [f#3,b3,e4]@3 ~ d4@2 [f#3,b3,d4]@5 ~",
  AE: "[[a3,d4,e4]@3 ~ [f#3,a3,c#4]@5 ~ [f#3,a3,c#4]@9 ~ [f#4,a4,b4,c#5]@3 ~ [f#4,a4,b4,c#5]@3 ~ [f#4,a4,b4,c#5]@3 ~]/2", // Asus4 F#m
  AF: "[f#4,a4,b4,c#5]@3 ~ [f#4,a4,b4,c#5]@3 ~ [f#4,a4,b4,c#5]@3 ~ [f#4,a4,b4,c#5]@3 ~", // F#m
  AG: "[[f#4,a4,b4,c#5]@3 ~ [d4,f#4,a4]@15 ~ [d4,f#4,b4]@14 f#4@2 [a3,d4,e4]@5 ~ [a3,d4,f#4]@5 ~]/3", // F#m D Bm Asus4 D
  AH: "[[a3,d4,e4]@3 ~ [a3,c#4,f#4]@7 ~ [a3,d4]@7 ~ [f#3,b3,c#4]@15 ~ [a3,d4,f#4]@7 ~ d4@2 e4@4 [a3,d4,e4]@2 [a3,d4,e4]@5 ~ [a3,d4,e4]@4 e4@2]/4", // Asus4 F#m D5 F#sus4 D Asus4
  AI: "e4 [a3,c#4,f#4]@2 [a3,c#4]!5", AJ: "[a3,c#4]@2 [a3,c#4]@2 [a3,d4,f#4]@5 ~ [f#4,a4,e5]@5 ~",
  AK: "d5@3 ~ [f#4,a4,d5]@5 ~ [d4,f#4,b4]@5 ~", AL: "a4@3 ~ [d4,e4,a4]@5 ~ [d4,e4]@5 ~",
  AM: "a4@3 ~ [c#4,e4,a4]@5 ~ [c#4,e4,a4]@5 ~", AN: "[c#4,e4,a4]@3 ~ [d4,f#4,a4]@5 ~ [f#4,a4,e5]@5 ~",
  AO: "f#4@3 ~ [d4,e4,a4]@5 ~ [d4,e4]@5 ~", AP: "[[c#4,e4,a4]@3 ~ [d4,f#4,a4]@5 ~ [d4,f#4,a4]@9 ~@13]/2",
})).s("gm_acoustic_guitar_steel").gain(0.72)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note("<~@125 A@3 B@8 C>".pickRestart({
  A: "[~@4 [d4,f#4,a4]@5 ~ [d4,f#4,a4]@9 ~ [d4,e4,a4]@5 ~ [d4,e4,a4]@9 ~ [c#4,e4,a4]@2 a4@4 [c#4,e4,a4]@5 ~]/3", // D Dsus2 A
  B: "[[c#4,e4,a4]@3 ~ [d4,f#4,a4]@5 ~ [d4,f#4,a4]@9 ~ [d4,f#4,a4]@5 ~ [d4,f#4,a4]@9 ~ [d4,e4,a4]@5 ~ [d4,e4,a4]@9 ~ [c#4,e4,a4]@2 a4@4 [c#4,e4,a4]@5 ~]/4", // A D Dsus2 A
  C: "[c#4,e4,a4]@3 ~@13", // A
})).s("gm_acoustic_guitar_steel").gain(0.16)

// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A B C D E F G D E H G D E H G D E F G D E B C D I@2 J@2 K@2 L@8 M@5 N O P Q R S H G D E H G D E F G D E B C D I@2 J@2
  K@2 L@8 M@5 N O P Q T U V W V X@2 J@2 K@2 L@8 M@5 N O P Q Y Z@2 AA AB AC@2 AA AB AD@2 ~@11
>`.pickRestart({
  A: "~@4 b2@5 ~ b2@5 ~", B: "b2@3 ~ b2@3 ~ b2@3 ~ [a2,e3]@3 ~", C: "[a2,e3]@3 ~ d3@5 ~ d3@5 ~",
  D: "d3@3 ~ d3@5 ~ d3@5 ~", E: "d3@3 ~ b2@5 ~ b2@5 ~", F: "b2@3 ~ b2@3 ~ b2@3 ~ a2@3 ~", G: "a2@3 ~ d3@5 ~ d3@5 ~",
  H: "b2@3 ~ b2@3 ~ b2@2 e3@2 a2@3 ~", I: "[d3@3 ~ g2@5 ~ g2@8 g2@2 g2@5 ~ g2@4 g2@2]/2",
  J: "[b2@3 ~ a2@5 ~ a2@8 a2@2 a2@5 ~ a2@5 ~]/2", K: "[a2 g2 e2@2 g2@5 ~ g2@8 g2@2 g2@5 ~ g2@4 g2@2]/2",
  L: "[b2@3 ~ a2@5 ~ a2@4 a2@5 ~ a2@5 ~ a2@9 ~ d2@5 ~ d2@9 ~ g2@5 ~ g2@9 ~ e2@5 ~ e2@9 ~ a2@5 ~ a2@4 a2@5 ~ d2@5 ~ d2@9 ~ g2@5 ~ g2@6]/8",
  M: "[~@4 e2@5 ~ e2@9 ~ a2@5 ~ a2@4 a2@5 ~ b2@5 ~ b2@9 ~ g2@5 ~ g2@9 ~ a2@5 ~ a2@5 ~]/5",
  N: "e2@2 f2@2 f#2@5 ~ f#2@5 ~", O: "f#2@3 ~ b2@5 ~ c#3@4 d3@2", P: "c#3@2 b2@2 g2@5 ~ g2@2 g2@3 ~",
  Q: "b2@3 ~ a2@5 ~ a2@5 ~", R: "e2@2 f#2@2 a2@5 ~ a2@2 a2@2 b2@2", S: "a2@2 f#2@2 b2@5 ~ b2@5 ~",
  T: "e2@2 f#2@2 f#2@5 ~ f#2@5 ~", U: "f#2@2 a2@2 b1@3 ~@3 b2@5 ~", V: "a2@3 ~@3 e2@5 ~ e2@2 f#2@2",
  W: "a2@2 f#2@2 b1@3 ~@3 b2@5 ~", X: "[a2@2 f#2@2 g2@5 ~ g2@8 g2@2 g2@5 ~ g2@4 g2@2]/2",
  Y: "a2@3 ~ a2@3 ~ a2@2 a2@2 a2@2 a2@2", Z: "[a2@2 a2@2 d2@5 ~ d2@8 f#2@2 g2@5 ~ g2@5 ~]/2",
  AA: "a2@2 b2@2 a2@5 ~ a2@5 ~", AB: "e2@3 ~ a2@5 ~ a2@4 b2@2", AC: "[a2@2 f#2@2 d2@5 ~ d2@8 f#2@2 g2@5 ~ g2@5 ~]/2",
  AD: "[a2@2 f#2@2 d2@5 ~ d2@8 f#2@2 ~@12]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.72)

// other · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note("<~@125 A B C D@2 B C D@2 B C E>".pickRestart({
  A: "~@4 g2@5 ~ g2@5 ~", B: "a2@2 b2@2 a2@5 ~ a2@5 ~", C: "e2@3 ~ a2@5 ~ a2@4 b2@2",
  D: "[a2@2 f#2@2 d2@5 ~ d2@8 f#2@2 g2@5 ~ g2@5 ~]/2", E: "a2 f#2 ~@6",
})).s("gm_acoustic_guitar_nylon").gain(0.16)

stack(
  ocarina, ocarina_soft, acoustic_guitar_steel, acoustic_guitar_steel_2, acoustic_guitar_nylon, acoustic_guitar_nylon_2
)

More by Jewel