Strudelify

lupin the third theme

Bernard108_piano

KeyF majorTempo220 bpm
0:00/0:00
// lupin the third theme — Bernard108_piano
// 220 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5971225; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 217 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(220/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@2 B C D@3 E F@2 G@2 H@2 I@3 J K L M N O P@2 Q R@2 S T U@2 V@3 W X@2 Y Z AA AB@2 AC AD@2 AE AF AG@2 AH AI@4 AJ@2 AK@2
  AL@2 AM@2 AN@2 AO@2 AP@2 AQ AR@2 AS AT@2 AU@2 AV AW@3 AX AY@3 AZ BA@3 BB BC@2 BD@2 BE ~@2 BF BG BH BI BJ BK BL BM BN
  BO BP BQ BR BS BT BU@2 BV@2 BW BX BY@2 BZ CA CB@3 CC@3 CD@2 CE@2 CF@2 CG@2 ~ CH CI CJ CK CL CM CN ~ CO CP CQ CR CS CT
  CU@5 CV@3 CW CX@2 CY@2 CZ@4 DA DB@2 DC DD@4 DE@2 DF@2 DG DH DI@2 DJ@4 DK@2 DL DM@2 DN DO@2 DP@2 DQ DR@3 DS DT@3 DU
  DV@4 DW@2 DX@4
