Strudelify

starlight

Muse

KeyB majorTempo120 bpm
0:00/0:00
// starlight — Muse
// 120 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/3021596; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 133 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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.

// other · piano
const piano = note(`<
  A@4 B C D E B C D E ~@16 B C D E B C D E ~@8 F G H I J K J H I L K M I L K N I L K M I L K O A@4 B C D E B C D E ~@8
  P@2 Q@2 R S T U V W X Y V W X Z AA AB X Y AA AB X AC A AD AE AF A AD AE AF AG AH AI AJ ~@4 AK AL AM AN AO
>`.pickRestart({
  A: "b2!2 b3 b2!2 b3!3", B: "b2!2 ~ b2!2 b3 [b3,d#4,d#5] [b3,e4,e5], [d#4,d#5] [b3,b4] [f#3,f#4] ~",
  C: "[c#3,e4,e5] [c#3,c#4] c#4 c#3!2 [c#4,e4,e5] [c#4,d#4,d#5] [c#4,c#5], ~ c#5@2 [g#3,g#4]@2 ~@3", // C#m C# C#m C#sus2 C# G#
  D: "g#2!2 g#3 g#2 [g#2,g#3] g#3 [g#3,d#4,d#5] [g#3,e4,e5], [d#4,d#5] [b3,b4] g#4 ~", // G# G#5 C#m D# B
  E: "[e2,e4,e5] e2 e3 e2!2 [e3,e4,e5] [e3,d#4,d#5] [e3,c#4,c#5], ~ [b3,b4]@2 [g#3,g#4]@2 ~@3", // E Emaj7 C#m B G#
  F: "c#4 e4 g#4 c#5 e5 g#5 c#6 e6 g#6 e6 c#6 g#5 e5 c#5 e5 c#5",
  G: "f#4 a#4 c#5 f#5 a#5 c#6 f#6 a#6 c#7 a#6 f#6 c#6 a#5 f#5 a#5 f#5",
  H: "d#4 g4 a#4 d#5 g5 a#5 d#6 g6 a#6 g6 d#6 a#5 g5 d#5 g5 d#5",
  I: "g#4 b4 d#5 g#5 b5 d#6 g#6 b6 d#7 b6 g#6 d#6 b5 g#5 b5 g#5",
  J: "a4 c#5 e5 a5 c#6 e6 a6 c#7 e7 c#7 a6 e6 c#6 a5 c#6 a5",
  K: "e4 g#4 b4 e5 g#5 b5 e6 g#6 b6 g#6 e6 b5 g#5 e5 g#5 e5",
  L: "d#4 f#4 a#4 d#5 f#5 a#5 d#6 f#6 a#6 f#6 d#6 a#5 f#5 d#5 f#5 d#5",
  M: "b4 f#4 d#4 b4 d#5 f#5 b5 d#6 f#6 d#6 b5 f#5 d#5 b4 d#5 b4", N: "b4 d#5 f#5 b5 d#6 f#6 b6 d#7 g7@4 [d#5,g5,a#5]@4",
  O: "f#4 a#4 c#5 f#5 a#5 c#6 f#6 a#6 c#7 a#6 f#6 c#6 [f#5,a#5,c#6,f#6]@4", // F#
  P: "[[c#2,c#3]@2 c#2@2 c#3@2 c#2@2 [c#2,c#3]@2 c#2@2 c#3@2 [c#2,g#4,e5]@2 [f#2,f#3,g#4,e5]@2 f#2@2 f#3@2 f#2@2 [f#2,f#3]@2 [f#2,c#4,c#5]@2 [f#3,e4,e5]@2 ~ [e4,g4,e5], ~@2 [e4,g#4,e5]@2 [e4,g#4,e5]@3 e4@2 [d#4,d#5]@2 [d#4,d#5]@2 ~@2 f#2]/2", // C# C#m F# F#5 F#7 Em E D#
  Q: "[[d#2,d#3] d#2 d#3 d#2 [d#2,d#3,c#4,c#5] d#2 d#3 [d#2,g#4,e5] [g#2,g#3,g#4,e5] g#2 g#3 g#2 [g#2,g#3] g#2 g#3 g#2, [d#4,g4,d#5]@4 ~ [d#4,d#5]@2 e4@2 [d#4,d#5]@2 [c#4,c#5]@2 [b3,b4]@3]/2", // D# D#7 Emaj7 C#m G# D# C# B
  R: "[a2,a3] a2 a3 a2 [a2,a3,c#4,c#5] [a2,d4,d5] [a3,c#4,c#5] [a2,b3,b4], [c#4,a4,c#5] ~", // A D5 A Asus2 F#m
  S: "[e2,e3] e2 e3 e2 [e2,e3] e2 e3 e2, [b3,g#4,b4]@2 [g#3,g#4] [b3,b4]", // E G# B
  T: "[a2,a3] a2 a3 a2 [a2,a3] a2 [a3,c#4,c#5] [a2,d#4,d#5], [c#4,g4,c#5]@11 ~@5", // A Adim C#dim
  U: "[d#2,d#3] d#2 d#3 d#2 [d#2,d#3] d#2 d#3 d#2, [d#4,d#5]@2 g#4 g4", // D#
  V: "[g#2,g#3] g#2 g#3 g#2 [g#2,g#3] g#2 g#3 g#2", W: "[d#2,d#3] d#2 d#3 d#2 [d#2,d#3] d#2 d#3 d#2",
  X: "[e2,e3] e2 e3 e2 [e2,e3] e2 e3 e2", Y: "[b1,b2]!3 [f#2,d#3]!3 [a#1,a#2]!2", Z: "[b1,b2]!3 [d#2,g2,a#2]!5",
  AA: "[g#2,g#3] g#2 g#3 g#2 [g#2,g#3] g#2 [g#2,g#3] [f#2,f#3]", // G# F#
  AB: "[d#2,d#3] d#2 d#3 d#2 [d#2,d#3] d#2 [d#2,d#3] [f#2,f#3]", // D# F#
  AC: "[f#2,f#3]@2 [f#2,f#3]@2 [f#2,f#3]@2 [f#2,f#3]@2 [f#2,f#3]@2 [f#2,f#3]!2 [f#2,f#3]@2 [f#2,f#3]@2", // F#
  AD: "c#3!2 c#4 c#3!2 c#4!3", AE: "g#2!2 g#3 g#2!2 g#3!3", AF: "e2!2 e3 e2!2 e3!3",
  AG: "b2!2 b3 b2!2 b3 [b3,d#6] [b3,e6], d#6 b5 f#5 ~", // B E5
  AH: "[c#3,e6] c#3 c#4 c#3!2 [c#4,e6] [c#4,d#6] [c#4,c#6], ~ c#6@2 g#5@2 ~@3", // C#m C#sus2 C#
  AI: "g#2!2 g#3 g#2!2 g#3 [g#3,d#6] [g#3,e6], d#6 b5 g#5 ~", // G#5 C#m
  AJ: "[e2,e6] e2 e3 e2!2 [e3,e6] [e3,d#6] [e3,c#6], ~ b5@2 g#5@2 ~@3", AK: "d#5@2 b4@2 f#4@2 d#5 e5, b1@15 ~",
  AL: "e5 c#5@2 g#4@2 e5 d#5 c#5, c#2@15 ~", AM: "d#5@2 b4@2 g#4@2 d#5 e5, g#2@15 ~",
  AN: "e5 b4@2 d#5 e5 d#5 e5 f#5, e2@15 ~", AO: "[f#4,b4,d#5,f#5]@15 ~",
})).s("gm_piano").gain(0.3)

