Strudelify

Jojo's Bizarre Adventures : Golden Wind - Ascension

èé çæ Kanno YÅgo

KeyA♭ majorTempo64 bpm
0:00/0:00
// Jojo's Bizarre Adventures : Golden Wind - Ascension — èé çæ Kanno YÅgo
// 64 bpm, 3/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5899162; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 20 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(64/3)

// 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.

// chords · church organ · "Organ" · Fm Bbm Eb7 Absus2 Ab Db5 Db Bbm7 …
const church_organ = note(`<
  [c4@2 ab3, [f2,c3,f3,f4,ab4,c5,ab5]]
  [g5 ab5 [bb4,db5,bb5], [eb2,bb2,eb3,g3,db4,eb4,g4]]
  [[ab4,bb4] ~ g4, [ab2,eb3,ab3,c4,c5,eb5,c6], ~ ab4@2]
  [eb5 ~@19 f5@2 g5@2, [db3,ab3], f5@2 c4, db4 db4@2, ~ [f4,db5]@23]
  [~@5 bb5, [bb2,f3,bb3,f4,ab4,db5], ab5@5 ~, db4@2 ~, ~ ab3@2]
  [[g3,c4,eb4,g4]@8 ~@2 f5 eb5, [c3,bb4], [eb5,g5]@5 ~, ~@2 [g3,eb4]]
  [~ bb3 c4, [f2,c3,f3,a3,f4,a4,c5,f5]]
  ~@13
>`).s("gm_church_organ").gain(0.05)

// chords · violin
const violin = note("<~@7 A B C D E F G H I J K L@2>".pickRestart({
  A: "f4 g4 [c4,ab4], db4@2 ~", B: "[db4,db5]", C: "ab4@2 ~@3 g4, bb3, ~@2 bb4@3 ~, ~@2 db4", D: "c5@2 g5, g4",
  E: "ab5 g5 [c5,f5], g4, c5@2 ~", F: "ab5@2 ab5 g5 [db5,f5]@2, db5@2 ~", G: "bb5 ab5 g5, c5", H: "f5",
  I: "[ab4,c5,f5]", J: "[ab4,db5,f5]", K: "[g4,f5]", L: "f5/2",
})).s("gm_violin").gain(0.05)

// other · viola
const viola = note("<~@7 A B C D E F G ~ H@2 D I@2>".pickRestart({
  A: "ab3@2 ab3", B: "ab3", C: "g3@2 g3", D: "eb4", E: "[db4,f4]", F: "f4 f4@2", G: "bb4", H: "f4", I: "c5/2",
})).s("gm_viola").gain(0.05)

// chords · cello · "Violoncello"
const cello = note("<~@7 A B C D E F G H I J K L@2>".pickRestart({
  A: "~@2 c3, [f2,bb2,f3]", B: "[db3,f3]@2 [db3,f3], f2", C: "[eb2,eb3]@2 eb3, bb2@5 ~", D: "[ab2,eb3,ab3,c4]",
  E: "db3@2 c3, [db2,ab2,f3,ab3]", F: "[f2,bb2,f3,bb3]", G: "~@2 eb4, [c2,c3,bb3,c4], ~ g3@2", H: "[f3,f4]",
  I: "[f2,f3,a3,c4]", J: "[db2,db3,ab3,db4]", K: "[eb2,bb2,eb3,g3,bb3]", L: "[f2,f3,c4,f4]/2",
})).s("gm_cello").gain(0.05)

stack(church_organ, violin, viola, cello)