Strudelify

Trumpet Concerto Op.18

Oscar Bohme

KeyB♭ majorTempo120 bpm
0:00/0:00
// Trumpet Concerto Op.18 — Oscar Bohme
// 120 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/683616; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 172 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 B C@2 D E F G@3 H I G@2 J K L M N O P Q R S T U@3 V@2 W X Y Z@2 X Y AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP
  AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BG BK BL BM BN BO BP BQ BR BS BT BU BV G@2 J K L M BW BX
  BY BZ CA CB CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY CZ DA DB DC DD DE DF B DG@2 DH DI DJ
  DK G@2 J DL L DM DN@2 DO@2 DP DQ DR DS G@2 J DL L DM DN@2 DO@2 DP DQ DR DS DT DU DV@2 DW DX DY DZ EA
>`.pickRestart({
  A: "~@12 [ab3,ab5,ab6]@3 [g3,g5,g6]", // Ab G
  B: "[g3,g5,g6]@2 [f3,f5,f6]@2 [ab3,ab5,ab6]@3 [g3,g5,g6] [g3,g5,g6]@2 [f3,f5,f6]@2 [f3,f5,f6]@3 [eb3,eb5,eb6]", // G F Ab G F Eb
  C: "[[eb3,eb5,eb6]@2 [db3,db5,db6]@2 [db3,db5,db6]@3 [c3,c5,c6] [c5,c6]@2 ~@4 ab4@2 ab4@2 ~@6 [f2,f3]@2 [eb2,eb3,eb4,eb5]@2 [db2,db3,db4,db5]@2 [c2,c3,c4,c5]@2, ~@2 [c3,c4] [c3,bb3] [ab2,ab3] [g2,g3] ~@2, ~@5 [bb4,bb5]@2 ab5@2 [g4,g5]@2 [f4,f5]@2 ~@3]/2", // Eb Db C F Eb Db C C7 …
  D: "[b1,b2,b3,b4]@3 [b3,d4,f4,ab4,b4,d5,f5,ab5] [b3,d4,f4,ab4,b4,d5,f5,ab5]@4 ~ [b1,b2,b3,b4] ~ [c2,c3,c4,c5] [db2,db3,db4,db5] [c2,c3,c4,c5] ~ [b1,b2,b3,b4]", // B Bdim B C Db C B
  E: "[c2,c3,c4,c5]@3 [bb3,db4,f4,g4,bb4,db5,f5,g5] [bb3,db4,f4,g4,bb4,db5,f5,g5]@4 [db3,db4]@4 [c3,c4]@4", // C Gm7b5 Db C
  F: "[b2,c3,b3,c4] [db3,db4] [c3,c4] [bb3,c4,e4,g4,bb4,c5,e5,g5] [bb3,c4,e4,g4,bb4,c5,e5,g5]@4 ~@8", // Cmaj7 Db C C7
  G: "ab3 c4 f4 c4 ab3 c4 f4 c4 ab3 c4 f4 c4 ab3 c4 f4 c4, [f2,f3] ~ [f2,f3] ~", // F
  H: "bb3 db4 f4 db4 bb3 db4 f4 db4 ab3 c4 f4 c4 ab3 c4 f4 c4, [f2,f3] ~ [f2,f3] ~", // F
  I: "ab3 db4 f4 db4 g3 b3 f4 b3 g3 c4 e4 c4 g3 bb3 e4 bb3, [db2,db3] [c2,c3]", // Db C
  J: "bb3 db4 f4 db4 bb3 db4 f4 db4 c4 f4 ab4 f4 db4 f4 g4 f4, bb2@2 ab2 bb2",
  K: "c4 f4 ab4 f4 c4 e4 g4 e4 ab3 db4 f4 db4 ab3 db4 f4 db4, c3!2 [db2,db3]@2", // Db
  L: "bb3 db4 f4 db4 bb3 db4 f4 db4 c4 f4 ab4 f4 db4 f4 g4 bb4, bb2@2 ab2 bb2",
  M: "[c3,c4,f4,ab4]@2 ~@3 [c4,e4,bb4,db5] [c4,e4,bb4,c5] [c4,bb4,e5]", N: "[f3,c4,f4,ab4,f5]@2 ~@3 [c3,c4,e4,bb4]!3",
  O: "[f2,f3,c4,f4,ab4]@2 ~@3 [eb3,db4,eb4,g4,bb4] [eb3,c4,eb4,g4,c5] [eb3,bb3,eb4,g4,db5]", // Fm Eb7 Cm Eb7
  P: "[ab2,ab3,eb4,ab4,c5]@2 ~@3 [eb3,f4,g4,db5] [eb3,eb4,g4,c5] [eb3,db4,g4,bb4]", Q: "[ab2,ab3,c4,eb4,ab4]!3 ~@5",
  R: "~@8 c5 c6 c5 c6 ab4 ab5 ab4 ab5, ~@2 [c3,c4] [ab2,ab3]", S: "[f2,f3,f4,f5] [f2,f3,f4,ab4,c5]!2 ~@5",
  T: "~@8 ab4 ab5 ab4 ab5 f4 f5 f4 f5, ~@2 [f2,f3] [d2,d3]", // F D
  U: "[[bb1,bb2,d4,d5]@3 [bb3,d4,f4,ab4,bb4,d5,f5,bb5] [bb3,d4,f4,bb4,d5,bb5]@12 [bb3,d4,f4,bb4,db5,bb5]@16 [bb3,d4,f4,bb4,d5,bb5]@2 ~@14, ~@2 [ab4,f5]@15 ~@7]/3", // Bb Bb7 Bb Db
  V: "[eb4@2 f4@2 g4@2 ab4@2 [g3,db4,bb4]@2 [c4,c5]@2 [bb3,db5]@2 [ab3,eb5]@2 [g3,f5]@2 [bb3,db5]@2 [db4,bb4]@2 [c4,c5]@2 [bb3,db5]@2 [db4,bb4]@2 f4@2 eb4 db4, eb3, [g3,db4]@4 ~@11 g4]/2", // Gdim C Bbm Ab5 G7 Bbm Gb C …
  W: "ab4 eb4 [ab4,c5] eb4 [ab4,c5] eb4 [ab4,c5] eb4, ab3 ~", // Ab
  X: "[ab4,c5] eb4 [ab4,c5] eb4 [ab4,c5] eb4 [ab4,c5] eb4, ab3, ab2 ~", // Ab
  Y: "[g4,b4] eb4 [g4,b4] eb4 [ab4,c5] eb4 [ab4,c5] eb4, ab3, ab2 ~", // G Ab
  Z: "[[db4,f4] ab4 [db4,f4] ab4 [c4,eb4] ab4 [c4,eb4] ab4 [g4,bb4] eb4 [g4,bb4] eb4 [ab4,c5] eb4 [ab4,c5] eb4, db3 eb3@2 ~, ~@2 eb2 ab2]/2", // Db Cm Gm Ab
  AA: "[db4,f4] ab4 [eb4,g4] [f4,ab4] [c4,eb4] ab4 [f4,ab4,db5] [eb4,ab4,c5], db3 eb3", // Db Eb Fm Cm Db Ab
  AB: "[g4,bb4]@2 eb4@2 [g4,bb4]@2 eb4@2 [ab3,c4,ab4]@2 eb4@2 f4 g4 ~ ab4, [ab3,db4] ~", // Gm Ab Db5
  AC: "~ [f3,bb3,db4]!5 [f3,bb3,db4,bb4] [f3,bb3,db4,c5], [eb2,eb3], bb4@2 f4 ~", // Bbm Eb
  AD: "~ [f3,bb3,db4] [f3,bb3,db4,c5] [f3,bb3,db4,db5] [f3,bb3,db4]!4, [eb2,eb3], db5 ~ bb4@2", // Bbm Eb
  AE: "~@2 [f3,bb3,db4]@2 [f3,bb3,db4]@2 [f3,bb3,db4,c5]@2 [f3,bb3,db4,db5]@2 [f3,bb3,db4,bb4]@2 [f3,bb3,db4,bb5]@2 ~ [ab4,ab5], [eb2,eb3], bb4@3 ~@4 [f3,bb3,db4]", // Bbm Ab Eb Bbm
  AF: "eb3 [eb3,bb3,db4]!7, eb2, [ab4,f5,ab5] [g4,eb5,g5] [f4,db5,f5] [f4,db5,eb5]", // Eb7 Db Cm Db
  AG: "ab3 [eb3,ab3,c4]!7, ab2, [c5,c6]@2 [eb5,eb6] [c5,c6]", // Ab C Eb C
  AH: "~ [ab3,b3,d4]!3 [ab3,c4,eb4,c5,c6] [ab3,c4,eb4]!3, [gb2,gb3], [b4,b5] ~", // Abdim Ab Gb B
  AI: "~ [ab3,db4,f4]!3 ~ [a3,eb4,f4]!3, [f2,f3] f2", AJ: "~ [bb3,db4,f4]!7, bb2@3 [ab2,ab3]",
  AK: "~ [bb3,eb4,bb4]!2 [ab2,ab3,c4,eb4,c5] [bb3,db4,g4,db5] [bb3,eb4,g4]!3, [g2,g3]@3 ~ bb2@2 db3@2", // Eb5 Ab Gdim Eb G
  AL: "~ [c4,eb4,ab4]!3 ~ [eb3,g3,bb3,eb5,eb6]!3, c3 db3", // Ab Eb
  AM: "~@2 [eb3,ab3,c4]@2 [eb5,eb6] f5 [g5,ab5] [bb5,c6] [eb5,eb6]@2 [g3,db4,eb4,eb5,eb6]@2 [g3,db4,eb4,eb5,eb6]@2 [g3,db4,eb4,eb5,eb6]@2, c3 bb2, ab5@4 [eb3,ab3,c4]@2 [eb3,ab3,c4]@2 db6 ~@7", // Ab Eb Abmaj7 Bbsus2 Eb Eb7 Ab
  AN: "~ c3 eb3 ab3 c4 ab3 eb3 c3 bb2 db3 g3 bb3 c3 eb3 ab3 c4, [ab2,c5,ab5,c6]@4 [bb4,g5,bb5]!2 [ab4,eb5,ab5]!2", // Ab Eb Ab5
  AO: "~ f3 bb3 db4 bb3 db4 bb3 f3 [eb4,c5,eb5]@2 [f3,bb3,db4,eb4,c5,eb5]@2 [f3,bb3,db4,bb4,db5]@2 [f3,bb3,db4,bb4,db5]@2, db3!2, [g4,eb5,g5]!2 [f4,db5,f5]!2 ~@4", // Cm Bbm Cm Db
  AP: "[c5,ab5,c6] [eb5,ab5,c6] [c5,eb5,ab5] [ab4,c5,eb5] [eb4,ab4,c5]@4, eb3@4 eb3 ~@3", // Fm Ab
  AQ: "[d4,ab4,c5] [f5,ab5,c6] [d5,f5,ab5] [c5,d5,f5] [ab4,c5,d5]@4, [f2,f3]@4 [f2,f3] ~@3", // Dm7b5 Fm Ddim Dm7 Dm7b5 F
  AR: "[ab4,bb4,db5] [ab4,bb4,db5,f5] [ab4,bb4,db5] [f4,ab4,bb4] [db4,f4,ab4,bb4]!2 [db4,eb4,g4,bb4] [db4,eb4,g4,c5], eb3@3 eb2", // Bbm7 Bb7 Bbm7 Eb7 Cm
  AS: "[f2,db3,c4] ~ [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] [c4,g4,g5] [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4, [f4,ab4]@4 [ab4,ab5]@3 ~ [g4,g5]@2 [f4,f5]@2 [e4,e5]@2 [f4,f5]@2, ~ c4@2 ~@13", // Dbmaj7 Fm C5 Fm Ab G F E …
  AT: "[f3,ab3] c4 [f3,ab3] c4 [f3,ab3,b5] [c4,c6] [f3,ab3,f6] [c4,c6] [f3,ab3,g5] [c4,ab5] [f3,ab3,c6] [c4,ab5] [f3,ab3,e5] [c4,f5] [f3,ab3,ab5] [c4,f5], [c5,c6] ~@3", // Fm Fdim C Fm C Fm F5 Fm …
  AU: "[f3,ab3,b4] [c4,c5] [f3,ab3,f5] [c4,ab4] [f3,ab3,g4] [c4,ab4] [f3,ab3,db5] [c4,ab4] [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] [c4,g4,g5], ~@8 f4@4 [ab4,ab5]@3 ~", // Fdim C Fm Db Fm C5 Ab
  AV: "[f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,bb3] db4 [f3,bb3] db4 [f3,bb3,c6] [db4,db6] [f3,bb3,f6] [db4,db6], [g4,g5] [f4,f5] [e4,e5] [f4,f5] [db5,db6]@2 ~@2", // Fm Bb5 Fsus4 Db Bb5 Db G F …
  AW: "[f3,bb3,a5] [db4,bb5] [f3,bb3,db6] [db4,bb5] [f3,bb3,e5] [db4,f5] [f3,bb3,bb5] [db4,f5] [f3,bb3,c5] [db4,db5] [f3,bb3,f5] [db4,db5] [f3,bb3,a4] [db4,bb4] [f3,bb3,db5] [db4,bb4]", // Bbmaj7 Gb Bbm Gb Bb Db Bb5 Db …
  AX: "[f3,bb3] db4 [f3,bb3] db4 [f3,bb3] db4 [f3,bb3] [db4,c5,c6] [f3,bb3] db4 [f3,bb3] db4 [f3,bb3] db4 [f3,bb3] db4, f4@4 [db5,db6]@3 ~ [c5,c6]@2 [bb4,bb5]@2 [a4,a5]@2 [bb4,bb5]@2", // Bb5 Dbmaj7 Bb5 Db C Bb A Bb
  AY: "[eb3,bb3] db4 [eb3,bb3] db4 [eb3,bb3,c6] [db4,db6] [eb3,bb3,f6] [db4,db6] [eb3,bb3,a5] [db4,bb5] [eb3,bb3,db6] [db4,bb5] [eb3,bb3,e5] [db4,f5] [eb3,bb3,bb5] [db4,f5], [f5,f6] ~@3", // Eb5 Cm7 Db Ebsus2 Db Eb Gb Eb7 …
  AZ: "[eb3,bb3,c5] [db4,db5] [eb3,bb3,f5] [db4,db5] [eb3,bb3,a4] [db4,bb4] [eb3,bb3,db5] [db4,bb4] [eb3,bb3] db4 [eb3,bb3] db4 [eb3,bb3] db4 [eb3,bb3] [db4,c5,c6], ~@8 f4@4 [db5,db6]@3 ~", // Cm7 Db Ebsus2 Db Eb Gb Eb7 Gb …
  BA: "[eb3,g3] db4 [eb3,g3] db4 [eb3,g3] db4 [eb3,g3] db4 [ab3,c4] eb4 [ab3,c4] eb4 [ab3,c4] eb4 [ab3,c4] eb4, [c5,c6] [bb4,bb5] [a4,a5] [bb4,bb5] [eb5,eb6]@3 eb5", // Eb Ab C Bb A Bb Eb
  BB: "[ab3,c4,eb5] [eb4,ab4] [ab3,c4,c5] [eb4,eb5] [ab3,c4] f4 [ab3,c4] f4 [a3,bb3] f4 [a3,bb3,d5] [f4,eb5] [a3,bb3,f5] [f4,d5] [a3,bb3,eb5] [f4,f5], ~@2 d5@3 ~@3", // Ab Ab5 Ab Eb Ab Bbmaj7 F7 Bbmaj7 …
  BC: "[g3,c4] eb4 [g3,c4] eb4 [g3,c4,g4] [eb4,g4] [g3,c4,c5] [eb4,eb5] [g3,b3,db4] f4 [g3,b3,db4] f4 [g3,b3,db4,g4] [f4,g4] [g3,b3,db4,b4] [f4,d5], [g4,g5]@5 ~@3 g5@5 ~@3", // C5 Eb C5 Eb Dbm7b5 Fsus2 Dbm7b5 Dm …
  BD: "~ [g3,c4,e4]!7, [c2,c3,g4,c5,e5] ~", BE: "~ [g3,c4,e4]!7, c3, [e5,c6,e6]@2 [g5,e6,g6] [e5,c6,e6]",
  BF: "~ [g3,b3,eb4]!3 [g3,c4,e4]!4, c3, [eb5,b5,eb6]@2 [e5,c6,e6] [c5,c6]", // Gaug C Abm C
  BG: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4,c5,c6]@2 ~ [e5,e6], [a4,a5]@2 [c5,c6]@2 [g4,g5]@2 ~ [g3,c4,e4]", // F C E A C G C
  BH: "[g3,b3,f4]@2 [g3,b3,f4]@2 [g3,b3,f4,g5]@2 ~ d6 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2 [c4,e4]@2, eb6@7 ~ [g5,eb6]@8, g5@2 ~ [g3,b3,f4] ~@4", // G7 C Cm G7
  BI: "~ [g3,c4,e4]!5 [g3,c4,e4,g5,g6] [g3,c4,e4,e5,e6], c3, [e5,e6] [a5,a6]@2 ~", // C E A
  BJ: "~ [g3,b3,eb4]!3 [g3,c4,e4]!4, c3, [eb5,bb5,eb6]@2 [e5,c6,e6] [c5,c6]", // Gaug C Eb5 C
  BK: "[g3,b3,f4]@2 [g3,b3,f4]@2 [g3,b3,f4]@2 [g3,b3,f4,d5,d6]@2 ~@2 [g3,c4,eb4]@2 [g3,c4,eb4,eb5]@2 c5 d5, [g5,g6]@3 ~ [c3,eb6]@3 ~, ~@2 eb5 ~", // G7 Cm G Cm
  BL: "~@2 [g3,c4,eb4]@2 [g3,c4,eb4]@2 c5 d5 ~@2 [f3,c4,eb4]@2 [f3,c4,eb4]@2 d5 c5, [bb2,eb5]@3 ~ [a2,eb5]@3 ~", // Cm F7 Eb5 Adim
  BM: "~@2 [f3,a3,eb4]@2 [f3,a3,eb4]@2 c5@2 ~@2 [f3,bb3,db4]@2 [f3,bb3,db4]@2 bb4 c5, [f2,f5]@3 ~ [bb2,db5]@3 ~", // F7 Bbm F Bbm
  BN: "~@2 [f3,bb3,db4]@2 [f3,bb3,db4]@2 bb4 c5 ~@2 [eb3,bb3,db4]@2 [eb3,bb3,db4]@2 c5 bb4, [ab2,db5]@3 ~ [g2,db5]@3 ~", // Bbm Eb7 Db5 Gdim
  BO: "~@2 [eb3,g3,db4]@2 [eb3,g3,db4]@2 b4@2 ~@2 [eb3,ab3,c4]@2 [eb3,ab3,c4]@2 db5 c5, [eb2,eb5]@3 ~ [ab2,c5]@3 ~", // Eb7 Ab Eb Ab
  BP: "~@2 [db3,g3]@2 [db3,g3]@2 c5 bb4 ~@2 [f3,ab3]@2 [f3,ab3]@2 bb4 ab4, [bb2,bb4]@3 ~ [c3,ab4]@3 ~", // Dbdim Fm Bb Fm
  BQ: "g4@2 c4 [e4,g4] c5 [e5,g5] c6 [e6,g6] [c3,e3,c7]@2 ~@2 [c3,bb3,c4,e4]@2 ~@2, g3@5 ~@3, [c3,e3] ~", // Em C C7 C
  BR: "[f3,ab3,c4] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] [c4,g4,g5], f4@2 ~@10 [ab4,ab5]@3 ~", // Fm C5 Ab
  BS: "[f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] [c4,g4,g5], [g4,g5]@2 [f4,f5]@2 [e4,e5]@2 [f4,f5]@2 c5@4 [f4,f5]@3 ~", // Fm C5 G F E F
  BT: "[f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] [c4,c5,c6], [ab4,ab5]@2 [bb4,bb5]@2 [c5,c6]@2 f5@2 [c5,c6]@4 [bb4,bb5]@3 ~", // Fm C Ab Bb C Bb
  BU: "[f3,bb3] db4 [f3,bb3] db4 [f3,bb3] db4 [f3,bb3] [db4,bb5] [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] c4 [f3,ab3] [c4,g5], [db5,db6]@2 f5@2 [db5,db6]@3 ~ [c5,c6]@2 f5@2 [f4,f5]@3 ~", // Bb5 Gb Fm C5 Db C F
  BV: "[db3,f3] ab3 [db3,f3,ab5] [ab3,ab5,bb5] [db3,f3,g5] [b3,f5] [db3,f3,e5] [b3,f5] [c3,e3] c4 [c3,e3] c4 [c3,e3] bb3 [c3,e3] bb3, [ab4,ab5]@2 ~@6 [f4,g5]@2 c5@2 [c5,c6]@3 ~", // Db Absus2 Gm7b5 Bdim Db Bdim C Ab …
  BW: "[f3,c4,f4,ab4,f5]@2 ~@3 [c3,c4,g4,bb4]!3", BX: "[f2,f3,c4,f4,ab4]@2 ~@3 [bb2,d4,f4] [bb2,eb4,g4] [bb2,f4,ab4]",
  BY: "[eb2,bb2,eb3,eb4,g4]@2 ~@3 [bb2,d4,ab4,c5] [bb2,d4,g4,bb4] [bb2,d4,f4,ab4]", // Eb Bb7 Gm Bb7
  BZ: "[eb4,g4] bb3 [eb4,g4] bb3 [eb4,g4] bb3 [eb4,g4] bb3 [eb4,g4] c4 [eb4,g4] c4 [e4,g4] c4 [e4,g4] c4, eb3 [d2,d3] [c2,c3] [bb1,bb2]", // Eb Em D C Bb
  CA: "f4 c4 f4 c4 f4 c4 f4 c4 [d4,gb4] c4 [d4,gb4] c4 [d4,gb4] c4 [d4,gb4] c4, [a1,a2] [ab1,ab2]", // D A Ab
  CB: "[g1,g2,b3,d4,g4]@2 ~@3 [d3,gb4,a4] [d3,g4,b4] [d3,a4,c5]", // G D G D7
  CC: "[g2,d3,g3,g4,b4]@2 ~@3 [d3,gb4,a4] [d3,g4,b4] [d3,ab4,c5]", // G D G Dm7b5
  CD: "[g4,b4] db4 [g4,b4] db4 [gb4,a4] db4 [gb4,a4] db4 [g4,b4] db4 [g4,b4] db4 [a4,c5] db4 [a4,c5] db4, [g2,g3] d3 [g2,g3] d3", // G Gbm G Am G
  CE: "[g2,g3,g4,b4] [d3,gb4,a4] [g2,g3,g4,b4] [d3,a4,c5] [g2,g3,g4,b4] [d3,gb4] [g2,g3,g4,b4] [d3,a4,c5]", // G D G D7 G D G D7
  CF: "[g2,d3,g3,g4,b4] ~ [g2,b2,d3,g3,g4,b4,d5,g5]!2", CG: "[g2,b2,d3,g3,g4,b4,d5,g5] [g3,g4]!7",
  CH: "[g3,g4]@2 f3 eb3 [d3,c4,f4,ab4]@2 [c3,c4,f4,ab4]@2 [bb2,d4,f4,ab4]@2 [bb2,d3,ab4,c5]@2 [c3,eb3,g4,bb4]@2 [d3,f3,f4,ab4]@2, ~ [c4,f4,ab4] ~@6", // G Dm7b5 Fm Bb7 Cm7 Ddim Fm
  CI: "[eb3,g3,eb4,g4]@2 eb3 db3 [c3,eb4,g4]@2 [eb3,eb4,g4]@2 [bb2,eb4,g4]@2 [eb3,g3,g4,bb4]@2 [f3,ab3,f4,ab4]@2 [g3,bb3,eb4,g4]@2, ~ [eb4,g4] ~@6", // Eb Cm Eb Fm Eb
  CJ: "[eb4,g4] [d4,f4]!2 [g3,bb3,eb4] [f4,ab4]!2 [bb3,d4,bb4]!2, [ab3,c4]@3 ~ [f3,ab3]@4, ~@3 bb2", // Eb Dm Eb Fm Bb Ab Fm
  CK: "[eb4,g4] bb3 [eb4,g4] bb3 [eb4,g4] bb3 [eb4,g4] bb3, eb3, g3 ~@3", // Eb
  CL: "[eb4,g4] bb3 [eb4,g4] bb3 [eb4,g4] bb3 [eb4,g4] bb3, eb3, eb2 ~", // Eb
  CM: "[d4,gb4] bb3 [d4,gb4] bb3 [eb4,g4] bb3 [eb4,g4] bb3, [eb2,eb3] db3", // D Eb
  CN: "c3 db3 [ab3,eb4,ab4]@2 [ab3,eb4,ab4]@2 [ab3,eb4,ab4]@2 ~@2 [c4,e4,bb4]@2 [c4,e4,bb4]@2 [c4,e4,bb4]@2, ~ c3@15, ~ c2", // Ab5 C7
  CO: "~ [c4,f4,ab4]!7, [f2,f3]@3 eb3", // Fm F
  CP: "d3 eb3 [bb3,f4]@2 [bb3,f4]@2 [eb3,bb3,g4]@2 [bb3,ab4]@2 [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2, ~ d3@5 ~@2 f3@4 [ab2,ab3]@4", // Bb5 Eb Bb7 Bb Ab
  CQ: "~ [bb3,eb4] [bb3,eb4,bb4]!2 ~ [bb3,d4,f4,bb4,bb5]!3, [g2,g3] ab3", // Eb5 Bb G
  CR: "~@2 [bb3,eb4]@2 [bb4,bb5] c5 [d5,eb5] [f5,g5] [bb4,bb5]@2 [ab3,bb3,d4,bb4,bb5]@2 [ab3,bb3,d4,bb4,bb5]@2 [ab3,bb3,d4,bb4,bb5]@2, g3 f3, eb5@4 [bb3,eb4]@2 [bb3,eb4]@2 ab5 ~@7", // Eb5 Bb Ebmaj7 Fsus2 Bb Bb7 Eb5
  CS: "eb3 g2 bb2 eb3 g3 eb3 bb2 ab2 ~ ab2 d3 f3 ~ bb2 eb3 g3, [eb2,g5,eb6,g6]@2 f2 g2, ~@4 [f5,d6,f6]!2 [eb5,bb5,eb6]!2", // Eb Dm Eb5
  CT: "~ c3 f3 ab3 f3 ab3 f3 c3 ~ c3 f3 ab3 f3 ab3 f3 c3, ab2!2, [d5,bb5,d6]!2 [c5,ab5,c6]!2 [bb4,g5,bb5]!2 [ab4,f5,ab5]!2", // Gm Fm Eb Db
  CU: "[g4,eb5,g5] [bb4,eb5,g5] [g4,bb4,eb5] [db4,g4,bb4] [bb3,eb4,g4]@4, bb2@5 ~@3", // Cm Eb Gdim Eb
  CV: "[a3,eb4,g4] [c5,eb5,g5] [a4,c5,eb5] [g4,a4,c5] [eb4,g4,a4]@4, c3@5 ~@3, c2@4 c2 ~@3", // Am7b5 Cm Adim Am7 Am7b5
  CW: "[eb4,f4,ab4] [eb4,f4,ab4,c5] [eb4,f4,ab4] [c4,eb4,f4] [ab3,c4,eb4,f4]!2 [ab3,bb3,d4,f4] [ab3,bb3,d4,g4], bb2, ~ bb1", // Fm7 F7 Fm7 Bb7 Gm
  CX: "[g3,bb3]@2 [eb3,g3,bb3]@4 [eb3,g3,bb3]@2 ~ eb4 ~ f4 g4 ab4 ~ bb4, [eb2,eb4] db3, ~@5 [eb3,g3,bb3]@2 [eb3,g3,bb3]", // Gm Eb
  CY: "~@6 [eb3,ab3]@2 ~ ab4 ~ bb4 b4 db5 ~ eb5, c3 b2, bb4@4 ab4@5 ~@7, ~ [eb3,ab3]@2 ~@2 [db3,f3,ab3]@2 [db3,f3,ab3]", // Ab5 Db
  CZ: "~@4 db5@4 ~ [bb4,db5] ~ [b4,eb5] [db5,e5] [eb5,g5] ~ [e5,ab5], bb2 gb2, c5 ~@3, ~ [db3,gb3]@2 ~@2 [gb3,bb3,e4]@2 [gb3,bb3,e4]", // Bbm B Dbm Eb E Gb5 Gb7
  DA: "~@6 [g3,b3,eb4]@2 ~ [bb4,db5] ~ [b4,eb5] [db5,e5] [eb5,g5] ~ [e5,ab5], b2 gb2, [d5,f5]@4 gb5@5 ~@7, ~ [g3,b3,eb4]@2 ~@2 [g3,bb3,e4]@2 [g3,bb3,e4]", // Gaug Bbm B Dbm Eb E Dm Gaug …
  DB: "~@2 [eb5,gb5] [gb3,b3,eb4] ~ [gb3,b3,d4,f4,g4,g5]@2 [g3,b3,d4,f5], b2 g2, [e5,ab5] ~@3, ~ [gb3,b3,eb4]@2 ~@5", // Ebm B G7 E B
  DC: "f5 eb5 d5 eb5 ~@2 [g3,c4,eb4]@2 ~ b4 d5 f5 [ab4,ab5]@2 ~ g5, c3 g2, ~ [g3,c4,eb4]@2 ~@2 [g3,b3,d4,f4]@2 [g3,b3,d4,f4], ~@4 c5@5 ~@7", // Cm Ab Cm G7
  DD: "f5 eb5 d5 eb5 ~@2 [g3,c4,eb4]@2 ~ c5 e5 g5 [bb4,bb5]@2 ~ ab5, c3 g2, ~ [g3,c4,eb4]@2 ~@2 [e3,g3,c4]@2 [e3,g3,c4], ~@4 c5@5 ~@7", // Cm Bb Cm C
  DE: "g5 f5 e5 f5 ~@2 [f3,ab3,c4]@2 ~ e5 g5 bb5 [db5,db6]@2 ~ c6, c3!2, ~ [f3,ab3,c4]@2 ~@2 [e3,g3,c4]@2 [e3,g3,c4], ~@4 c5@5 ~@7", // Fm Db Fm C
  DF: "[f2,f3,bb4,bb5]@2 [f3,ab3,c4,ab4,ab5]@2 [ab3,ab5,ab6]@3 [g3,g5,g6] [g3,g5,g6]@2 [f3,f5,f6]@2 [ab3,ab5,ab6]@3 [g3,g5,g6]", // Bb5 Fm Ab G F Ab G
  DG: "[[eb3,eb5,eb6]@2 [db3,db5,db6]@2 [db3,db5,db6]@3 [c3,c5,c6] [c5,c6]@2 ~@4 ab4@2 ab4@2 ~@6 [f2,f3]@2 [eb2,eb3,eb4,eb5]@2 [db2,db3,db4,db5]@2 [c2,c3,c4,c5]@2, ~@2 [c3,c4] [bb2,bb3] [ab2,ab3] [g2,g3] ~@2, ~@5 [bb4,bb5]@2 ab5@2 [g4,g5]@2 [f4,f5]@2 ~@3]/2", // Eb Db C F Eb Db C Bb …
  DH: "[b1,b2,b3,b4]@3 [b3,d4,f4,ab4,b4,d5,f5,ab5] [b3,d4,f4,ab4,b4,d5,f5,ab5]@2 ~@10", // B Bdim
  DI: "~@2 [b1,b2,b3,b4] [c2,c3,c4,c5] [db2,db3,db4,db5]@2 [c2,c3,c5] [b1,b2,b4]", // B C Db C B
  DJ: "[c2,c3,c4,c5] ~ [eb2,ab2,c3,c5,f5,ab5,c6] ~", DK: "[c2,c3,c4] ~ [eb2,bb2,db3,c5,e5,g5,c6] ~",
  DL: "c4 f4 ab4 f4 c4 e4 g4 e4 ab3 c4 f4 c4 ab3 c4 f4 c4, c3!2 [f2,f3]@2", DM: "[c3,c4,f4,ab4] ~ [c2,c3,c4,e4,g4] ~",
  DN: "[[db3,ab3,db4]@4 [db3,ab3,db4]@3 [db2,db3,ab3,db4,f4], [db2,f4]@7 ~]/2", // Db5 Db
  DO: "[[c3,f4,ab4]@4 [c3,f4,ab4]@3 [c2,c3,c4,f4,ab4], [c2,c4]@7 ~]/2", // Fm C
  DP: "[b1,b2,d4,f4,ab4]@2 ~ [b1,b2,d4,f4,ab4] [b1,b2,f4,a4,bb4]@2 ~ [b1,b2,f4,a4,bb4]", // Bdim Bm7b5
  DQ: "[b1,b2,f4,ab4,d5]@2 ~ [b1,b2,f4,ab4,d5] [b1,b2,f4,ab4,d5,f5]@2 [b1,b2,f4,ab4,d5,f5]@2", // Bdim
  DR: "~ [c2,c3,f4,ab4,c5]!3 [c2,c3,f4,ab4,c5]@2 ~@2", DS: "~ [c3,bb3,e4,g4]!3 [c3,bb3,e4,g4]@2 ~@2",
  DT: "[f2,f3] [ab3,c4,f4] c3 [c4,e4,g4]", DU: "[f2,f3] [c4,f4,ab4] c3 [c4,e4,g4]",
  DV: "[f2,f3,ab3,c4,f4] [c3,c4,e4,g4] [f2,f3,c4,f4,ab4] [c3,c4,e4,g4]", // Fm C Fm C
  DW: "[f3,ab3,c4,f4] f4 [f3,ab3,c4,ab4] c5 [f3,ab3,c4,f4,f5] ab4 [f3,ab3,c4,f4,c5] f5", // Fm
  DX: "[f3,ab3,c4,f4,ab5] c5 [f3,ab3,c4,f4,f5] ab5 [f3,ab3,c4,f4,c6] f5 [f3,ab3,c4,f4,ab5] c6", // Fm
  DY: "[f3,ab3,c4,f4,f5,f6]@4 ~@3 [f2,f3,ab3,c4,f4] [f2,f3,ab3,c4,f4]@4 [f2,f3,ab3,c4,f4]@4", // Fm
  DZ: "[f2,f3,ab3,c4,f4]@3 ~ [f4,ab4,c5,f5,ab5,c6,f6]@3 ~", EA: "[f1,f2,db5]",
})).s("gm_piano").gain(0.3)

stack(piano)