>`.pickRestart({
  A: "[~@2 [bb4,d5,g5,d6,g6] ~ [bb4,d5,bb5,g6,bb6] [bb4,d5,g5,d6,g6]@2 [e5,g5,db6,g6,db7]@3 [c5,c6,c7] [bb5,bb6] [c6,c7]@2 [bb5,bb6] [bb4,d5,g5,d6,g6], ~@12 [c5,eb5] ~@3]/2", // Gm Dbdim C Bb C Bb Gm Cm
  B: "~ g4 bb4 g4 a4@2 c5@2", C: "bb4!2 g4 bb4 a4 ~ [d5,a5,d6] d4",
  D: "[~@4 [bb3,d4,g4,d6,bb6,d7]@2 ~@2 [bb4,bb5,g6,bb6]@2 [d5,d6,bb6,d7]@4 [bb4,c5] db5@5 [c5,c7]@2 [bb4,bb6]@2 [c5,c7]@2 bb6@2 f6@2 [g5,d6,g6]@6 f5@4 db5 d5 eb5 e5 f5@2 [d5,bb5]@2, ~@7 [db6,g6,db7]@3 ~@3 bb4@2 ~@9]/3", // Gm Eb Gm Bbsus2 C Bb C G5 …
  E: "~@2 [bb4,g5]@2 ~@3 [g4,bb4]@2 [gb4,a4]@2 ~@5", // Eb Gm Gbm
  F: "[~@4 [bb4,d5,g5,bb5,d6,g6]@2 ~@4 [d5,f5,bb5,d6,f6,bb6]@2 ~@2 [e6,g6,c7]@6 ~ e6 c7 e6 c7 e6 c7 e6 c7 e6 c7 e6, ~@14 [e5,g5,c6]@13 ~@5]/2", // Gm Bb C
  G: "[c7 ~@3 [c5,g5,c6,g6,c7]@2 ~@4 [bb4,g5,bb5,g6,bb6]@2 ~@2 [d6,gb6,d7]@6 d7 d6 d7 d6 d7 d6 d7 d6 ~ e5 f5 gb5, ~@14 [d5,gb5]@13 ~ d7@4]/2", // C5 Eb D
  H: "[[bb4,d5,g5,g6,g7]@3 [bb4,d5,f5,f6,f7]@3 [g4,bb4,d5,d6,d7]@3 [bb4,db5,g5,db6,db7]@3 [gb4,c5,eb5,c6,c7]@2 [gb4,bb4,eb5,bb5,bb6]@2]/2", // Gm Bb Gm Gdim Cdim Ebm
  I: "[[g4,bb4,d5,g5,g6]@4 ~@16 d4@4 f4@2 d4@4 ~@10 [db5,g5] bb4 ~@4 [db5,g5]@2, ~@12 [gb4,c5,f5]@17 ~ g4@13 ~@5]/3", // Gm Dbdim F
  J: "~@4 ab4 a4@5 f4@4 ~@2", K: "~@10 db5 d5 f5 db5 d5 f5, d4@15 ~", L: "db5 d5 db5 c5@2 ~@3 [d4,bb4]@4 f4@4",
  M: "g4 a4 [db5,g5] g4@2 ~@3", N: "[db5,g5]@2 ~@2 ab4 ~@3 [c5,f5]@2 f4@4 ~@2, ~@5 a4@5 ~@6",
  O: "~@2 [bb4,d5] ~ [bb4,d5]@2 ~ [bb4,d5], d4@13 ~@3", // Bb
  P: "[~@4 g4@2 ~@2 g4@2 d5@2 ~@4 [bb3,e4,g4]@4 ~@4 [e5,g5,c6]@4 [db5,d5] [bb4,b4,c5] [g4,ab4,a4] [e4,f4,gb4], ~@7 c5@3 ~@6]/2", // Edim C Dmaj7
  Q: "d4@2 ~ [g3,bb3,e4] ~ a4@3, eb4 ~@3 g4@6 ~@6", // Edim
  R: "[[bb3,db4,g4,bb4]@2 ~ [b3,d4] ~@4 [bb3,db4]@2 ~ [bb3,db4] g4@2 d5@2, ~@6 g4@15 ~@11]/2", S: "c5@15 ~",
  T: "~@2 a4@3 f4@3",
  U: "[g4@4 [d6,g6,d7]@2 ~@2 [bb5,g6,bb6]@2 [d6,g6,d7]@2 bb5 c6 [db6,g6,db7]@6 [c6,g6,c7]@2 [bb5,bb6]@2 [c6,g6,c7]@2 [bb5,bb6]@2 [f5,f6]@2 [g5,d6,g6]@2]/2", // G5 Eb G5 Dbdim C5 Bb C5 Bb …
  V: "[~@20 d5@4 ~@2 d5@4 g5@13 ~@5, ~@12 [gb4,c5]@17 ~@19, ~@12 f5@12 f5@5 ~@19]/3", W: "~@4 ab5 a5@5 f5@4 ~@2",
  X: "[~ g5 bb5 c6 d6 g6@2 db6@2 c6 bb5 d6@2 d5 f5 d5, d5@15 ~@17]/2", Y: "g5 a5 f5 g5 ~@2 [bb4,d5] ~",
  Z: "~@4 ab5 ~@5 f5@4 ~@2, a4 gb4, ~@5 a5@5 ~@6", AA: "~@2 [g4,bb4] ~ [ab4,bb4]@2 ~ [g4,bb4], d5@15 ~",
  AB: "[~@2 g5@2 g5 d6 ~@2 [bb3,e4,g4]@3 [bb3,e4,g4] ~@4, ~@14 [g5,c6]@17 ~]/2", // Edim C5
  AC: "~@5 a5@3, [b3,f4,g4]@3 [bb3,e4,g4]@3 ~@2, ~@2 g5@3 ~@3", // G7 Edim
  AD: "[a5 bb5@5 [b3,d4,ab4]@2 ~@8 [bb3,db4,g4]@6 [bb3,db4,g4]@2 g5@4 d6@4, [bb3,db4,g4]@6 g5@15 ~@11]/2", // Abdim Gdim
  AE: "[g5,c6]@11 ~@3 gb4 g4", AF: "a4 bb4 ~ d5 eb5 f5@3, ~@2 [c5,a5]@3 ~@3",
  AG: "[[g4,db5]@3 [gb4,c5] ~@2 [g4,bb4]@4 [a4,c5]@2 [bb4,d5]@2 [g4,bb4]@2, g5@15 ~@17]/2", // Gdim Gbdim Gm Am Bb Gm
  AH: "~@4 [bb4,eb5,g5,bb5,eb6,g6]@6 bb4 [eb5,g5] bb4 [eb5,g5] bb4 [eb5,g5]", // Eb
  AI: "[~@2 [eb5,eb6]@2 [c5,c6] [a4,a5] ~ [bb4,d5,f5]@2 d5 db5 d5 [c5,eb5] d5 eb5 [d5,f5]@2 ~ [bb4,d5,bb5,d6]@2 [c5,eb5,c6,eb6] [d5,f5,d6,f6] ~ [eb5,g5,eb6,g6]@3 ~ [c5,g5,eb6,g6]@4 ~, ~@14 f6@17 ~@33]/4", // Eb C A Bb Cm Dm Bb Cm …
  AJ: "[~@2 [eb5,c6,g6,c7]@2 [eb5,a5,f6,a6] [eb5,g5,eb6,g6] ~ [eb5,g5,eb6,g6]@3 [a5,f6,a6] [d5,f5,d6,f6] ~ a4 ~ g4]/2", // Cm F7 Eb Dm
  AK: "[~@2 d4@2 db4@2 d4@2 f4@2 eb4@2 ~@2 db4 ~@5 c4@2 c4@2 ~@2 [c6,g6,c7]@2 ~@4, ~@15 d4@5 ~@12, ~@8 [g4,c5,eb5]@3 ~@5]/2", // C5 Cm
  AL: "[~@2 c5@2 b4@2 c5@2 eb5@2 d5@2 ~@2 [a4,b4] c5@5 bb4@2 bb4@2 ~@2 [bb5,f6,bb6]@2 ~@4]/2", // Asus2 Bb5
  AM: "[~@4 [g4,g5]@4 [bb4,bb5]@2 [d5,d6]@2 ~@2 [bb4,d5,g5,d6,g6]@6 bb5 g5 d5 bb4 ~@4 a6 bb6@3]/2", // G Bb D Gm
  AN: "[[a5,db6,a6]@2 [a5,db6,g6] ~ [a5,db6,gb6] [a5,db6,g6] ~ [d5,gb5,a5,d6,gb6,a6]@3 a5 g5 ~ a5 g5 ~]/2", // A A7 Gbm A7 D
  AO: "[a5@2 g5@2 ~@2 a5@2 g5@2 ~@2 [d5,d6]@2 [d5,d6,a6,d7]@6 ~@4 a3 d4 gb4 a4 d6 gb6 a6 d7]/2", // D D5
  AP: "[~@4 d4@4 f4@2 d4@2 ~@8 d6@4 db6 c6 bb5@2 g5@2 f5@2, ~@14 g4@9 ~@9]/2", AQ: "g5@2 ~@2 ab4 a4@5 f4@6",
  AR: "[~@2 g5@2 bb5@2 c6@2 d6@2 g6@2 ~@2 db6@4 c6@2 bb5@2 d6@2 d4@3 f4@2 d4@3, d4@11 ~@21]/2",
  AS: "~@4 g6@2 ~@2 db6 c6 bb5@2 g5@2 f5@2, g4@11 ~@5",
  AT: "[g5 ~ a4@2 f4 g4 ~@4 [g4,bb4,d5] ~ [gb4,c5,d5]@3 [g4,bb4,d5], ~@14 d4@13 ~@5]/2", // Gm D7 Gm
  AU: "[~@2 [g5,g6] ~ [g5,g6] [d6,d7] ~@2 [e4,g4]@3 [e4,g4] ~@4, ~@14 [c6,c7]@13 ~@5]/2", // G D Em C
  AV: "~@3 [e4,g4] ~ [a5,a6]@3, [f4,g4]@3 ~@5, ~@2 [g5,g6]@3 ~@3", // Em A Fsus2 G
  AW: "[[bb5,bb6]@6 ~@4 bb4@2 c5@2 bb4@2 db5@4 c5@2 ~@2 [bb4,g6]@2 [g4,d7]@2 ~@2 [c5,eb5,g5,eb6,c7]@9 ~@3 a4@2 bb4@2 c5@2, ~@6 [g5,g6]@13 ~@29]/3", // Bb Eb G5 Cm G
  AX: "d5 ~ [c5,f5,a5,c6,a6]@3 [a4,c5,f5,c6,f6]@3", // F
  AY: "[[bb4,d5,g5]@2 ~@2 [bb4,d5,g5]@6 g4@2 bb4@2 d5@2 g5 d5 bb4 g4 ~@4 [bb4,d5,f5,d6,f6,bb6,d7]@2 ~@2 [c5,e5,g5,c6,e6,g6,c7]@8 [c5,e5]@6 g4@2 [bb4,d5]@2 g4@2, [bb5,d6,g6]@19 ~@29]/3", // Gm Bb C Bb Gm
  AZ: "[c5,e5] ~ [c5,e5]@2 [d5,f5]@2 [eb5,gb5]@2", // C Dm Ebm
  BA: "[[d5,f5,bb5,d6,f6,bb6]@2 ~@2 [d5,f5,bb5,d6,f6,bb6]@15 ~@3 bb3@2 [c4,f6,bb6,d7,f7]@2 d4@2 e4@8 g4 c5 e5 g5 ~ c6 ~ g6@3 f6@2, ~@28 [c7,e7]@19 ~, ~@28 [e6,g6]@14 e6@5 ~]/3", // Bb C Em
  BB: "e6 c6 ~ g5 e5 c5 ~ g4 ~@4 d7 e7 f7 gb7",
  BC: "[[g5,bb5,d6,g6,g7]@3 [f5,bb5,d6,f6,f7]@3 [d5,g5,bb5,d6,d7]@3 [db5,a5,db6,db7]@3 [c5,a5,c6,c7] ~ [bb4,g5,bb5,bb6] ~]/2", // Gm Bb Gm Gbm F Eb
  BD: "[[g4,d5,g5,g6]@2 ~@10 [gb4,c5,f5,c6,f6]@19 ~]/2", // G5 F
  BE: "~@3 g7 ~@12, [g5,g6] ~@3, ~ [bb5,bb6]@3 ~@12, ~ [d6,d7] ~@6", BF: "~ d6 db6 d6 ~ eb6@3", BG: "d6@11 ~@5",
  BH: "~ bb5 a5 bb5 c6@3 a5", BI: "bb5 g5@2 a5 ~ gb5 ~ gb5", BJ: "g5 d5 ~@6",
  BK: "[c5,eb5]@2 [bb4,d5] [c5,eb5]@2 [bb5,bb6]@3", BL: "[a5,a6] a4 ~@2 a5@3 g5",
  BM: "[b4,d5]@2 [bb4,db5] [b4,d5]@2 d6 d7 a6", BN: "ab6 ab4 ~@2 gb5@3 e5",
  BO: "[bb4,db5,f6]@2 [a4,c5,eb6] [bb4,db5,f6]@2 bb5 c6 db6", // Bbm Adim Bbm
  BP: "[g5,eb6]@2 [e5,f5,db6]@2 [eb5,c6] ~ ab4 bb4, ~@3 bb5", BQ: "[a4,c5,e5,a5]@11 ~@5",
  BR: "[c4,gb4,bb4,c5,gb5,bb5] ~ [c4,gb4,bb4,c5,gb5,bb5]@4 ~@2", // Cm7b5
  BS: "d6@4 a6@2 [bb3,d4,a4,g6]@2 ~@4 d6 eb6 ~ e6, [a3,bb3,d4]@3 ~@2 [bb3,d4,g4]@3", // Gm Bbmaj7 Gm
  BT: "~ [bb4,d5,a5] ab6 [bb4,d5,g5,f6]@2 gb6 g6 d7, f6 ~@3", // Bbmaj7 Gm7
  BU: "[~ bb6 ~ g6 eb6 ~@4 [a4,d5] ~ [a4,c5,bb6] a6 g6 f6 eb6, ~@3 c6@2 ~ [a4,c5]@2]/2", // D5 Am
  BV: "[d6 eb6 ~ e6 f6@2 f4 a4 ~@2 f4 eb4 ~@2 d4@4 [g4,bb4,d5]@2 f6@2 eb6@2 d6@2 eb6@2 g6@2 bb6@2]/2", // Gm
  BW: "d7@2 c7@2 f7@2 eb7@2 d7@2 a5@2 bb5@2 bb6 c7, [eb5,g5,bb5]@3 [eb5,g5,bb5]@2 c7@2 c6", // Eb
  BX: "bb6@2 a6@2 g6@2 [d5,gb5,a5]@6 d5 e5 f5 gb5, [d5,gb5,bb5]@3 gb6@4 ~", // D Daug
  BY: "[g5 ~ [bb4,d5,g5,d6,g6] ~ [bb4,d5,bb5,f6,bb6] [bb4,d5,g5,g6] ~ [e5,g5,db6,g6,db7]@3 [c5,c6,f7] [bb5,bb6] [c5,eb5,gb5,c6,c7]@2 [bb4,bb5,bb6] [bb4,d6,g6]]/2", // Gm Bb Gm Dbdim F5 Bb Cdim Bb …
  BZ: "~ g4 bb4 g4 a4 ~ c5 ~", CA: "bb4!2 g4 bb4 a4 d4 ~@2",
  CB: "[~@4 [e6,c7,e7]@2 ~@2 [c5,c6,c7]@2 [e5,e6,c7,e7]@2 c5 d5 [eb5,eb6,a6,eb7]@6 [d5,d6,a6,d7]@2 [c5,c7]@2 [d5,d6,d7]@2 [c5,c7]@2 g6@2 [a5,e6,a6]@6 a5@2 ~@2 eb5 d5 ~ c5 d5@2 c5@2]/3", // C Ebdim D5 C D C A5
  CC: "[eb6 d6 ~ c6 d6@2 c6@2 ab5@2 a5@2 b5@2 [db5,f5,bb5]@4 bb4@2 [db5,ab5,ab6]@2 ~@2 e6 f6 gb6 g6 [f4,ab6]@2 [bb4,db5]@4 [bb5,db6]@2 ~@2 [a4,c5]@2 bb5@2 [c5,a5]@4 ~@2, e5@2 ~@2 e6@2 ~ bb6@3 ~ [c5,eb5]@2 ~@2 [db6,f6] ~@8]/3", // Bbm Db5 Fm Bbm Am F Cm Db
  CD: "[~@4 [db5,f5,bb5,db6,bb6]@2 ~@4 [f5,ab5,db6,f6,db7]@2 ~@2 [eb6,g6,eb7]@6 eb7 g6 eb7 g6 eb7 g6 eb7 g6 eb7 g6 eb7 g6, ~@14 [g5,bb5]@13 ~@5]/2", // Bbm Db Eb Gm
  CE: "[eb7 ~@3 [eb5,bb5,eb6,bb6,eb7]@2 ~@4 [db5,bb5,db6,ab6,db7]@2 ~@2 [f6,a6,f7]@6 f7 f6 f7 f6 f7 f6 f7 f6 f5 gb5 [g5,ab5] a5, ~@14 [f5,a5]@13 ~ f7@4]/2", // Eb5 Bbm7 F Abmaj7 F
  CF: "[[bb5,bb6,bb7]@3 [db5,f5,ab5,ab6,ab7]@3 [bb4,db5,f5,f6,f7]@3 [c5,e5,e6,e7]@2 ~ [c5,eb5,eb6,eb7] ~ [bb4,db5,db6,db7] ~]/2", // Bb Db Bbm C Cm Bbm
  CG: "[[bb4,bb5,bb6]@2 ~@10 [a4,eb5,ab5]@19 ~]/2", CH: "~@6 [f5,bb5] ~@3 [f4,db5] ~@3 bb4 ~",
  CI: "[eb4,c5]@2 ~@4 ab4 ~@3 f4 ~@3 ab4 ~", CJ: "~@2 db6 ~@3 c6 ~@3 bb5 ~ e5 f5 ~ ab5",
  CK: "e5@2 eb5 ~ gb4@2 [f4,db5] ~@3 [eb4,ab4]@2 ~@4", CL: "~@4 [e6,bb6] ~@5 [db4,f4,c5] ~@5",
  CM: "[e4,bb4] ~@5 c5 ~@3 db5 ~@5", CN: "~@2 [db4,bb4,bb6] ~ e6@2 f6 ~@3 c6 ~@3 [db4,bb4,bb5,db6] ~, ~@2 [db4,a4] ~",
  CO: "[eb3,g3,g4,bb4]@3 [eb3,g3,g4,bb4] ~@4", CP: "[e3,ab3,ab4,b4]@3 [eb3,g3,g4,bb4] ~@4",
  CQ: "[gb3,bb3,bb4,db5]@3 [g3,bb4,db5] ~ bb4 db5 eb5", CR: "e5@2 eb5 [gb3,e4,db5] ~ bb4 ~@2, [gb3,e4]@3 ~@5",
  CS: "[gb3,c4]@3 [gb3,c4] ~ c5 db5 eb5", CT: "e5@3 f5 ~@4",
  CU: "[~@2 [db4,f4,bb4] ~ [db6,f6,bb6]@2 ~@2 [db5,bb5,bb6]@2 [f5,db6,db7]@2 ~@2 [e5,db6,bb6]@6 [eb5,db6]@2 [db5,eb6]@2 [eb5,f6]@2 [db5,eb6]@2 [ab4,db6]@2 [bb4,bb5,bb6]@6 f5 db5 ~ bb4 f4 bb3 ~@10 f4@4 ab4@2 f4@2 ~@2 bb4@17 ~, ~@44 [a4,eb5,ab5]@19 ~@17]/5", // Bbm Gb Db Bbdim Eb7 Dbsus2 Ebsus2 Dbsus2 …
  CV: "[~@2 c5@2 ~ ab4 ~@3 bb5 db6 eb6 f6 bb6@2 e6@2 eb6 db6 f6@2 f4 ab4 f4, ~@7 f4@3 ~@14]/3",
  CW: "bb4 c5 ab4 bb4 ~@2 [db6,f6] ~", // Db
  CX: "[~@2 bb4@2 a4@2 bb4@2 b4 c5 ab4@2 ~@2 f4@6 [bb4,db5]@2 ~@2 [a4,db5]@4 ~@2 [bb4,db5]@2, c6 [a5,eb6] ~@2]/2", // Bbm A Bbm Adim
  CY: "[~@2 bb4 ~ bb4 f5 ~@2 [g5,db6]@3 [g5,db6] ~@4, ~@14 [g4,eb5]@17 ~]/2", // Gdim Cm
  CZ: "[~@4 bb4@2 [a4,g5,bb5,db6]@2 bb4@2 c5@2 ~@4 [gb5,bb5,db6]@6 c5 b4 ~@8 [gb5,bb5,db6]@6 [bb4,gb5,bb5,db6]@2 ~@2 f5@2 ~@8 bb7@2 gb7 eb7 c7 bb6 ~@2 bb6 gb6 eb6 c6, [ab5,bb5,d6]@6 ~@8 db5@8 [g5,b5,d6]@2 bb4@13 ~@9 [bb4,eb5]@17 ~]/4", // Gdim Gb Bb7 G Eb5
  DA: "a5@2 ~@2 c5@4 ab4@3 ab4@2 ab4@3",
  DB: "[[e5,bb5]@2 ~ [eb5,a5] ~@2 [db5,bb5]@4 [a4,c5]@2 [bb4,db5]@2 [gb4,bb4]@2, bb4@19 ~@13]/2", // Edim Ebdim Gb Am Bbm Gb
  DC: "~@6 [bb4,db5,gb5]@4 [bb4,db5] gb5 [bb4,db5] ~ gb5 [bb4,db5], ~@3 [db6,gb6,bb6]@4 ~", // Gb Bbm Gb
  DD: "[gb5 ~ [ab4,gb5,gb6]@2 [bb4,eb5,eb6] [c5,c6] ~ [db5,f5]@2 f5 e5 f5 [db5,gb5] f5 gb5 [f5,ab5]@3 [f5,ab5,d6,f6]@2 [eb5,gb5,eb6,gb6] [f5,ab5,f6,ab6] ~ [gb5,bb5,gb6,bb6]@3 ~@2 [eb5,bb5,gb6,bb6]@4, ~@14 [ab5,f6,ab6]@17 ~@33]/4", // Ab7 Eb5 C Db Gb5 Fm Ddim Ebm …
  DE: "[~@2 [gb5,eb6,bb6,eb7] ~ [ab6,c7]@2 [gb5,bb5,gb6,bb6] [gb5,bb5,gb6,bb6]@3 [c6,c7] [f5,ab5,f6,ab6] ~ c6 ~ bb5, ~@4 [gb5,c6] ~@11]/2", // Ebm Ab Gb C Fm Gbdim
  DF: "[~@2 [f5,db6]@2 [e5,c6]@2 [f5,db6]@2 [ab5,f6]@2 [gb5,eb6]@2 ~@2 e5 f5@5 [eb5,c6]@2 [eb5,c6]@2 ~@2 [eb6,bb6,eb7]@2 ~@4, ~@7 db6@3 ~@6]/2", // Db C Db Ebm Cm Eb5
  DG: "~@2 [eb5,c6]@2 [d5,b5]@2 [eb5,c6]@2 [gb5,a5]@2 [f5,ab5]@2 ~@2 c5 d5", // Cm G Cm Gbm Fm
  DH: "[eb5,gb5]@2 [db5,f5]!2 ~ [db6,bb6,db7] ~@2", // Ebm Db Gb
  DI: "[~@4 [bb4,bb5]@4 [c5,db6]@2 [f5,f6]@2 ~@2 bb5@6 bb5 f5 ~ db5 bb4@4 c7 db7@3, ~@14 [f6,bb6]@13 ~@5]/2", // Bb Dbmaj7 F Bb5
  DJ: "[[c6,e6,c7]@4 [c6,e6,bb6]@2 ~@2 [c6,e6,a6]@2 [c6,e6,bb6]@2 ~@2 [c5,f5,a5,c6]@6 c6@2 bb5@2 ~@2 c6@2 bb5@2 ~@2 c6@2 bb5@2 ~@2 c6@2 bb5@2 ~@2 [f5,f6]@2 [f6,c7,f7]@9 ~ c5 f5 a5 c6 ~ f6 a6 c7, ~@14 [f6,a6,c7]@25 ~@25]/4", // C C7 Am C7 F F5 F
  DK: "[f7@2 ~@2 f4@4 ab4@2 f4@2 ~@8 f6@2 ~@2 e6 eb6 ~ db6 bb5@2 ab5@2, ~@14 bb4@13 ~@5]/2",
  DL: "bb5@2 ~@2 b4 c5@5 ab4@6", DM: "[~ bb5 db6 eb6 f6 bb6@2 e6@2 eb6 db6 f6@2 f4 ab4 f4, f4@11 ~@21]/2",
  DN: "~@4 bb5@2 ~@2 e5 eb5 ~ db5 bb4@2 ab4@2, bb4@11 ~@5",
  DO: "[bb4 ~ c5@2 ab4 bb4 ~@4 [bb5,db6,f6] ~ [a5,c6,f6]@2 ~ [bb5,db6,f6], ~@14 f4@17 ~]/2", // Bbm F Bbm
  DP: "[~@2 [bb5,bb6] ~ [bb5,bb6] [f6,f7] ~@2 [g4,bb4]@3 [g4,bb4] ~@4, ~@14 [eb6,eb7]@17 ~]/2", // Bb F Gm Eb
  DQ: "~@3 [eb4,g4] ~ [c6,c7]@3, [e4,ab4]@3 ~@5, ~@2 [bb5,bb6]@3 ~@3", // Eb C E Bb
  DR: "[[db6,db7]@6 ~@4 db5@2 eb5@2 db5@2 e5@4 eb5@4 [db5,bb5,bb6]@2 [bb4,f6,f7]@2 ~@8 bb5 g5 ~ eb5 ~@3 c6 db6 eb6@2 e6, ~@6 [bb5,bb6]@13 ~@11 [gb6,eb7]@17 ~, ~@10 eb6@5 ~]/3", // Db Gb Bb5 Bb Ebm
  DS: "f6 ~ [eb4,ab4,c6,eb6,c7]@3 [c4,eb4,ab4,eb6,ab6]@3", // Ab
  DT: "[[db4,f4,bb4]@2 ~@2 [db5,f5,bb5]@19 ~ [f5,ab5,c6,f6]@2 ~@2 [eb5,g5]@8 [eb5,g5]@6 bb4@2 [eb5,g5]@2 bb4@2, [db6,f6,bb6]@23 ~@5 [bb5,eb6]@19 ~]/3", // Bbm Fm Eb Bbm Eb5
  DU: "[eb5,g5] ~ [eb5,g5]@2 [f5,ab5]@2 [gb5,a5]@2", // Eb Fm Gbm
  DV: "[[f5,bb5,db6,f6,bb6,db7]@2 ~@2 [f5,bb5,db6,f6,bb6,db7]@19 ~ [ab5,c6,f6,ab6,c7,f7,ab7]@2 ~@2 [g5,bb5,eb6]@8 [bb4,eb5,g5]@6 bb4@2 [db5,f5]@2 bb4@2 [eb5,g5]@4 bb4@2 [eb5,g5]@6 ~@4, ~@14 [g6,bb6,eb7,g7]@15 ~@3]/4", // Bbm Fm Eb Db Eb
  DW: "[[f5,bb5,db6,f6,bb6,bb7]@3 [db5,f5,ab5,db6,ab6,ab7]@3 [db5,f5,bb5,db6,f6,f7]@3 [c5,e5,g5,c6,e6,e7]@3 [eb5,c6,eb6,eb7] ~ [db5,bb5,db6,db7] ~]/2", // Bbm Db Bbm C Cm Gb
  DX: "[[bb4,f5,bb5,bb6]@2 ~@10 [a4,db5,f5,a5,f6,a6,c7]@49 ~@3]/4", // Bb5 F
})).s("gm_piano").gain(0.3)

// chords · piano · "鋼琴"
const piano_2 = note(`<
  A@2 B C D@3 E F@2 G@2 H@2 I@2 J K L M N O P Q R S T U V W X@2 Y@2 Z AA AB@2 AC AD AE Q AF AG AH AI AJ AK AL@2 AM AN@4
  AO@2 AP@2 AQ@2 AR@2 AS@2 AT@2 AU AV AW AX@2 AY AZ BA Q BB BC BD BE@2 BF BG@3 BH BI BJ@3 BK@2 BL@2 BM BN BO BP BQ BR
  BS@2 BT BU BV BW BX BY BZ CA CB CC CD CE CF@2 CG CH CI@2 CJ CK CL@3 CM@2 CN CO@2 CP@2 CQ@2 CR@2 CS@2 CT CU@2 CV CW CX
  CY@2 CZ DA@2 DB DC DD@4 DE DF DG@2 DH DI DJ DK DL DM DN DO DP DQ DR@2 DS@5 DT@2 DU DV DW DX DY@2 DZ@2 EA@2 EB EC ED
  EE@2 EF EG EH EI EJ EK EL EM@2 EN EO EP@2 EQ ER ES@2 ET EU@2 EV@4