// chords · acoustic guitar steel · "Acoustic Guitar [Tablature]"
const acoustic_guitar_steel = note(`<
  A@5 B C D A B C D ~@16 A B C D A B C D E@2 F G H I J K L M N O P Q P R S T U V S T U W S T U V S T U M A@5 B C D A B C
  D X Y Z AA X Y Z AA L M N O P Q P N O N Q AB O N Q AC O N Q AB O N Q AD A B C D A B C D ~@4 A B C AE A B C D AF
>`.pickRestart({
  A: "b2!2 b3 b2!2 b3!3", B: "c#3!2 c#4 c#3!2 c#4!3", C: "g#2!2 g#3 g#2!2 g#3!3", D: "e2!2 e3 e2!2 e3!3",
  E: "[f#4 ~ b4@2 f#4!2 b4 e4@2 b4@2 e4 b4!2 e4 b4]/2", F: "e4!2 b4 e4 d#4!2 b4 d#4", G: "e4 b4 e4!2 b4!2 e4 b4",
  H: "f#4 ~ b4@2 f#4!2 b4 e4", I: "e4 b4@2 e4 b4!2 e4 b4", J: "d#4!2 b4 d#4!3 b4 d#4",
  K: "e4@2 b4@2 e4@2 e4@2 b4@2 b4@2 e4@2 [a2,d3,g3]!2", L: "[c#3,g#3,c#4]!8", M: "[f#2,c#3,f#3]!8",
  N: "[d#2,a#2,d#3]!8", O: "[g#2,d#3,g#3]!8", P: "[a2,e3,a3]!8", Q: "[e2,b2,e3]!8",
  R: "[d#2,a#2,d#3]!2 [e2,b2,e3]!2 [d#2,a#2,d#3]!4", S: "g#3 d#3 b2 g#3 d#3 b2 g#3 d#3",
  T: "d#3 a#2 d#2 d#3 a#2 d#2 d#3 a#2", U: "g#3 e3 b2 g#3 e3 b2 g#3 e3", V: "d#4 b3 f#3 d#4 [f#2,c#3,f#3]!4",
  W: "d#4 b3 f#3 d#4 a#3 g3 d#3 g3", X: "b3!7 a#3", Y: "a#3 b3!2 a#3 b3!2 a#3 b3", Z: "g#3 b3!2 g#3 b3!2 g#3 e3",
  AA: "e3 g#3 b3 e3 g#3 b3 g#3 b3", AB: "[c#3,g#3,c#4]!4 [f#2,c#3,f#3]!4",
  AC: "[c#3,g#3,c#4]!4 [d#3,a#3,d#4]!2 [d#2,a#2,d#3]!2", // C#5 D#5
  AD: "[f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]!2 [f#2,c#3,f#3]@2 [f#2,c#3,f#3]@2", // F#5
  AE: "e3!2 e4 e3!2 e4!3", AF: "[b2,b3]",
})).s("gm_acoustic_guitar_steel").gain(0.3)

stack(piano, acoustic_guitar_steel)

More by Muse