Strudelify

ahead on our way

Final Fantasy VII

KeyG majorTempo137 bpm
0:00/0:00
// ahead on our way — Final Fantasy VII
// 137 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 7 "Double Bass" named as a bass, played on acoustic bass (its contrabass patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5756834; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(137/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · violin
const violin = note(`<
  ~@34 A B C@2 D E F G ~@8 H@2 I J K@2 L M ~@34 A B C@2 D E F G ~@8 H@2 I J K@2 L M N@2
>`.pickRestart({
  A: "f#4 g4 a4 b4", B: "d5@2 b4 g4", C: "[f#4 e4@3]/2", D: "g#4 a4 b4 c5", E: "e5 c5 e4 g4", F: "g4", G: "f#4",
  H: "[d5@6 b4 g4]/2", I: "f#4 e4 f#4 g4", J: "e4", K: "[e5@5 c5 a4 g4]/2", L: "f#4@3 g4", M: "a4", N: "d5/2",
})).s("gm_violin").gain(0.3)

// other · violin · soft notes
const violin_soft = note(`<
  A@2 B@2 C D E@2 B@6 C D F@3 G H@2 I@6 H@2 J@4 ~@8 K@2 L@4 K@2 ~@8 A@2 B@2 C D E@2 B@6 C D F@3 G H@2 I@6 H@2 J@4 ~@8
  K@2 L@4 K@2 ~@10
>`.pickRestart({
  A: "d4/2", B: "g4/2", C: "g4", D: "f#4", E: "f#4/2", F: "d5/3", G: "c#5", H: "c5", I: "d5/2", J: "d5/4", K: "f#5/2",
  L: "g5/4",
})).s("gm_violin").gain(0.2)

// other · cello · "Violoncello"
const cello = note(`<
  A B C D E F A G E H I J K L M N C B C D E F A G E H I J N F C B C B C B C D K L O P A G C D K L K Q C B C D K L R Q A
  B C D E F A G E H I J K L M N C B C D E F A G E H I J N F C B C B C B C D K L O P A G C D K L K Q C B C D K L R Q S@2
>`.pickRestart({
  A: "~ b2 d3 b2", B: "g3 g2 b2 g2", C: "~ g2 b2 g2", D: "e3 g2 b2 g2", E: "~ c3 e3 g3", F: "~ a2 d3 f#3",
  G: "f#3 b2 d3 b2", H: "~ a#2 d#3 g3", I: "~ g2 b2 g3", J: "~ g2 b2 e3", K: "~ a2 c3 a2", L: "e3 a2 c3 a2",
  M: "~ a2 b2 c3", N: "~ a2 c3 e3", O: "~ a2 c3 g3", P: "~ a2 c3 f#3", Q: "f#3 a2 c3 a2", R: "a2!2 c3 a2", S: "b2/2",
})).s("gm_cello").gain(0.25)

// bass · acoustic bass · "Double Bass"
const bass = note(`<
  A@2 B@2 C D E@2 F@2 G H I@2 C J A@2 B@2 C D E@2 F@2 G H C J A@6 B@2 I@2 J@2 E@2 B@4 K@2 A@4 B@2 K@2 A@2 B@2 C D E@2
  F@2 G H I@2 C J A@2 B@2 C D E@2 F@2 G H C J A@6 B@2 I@2 J@2 E@2 B@4 K@2 A@4 B@2 K@2 A@2
>`.pickRestart({
  A: "g1/2", B: "e1/2", C: "a1", D: "d1", E: "b1/2", F: "c2", G: "g1", H: "e1", I: "a1/2", J: "d2", K: "d1/2",
})).s("gm_acoustic_bass").gain(0.2)

stack(violin, violin_soft, cello, bass)