Strudelify

Merry-Go-Round of Life

Joe Hisaishi

KeyB♭ majorTempo144 bpm
0:00/0:00
// Merry-Go-Round of Life — Joe Hisaishi
// 144 bpm, 3/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (3/4 at bar 1, 6/8 at bar 148, 3/4 at bar 164) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5974895; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 248 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(144/3)

// 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.

// other · viola
const viola = note(`<
  ~@32 A@6 ~@2 B C B@2 D E B@2 F G H I B J K@2 I L K M N O P Q R S T U H V W X P Y Z AA AB AC AD O AE AF AD AG AH K@3 AI
  AJ K@2 AK@2 AL O AM AN AO AP AQ AR AS AT AU AV AW AX AY@2 AZ ~ BA BB AI BC BD BE BF BA AX BG BH BI BJ BK AH BL BM@2 AH
  ~@12 BN BO@3 ~@4 BP BQ BR BS ~@4 BT BU BV BW BX AD O AE BY AD AG BM@2 BZ@2 CA CB CC CD@2 CE CF O CG CH CI@2 CJ AR AS
  AT AU AV AW AX CK CL CM CN@2 CO CP@8 CQ@8 CR@3 CS@2 CT@3 ~@3 CU@2 CV@2 CW@7 CX CY@7 CZ@2
>`.pickRestart({
  A: "[~ a3@20 ~@3]/6", B: "~@5 g3@5 ~ d4@5", C: "~@5 g3@5 ~ a3@5", D: "~@5 g3@5 ~ eb4@5", E: "~@5 gb3@5 ~ d4@5",
  F: "~@5 eb4@5 ~ eb4@5", G: "~@5 a3@5 ~ eb4@5", H: "~@5 d4@5 ~ d4@5", I: "~@5 f3@5 ~ d4@5", J: "~@5 e3@5 ~ db4@5",
  K: "~@5 d3@5 ~ d3@5", L: "~@5 e3@5 ~ d4@5", M: "d3@5 g3@5 ~ bb3@5", N: "d4@11 d4@5", O: "c4@5 bb3@5 ~ a3@5", P: "bb3",
  Q: "g3@5 bb3@5 ~ d4@5", R: "g4@11 g4@5", S: "g4@5 a4@5 ~ f4@2 eb4@3", T: "f4", U: "a3@5 d4@5 ~ f4@5",
  V: "db4@11 db4@5", W: "c4@8 f4@3 c4@5", X: "f3@8 f3@3 g3@2 a3@3", Y: "a3", Z: "~@5 gb4@5 ~ g4@5",
  AA: "a4@5 gb4@5 ~ d4@5", AB: "~@5 d4@5 ~ e4@5", AC: "gb4@5 d4@5 ~ a3@5", AD: "eb4@11 d4@5", AE: "bb3@5 c4@5 ~ d4@5",
  AF: "f3@11 f4@5", AG: "c4@5 bb3@5 ~ c4@5", AH: "d4", AI: "~@5 g4@3 gb4@3 g4@2 a4@3",
  AJ: "g4@3 f4@2 e4@3 d4@3 db4@2 a3@3", AK: "~@5 e3@5 ~ e3@5", AL: "~@5 eb4@5 ~ d4@5",
  AM: "g4@5 f4@2 e4@2 eb4@2 ~ db4@2 c4@2, ~@11 d4@2 ~@3", AN: "a3@5 bb3@5 ~ c4@5", AO: "c4@11 c4@5", AP: "c4@11 d4@5",
  AQ: "e4@5 g4@2 gb4@2 f4@2 ~ eb4@2 d4@2, ~@11 e4@2 ~@3", AR: "c4@5 g4@5 ~ f4@5", AS: "e4@5 eb4@5 ~ e4@5",
  AT: "g4@5 f4@5 ~ e4@5", AU: "d4@5 db4@5 ~ d4@5", AV: "e4@11 a4@5", AW: "c5@11 bb4@5", AX: "a4@11 g4@5",
  AY: "[gb4@3 a4@2 d4@16 d4@5 ~ a3@5]/2", AZ: "~@5 d4@5 ~ a3@5", BA: "~@5 bb3@5 ~ bb3@5", BB: "~@5 gb4@5 ~ gb4@5",
  BC: "g4@3 ~@13", BD: "~@5 bb3@3 c4@3 d4@2 eb4@3", BE: "bb3@3 ~@2 a3@5 ~ a3@5", BF: "~@5 a3@5 ~ a3@5",
  BG: "~@5 f4@3 e4@3 eb4@2 e4@3", BH: "g4@11 f4@5", BI: "~@5 e4@3 d4@3 db4@2 d4@3", BJ: "d4@5 e4@3 f4@3 g4@2 a4@3",
  BK: "g4@5 g4@3 f4@3 g4@5", BL: "d5@2 db5@2 ~ a4@2 g4@2 gb4@2 ~ d4@2 db4@2, ~@4 b4@2 ~@5 e4@2 ~@3", BM: "d4/2",
  BN: "f4@5 eb4@5 ~ d4@5", BO: "ab3/3", BP: "~@2 a4 ~", BQ: "bb4 ~ eb4 ~", BR: "d4 ~ c4 ~", BS: "bb3 ~ g3 ~",
  BT: "d4@3 g4@2 bb4@3 d5@5 c5@3", BU: "bb4@3 a4@2 bb4@3 c5@5 bb4@3", BV: "a4@3 g4@2 gb4@3 g4@3 f4@2 eb4@3",
  BW: "d4@3 e4@2 gb4@3 g4@8", BX: "~@11 d4@5", BY: "f3@11 f3@5", BZ: "d3", CA: "a3@3 ab3@2 a3@3 bb3@3 a3@5",
  CB: "a3@3 ab3@2 a3@3 g3@3 e3@2 db3@3", CC: "~@3 a4 ~ ab4 ~@2 a4 ~@2 bb4 ~ a4 ~@2",
  CD: "[bb4 ~@2 a4 ~ g4 ~@2 f4 ~@2 e4@10 e4@3 f4@3 g4@2 f4@3]/2", CE: "eb4 d4 ~ db4 c4 b3 ~ bb3 a3 ab3 ~ a3@5",
  CF: "d4@5 eb4@5 ~ d4@5", CG: "g3", CH: "g3@5 bb4@2 a4@2 ab4@2 ~ gb4@2 f4@2, ~@11 g4@2 ~@3", CI: "e4", CJ: "a4",
  CK: "gb4@3 a4@2 c4@2 d4@2 c4@2 bb3@5", CL: "~@5 bb3@2 c4@2 bb3@2 a3@5", CM: "~@5 g3@2 a3@2 g3@2 gb3@5",
  CN: "[~@5 eb3@2 gb3@2 eb3@2 d3@21]/2", CO: "e3 a3",
  CP: "[~ c4@8 c4@25 e3@5 a3@5 ~ c4@5 e4@11 e4@5 d4@5 c4@5 ~ b3@5 c4@5 c4@5 ~ c4@5 a3@5 c4@5 ~ e4@5 a4@11 a4@3]/8",
  CQ: "[~@2 a4@5 g4@5 ~ f4@5 g4@16 d4@5 e4@5 ~ g4@5 b4@11 a4@5 g4@5 gb4@5 ~ g4@5 a4@11 g4@5 gb4@11 e4@5 d4@5 c4@5 ~ d4@3]/8",
  CR: "[~@2 e4@5 d4@5 ~ a3@5 b3@5 b3@5 ~ b3@5 b3@5 ~@9]/3", CS: "[~@7 c4@3 a3@3 c4@2 a3@3 b3@3 ~@11]/2",
  CT: "[~@7 a4@3 ab4@3 a4@2 b4@3 a4@8 g4@8 ~@5 a4@3 b4@3 a4@3]/3", CU: "[~@7 a3@3 b3@3 c4@2 f4@3 e4@11 ~@3]/2",
  CV: "[~@7 a3@3 b3@3 c4@2 gb4@3 e4@11 ~@3]/2",
  CW: "[~@2 e4@5 d4@3 e4@3 d4@2 c4@3 b3@5 b3@3 db4@3 eb4@5 e4@2 eb4@2 ~ c4@2 b3@2 a3@2 ab3@2 ~ e3@2 e3@16 e4@16 e4@5 gb4@3 e4@3 eb4@2 e4@3 g4@10 gb4@3 ~, ~@38 db4@2 ~@7 gb3@2 ~@63]/7",
  CX: "e4@3 eb4@5",
  CY: "[db4@3 ~ eb4@20 ~@7 e4@40 e3@3 ab3@2 a3@3 c4@3 b3@2 bb3@3 b3@3 eb4@2 e4@3 gb4@3 ab4@2 gb4@3 ab3@3 b3@2 c4@3 eb4]/7",
  CZ: "[~@2 e4@5 ~@5 b3@11 ~@9]/2",
})).s("gm_viola").gain(0.3)