>`.pickRestart({
  A: "[g1@2 [g2,bb3,d4,g4] ~ [e2,bb3,d4] [e2,bb3,d4,g4]@2 [a1,a3,db4,e4,g4]@3 [a1,a3,db4,e4,g4] ~ [eb2,a3,c4,eb4,gb4]@2 d2 [g2,g3,bb3,d4]]/2", // Gm Em7b5 A7 Ebdim Gm
  B: "~ [g2,g3,bb3,d4] [f2,a3,c4,f4]!2", C: "[eb2,g3,bb3,eb4]@4 eb2@4 [gb3,a3,d4] d3 a2 gb2 a1@4, ~@4 d2@2 d2 ~",
  D: "[[g1,d4,g4,bb4]@2 g2 ~ [e2,g3,bb3,d4] [e2,bb3,d4,g4]@2 [a1,e3,bb3,db4,e4]@3 [a1,a3,db4,e4,g4] ~ [eb2,a3,c4,eb4,gb4]@2 d2 [g1,g2,d3,g3,bb3,d4]@3 [g2,bb3,d4,g4]@2 [f2,a3,d4,f4]@2 [f2,a3,d4,f4]@2]/3", // Gm Em7b5 A A7 Ebdim Gm Dm
  E: "[eb2,bb3,eb4,g4]@4 ~ g3 bb3 eb4 d2@4 d2 a1 ~ d1, ~ eb2 ~@2", // Eb
  F: "[g1@4 [g1,g3,bb3,d4,g4]@2 ~@4 [bb1,f3,bb3,d4,f4]@2 ~@2 [e3,g3,bb3,e4]@6 ~@2 d3 e3 f3 g3 a3 bb3 c4 d4 e4 f4, ~@14 c2@13 ~@5]/2", // Gm Bb Edim
  G: "[g4 ~@3 [a1,g3,db4,f4]@2 ~@4 [eb2,g3,bb3,eb4]@2 ~@2 d2@8 e2 f2 g2 a2 b2 c3 d3@2 ~@2, ~@14 [gb3,a3,c4,gb4]@13 ~@5]/2", // Aaug Eb Gbdim
  H: "[[g2,g3,bb3,d4,g4]@3 [bb2,bb3,d4,f4]@3 [e2,g3,bb3,d4]@3 [a2,g3,db4,e4]@3 [eb2,gb3,c4,f4]@2 [d2,gb3,c4,eb4]@2]/2", // Gm Bb Em7b5 A7 Cdim
  I: "[[g2,g3,bb3,d4]@4 ~@8 [d3,gb3,a3,c4]@17 ~@3]/2", J: "g1@2 [a3,bb3,d4] ~ e1@2 g1@2, ~ f1 ~@2",
  K: "a1 db2 d2 gb2, [a3,c4,e4]@13 ~@3", L: "g2@2 [a4,bb4] ~ bb2@2 bb2@2, ~ g2 ~@2", M: "a2 e2 eb2@2 d2@2 gb2@2",
  N: "g2@2 f2@2 ~ [a3,bb3,d4] bb1@2, ~@2 e2 ~", O: "a1@2 [ab3,db4] ~ d2 a1 [g3,c4] ~, ~ db2 ~ ab1",
  P: "g1@2 [g3,bb3] ~ [ab1,gb3,bb3]@2 ~ [g3,bb3], ~ g1 ~ ab1", Q: "g1 g2 d2 db2",
  R: "[c2,c3,e3]@2 c2 [c2,c3,e3] e2@2 c2@2", S: "[db2,db3,f3]@2 ~ [c3,e3] c2!2 d2@2, ~ db2 ~@2",
  T: "[eb2,eb3,g3]@2 ~ [e3,ab3] e2@2 e2@2, ~ eb2 ~@2", U: "eb2 bb1 ~ [eb3,g3] bb1@2 g1@2, [eb3,g3] g1 ~@2",
  V: "a1@2 a2@2 eb2@2 c2 db2", W: "d2 a1 gb1@2 a1@2 d2@2",
  X: "[~ [g3,bb3,d4] ~ g3 [bb3,d4] g4 e2 [a2,bb3,db4,e4,g4]@3 [a2,bb3,db4,e4,g4] ~ [eb2,gb3,c4,f4]@2 [d2,eb4] [g2,g3,bb3,d4], g2 f2 e2 ~@5]/2", // Gm Bb A7 Cdim Ebmaj7 Gm
  Y: "[~@12 [d2,a2,d3,gb4,c5]@17 ~@3]/2", Z: "g1@2 f1@2 e1@2 g1!2, ~@2 [db4,g4]@3 ~@3",
  AA: "a1 db2 d2 gb2, [a3,c4,e4] [a3,c4,eb4]", // Am Adim
  AB: "[~ g4 bb4 c5 d5 ~ bb2 e2 a2 [e2,c5] bb4 ~ d2@2 gb2@2, g2!2 bb2 ~@2 eb2 ~@2, ~@5 g5@2 db5@2 ~@2 d5@2 ~@3]/2", // C
  AC: "g2@2 f2@2 e2@2 [a3,bb3,d4] ~, ~@3 bb1", AD: "a1@2 db2@2 d2 a1 ab1@2, [g3,db4,e4] [gb3,c4,f4]",
  AE: "g1@2 [g3,bb3,d4] ~ [ab1,gb3,bb3,d4]@2 ~ [g3,bb3,d4], ~ g1 ~ ab1", // Gm Daug Gm
  AF: "c2@2 ~ [c3,e3] e2@2 c2@2, [c3,e3]@3 ~@5, ~ c2 ~@2", AG: "db2@2 ~ [db3,f3] c2@2 d2@2, [db3,f3]@3 ~@5, ~ db2 ~@2",
  AH: "eb2@2 ~ [e3,ab3] e2@2 e2@2, [eb3,g3]@3 ~@5, ~ eb2 ~@2", // E Eb
  AI: "eb2@2 ~ [eb3,g3] g1@2 bb1@2, [eb3,g3]@3 ~@5, ~ bb1 ~@2", // Eb
  AJ: "a1@4 ~@2 eb3@2 [eb2,g3]@3 ~ c2@4, [g3,c4,eb4]@6 ~@5 bb3@3 ~@2, ~ a2 ~@2", // Eb Cm
  AK: "d2 a1 gb1@2 ~@2 d2@2, ~@2 [gb3,c4,f4]@3 [gb3,c4,eb4]@3, ~@2 a1 ~", // F Cdim
  AL: "[[a1,a2,e3,g3,db4,e4]@6 [ab1,ab2,eb3,gb3,c4,eb4]@2 ~@4 [g1,g2]@9 ~@5 a1@2 bb1@2 g1@2, ~@12 [d3,g3,bb3,d4]@19 ~]/2", // A7 Ab7 G Gm
  AM: "c1@2 ~@2 [g3,bb3,eb4]@6 eb4 bb3 g3 eb3 ~@2, ~@4 c2@11 ~", // Eb
  AN: "[f1@4 [g1,c3,a3]@4 [d3,bb3]@2 [eb3,c4]@2 f1@2 [f3,bb3,d4]@4 f3@2 [bb2,bb3,d4]@4 [c2,g3,c4,eb4]@4 c3@2 [d2,a3,c4,f4]@4 d2@2 [d3,f3,ab3]@4 [g2,b2,g3]@2 [d2,d3]@2 ~@4 c2@4 ~@6 bb2 eb3 g3 bb3 ~@2, ~@4 a1@2 ~ bb1@3 ~@12 g1@2 ~@3 [bb2,eb3]@2 ~ c2@2, ~@23 [bb2,eb3]@3 g2@2 c3@2 ~@2]/4", // Am7 Gm Cm Bb Cm Dm7 Ddim G …
  AO: "[f2 c2 [f1,a3,eb4,g4]@2 [g1,a3,eb4,gb4]@2 a1 [bb1,bb3,eb4,f4]@3 ~ [bb3,d4,f4] bb2@2 c3@2, ~@5 f2 ~@2]/2", // F7 Ebdim Bbsus4 Bb
  AP: "[~ bb3 a3 bb3 d4 c4 ~@2 a1@2 a3!2 c2@2 db2@2, d3 f2 bb2 bb1 ~ a2 ~@2, ~@7 bb3@3 ~@6]/2",
  AQ: "[~@2 a4@2 ab4@2 a4@2 gb4@2 f4@2 ~@2 [db3,d3] ~ g2@4 d3@2 d3@2 ~@2 d3@2 g3@2 a3@2, d2@4 d3@4 a2@4 ab2@3 eb3@5 d2@4 g2@4 gb2@4]/2", // Dmaj7
  AR: "[bb3@2 d4@2 bb3@2 g3@2 [f2,bb3,d4]@2 [f2,bb3,d4,f4]@2 ~@2 e2@4 e2@2 ~@2 g3 d4 g4 d4 ~@4 bb3@2, f2@2 bb2@2 ~@3 [g3,bb3,d4]@4 ~ e3@2 ~@2, ~@5 bb2 ~ bb1]/2", // Bb Gm
  AS: "[[a1,e3,g3,db4]@2 ~@2 [g3,db4] [e3,g3,db4] db2 d2@3 d2@2 eb2@2 eb2@2, ~ e2 a2 ~@5, ~@3 e3@2 ~@2 [c4,d4,a4]@4 ~ [db4,eb4,bb4]@3 ~]/2", // A7 Gdim Dbdim D7 Eb7
  AT: "[d2@4 d2@4 [a1,g4]@4 d2@2 [c4,d4,gb4]@4 ~@2 a4 gb4 d4 a3 ~@2 gb3 d3 ~ a2 gb2 ~, [c4,d4,a4]@3 ~@4 d2@3 d3@2 d2@2 a1@2]/2", // A7 D7
  AU: "d1 ~@7", AV: "g1@2 [a3,bb3,d4] ~@2 [a3,bb3,d4] g1@2, ~ f1 e1 ~",
  AW: "a1 c2 d2 gb2, [a3,c4,e4]@3 ~ [ab3,c4,eb4]@3 ~", // Am Ab
  AX: "[~ g4 bb4 c5 d5 g5 ~@3 c5 bb4 d5 d3@2 a2@2, g2!2 bb2!2 a2 c3 ~@2, ~@7 db5@2 ~@7]/2",
  AY: "g2@2 [a3,bb3,d4] ~@2 [a3,bb3,d4] bb1@2, ~ f2 e2 ~", // Bbmaj7
  AZ: "a1@2 db2@2 d2 a1 ab1@2, [a3,c4,e4]@3 ~ [ab3,c4,eb4]@3 ~", // Am Ab
  BA: "g1@2 [g2,g3] ~ ab1@2 ~ [g2,g3], ~@2 g1@2 [ab2,ab3]@3 ~, ~@3 ab1", // G Ab
  BB: "c2@2 ~ [c3,e3,g3,bb3] e2@2 c2@2, [c3,e3,g3,bb3]@3 ~@5, ~ c2 ~@2", // C7
  BC: "db2@2 db2 [c3,e3,g3,bb3] ~ db2 d2@2, [db3,f3,g3,bb3]@3 c2@2 ~@3", // C7 Gm7b5
  BD: "eb2@2 ~ [e3,ab3,b3,d4] e2@2 e2@2, [eb3,g3,bb3,db4]@3 ~@5, ~ eb2 ~@2", // E7 Eb7
  BE: "[eb2@2 bb1@2 ~@2 [eb3,g3,bb3,db4]@2 bb1@4 ~@4 a1@4 a2@4 eb2@4 c4 a3 ~ gb3, [eb3,g3,bb3,db4]@6 ~@8 [a3,c4,eb4,g4]@9 ~@9, ~ g1 ~ g1 ~@3 c2]/2", // Eb7 Am7b5
  BF: "d2 a1 ~ a1, d3 ~ [gb3,c4,f4]@3 [gb3,c4,eb4]@3, ~@2 gb1 ~", // F Cdim
  BG: "[[g1,g3,bb3,d4,g4]@2 ~@2 bb1@2 d2@2 g2 d2 g1 [g2,g3] [bb1,d4,f4] ~ c2@3 c3 [e2,g3,c4,e4]@2 ~ g3 bb3 d4, ~ a1 ~@8 f2 gb2, ~@6 [g3,bb3,d4]@13 ~@9 [g3,c4,e4]@8 ~@12]/3", // Gm G Bb C Gm C
  BH: "e4 c4 ~ g3 [e1,e3]@4 [f1,d3,a3]@4 [gb1,eb3,bb3]@4, g2 ~@3", // E Dm Ebm
  BI: "[g1,bb3,d4,f4]@4 ~@4 d2@4 bb4 f4 ~ d4, ~ g2 ~ g1, ~@3 [g3,bb3,d4]@2 ~@3", // Gm7 Gm
  BJ: "[bb3 f3 ~ d3 d2@4 [g1,bb2,d3,g3]@2 ~@2 [c3,e3,g3]@25 ~@3 e4 c4 ~ g3 [c1,c2]@4, g2@4 ~@8 c2@27 ~@9]/3", // Gm C
  BK: "[[g1,bb3,d4,g4,bb4]@3 [bb1,bb3,d4,f4,bb4]@3 [e1,g3,bb3,d4,g4]@3 [a1,g3,db4,e4,g4]@3 [eb1,eb2,gb3,c4,eb4] ~ [d1,d2,gb3,c4,d4] ~]/2", // Gm Bb Em7b5 A7 Cdim D7
  BL: "[[g1,g2,g3,bb3,d4]@2 ~@10 [d1,d2,d3,gb3,c4]@19 ~]/2", BM: "[g1,g2,bb3,d4,g4] f2 e2 bb1", BN: "a1 db2 d2 ab1",
  BO: "g1 d2 bb1 g1", BP: "a1 [db2,d3,bb3] ~ gb2, ~@2 d2 ~, ~@5 [c3,a3]@3", BQ: "g2 d2 e2 bb1, [d3,bb3]@11 ~@5",
  BR: "a1@2 eb2@2 d2@2 ~ [f3,d4], ~@4 [gb3,eb4]@3 ~, ~@3 ab1", // Dm Ebm
  BS: "[~@6 bb3@2 [a3,c4]@2 ~@2 c4@2 ~@4 db4@2 d4@2 g3@2 f4 d4 ~ bb3 g3 d3 ~ bb2, a1 g2 a2 a1 bb1 bb2 b2 g2, ~ [g3,bb3]@2 ~@4 [bb3,d4]@2 ~@7]/2", // Am Gm Bb
  BT: "[c1,c3]@2 [g3,bb3] ~ c3@2 ~ [a3,eb4], ~@2 g2@2 [bb3,eb4]@3 ~, ~@3 c2", // C Gm Adim Eb5
  BU: "~@2 eb3@2 f3@2 g3 a3 ~ bb3 a3 ~ f3@2 gb4@2, f2 f1 a2 f2",
  BV: "b0@2 [gb3,a3] ~ gb3@2 ~ [ab3,db4,f4], ~@2 b2@2 [a3,d4,gb4]@3 ~, ~@3 f1", // Gbm Db D
  BW: "e1@2 ~@3 ab3 a3 b3, ~ b2 e3 eb2, ~@3 [ab3,d4,f4]@2 ~@3", // Ddim
  BX: "~ [bb3,f4] ~@3 c4 db4 eb4, bb2 bb1 f2 db2, ~@3 [db3,bb3]@2 ~@3", // Bb5 Gb
  BY: "f4 [f3,bb3] ~ [f3,ab3] ~ eb3 eb4 eb3, eb2 bb1 g1 bb1", BZ: "a1@4 [a2,c4,e4]@4 c4 a3 e3 c3 ~ a2 c3 e3, ~@2 e2 a1",
  CA: "[d1,d3]@2 ~@2 [d2,d3,gb3,bb3]@6 ~@3 e3 f3 gb3, ~@3 d1", CB: "[g1,g3]@4 [a1,d3]@4 bb1@4 gb3 g3 a3@2, ~@3 d2",
  CC: "bb3@2 [d4,a4]@2 ~@4 d2@4 d4 eb4 ~ e4, g2 g1 ~ db2, ~@3 [d4,g4]@2 ~@3", // D5 G5
  CD: "f4 [bb3,eb4] ~@2 g2@2 c2@2, c2 c3 ~@2, ~@3 [eb3,bb3]@3 ~@2", CE: "f2 a1 c2 f1, [eb3,a3]@11 ~@5",
  CF: "[bb0@2 ~ a3 d2@2 ~@2 eb1@2 ~ bb3 d4 bb4 ~ a3, [a3,d4]@3 ~@4 [g3,bb3]@4 ~@5, ~ f2 ~ bb2 ~ bb1 eb2 eb1]/2", // D5 Gm
  CG: "a1@4 ~@4 bb2@4 c3 b2 ~ c3, [c4,eb4,g4]@3 [c4,eb4,g4]@3 [c4,eb4,g4]@2, ~ a2 ~@2", // Cm
  CH: "d3@2 ~@3 d3 [d2,c4]@2, [gb3,a3,eb4]@3 [gb3,a3,d4]@2 ~@3, ~ a2 gb2 ~", // D7 Ebdim D
  CI: "[[g1,bb3,d4,g4]@6 e2 gb2 [g2,bb3,d4,g4]@2 [e2,g3]@2 ~@2 [a1,db4,e4,g4,bb4]@6 bb2 c3 ~ db3 d3@4 d2@2 [g2,g3,bb3,d4,g4]@2, ~@12 [c4,eb4,gb4,a4]@3 ~]/2", // Gm Em A7 Gm Cdim
  CJ: "~@2 [g2,g3,bb3,d4] ~ [f2,a3,c4,f4] ~ [f2,a3,c4,f4] ~", // Gm F
  CK: "eb2@4 ~@6 [a2,bb2,b2] [c3,db3,d3,eb3] [e3,f3,gb3,g3] [ab3,a3,bb3,b3] [c4,db4,d4,eb4] [e4,f4,gb4,g4], [g3,bb3,eb4]@3 [gb3,a3,d4]@2 ~@3, ~ eb2 d2@2", // Eb D
  CL: "[a1@2 [a2,a3,c4,e4] ~ gb2!2 ~ [b1,b3,eb4,gb4,a4]@3 [b1,eb4,gb4,a4] ~ e2!2 g4 [a1,a3,c4,e4,a4]@3 [a1,a3,c4,e4] ~ [g1,g3,b3,e4] ~ [g1,g3,b3,e4] ~, a4 ~@23, ab4 ~@7 [c4,e4,a4]@4 ~@12 [b3,d4,f4,ab4]@4 ~@20]/3", // Am B7 Am Em Am Bdim
// … 54 more lines