Strudelify

ææè Mercury Records

Guo Ding

KeyF majorTempo73 bpm
0:00/0:00
// ææè Mercury Records — Guo Ding
// 73 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5893929; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 61 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(73/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 A C D E F G H I D E F G H J K L M N O P Q R S T Q U V T W X D E D Y Z Y AA AB AC AD D AE N AF AG AH Q R S T Q U AI
  T W X O P AJ
>`.pickRestart({
  A: "f2@4 [f3,a3,c4]@4 [f3,a3,c4]@4 a4 g4 f4@2, c5@11 ~ [f3,a3,c4]@4", // F
  B: "f2 [f3,bb3,db4] [f3,bb3,db4,eb5] [f3,bb3,db4,db5], db5 ~", // Bbm
  C: "f2 [f3,bb3,db4] [f3,bb3,db4,bb4] [f3,bb3,db4,a4], g4 ~", // Bbm
  D: "f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4, f2@15 ~",
  E: "f4 db4 a3 db4 f4 db4 a3 db4 f4 db4 a3 db4 f4 db4 a3 db4, f2@15 ~",
  F: "f4 d4 a3 d4 f4 d4 a3 d4 f4 d4 a3 d4 f4 d4 a3 d4, f2@15 ~",
  G: "f4 eb4 a3 eb4 f4 eb4 a3 eb4 f4 eb4 a3 eb4 f4 eb4 a3 eb4, f2@15 ~",
  H: "f4 d4 bb3 d4 f4 d4 bb3 d4 f4 d4 bb3 d4 f4 d4 bb3 d4, bb2@15 ~", I: "[bb3,db4,g4] [bb3,db4], bb2@15 ~",
  J: "f4 db4 bb3 db4 f4 db4 bb3 db4 f4 db4 bb3 db4 f4 db4 bb3 db4, bb2@15 ~",
  K: "f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4, a2@15 ~",
  L: "f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4, d3@15 ~",
  M: "f4 d4 bb3 d4 f4 d4 bb3 d4 f4 d4 bb3 d4 f4 d4 bb3 d4, g2@15 ~",
  N: "f4 c4 bb3 c4 f4 c4 bb3 c4 f4 c4 bb3 c4 f4 c4 bb3 c4, c3 c2",
  O: "f4 c4 a3 c4 f4 c4 a3 c4 f4 db4 a3 db4 f4 db4 a3 db4, f2!2",
  P: "f4 d4 a3 d4 f4 d4 a3 d4 f4 eb4 a3 eb4 f4 eb4 a3 eb4, f2!2", Q: "[bb3,d4,f4]!4, bb2@15 ~",
  R: "[bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~ bb2, bb2@3 [bb3,d4,f4]", // Bb
  S: "[a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ f2, f2@3 [a3,c4,f4]", // F
  T: "[a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ d2, d2@3 [a3,c4,f4]", // F
  U: "[bb3,db4,f4]@2 [bb3,db4,f4]@2 [bb3,db4,f4]@2 ~ bb2, bb2@3 [bb3,db4,f4]", // Bbm
  V: "[a3,c4,f4]@2 [a3,bb3,f4]@2 [a3,c4,f4]@2 ~ a2, a2@3 [a3,c4,f4]", // F Bbmaj7 F
  W: "[bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~ g2, g2@3 [bb3,d4,f4]", X: "[bb3,d4,f4]!2 [bb3,d4,f4]@2, c2@15 ~",
  Y: "f4 db4 a3 db4 f4 db4 a3 db4 f4 db4 a3 db4 f4 db4 a3 db4, [f2,db3]@15 ~", // Db
  Z: "f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4, [f2,f3]@15 ~", // F
  AA: "f4 d4 a3 d4 f4 d4 a3 d4 f4 d4 a3 d4 f4 d4 a3 d4, [f2,bb2]@15 ~", // Bb5
  AB: "f4 eb4 a3 eb4 f4 eb4 a3 eb4 f4 eb4 a3 eb4 f4 eb4 a3 eb4, [f2,a2]@15 ~", // F
  AC: "f4 d4 ~ d4 f4 d4 ~ d4 f4 d4 ~ d4 f4 d4 bb3 d4, bb2@15 ~, bb3 bb3@2 bb3@2 bb3@2 ~",
  AD: "f4 db4 bb3 db4 f4 db4 bb3 db4 f4 db4 bb3 db4 f4 db4 bb3 db4, [f2,b2]@15 ~", // Fdim
  AE: "f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4 f4 c4 a3 c4, [d3,d4]@15 ~", // D
  AF: "f4 c4 bb3 c4 f4 c4 bb3 c4 f4 c4 bb3 c4 f4 c4 bb3 c4, bb2@15 ~",
  AG: "f4 c4 a3 c4 f4 c4 a3 c4 f4 db4 a3 db4 f4 db4 a3 db4, [f2,c3] [f2,db3]", // F5 Db
  AH: "f4 d4 a3 d4 f4 d4 a3 d4 f4 eb4 a3 eb4 f4 eb4 a3 eb4, [f2,d3] [f2,eb3]", // Dm F7
  AI: "[a3,c4,g4]@2 [a3,bb3,g4]@2 [a3,c4,g4]@2 ~ a2, a2@3 [a3,c4,g4]", // Am7 Eb Am7
  AJ: "[f4,ab4]@3 ~ e4@4 ab4@4 g4@4, f2@15 ~, g4 ~@15", // Fm
})).s("gm_piano").gain(0.3)

stack(piano)