Strudelify
KeyA♭ majorTempo80 bpm
0:00/0:00
// Mulan — Jerry Goldsmith
// 80 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 15, 4/4 at bar 16, 2/4 at bar 40, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5892374; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 46 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(80/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.

// chords · piano
const piano = note("<A@6 B@4 C@5 D@2 E@2 F@2 G H I J K L M@5 J M ~@12>".pickRestart({
  A: "[~@12 bb3@28 ~@2 [bb1,bb2,db4,f4]@34 ~@2 [f1,f2,c4,ab4]@28 ~@2 [bb1,bb2,db4,f4]@23 ~ [ab2,eb4,ab4]@11 ~]/6", // Bbm Fm Bbm Ab5
  B: "[[db4,eb4]@6 [db4,f4]@6 [bb3,gb4]@17 ~ [f4,bb4]@34 ~@2 [eb4,c5]@11 ~ [c4,ab4]@11 ~ [g4,c5]@6, gb2@23 ~@73]/4", // Dbsus2 Db Ebm Bb5 Cm Fm C5
  C: "[~@36 c4@11 ~ db4@23 ~ eb4@6 c4@6 eb4@6 ~@6 [f1,f2]@6 [f1,f2]@17 ~, ~@3 [ab3,f4]@14 ~@28 db4@14 ~, ~@6 [f1,f2]@17 ~@7]/5", // F Db F
  D: "[~@12 [bb4,bb5]@11 ~@7 gb2@6 [eb1,eb2]@11 ~, gb2@7 ~@5, gb1@23 ~@25]/2", // Bb Eb
  E: "[~@12 [c5,c6]@17 ~ [f1,f2,ab4]@6 f4@6 ab4@6, [f1,f2]@23 ~@13 [f1,f2]@11 ~]/2", // C Fm F
  F: "[[eb1,eb2,g4]@11 ~ [f4,c5,f5]@17 ~ [f1,f2,ab4]@6 f4@6 ab4@6, ~@12 [f1,f2]@11 ~@13 [f1,f2]@11 ~]/2", // Eb F5 Fm F
  G: "[eb1,eb2,g4]@23 ~", H: "~@6 [f1,f2,c4]@6 [f1,f2,c4]@11 ~",
  I: "[bb1,f2,bb2]@11 ~ [bb1,f2,bb2] [c2,g2,c3] [bb1,c2,f2,g2,bb2,c3] [bb1,f2,bb2] [c2,g2,c3] [bb1,c2,f2,g2,bb2,c3] [bb1,f2,bb2] [c2,g2,c3] [bb1,c2,f2,g2,bb2,c3] [bb1,f2,bb2] [c2,g2,c3] [bb1,c2,f2,g2,bb2,c3], d4@23 ~", // Bb5 C5 Bbsus2 Bb5 C5 Bbsus2 Bb5 C5 …
  J: "[d1,d2]@23 ~", K: "[bb1,bb2]@23 ~", L: "[g1,g2]@23 ~", M: "[c2,c3]@23 ~",
})).s("gm_piano").gain(0.2)

stack(piano)

More by Jerry Goldsmith