// chords · piano
const piano = note(`<
  A B C@4 D E@8 F@4 G@7 H@3 I@3 J@6 ~@2 K L K L M N K@2 M O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM
  AN AO AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG AB@2 BH BI BJ BK BL BM BN BO BP BQ BR@3 BS BT BU BV
  BW BX BY BZ CA CB CC CD AK AL AM CE CF AN CG CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY CZ DA DB ~@4 DC DD
  DE DF DG DH DI DJ DK DL DM DN DO DP DQ DR@2 DS@2 DT@2 DS DU DV DW BF BG AB DX BH BI BJ BK BL BM DY BO DZ BP EA AN EB
  EC ~@2 ED@3 EE@8 EF@5 EG@7 EH@8 EI@6 EJ EK@5 EL EM EN EO@2
>`.pickRestart({
  A: "~@5 [bb4,d5]@4 [c5,eb5]@4 [bb4,d5]@3", B: "[c5,eb5] [bb4,d5] [c5,eb5] [a4,c5]",
  C: "[[bb4,d5]@4 [a4,c5]@3 [bb4,d5]@4 [a4,c5]@4 [bb4,d5]@4 [g4,bb4]@4 [a4,c5]@4 [g4,bb4]@4 [a4,c5]@3 [g4,bb4]@4 [a4,c5]@4 [gb4,a4]@2 [e4,g4]@2 [d4,gb4]@18]/4", // Bb Am Bb Am Bb Gm Am Gm …
  D: "~ d2@4 a2@4 d3@4 a3@3",
  E: "[[gb3,a3,d4,gb4]@29 ~@2 d4@7 ~ g4@7 ~ bb4@7 ~@3 d5@5 [g3,bb3,d4,eb4]@7 ~ [eb4,g4,bb4,d5]@7 [gb4,c5]@7 ~ bb4@7 ~ a4@7 g2@7 ~ [g3,bb3,d4,eb4]@15 g3@5, ~@54 [c2,eb4]@8 ~@15 [d2,d3,d4]@22 ~@29, ~@55 g4@7 ~@23 gb4@15 ~@28, ~@28 bb4@3 ~@19 bb4@11 ~@3]/8", // D Ebmaj7 Gbdim Ebmaj7 Cm D
  F: "[~@7 g4@4 bb4@4 d5@3 c3@7 ~@9 [bb4,g5]@7 [f2,g5]@7 ~ f5@7 ~ eb5@7, ~@3 [g3,bb3,d4,eb4]@15 [bb4,g5]@15 ~@8 bb4@22 ~, ~@26 [g3,c4,eb4,g4]@15 ~@8 [a3,c4,f4]@15]/4", // Eb Fsus2 Ebmaj7 Eb Cm F
  G: "[~@8 [f3,a3,bb3,d4]@15 f3@7 ~@5 a4@4 d5@4 f5@4 ~@15 [bb4,d5,g5]@7 ~ [a2,db5,f5]@7 e5@7 ~ f5@7 ~@16 [a4,d5,f5]@4, f4@23 ~@8 [f3,a3,bb3,d4]@15 ~ e3@7 [bb3,d4,g4]@15 ~@8 [g3,bb3,db4,db5]@15 ~ d3@7 [f3,a3,d4]@12, bb2@3 f5@20 ~@25 a5@14 ~@32 g5@14 ~@4, ~ a4@22 ~@24 [bb4,d5]@15 ~@8 bb4@22 ~ [a4,d5]@15 ~@4, ~@2 d5@21 ~@89]/7", // Bbmaj7 Gm Aaug Dm Bbmaj7 Gm Gdim Dm …
  H: "[~@4 c3@7 ~@8 [a4,d5]@7 ~ [bb2,c5]@7 bb4@7 ~ c5@6, ~@4 [a4,e5]@15 ~@8 [d4,f4]@21, ~@11 [f3,a3,d4]@15 ~@8 [f3,a3,bb3]@14]/3", // D5 Bbsus2 A5 Dm Bbmaj7
  I: "[~@2 [a2,d5]@7 c5@7 ~ g4@7 ~ d3@7 ~@4 d4@4 g4@4 a4@4, ~@9 [e3,g3]@15 ~ a4@11 ~@12, ~@32 [g3,a3,c4]@15 ~]/3", // D5 Em Am7
  J: "[[d3,gb3,a3,c4,eb4,gb4,a4]@19 ~ [d3,gb3,a3,c4,d4,gb4,a4]@21 ~@7]/6", // D7
  K: "~@5 [g3,bb3,d4]@5 ~ [g3,bb3,d4]@5, g2@15 ~", L: "~@5 [g3,bb3,d4]@5 ~ [g3,bb3,d4]@5, d2@15 ~",
  M: "~@5 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5, c3@15 ~", N: "~@5 [gb3,c4,d4]@5 ~ [gb3,c4,d4]@5, d3@15 ~",
  O: "~@5 [a3,c4,eb4]@5 ~ [a3,c4,eb4]@5, f3@15 ~", P: "~@5 [f3,a3,d4]@5 ~ [f3,a3,d4]@5, bb2@15 ~",
  Q: "f3@5 [f3,a3,d4]@5 ~ [f3,a3,d4]@5", R: "~@5 [g3,bb3,d4]@5 ~ [g3,bb3,d4]@5, e3@15 ~",
  S: "~@5 [e3,g3,db4]@5 ~ [e3,g3,db4]@5, a2@15 ~", T: "~@5 [f3,a3,d4]@5 ~ [f3,a3,d4]@5, d3@15 ~",
  U: "~@5 [f3,a3,d4]@5 ~ [f3,a3,d4]@5, c3@15 ~", V: "~@5 [f3,bb3,d4]@5 ~ [f3,bb3,d4]@5, bb2@15 ~",
  W: "~@5 [e3,g3,d4]@5 ~ [e3,g3,d4]@5, a2@15 ~", X: "~@5 [e3,g3,d4]@5 ~ [e3,g3,d4]@5, d3@15 ~",
  Y: "~@5 [g3,bb3,d4]@5 ~ [g3,bb3,d4]@5, d3@15 ~", Z: "~@5 [g3,bb3,eb4]@5 ~ [g3,bb3,eb4]@5, c2@15 ~",
  AA: "~@5 [bb3,d4,gb4]@5 ~ [a3,d4,gb4]@5, d2@15 ~", AB: "~@5 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@5, g2@15 ~",
  AC: "[f3,ab3,c4] [bb2,f3,ab3]", AD: "~@5 [bb3,d4,g4]@5 ~ [bb3,d4,g4]@5, eb2@15 ~",
  AE: "~@5 [a3,c4,f4]@5 ~ [a3,c4,f4]@5, eb2@15 ~", AF: "~@5 [a3,c4,f4]@5 ~ [a3,c4,f4]@5, d2@15 ~",
  AG: "~@5 [bb3,d4,f4,g4]@5 ~ [bb3,d4,f4,g4]@5, g1@15 ~", AH: "~@5 [bb3,d4,f4,a4]@5 ~ [bb3,d4,f4,g4]@5, e2@15 ~",
  AI: "~@5 [bb3,db4,f4]@5 ~ [bb3,db4,g4]@5, a1@15 ~", AJ: "~@5 [a3,c4,d4,g4]@5 ~ [a3,c4,d4,f4]@5, d2@15 ~",
  AK: "~@5 [a3,d4,f4]@5 ~ [a3,d4,f4]@5, c2@15 ~", AL: "~@5 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@5, bb1@15 ~",
  AM: "~@5 [a3,db4,e4]@5 ~ [a3,db4,e4]@5, a1@15 ~", AN: "~@5 [a3,d4,gb4]@5 ~ [a3,d4,gb4]@5, d2@15 ~",
  AO: "~@5 [a3,d4,gb4]@5 ~ [a3,d4,gb4]@5, a1@15 ~", AP: "~@5 [bb3,eb4,g4]@5 ~ [bb3,eb4,g4]@5, f2@15 ~",
  AQ: "~@5 [bb3,c4]@5 ~ [a3,c4]@5, f2@15 ~", AR: "~@5 [bb3,c4,eb4]@5 ~ [bb3,d4,f4]@5, f2@15 ~",
  AS: "~@5 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@5, bb2@15 ~", AT: "~@5 [bb3,eb4,g4]@5 ~ [bb3,eb4,g4]@5, bb2@15 ~",
  AU: "~@5 [a3,c4]@5 ~ [a3,c4,eb4]@5, f2@15 ~", AV: "~@5 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@5, f2@15 ~",
  AW: "bb2@5 [bb3,d4,f4]@5 ~ [bb3,d4,f4,d5]@5", AX: "d5 e5 ~ d5@2 [a3,d4,f4,db5]@5 ~ [a3,d4,f4,d5]@5, d3@5 ~@11",
  AY: "[a2,f5]@5 [a3,d4,f4,e5]@5 ~ [a3,d4,f4,d5]@5", AZ: "e3@5 [a3,d4,e4]@5 ~ [a3,d4,e4,e5]@5, db5@5 ~@3",
  BA: "a2@5 [a3,db4,e4]@5 ~ [a3,db4,e4,a4]@5, a4@5 ~@3", BB: "d3@5 [a3,d4,f4]@5 ~ [a3,d4,f4,f5,a5]@5, [f5,a5]@5 ~@3",
  BC: "[a2,f5,a5]@5 [a3,d4,f4,e5,g5]@5 ~ [a3,d4,f4,d5,f5]@5", BD: "e3@5 [a3,db4,e4]@5 ~ [a3,db4,e4]@5, [e5,g5]@15 ~",
  BE: "a2@5 [a3,db4,e4]@5 ~ [a3,db4,e4]@5", BF: "~@5 [a3,c4,eb4]@5 ~ [a3,c4,d4]@5, d2@15 ~",
  BG: "~@5 [a3,c4,e4]@5 ~ [a3,c4,d4]@5, d2@15 ~", BH: "~@5 [bb3,c4,e4]@5 ~ [bb3,c4,g4]@5, c2@15 ~",
  BI: "~@5 [bb3,c4,f4]@5 ~ [bb3,c4,e4]@5, c2@15 ~", BJ: "~@5 [a3,c4,e4]@5 ~ [a3,c4,e4]@5, f2@15 ~",
  BK: "~@5 [a3,c4,g4]@5 ~ [a3,c4,f4]@5, f2@15 ~", BL: "~@5 [gb3,b3,e4]@5 ~ [gb3,b3,eb4]@5, b1@15 ~",
  BM: "~@5 [ab3,b3,f4]@5 ~ [ab3,b3,e4]@5, e2@15 ~", BN: "~@5 [g3,a3,db4,e4]@5 ~ [g3,a3,db4,e4]@5, a1@15 ~",
  BO: "~@5 [g3,db4,e4]@5 ~ [g3,db4,e4]@5, a1@15 ~", BP: "~@5 [g3,c4,eb4]@5 ~ [g3,c4,d4]@5, c2@15 ~",
  BQ: "~@5 [g3,c4,eb4]@5 ~ [g3,bb3,eb4]@5, c2@15 ~", BR: "[gb5@3 a5@2 c6@5 ~@38, d2@23 ~]/3",
  BS: "d4@5 g4@5 ~ bb4@5, ~@5 a3@10 ~",
  BT: "~@5 [g3,bb3,eb4]@5 ~@2 [bb4,d5]@4, [c2,eb4]@5 ~@11, ~ g4@10 [g3,bb3,eb4,g4]@5, ~@2 bb4@9 ~@5, ~@3 d5@8 ~@5", // Eb Bb Cm Eb
  BU: "[d2,d4,gb4,c5]@5 [bb3,d4,gb4,bb4]@5 ~ [bb3,d4,gb4,a4]@5", BV: "g2@5 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@5, bb4@15 ~",
  BW: "g4@5 ~@6 d5@5, [f3,ab3,c4] [bb2,f3,ab3], ~@5 bb4@5 ~@6", // Fm Bb7
  BX: "~@5 [bb3,d4,g4]@5 ~ [bb3,d4,g4,bb4,d5,g5]@5, bb4@11 ~@5, eb2@5 ~@11, ~ d5@10 ~@5, ~@2 g5@9 ~@5", // Gm
  BY: "[eb2,bb4,d5,g5]@5 [a3,c4,f4,a5]@5 ~ f5@2 eb5@3, ~@11 [a3,c4,f4]@5", BZ: "[d2,f5]@5 [a3,c4,f4]@5 ~ [a3,c4,f4]@5",
  CA: "g2@5 [bb3,d4,f4]@5 ~ [bb3,d4,f4]@5", CB: "~@5 [bb3,d4,f4,g4]@5 ~ [bb3,d4,f4,g4]@5, e2@15 ~",
  CC: "~@5 [bb3,db4,f4]@5 ~ [bb3,db4,g4]@5, a2@15 ~", CD: "~@5 [a3,c4,d4,a4]@5 ~ [a3,c4,d4,f4]@5, d2@15 ~",
  CE: "d2@5 [gb5,a5]@3 [e5,g5]@3 [d5,gb5]@2 [e5,g5]@3, ~@5 [a3,d4,gb4]@5 ~ [a3,d4,gb4]@5", // Gbm Em D Em D
  CF: "[a1,gb5,a5]@5 [a3,d4,gb4,d5,gb5]@5 ~ [a3,d4,gb4,d5]@5", // D
  CG: "gb5@3 g5@2 [a3,d4,gb4,a5]@5 ~ [a3,d4,gb4,gb5]@5, d2@5 ~@11", CH: "[a3,d4,gb4,d5]@15 ~",
  CI: "[bb4,d5]@3 [c5,eb5]@2 [bb4,d5]@3 [c5,eb5]@3 [bb4,d5]@2 [c5,eb5]@3", // Bb Cm Bb Cm Bb Cm
  CJ: "[a4,c5]@3 [bb4,d5]@2 [a4,c5]@3 [bb4,d5]@3 [a4,c5]@2 [bb4,d5]@3", // Am Bb Am Bb Am Bb
  CK: "[g4,bb4]@3 [a4,c5]@2 [g4,bb4]@3 [a4,c5]@3 [g4,bb4]@2 [a4,c5]@3", CL: "a4 g4 ~ gb4@13",
  CM: "d2@3 a2@2 c3@3 d3@3 eb3@2 gb3@3", CN: "a3@2 c4@2 ~ eb4@2 gb4@2 c5@7, ~@2 d4 ~@5", CO: "c5@5 ~@3",
  CP: "eb5@3 f5@2 eb5@3 f5@3 eb5@2 f5@3", CQ: "d5@3 eb5@2 d5@3 eb5@3 d5@2 eb5@3", CR: "b4@3 c5@2 b4@3 c5@3 b4@2 c5@3",
  CS: "[a4,b4,d5]@3 [f4,ab4]@2 [e4,g4]@3 [d4,f4]@3 [e4,g4]@2 [f4,ab4]@3", // Bm7 Fm Em Dm Em Fm
  CT: "[ab4,b4]@3 [f4,ab4]@2 [eb4,g4]@3 [d4,f4]@3 [eb4,g4]@2 [f4,ab4]@3", CU: "ab4@5 ~@11",
  CV: "~@3 g2@2 d3@3 f3@3 g3@2 ab3@3", CW: "d4@3 b3@2 c4@3 d4@3 f4@2 g4@3", CX: "ab4@3 f5@2 f5@10 ~",
  CY: "g4 ~@2 c5 ~ eb5 ~@2 g5@5 g5 ~@2, ~ [g3,ab3,c4,eb4]", // Abmaj7
  CZ: "f5 ~@2 eb5 ~ d5 ~@2 [c4,eb4,g4,eb5]@8, [g3,bb3,d4,f4] ~", // Cm Gm7
  DA: "c5 ~@2 eb5 ~ g5 ~@2 [eb5,c6]@5 [eb5,c6] ~@2, ~ [f3,ab3,c4,eb4]", // Cm Fm7
  DB: "[eb5,c6] ~@2 [d5,bb5] ~ [c5,ab5] ~@2 [bb3,d4,g4,bb4,d5,g5,bb5]@8, [bb3,d4,f4,ab4] ~", // Cm Gm Fm Gm Bb7
  DC: "[c4,d4,g4]@3 [c4,d4,g4]@2 [g2,b3,d4,g4]@3 [ab3,c4,eb4,g4]@5 g4@3, ~ f2", // Csus2 G Abmaj7
  DD: "[b3,d4,f4]@3 eb4@2 d4@3 [c3,g3,bb3,eb4]@8, [g2,g3] ~", DE: "c4@3 eb4@2 g4@3 [c4,eb4,c5]@5 [eb4,c5]@3, ~ [f2,f3]",
  DF: "[eb4,c5]@3 [d4,bb4]@2 [c4,ab4]@3 [eb2,eb3,d4,g4,bb4]@8, [bb2,f3,bb3] ~", DG: "~ [g3,a3,c4]",
  DH: "[gb3,a3,c4,d4,gb4] [g3,bb3,d4,f4]", DI: "[f3,bb3,d4,f4] [eb3,g3,bb3,d4,f4]",
  DJ: "[d3,gb3,a3,c4]@8 ~@3 g5@5, ~ [g2,g3,a4], ~@9 b4@7, ~@5 d5@3", DK: "~@11 d5@5",
  DL: "~@3 c3@2 f3@3 g3@3 [bb3,eb4,d5]@5, eb4@11 ~@5, f2@2 bb4@9 ~@5, ~ g4@10 ~@5, ~@3 eb5@8 ~@5", // Ebmaj7
  DM: "[eb4,c5]@5 [d4,bb4]@5 ~ [c4,a4]@5, f2@15 ~", DN: "bb2@3 f3@2 bb3@3 c4@3 [d4,f4,d5]@5, [d4,bb4]@5 [eb4,c5]@5 ~@6",
  DO: "bb2@3 f3@2 bb3@3 c4@3 bb3@2 f3@3, [d4,f4]@10 ~ [d4,f4]@5", // Dm
  DP: "f2@3 c3@2 f3@3 ~@3 [g4,d5]@5, [bb4,eb5]@5 ~@3, ~ [bb3,c4,eb4]", // G5 Eb5 Cm7
  DQ: "[eb4,c5]@5 [d4,bb4]@5 ~ [f2,eb4,c5]@5, f2@5 ~@3", DR: "bb2@3 f3@2 bb3@3 c4@3 bb3@2 f3@3, [f4,d5]@15 ~",
  DS: "[d2,d3]@15 ~", DT: "[a2,a3]@15 ~", DU: "[d3,d4]@15 ~",
  DV: "[a2,db3,e3,g3]@3 a3@2 bb3@3 c4@3 bb3@2 a3@3, [g4,b4,e5]@5 ~@3", DW: "[a2,db3,e3,g3]@5 ~@3",
  DX: "~@5 [d4,f4]@5 ~ [d4,f4]@5, g2@15 ~", DY: "~@5 [g3,ab3,db4,e4]@5 ~ [g3,ab3,db4,e4]@5, a1@15 ~",
  DZ: "~@5 [g3,c4,e4]@5 ~ [g3,c4,d4]@5, c2@15 ~", EA: "~@5 [g3,c4,eb4]@5 ~ [g3,c4,eb4]@5, d2@15 ~",
  EB: "~@5 bb3@5 ~ c4@5, d2@15 ~", EC: "~@5 a3@10 ~, d2@15 ~", ED: "[~@9 [e1,e2]@24 ~ [e1,e2]@14]/3",
  EE: "[~@7 [c4,e4,f4,a4]@5 ~ [c4,e4,f4,a4]@5 ~@5 [d4,f4,ab4]@5 ~ [d4,f4,ab4]@5 ~@5 [c4,e4,g4]@5 ~ [c4,e4,g4]@5 ~@5 [c4,e4,g4]@5 ~ [c4,e4,g4]@5 ~@5 [c4,d4,f4,a4]@5 ~ [c4,d4,f4,a4]@5 ~@5 [b3,d4,f4,g4]@5 ~ [b3,d4,f4,g4]@5 ~@5 [b3,e4,g4]@5 ~ [b3,e4,g4]@5 ~@5 [b3,e4,g4]@5 ~ [b3,e4,g4]@3, ~@2 d2@15 ~ e2@15 ~ a2@15 ~ a2@15 ~ d2@15 ~ g2@15 ~ c2@15 ~ g2@14]/8", // Fmaj7 Ddim C Dm7 G7 Em
  EF: "[~@7 [c4,e4,b4]@5 ~ [c4,e4,b4]@5 ~@5 [b3,e4,a4]@5 ~ [b3,e4,g4]@5 ~@5 [b3,d4,gb4]@5 ~ [b3,d4,e4]@5 ~@5 [g3,c4,e4]@5 ~ [g3,b3,e4]@5 ~@5 [a3,d4,gb4]@5 ~ [a3,d4,gb4]@3, ~@2 gb2@15 ~ b2@15 ~ e2@15 ~ d2@15 ~ c2@14]/5", // Cmaj7 Esus4 Em Bm E7 C Em D
  EG: "[~@7 [b3,d4,e4,a4]@5 ~ [b3,d4,e4,a4]@5 ~@5 [b3,d4,e4,a4]@5 ~ [b3,d4,e4,a4]@5 [e2,e3,e5]@5 [b3,d4,a4,a5]@5 ~ [b3,d4,ab4,c5,c6]@5 [d3,e5,e6]@5 [a3,c4,f4,e5,e6]@5 ~ [a3,c4,f4,e5,e6]@5 [e3,d5,d6]@5 d6@3 b5@3 d6@2 b5@3 c6@3 b5@2 a5@3 e5@3 c5@2 b4@3 a4@5 ~@6 e5@3, ~@2 b1@15 ~ e2@15 ~@38 [c4,e4,ab4]@5 ~ [b3,e4,ab4]@5 a3@5 [c4,e4,g4]@5 ~ [c4,e4,g4]@5 [g3,c4,e4]@8 [c3,g3,bb3]@6, ~@103 c5@5 ~@4]/7", // Bm7 E Bm7 Abdim Dsus2 Fmaj7 E7 Caug …
  EH: "[~@2 f3@5 ~@8 [c5,e5,a5]@3 [f3,c5,e5,a5]@5 [b3,d4,g4,b5]@5 ~ g5@2 f5@3 e3@5 ~@3 g5@3 [b3,d4,g4,b4,e5]@5 [a3,b4,d5]@5 [c4,e4,g4,a4]@5 ~ [c4,e4,g4,a4]@5 ~@5 [c4,e4,g4,b4]@5 ~ [c4,e4,g4,a4]@5 ~@5 [c4,eb4,g4]@5 ~ [c4,eb4,a4]@5 ~@5 [b3,d4,e4,a4]@5 ~ [b3,d4,e4,g4]@5 ~@5 [b3,e4,g4]@5 ~ [b3,e4,g4]@3, ~@2 [c5,e5,a5]@8 [c5,e5,a5]@5 ~@19 g5@8 ~@13 c5@10 ~@63, ~@7 [c4,e4,a4]@5 ~ [c4,e4,a4]@5 ~@11 [b3,d4,g4]@5 ~@5 [b3,d4,g4]@5 ~@22 gb3@15 ~ b2@15 ~ e2@15 ~ d2@14]/8", // Am Fmaj7 G Em7 Bm7 Am7 Cmaj7 Am7 …
  EI: "[~@7 [c4,e4,g4]@5 ~ [c4,e4,g4]@5 ~@5 [b3,eb4,gb4]@5 ~ [b3,eb4,gb4]@5 ~@5 [b3,e4,ab4]@5 ~ [b3,e4,ab4]@5 ~@5 [e4,ab4,b4]@5 ~ [e4,ab4,b4]@5 e5@2 eb5@2 ~ c5@2 b4@2 a4@2 ab4@2 ~ e4@2 e2@5 ~@9, ~@2 c2@15 ~ b1@15 ~ e2@15 ~ b1@15 ~ e2@4 db5@2 ~@7 gb4@2 ~@15, ~@71 [e3,ab3,b3]@5 ~ [e3,ab3,b3]@5 ~@14]/6", // C B E
  EJ: "~@2 a1@6 ~ e2@6 ~",
  EK: "[b2@3 c3@3 b2@19 ~@2 b2@19 ~ [e1,e2]@6 [e3,ab3,b3]@6 ~ [e3,ab3,b3]@6 ~ [e1,e2]@6 ~ [e3,ab3,b3]@6]/5", // E
  EL: "[e3,ab3,b3]@3 ~@3 [e3,bb3,b3]@2", EM: "~@2 [e3,ab3,b3]@5 ~@5 [e3,bb3,b3]@4",
  EN: "~@2 [ab3,b3,e4]@5 ~@5 [gb3,b3,eb4]@4", // E B
  EO: "[~@2 [ab3,b3,e4]@5 ~@8 b4@8 ~@9, ~@12 [e2,b3]@11 ~@9, ~@13 [b2,e4]@10 ~@9, ~@14 [e3,ab4]@9 ~@9]/2", // E E5 E
})).s("gm_piano").gain(0.25)

stack(viola, piano)

More by Joe Hisaishi