Strudelify

Eternal Journey

Broadway

KeyC majorTempo89 bpm
0:00/0:00
// Eternal Journey — Broadway
// 89.1 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 13 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(89.1/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano · "Piano Treble Clef"
const piano = note("<A B C D E F G H I J K L M>".pickRestart({
  A: "~@12 c4@3 ~", B: "[c4,e4]@4 [c4,e4] ~@3 [e4,g4]@3 ~ [e4,g4]@3 ~", C: "[f4,a4]@3 ~ [f4,a4]@3 ~ [e4,g4]@3 ~ g4@3 ~",
  D: "c5@3 ~ d5@2 f#4 ~ [g4,b4]@3 ~ g4@2 e4 ~, ~@12 d4 ~@3", E: "[e4,g4]@3 ~ [d4,f#4]@3 ~ [d4,g4]@3 ~ [b3,d4]@3 ~",
  F: "[d4,f4]@4 [d4,f4] ~@3 [c4,e4]@3 ~ [c4,e4]@3 ~", G: "[e4,g4]@4 [e4,g4] ~@3 [d4,f#4]@3 ~ [g4,b4]@3 ~",
  H: "[e4,g4]@4 f#4@2 d#4 ~ e4@4 a4@2 e4 ~", I: "[e4,g4]@3 ~ [d#4,f#4]@3 ~ e4@3 ~ [b3,e4]@3 ~",
  J: "[a#3,e4]@4 [b3,e4] ~@3 [a3,f4]@3 ~ [c4,f4]@3 ~", K: "[c4,f#4]@4 [c4,f4] ~@3 [b3,g4]@3 ~ [f4,g4]@3 ~",
  L: "[e4,g4]@3 ~ [d4,a4]@3 ~ [e4,g4]@3 ~ [c4,e4]@3 ~", M: "[b3,d4]@4 c4 ~@3 c4@3 ~@5",
})).s("gm_piano").gain(0.51)

// chords · piano · "Piano Bass Clef"
const piano_2 = note("<A B C D E F G H I J K L M>".pickRestart({
  A: "~@12 [c3,e3]@3 ~", B: "[c3,g3]@4 [c3,g3] ~@3 [c3,c4]@4 c3@3 ~",
  C: "[f3,a3] ~ [g3,b3] ~ [a3,c4]@2 [b3,d4]@2 [c4,e4]@3 ~ [b3,d4]@3 ~", // F G Am Bm C Bm
  D: "[b3,d4]@3 ~ [d3,a3]@3 ~ [g3,b3]@3 ~ [b2,d4] ~ [c3,c4] ~", E: "[d3,a3]@3 ~ [e3,a3]@3 ~ [g3,b3]@3 ~ g3@3 ~",
  F: "[b2,g3]@4 [b2,g3] ~@3 [c3,g3]@3 ~ [c3,g3]@3 ~", G: "[c#3,a3]@4 [c3,a3] ~@3 [d3,a3]@3 ~ [d#3,b3]@3 ~",
  H: "[e3,b3]@3 ~ [f#3,a3]@3 ~ [g3,b3]@3 ~ [a3,c4]@3 ~", I: "b3@3 ~ [b2,b3]@3 ~ [e3,g3]@3 ~ [e3,g3]@3 ~",
  J: "[c3,g3]@4 [c3,g3] ~@3 f3@3 ~ [f3,a3]@3 ~", K: "[d3,a3]@4 [d3,a3] ~@3 g3@3 ~ [b2,d4]@3 ~",
  L: "[c3,c4]@3 ~ [f#2,c4]@3 ~ [g2,c4]@3 ~ [g2,g3]@3 ~", M: "[g2,f3]@4 [c3,e3] ~@3 [c3,e3]@3 ~@5",
})).s("gm_piano").gain(0.51)

stack(piano, piano_2)

More by Broadway