Strudelify

final fantasy crystal chronicles - kazenone

Misc Computer Games

KeyF majorTempo105 bpm
0:00/0:00
// final fantasy crystal chronicles - kazenone — Misc Computer Games
// 105 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/2765466; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 95 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(105/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 · flute
const flute = note(`<
  ~@30 A B ~ C D E C ~@2 A B A ~ F G H ~ I@2 J K L M I@2 N O P ~@2 Q R S ~ Q R T ~ F G U ~ I@2 J K L M I@2 N O I@2 J K L
  M I@2 N O P ~@2
>`.pickRestart({
  A: "a4 d5 a5 d5", B: "g4 c5 g5 c5", C: "~@6 g5 d5", D: "~@6 d6 d5", E: "~@6 a5 d5", F: "~@3 f4 g4 a4 bb4 c5",
  G: "bb4 d5@2 ~", H: "e5@4 g5@11 ~", I: "g5 d5 bb4 d5", J: "e5@3 d5 c5@8 ~ g5 c6 d6", K: "e6 d6 c6 bb5 c6@4 e5@4 e5@4",
  L: "g5@3 d5 d5@11 ~", M: "e5!2 gb5!2", N: "e5 g5", O: "bb5@2 a5 f5", P: "d5@11 ~@5", Q: "~@7 d6",
  R: "d6@3 c6 d6@2 bb5@2 c6@3 bb5 c6@2 a5@2", S: "bb5 c6 d6 e6 f6@2 e6@2 d6@3 c6 d6@4",
  T: "bb5 c6 bb5 a5 g5@2 f5@2 g5@4 g5@4", U: "e5 g5@2 ~",
})).s("gm_flute").gain(0.3)

// chords · acoustic guitar nylon · "Mandolin"
const acoustic_guitar_nylon = note(`<
  A@8 B@4 C@2 D@2 E@2 ~@2 F G H I@7 J K ~ I@6 J K L M@2 N K ~ I@2 O@2 P Q I@2 O R I@2 S@3 T S@3 U M@2 N K ~ I@2 O@2 P Q
  I@2 O R I@2 O@2 P Q I@2 O R I V@2
>`.pickRestart({
  A: "[~@16 g4@10 [d4,g4,d5]@10 ~ g4@10 d5@4 ~@2 g5@3 ~@2 g4@10 [d4,g4,d5]@10 ~ g4@10 d5@4 ~@2 g5@3 ~@6 g4@5 ~ [d4,g4,d5]@10 ~@5 g4@3, ~@15 [g3,d4]@10 ~@11 [g3,d4]@10 ~ [d4,g4]@10 [g3,d4]@10 ~@11 [g3,d4]@10 ~ [d4,g4]@10 [g3,d4]@10 ~@11 [g3,d4]@8]/8", // G5
  B: "[~@3 d5@4 ~ g5@5 ~@5 g4@5 ~ [d4,g4,d5]@10 ~@5 g4@5 ~ d5@4 ~ g5@5 ~@5 g4@4, ~@3 [d4,g4]@10 [g3,d4]@10 ~@11 [g3,d4]@10 ~ [d4,g4]@10 [g3,d4]@9]/4", // G5
  C: "[~@2 [d4,g4,d5]@10 ~@5 g4@5 ~ d5@4 ~ g5@4, ~@12 [g3,d4]@10 ~ [d4,g4]@9]/2", // G5
  D: "[~@6 a4@5 ~ [f4,a4,d5]@10 ~@5 c5@5, ~ [a3,f4]@10 ~@11 [c4,g4]@10]/2", // Dm C5
  E: "[~ [g4,c5,g5]@10 ~ [c5,g5]@20, ~@11 [c4,g4]@21]/2", // C5
  F: "[g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d5]@2 [g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d6]@2", // G5
  G: "[g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d5]@2 [g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,a5]@2", // G5 Gsus2
  H: "[g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d5]@2 [g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,g5]@2", // G5
  I: "[g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d5]@2 [g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d5]@2", // G5
  J: "[a3,f4]@3 [a3,f4] ~@2 [a3,f4]@2 [a3,f4,a4,d5]@3 [a3,f4,a4,d5] ~@2 [a3,f4,a4,d5]@2", // Dm
  K: "[c4,g4]@3 [c4,g4] ~@2 [c4,g4]@2 [c4,g4,c5,g5]@3 [c4,g4,c5,g5] ~@2 [c4,g4,c5,g5]@2", // C5
  L: "[d4,a4]@3 [d4,a4] ~@2 [d4,a4]@2 [d4,a4,d5,a5]@3 [d4,a4,d5,a5] ~@2 [d4,a4,d5,a5]@2", // D5
  M: "[eb4,bb4,eb5,bb5]@3 [eb4,bb4,eb5,bb5] ~@2 [eb4,bb4,eb5,bb5]@2 [eb4,bb4,eb5,bb5]@3 [eb4,bb4,eb5,bb5] ~@2 [eb4,bb4,eb5,bb5]@2", // Eb5
  N: "[bb3,f4]@3 [bb3,f4] ~@2 [bb3,f4]@2 [bb3,f4,bb4,f5]@3 [bb3,f4,bb4,f5] ~@2 [bb3,f4,bb4,f5]@2", // Bb5
  O: "[c4,g4,c5,g5]@3 [c4,g4,c5,g5] ~@2 [c4,g4,c5,g5]@2 [c4,g4,c5,g5]@3 [c4,g4,c5,g5] ~@2 [c4,g4,c5,g5]@2", // C5
  P: "[bb3,f4,bb4,f5]@3 [bb3,f4,bb4,f5] ~@2 [bb3,f4,bb4,f5]@2 [bb3,f4,bb4,f5]@3 [bb3,f4,bb4,f5] ~@2 [bb3,f4,bb4,f5]@2", // Bb5
  Q: "[a3,e4,a4,e5]@3 [a3,e4,a4,e5] ~@2 [a3,e4,a4,e5]@2 [d4,a4,d5,a5]@3 [d4,a4,d5,a5] ~@2 [d4,a4,d5,a5]@2", // A5 D5
  R: "[eb4,bb4,eb5,bb5]@3 [eb4,bb4,eb5,bb5] ~@2 [eb4,bb4,eb5,bb5]@2 [d4,a4,d5,a5]@3 [d4,a4,d5,a5] ~@2 [d4,a4,d5,a5]@2", // Eb5 D5
  S: "[g3,d4,g4,d5]@3 [g3,d4,g4,d5] [g3,d4,g4,d5]@3 [g3,d4,g4,d5]", // G5
  T: "[g3,d4,g4,d5]@3 [g3,d4,g4,d5]!2 [g3,d4,g4,d5]@2 [g3,d4,g4,d5]", // G5
  U: "[g3,d4,g4,d5]@6 [g3,d4,g4,d5]@2 [g3,d4,g4] [g3,d4,g4,d5]!3 [g3,d4,g4,d5]@2 [g3,d4,g4,d5]@2", // G5
  V: "[[g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d5]@2 [g3,d4,g4,d5]@3 [g3,d4,g4,d5] ~@2 [g3,d4,g4,d5]@18]/2", // G5
})).s("gm_acoustic_guitar_nylon").gain(0.14)

stack(flute, acoustic_guitar_nylon)

More by Misc Computer Games