Strudelify

As Time Goes By

Rod Stewart

KeyF majorTempo84 bpm
0:00/0:00
// As Time Goes By — Rod Stewart
// 84 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5018837; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(84/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
const piano = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL W AM Q AN AO AP AQ AR W X Y Z
  AA AB AC AD AE AF AG AH AI AJ AK AL W AM Q AN AO AP AQ AR AS AT AU AV AW AX
>`.pickRestart({
  A: "~@3 c5 [b4,e5] d5 b4 d5, [a4,c5]@3 ~@5, [f2,g4] [a3,c4,e4] [ab2,f4,ab4]@2, ~ e5@5 ~@10", // E5 Am Fsus2 Am Db
  B: "~ d5 c5@2 a4@2 f4@2 a4@2 c5@6, d4 ~, g2 ~ [c3,c4,e4]@2, [f4,a4] ~ bb3@2 ~@4", // C F
  C: "f2 c3 [f3,d4,g4]@2 d2 a2 [d3,c4,f4]@2, a3!2, [d4,g4] ~ [d4,g4] ~", // G7 Dm7 G5
  D: "g2 d3 [f3,d4] [bb3,f4] a4 c5@3, [bb3,d4] ~ [c3,bb3,e4]@2", // Dm Bb5 Bb C7
  E: "f2 a3 d4 c4 d3 a3 [e4,g4] [d4,f4], [a4,c5,f5] [a4,f5]", // Em Dm F Dm
  F: "[c4,e4,g4] [c4,e4] [d2,a3,c4,eb4] [d3,a3,c4,d4], [d3,a3] gb3", G: "~ a3 bb3 d4 a4 c5@2 d5, [g2,f3] [c3,bb3,e4]",
  H: "~ c5@3 [a2,a3,a4]@2 [e2,g3,g4]@2 d2@2 a2@2 [f3,f4,a4,d5]@4, [f2,g4,a4] ~ [f3,a3,d4,f4] ~", // A Em Dm F Dm
  I: "~@3 e3 ~@3 e5, g2 [ab2,f4,ab4,b4], [g4,c5,e5]@2 [e4,g4,c5]@2 d5@3 ~, ~ e3@2 ~@2 f3@3", // Fdim C
  J: "a2@2 a3@2 ab2@2 ab3@2 g2@2 g3@2 ~ [a4,c5]@3, [g4,c5,e5] [gb4,b4,eb5] [f4,bb4,d5] [c3,c4,e4]", // Am C B Bb C
  K: "[g2,d4] [d3,bb3] [f3,d4] [g3,f4] a4 d5 c5@2, ~ [c3,bb3,e4]", // G5 Gm Dm G7 C7
  L: "[f2,a3,c4,f4,a4]@2 [a3,c4,e4] g4 d2 a2 [f3,a3,d4,a4]@2, ~ e2 [a3,d4,f4] ~", // F Am Dm
  M: "g2 d3 [f3,d4] [g3,f4] [bb3,d4,f4,a4]@4, [bb3,d4] ~@3", // Dm G7 Bbmaj7 Bb
  N: "[db3,f3,b3,eb4,g4]@4 f4@2 e4 [gb3,c4,eb4,gb4,a4], ~@4 [c3,g3,bb3,g4]@3 ~", O: "[g2,d4,f4,bb4] [c2,bb3,e4,g4]",
  P: "[d4,f4,c5]@3 [d4,f4,c5]@2 [d4,f4,a4]@3 c2@4 e2@4, g2 [bb3,e4,g4]", Q: "[f2,c4,e4,a4] [c2,bb3,e4,ab4]",
  R: "[f2,c4,e4,a4] [g2,d4,f4,bb4] [a2,e4,g4,c5] [ab2,f4,b4,e5]", // Fmaj7 Gm7 Am7 E
  S: "[g2,f4,b4,d5]@8 [f4,b4,e5]@5 [f4,b4,d5,f5]@3, ~ ab2", // G7 E Bdim
  T: "g2@5 g2 ~ d2 [c2,bb3,d4,f4]@4 [e2,bb3,e4,g4]@4, [d4,f4,bb4,c5] ~", // Bb Edim Bb
  U: "[f2,c4,e4,a4]@7 e2 [c4,gb4,a4,d5]@3 [c4,gb4,a4,c5]@2 [c4,gb4,a4]@3, ~ d2", // Fmaj7 D7 Gbdim
  V: "[d4,f4,bb4]@3 [d4,f4,c5]@2 [d4,f4,a4] ~ bb4 c3@4 a2@3 d3, g2@5 bb2@2 ~ [bb3,e4,g4]@8", // Bb Dm7 Dm Edim
  W: "[g2,g3,bb3,d4,f4] [c2,g3,bb3,c4,e4]", X: "[g2,g3,bb3,d4,f4]@2 [c2,bb3,e4,g4] [e2,c4,g4,bb4]",
  Y: "[f2,c4,e4,a4]@8 [c2,bb3,e4,ab4]@7 bb2", Z: "[a2,e4,g4,c5] [g2,d4,f4,bb4] [f2,c4,e4,a4] [ab2,f4,b4,e5]",
  AA: "[g2,f4,b4,d5]@4 e5@3 d5, ~ [ab2,f4,b4]", AB: "g2@5 d2 ~ db2 [c2,bb3,d4,f4]@4 [e2,bb3,e4,g4]@4, [d4,f4,bb4,c5] ~",
  AC: "[a3,c4,f4] [g3,g4] [a3,a4] [f3,f4] c4@3 bb3, f2 [bb2,db4,f4,ab4]", // F G A F Bbm7
  AD: "c4@3 e4 [f2,c4]@2 [a2,c4]@2, [f2,a3,f4,a4] [a3,eb4,a4]", AE: "bb2@7 f2 bb2@8, [d4,f4,bb4,d5]@15 ~",
  AF: "a2@7 d2 a2@4 d3@4, [c4,gb4,a4,d5]@15 ~", AG: "g2@7 d2 g2@5 d2 ~ g2, [d4,g4,bb4,d5]@15 ~",
  AH: "ab2@7 d2 ab2@7 b1, [d4,f4,b4,d5]@15 ~", AI: "[c2,c4,f4,a4]@8 [bb2,d4,f4,bb4]@7 gb2",
  AJ: "[g2,e4,f4,b4]@2 [g2,e5] [d2,d5], ~ [f4,b4]", AK: "g2@5 d2 ~ g2 [gb2,c4,eb4,a4]@8, [d4,f4,bb4,c5] ~",
  AL: "g2@5 d2 ~ b1 [c2,bb3,e4,ab4]@7 d2, c5@15 ~, [d4,f4,bb4] ~", // Caug Bb
  AM: "[g2,g3,bb3,d4,f4]@7 b1 [c2,bb3,e4,g4]@4 [e2,c4,g4,bb4]@4", // Gm7 C7
  AN: "[f2,e4,a4,c5]@4 [g2,f4,bb4,d5]@4 [a2,g4,c5,e5]@7 d3", AO: "[g2,f4,b4,d5]@2 [f4,b4,d5] [f4,ab4,b4,d5], ~ ab2",
  AP: "a2 a1 [d2,eb4,g4,a4,c5] [gb2,d4,gb4,a4,c5], [eb4,g4,a4,c5] ~", AQ: "[g2,d4,f4,bb4,c5] [c2,bb3,e4,a4]",
  AR: "f2@8 f2@7 gb2, [a3,c4,d4,f4]@15 ~", AS: "[g2,d4,f4,bb4,c5]@8 c2@4 c3 b2 ~ bb2, ~ [bb3,e4,a4,c5]",
  AT: "a2!2 [d3,bb4] [gb2,a4], [eb4,g4,c5,eb5] [c4,gb4,d5]", AU: "[g2,d4,f4,bb4,c5] [c3,bb3,e4,a4]",
  AV: "[db2,ab3,c4,eb4,f4,ab4] [eb2,bb3,db4,f4,ab4,bb4]", AW: "[gb2,c4,f4,ab4,c5]@2 ab4 bb4, ~ [ab2,bb3,db4,gb4]",
  AX: "[f2,c3,f3,a3,d4,g4]@15 ~", // Dm7
})).s("gm_piano").gain(0.3)

stack(piano)

More by Rod Stewart