Strudelify

Rialto Ripples Rag

Gershwin

KeyA minorTempo120 bpm
0:00/0:00
// Rialto Ripples Rag — Gershwin
// 120 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 77 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. 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 D@2 E F G H@2 I@2 J@3 K L M N O@2 P Q R S@5 T U@2 V W X Y Z@2 AA@5 AB@2 AC@2 AD AE@2 AF AG AH@4 AI@6 AJ@4 AK@5
  AL AM@2 AN@3
>`.pickRestart({
  A: "c6 ~@4 a5@4 a#5@2 [d5,e5]@4 e6@8 c5 ~@2 c5@2 a4@4, ~@2 d6@9 ~@21, ~@3 c6@7 ~ b5@3 ~@11 d5@2 ~@5", // Dsus2
  B: "~ a#4 ~@10 f3 [f#3,d#4,c5] a4 ~@4 [f#3,d#4,c5]@10 ~ [d#4,b4] ~, ~@19 a4@6 ~@7", C: "~@5 e5@26 ~",
  D: "[~@2 c5@2 ~ c5 ~ f#3@3 a#4@2 b4 ~@8 d5@2 c5@2 ~ c5@2 a4@2 ~ a#4@2 b4 ~@2 b4@2 ~@4 d5@2 c5 d5@2 ~@2 f#3@3 a#4@2 g3@3 e5@2 g#3@3 c5 ~, ~@2 a2@21 a2@21 a2@15 ~@5, ~@2 e3@5 ~@11 g#3@5 e3@5 f#3@5 g3@5 g#3@6 e3@4 a4@2 ~@7 e4@6 ~, ~@4 d5@2 ~ a4@2 ~@7 e5@8 ~ d5@2 ~@9 e5@9 ~@2 c5@2 ~@5 b4@2 ~ b4 ~@6]/2",
  E: "[a2,a3,c#4,g4,a4] ~@5 [e4,g4,c#5,a#5]@5 ~ [a3,e4,g4]@5 a5@3 ~@3 f5 ~ f5 ~@2 b3@3 d#5, ~@11 c#5@8 ~@3 a3@6 ~@4, ~@11 a#5@5 ~@8 g5@2 ~ d5@3 ~@2", // A7 Edim A7
  F: "~ e5 ~@2 [a4,e5]@2 c#4@2 ~ g5 ~ f5 ~@2 f5@2 d5@2 ~ d#5 ~ e5 ~@4 c#4@4 g5@2, ~@4 a5@6 ~ a3@5 b3@5 c4@4 a4@7, ~@13 g5@2 ~@9 a5@4 ~@4", // A5
  G: "f5 ~@2 f5 ~@4 d#5@2 c4@3 [e5,a5]@2 ~@3 f5@2 a4 ~@4 [g#3,a3]@2 ~@4 [d3,a3], a3@5 b3@5 ~@15 d3 ~@4 g#3@2, ~@2 g5@2 d5@2 ~@4 e5@2 ~ a4@5 ~@2 d5@12", // A5 Amaj7 D5
  H: "[~ c#5@2 [d3,g#3,a3] f4@2 e5 e2 ~ [g#3,g#4,d5,f5]@5 g#4 [e3,g#3,d4,d5] ~@4 [b2,g#4,d5] ~@2 [g#4,e5]@2 ~ [e3,g#3,d4] ~@4 e3 e2 ~@4 [e2,e3] ~@4 [f#2,f#3] ~ c#5@3 [g#2,g#3] ~ e5@2 ~ [a2,a3,a4,c5] ~@5 [a3,c4,a4,c5] ~@4 [e2,e3,a4,c5,f5], ~@3 d5@2 ~@3 b2@6 f5@2 ~@4 f5@2 ~ d5 ~@5 [d5,g#5,b5]@12 ~@6 d5@2 ~@3 f5@2 ~@4 f5@2 ~@4]/2", // D Ddim E7 G#dim C#m E7 E F# …
  I: "[~@2 [a4,c5] ~ c4 [e3,a3] ~@4 a2@2 ~@3 [g#2,g#3] ~@5 [a2,a3] ~ d#5@2 ~ [a#2,a#3] ~ f#5@2 ~ [b2,b3,a4,d#5] ~@4 [d#4,a4,g5] d#5 ~@4 [b1,b2,a4,d#5,g5] ~@2 f#5@2 d#4 [a3,b3] ~@4 [f#2,f#3] ~@4 [b4,b5] ~@2 [a#3,a#4,a#5] ~@2, ~@2 e5@2 ~@4 [a4,a5]@13 ~@24 a4 ~@4 [b4,d#5,f#5,b5]@8 ~@6, ~@8 c5@9 ~@9 e5@2 ~@3 g5@2 ~@31, ~@10 a3 ~@47 b3@2 ~@4]/2", // Am A5 G# A A# B7 Am7b5 Baug …
  J: "[[b3,b4,b5] ~ [c4,c5,c6] ~@2 [b3,b4,b5] ~ [a3,a4,a5] ~@2 [g#3,g#5] ~@4 [e3,e4,e5] ~@5 [e3,e5] ~@10 e2@2 ~ [f2,f3] ~@2 e3@2 d2@2 ~ c3@2 ~@3 [b1,b2] ~@6 c5 ~ d5 ~ c5 ~@4 a#4 ~@2 b4 ~@3 e4@2 ~@3 d5 ~ c5 d5 ~ c5 ~ a4@2 ~ a#4 ~ b4 ~@2 e5@5, ~@10 g#4@2 ~@9 e4@2 ~@7 [c2,d2,c3,d3]@2 e3 ~@7 d3 ~@14 e3@6 a4@3 ~@6 e5@7 ~@19, ~@31 [d#2,d#3]@2 ~@5 e2 ~@4 c2 ~@12 a2@21 ~@19, ~@62 f#3@5 g3@5 ~@24]/3", // B C B A G# E F B …
  K: "~ d5 ~ c5 d5 c5 ~ a4 ~@3 a#4 ~@4 e4@5 c5 ~ [a2,a3,c#4,a4] ~@5 [a3,e4,g4]@3, ~@16 e5@2 ~@10 [c#5,a#5]@3 ~", // A A7 F#
  L: "~@3 g4@5 a5@4 ~ f5 ~ g5 f5 ~@6 e5 ~@3 [a4,e5]@3 ~@2, ~@2 [c#5,a#5]@9 ~@2 a3@5 ~@8 a5@6", // A5 F#
  M: "~ g5 f5 ~@2 f5 ~ d5@2 ~ d#5 ~@2 e5 ~@2 [a4,e5]@2 ~@3 g5@2 f5 g5 f5 ~@2 b3@3 d#5, ~@2 a3@5 ~@6 c4@5 c#4@5 a3@5 ~@4, ~@4 g5@2 ~@10 a5@8 ~@3 d5@2 ~@3", // A5
  N: "~ e5 ~@2 [e5,a5]@2 c#4@4 f5@2 d4@3 ~@2 [d3,a3] ~@4 [g#3,a3]@2 ~ c#5@2 f4 [g#3,a3] ~ e5@2, ~ c4@5 ~@6 a4@9 ~@6 d5@2 ~@3, ~ a4@2 [f4,d5]@3 ~@2, ~@17 g#3@2 ~@3 d3 ~@9", // A5 D5 Amaj7 Dm
  O: "[e2 ~ g#3@4 ~ [e3,g#3,d5] ~@4 [b2,g#4,d5] ~@2 [g#4,e5]@2 d4 g#3 ~@4 [e2,e3] ~@5 [e3,e4] ~@4 d#4@2 ~ g5 ~ [d3,d4] ~@2 a5@2 ~ [c#4,c#5,g5,a#5]@5 [a3,c#4,g4,c#5,g5,a#5]@3 ~@3 [e2,e3,c#5,g5] ~@2 [c#5,g5,a5]@2 [c#4,g4] a3 ~, b2@6 [g#4,f5]@2 ~@4 f5@2 ~ d5 ~@5 [d5,g#5,b5]@16 ~@2 g#5@3 ~@14 a#5@5 ~@3, ~ [g#4,d5,f5]@6 ~@27 d#3 ~@7 a2 ~ e3@2 ~@18]/2", // E7 G#dim C#m E D Gdim C#dim A7 …
  P: "~@3 [a2,a3] ~@5 g4@2 ~@3 [g2,g3] ~@2 [e5,e6]@2 g4 d#6@2 e6@2 ~ [d2,d3,f5,a5,f6] ~@2 [e5,g5,e6]@3 [e2,e3], ~ [e5,g5,c#6,e6]@14 ~@4 d#5@2 ~ e5 ~@9, ~@9 c#4 ~@10 c#4 ~@11", // A G E Dm Em E C#dim
  Q: "~@2 [d5,f5,d6]@2 ~ f2@2 [c#5,c#6] ~@2 [g2,g3]@2 d#6@2 ~ [e5,c6,e6] ~@2 [d5,b5,d6]@3 [b2,b3]@2 [c5,a5]@2 ~ [c3,c4]@2 ~ [g#4,g#5] ~ a5, ~@4 f3@2 ~@4 [d5,d6] ~ d#5 ~@2 [a2,a3]@2 ~@6 c6 ~@8", // Dm C# G C G B F C …
  R: "[d3,d4,a4] ~ [b4,b5] ~@2 [c5,f#5,a5,c6]@2 ~@3 [d#3,d#4,c5,f#5] ~@4 [e3,c5,g#5,c6] ~@5 [e3,d4] ~@4 [c4,a4,e5,a5]@4 ~@2, ~@5 [d#3,d#4] ~@4 [a5,c6]@2 ~@3 e4@2 ~ b5@12 ~@2, ~@19 g#5@12 ~, ~@19 b4@4 ~ a2@6 ~@2, ~@25 e3@5 ~@2", // D5 B F#dim Cdim Eaug E7 Am D# …
  S: "[~@7 [a#3,a#4,a#5]@7 [b3,b4,b5]@6 f2 c3 ~@4 [c4,f4] ~@5 [f2,c3] ~@2 b4@2 ~ [g#5,b5]@5 f2 a#5@2 ~@3 [a#3,e4] ~@5 [f2,f3] ~@2 a4@2 f4 [a3,c4] ~@3 g2 [d3,b3] ~@2 c#5@2 ~ [g3,b3,f4] ~ d#5@2 ~ [c2,c3,e5] ~@2 c5@2 ~ [a#3,c4,e4] ~ g5@2 ~ [f2,f3] ~@5 [a3,c4,f4] ~@5 [c2,c3] ~ [g4,g5] ~@2 [a3,c4,f4,a4,a5] ~ [a#4,a#5] ~@2 [f2,f3] ~@2 c5@2 ~ [a3,c4,f4] ~@4 [g#2,g#3] ~@4 f4 g#3@2 ~@3 [g2,g3] ~@5 [a#3,c4,e4] ~@5 [c2,c3] ~@2 a5@2 [a#3,e4] c4 ~ c6 ~@2 [g2,g3] ~ d5@3, [a3,a4,a5]@10 ~@10 [a5,c6]@4 c5@4 ~ [g#5,b5]@5 ~@4 [g#3,f4] ~@5 g5 ~ a#4@6 [f5,a5]@5 ~@3 a5@7 ~@13 a5@5 ~@25 [a5,c6]@5 ~@3 [b5,d6]@6 ~@2 b5@5 ~@18 a#5@2 ~@3 [a#5,d6]@6, ~@61 f5@4 ~ g5@3 ~@3 d5@2 ~@11 a#4 ~@2 [a4,f5]@12 ~@24 d5@6 ~@2 [e5,a#5,d6]@15 ~@13, ~@126 d6@3 ~@31, ~@127 b3 ~@32]/5", // A# B F5 G#m A#dim F Am G …
  T: "[a#3,c4,e4] ~@2 [g#5,d6,e6]@3 [e2,e3] ~ e5@2 ~ [d4,e4] b3 ~@3 [a2,e3] ~ c#4@5 [a3,c#4,e4]@4 ~@2 [g2,g3,c6] ~@2, ~@11 [g#5,d6,e6]@4 ~@2 [e5,c#6,e6]@12 ~@3, ~@18 a5@10 ~ a#5@2 ~", // C7 E7 E Dsus2 A5 A C5 E7 …
  U: "[[c5,c6] ~ [a#3,c4,e4,d5] ~@2 [e5,e6] ~@2 [f2,c3,f3] ~@2 f5@2 f4 [a3,c4] ~@4 [g2,g3] ~@2 e5@2 ~ [a#5,c6,e6]@4 ~ [a2,a3,a5] ~@2 d#5@3 [c4,d#4,f4] ~@4 [a#2,a#3] ~@3 d5@2 [d4,f4] a#3 ~@4 [a5,c6]@2 d5@2 ~ [c4,d4,f#4] ~@2 f5@2 ~, ~@2 d6@2 ~@4 [a5,c6,f6]@6 ~@2 [a#5,c6,e6]@5 ~@4 [a#3,c4,e4] ~@4 d#6@5 ~@12 d6@2 ~@9 e5@2 ~@4, ~@30 c6@2 ~@7 [f5,a#5,d6]@5 ~@3 [f5,a#5]@6 [a2,a3] ~@10]/2", // C C7 E F5 Am G C7 A …
  V: "[d2,d3] ~@4 [c4,f#4] d4 ~ [a5,c6]@2 ~ [g2,g3] ~@5 [a#3,d4,g4] ~@5 [d2,d3] ~ c#5@2 ~ [a#3,d4,g4] ~@2 f5, f#5@2 a#5@4 ~@5 a#5@16 ~@5, ~@3 d6@4 ~@4 g5@13 ~@4 d5@2 ~@2", // D Cdim Am G Gm D Gm
  W: "~ a4 [b3,f4] ~@4 [b3,f4,a4,d5,f5] ~@4 d5 [f4,a4] ~@4 [g4,d5,f5,g5] ~@4 e6 [a4,a5,d6]@3 ~@2 [a4,f5,a5] [c4,f4] ~, ~ [d5,f5,a5,b5]@3 ~@3 g5@2 ~@3 [f5,a5,b5]@2 ~@4 [b3,f4]@2 ~@4 [c4,f4,f5] ~@4 c6@2 ~", // Bdim Bm7b5 F G7 D5 Dm F5 Bm7b5 …
  X: "~@3 [f#4,a5,d6]@5 [c4,f#4,a4,f#5,a5,c6]@2 ~@4 [d2,d3] ~ c#5@2 ~ [b3,f4] ~@2 f5@3 [e2,e3] ~@2 g5@2 [a#3,e4,e5] ~, ~@2 e6@2 ~@21 a5@3 ~@4, ~@3 f#5@2 ~@14 d5@2 ~@11, ~@3 [c4,a4,c#6] ~@28", // D F#dim D Bdim E A#dim F
  Y: "c5@2 ~@2 f2@2 ~@3 [d#2,d#3]@4 ~@2 c5@8 ~@9, ~@3 [c5,f5]@9 ~@20, ~@4 a4@9 ~@19, ~@4 f3 ~@27", // D# F5
  Z: "[~@2 c5 ~@2 c5 ~@10 e5@7 ~ c5 d5@2 c5 ~ a4 ~@2 a#4 ~@5 e4@2 g#3@4 d5 c5 ~@2 c5 ~ f#3@4 a#4 ~ b4 g3@3 e5@2 g#3 ~, ~@24 e3@4 ~ f#3@5 ~@4 e5@7 e3@5 ~@14, ~@47 d5@2 ~ a4 ~@9 e4@4]/2",
  AA: "[~ c5 ~ [a2,a3,c#4] ~@5 [e4,g4,c#5,a#5]@4 ~ a#5@6 a5@4 ~ f5 ~ g5 f5 ~ b3@4 d#5 ~ e5 ~@4 c#4@4 g5 ~ f5 ~@2 f5 ~ d5@2 ~@2 d#5 ~ e5 ~@7 g5@2 ~ f5 g5@2 f5 d5 ~@3 d#5 ~@2 e5@2 ~ e5 ~@4 f5@2 ~@6 d3@2 ~@3 a3@2 c#5@2 ~ [d3,g#3,a3,f4] ~@3 b2 [g#3,g#4,d5,f5]@5 f5 [e3,g#3,d4] ~@3 f5 [b2,g#4,d5] ~@5 [e3,g#3]@3 ~@2 [e2,e3] ~@5 [e3,e4]@2 ~@3 d#3@2 g5@2 ~ [d3,d4] ~@4 [c#4,c#5,a#5]@6, ~@3 a4@2 ~@9 c#5@9 ~@2 a3@5 d5 ~@8 a5@7 ~@3 g5@2 ~@10 a5@7 ~@14 a5@2 ~@7 f4@10 d3 ~@7 e2@2 ~@41 a2@2 ~@6, ~@39 a4@3 ~@15 c4@5 ~ c#4@5 ~ a3@5 ~@5 c4@4 ~@2 c#4@5 d4@2 ~@3 [g#3,a3]@2 ~@3 g#3@2 ~@15 d5@2 ~@8 d4@4 [d5,g#5,b5]@16 ~@2 g#5@2 a5@3 g5 ~@5, ~@40 e5@2 ~@19 [a4,e5]@4 ~@17 a4@7 ~ d5@12 ~@3 d5@3 e5@2 ~@6 g#4@2 ~@7 [g#4,d5,e5]@7 ~@12 d#4 ~@8 e3@2 ~@5]/5", // A Edim Dm Ddim E7 G#dim E D …
  AB: "[[a3,c#4,g4,g5] ~@4 [e2,e3,c#5,g5] ~@2 [c#5,g5,a5]@3 [c#4,g4] ~@4 [a2,a3] ~@5 [a3,c#4,g4]@3 ~@2 [g2,g3] ~@5 [a3,c#4]@2 [e5,e6] ~@2 [d2,d3,f5,a5,f6] ~@2 [e5,g5,e6]@2 e3@2 ~ [d5,f5,d6]@3 [f2,f3]@2 [c#5,c#6] ~@2 [g2,d5,d6] ~ d#5@2 ~ [a3,e5,e6]@2 ~ [d5,b5,d6]@2, [c#5,a#5]@3 ~@2 a#5@2 ~@7 [e5,g5,c#6,e6]@14 ~@2 [e5,e6]@5 ~@21 d#6 ~@7, ~@32 [g4,d#5,d#6]@2 ~@9 e2 ~@10 g3@2 ~@3 [a2,c6] ~@4]/2", // A7 C#dim A7 C#dim A A7 G A …
  AC: "[~ [b2,b3] ~ [c5,a5,c6]@3 c4@2 [g#4,g#5] ~@2 [d3,d4,a4,a5] ~ [b4,b5] ~@2 [f#5,a5,c6]@2 ~@3 [d#3,d#4,c5,f#5] ~@4 [c5,g#5,c6] ~@2 g#5 ~ d4 e3 ~@3 e3 a5@11 [a1,e2,a2,a5,c6,e6,a6]@5 ~@11, ~@6 c3 ~@9 [d#3,d#4,c5] ~@4 [a5,c6]@2 ~@3 [e3,e4]@3 [b4,b5]@5 ~ a2@2 [a4,c5,e5]@16 ~@11, ~@37 c4 ~@26]/2", // B F G# D5 B F#dim Cdim Fm …
  AD: "~@2 g5@2 ~@3 [c5,f5,a5] ~@4 a#5@3 ~ d6@9 g4@2 ~@4 a4, ~ a#4@2 ~@29, ~@2 f5 ~@29", // F
  AE: "[~@4 a#4@4 d5@2 ~@3 a4 ~ [f4,a4]@4 ~@2 [b3,d4,f4]@11 ~@7 a#3@12 [c3,a#3,e4,c5]@5 ~@6 [a#4,d5]@2, ~@14 [b3,d4,d5]@4 ~@3 a4@18 [c4,f4]@17 ~@8, ~@16 f4@3 g4@9 ~@4, ~@33 [b3,d4]@8 ~@21 [g2,g3] ~]/2", // F Bdim C7 A# Bm F5 Bm G
  AF: "~ f#4@2 ~ [a#3,e4,g4] ~ a4@2 ~ [c2,c3,a#4] ~@2 c5@3 [a#3,e4] ~ a#4@2 ~ [f2,f3,a4,c5] ~@7 g#5@2 ~ [f#2,f#3,a5], ~@11 e5@5 ~ d5 ~@8 [c4,f4,a5,c6]@5 ~", // Edim C7 A#dim F F#m F
  AG: "~@5 a3@2 a4 ~@2 [g2,g3] ~ f#4@2 ~ [a#3,c4,e4] ~ a4@2 ~ [c2,c3] ~@2 c5@3 [a#3,e4] ~ d5@2 ~ [f2,f3,a4,c5], ~@2 [c6,d6]@4 ~@3 d5@3 ~@11 e5@5 ~@4, ~@4 d#4@2 ~@4 a#4@4 ~ g4@2 ~@3 a#4@2 ~@6 a#4 ~@3", // G C7 C A#dim F Csus2
  AH: "[~@4 [a2,a3,g5,c6,d6] ~@2 g#5@2 ~ [b3,a5] ~@2 [c6,d6] ~ [c3,c4]@5 [e5,g5]@3 c#5@2 [a3,c#4,g4] ~@2 d#5@2 ~ [a2,a3] ~ f5@2 ~ [a3,c#4,g4] ~@2 g5@2 ~ [d2,d3] ~@4 [d4,f4] ~@4 a2 ~@2 c#5@3 [a3,f4] ~ f5 ~@2 [b3,f4,a4,d5,f5,b5] ~@5 g5@5 [f4,a4,d5,f5] ~@4 [g4,d5,g5] f4 ~@4 [f5,a5,d6]@5 [c4,f4,a4,f5,a5] ~@4 e6 [f#4,d#5,a5]@5 [c4,f#4,a4,d#5,a5,c6]@3 ~@3 [g2,g3,d5] ~@2 f#4@2 [a#3,c4,g4] ~@2 a4 ~@2 [c2,c3,a#4] ~@4 a#3 ~ a#4 d5 ~, ~@20 [c#3,c#4]@2 ~@3 d5@2 ~@4 e5@2 a5@6 e5 ~ f5@16 ~@6 a5@5 ~@6 a5@5 ~@6 [c4,f4,a4] ~@10 [c4,a4] ~@10 a#4@3 ~@10 c5@4 ~@4, ~@42 d5@12 ~@4 d5@2 ~@9 d5 ~@4 b5@2 ~@9 e6@2 ~@3 c6@3 ~@2 d6@9 ~@17 e5@4 ~@3]/4", // Am7 B7 Csus2 C Em A7 A A7 …
  AI: "[f2 [a4,c5] ~@15 [a3,c4]@2 f5@2 ~ [f2,f3,a4] ~@5 [f3,a3] ~@3 [a4,d#5,g5] f2 ~@2 d#5 ~@2 f3@2 ~@3 f3@2 ~@3 f3@6 a#3@5 ~@13 a#4@2 ~ b4@2 c5@3 ~ c#5@4 g5@6 f#5@3 g5 ~@4 c#5 ~@2 c5@3 ~@7 [a#3,c#4]@6 ~@3 f4@3 ~@3 g#4@3 ~ a4@3 e5@5 d5@3 e5@3 d5 ~@2 c5 ~@10 c4 ~@2 a4 ~ a#4 d5 ~ f#4@2 ~ [a#3,e4,g4] ~@2 a4 ~ [c2,c3,a#4] ~@5 [a#3,c4,e4] ~@2 a4 ~ [g2,g3,d5] ~@2 f#4@2, ~@6 [a3,f4]@6 c3@8 ~@18 [a3,d#4]@4 ~ a#2@3 ~@20 f3@12 ~@54 [g3,a3]@7 ~@4 [f#3,a3]@14 ~@35, ~@6 c6@5 [c2,a5]@3 [c6,d6]@2 f4@3 ~@8 [d#4,a4,d#5,g5]@2 ~@7 [a4,f5]@6 ~@18 c4@11 ~@48 c4@12 ~@61, ~@7 a#5@13 ~@2 d#5@2 ~@2 f5@2 ~@3 f5@2 ~@8 [a#4,d5]@15 ~@13 [a#3,c#4]@40 ~@83, ~@9 g#5@11 ~@2 g5@4 ~@81 a#4@12 ~@6 g4@6 ~@24 f#4@8 ~@16 [c5,e5]@6 ~@2 a#4@2 ~@3]/6", // Am F Am7b5 A#m Edim C7 G5 Dm …
  AJ: "[~ [a#3,c4,e4,g4] ~ a4 ~@2 [c2,c3] ~@5 [a#3,c4,e4] ~ a4@2 ~ [a#4,d5]@2 a4 ~@2 [a#3,e4,a#4,d5] ~@2 a4 ~ [c2,d5] c3 ~ [g#4,c5]@3 [a#3,e4] ~@4 [f2,f3]@4 ~@2 [d#2,d#3] ~@5 [e2,c5]@7 b4@11 ~@2 c5 ~@2 c5 ~ a4 ~@8 e5@5 d5 ~ c5 ~ c5 ~@2 a4 ~@2 a#4 ~ g3@3 ~ e4@2 ~@3 d5 c5 ~@2 c5 ~ a4 ~@2 a#4 ~@4 e5@4, ~@6 a#4@2 ~ [c5,e5]@6 ~@2 [g2,g3] ~@18 [a4,f5]@10 ~@4 [d4,g#4]@18 ~@2 a2@17 ~@4 a2@17 ~@3 e3@5 f#3@5 ~@7, ~@70 e3@5 ~@16 e3@5 f#3@5 b4 ~@2 e5@7 ~@2 d5@2 ~@13]/4", // C7 C C7 A# Em7b5 Csus2 G# A#dim …
  AK: "[~@2 c5 ~ [c#4,a4] ~@4 [g4,c#5] ~@5 a#5@5 a5@5 f5@2 g5@2 f5 d5 ~@3 d#5 ~ c4@3 ~@2 c#4@4 g5@2 f5 ~ f5 ~ d5 ~@5 c4@3 a4@2 c#4@3 g5@2 f5 g5@2 f5 ~ d5@2 ~ d#5 ~ c4@3 a5@2 ~@3 f5@2 ~@6 [d3,g#3] ~@4 [g#3,a3]@2 c#5@3 [d3,g#3,a3,f4] ~@2 e2@2 [g#3,g#4] ~@4 g#4 [e3,d4,d5,f5] ~@4 [b2,g#4,d5,f5] ~@2 [g#4,d5] ~ d4 g#3@2 ~@3 [e2,e3] ~@4 [e3,e4]@6 [d#3,d#4]@2 g5@3 g#5@2 ~@3 [c#4,c#5,g5,a#5]@3 ~@2 [c#4,g4,c#5,g5] a3 ~@2, ~@9 a#5@2 ~@14 d3@17 ~@5 a3@5 ~@15 a3@5 ~@10 c#4@5 ~ f4@8 ~@12 f5@2 ~@12 e5@2 ~@3 [g#5,b5]@15 ~@6 a5@2 ~@6 a#5@2 ~@2, ~@25 a3@6 b3@5 e5 ~@2 a5@8 ~ g5@2 ~@7 e5 ~@2 a5@7 ~@10 e5 ~@10 d5@12 ~@3 d5@2 e5@3 d5@4 ~@16 d5@14 ~@8 e3@2 ~@8, ~@39 [a4,e5]@4 ~@37 a4@8 ~@5 a3@2 ~@3 d3 ~@25 e3@2 ~@20 d4 ~@2 a2@2 ~@9]/5", // F#m Gdim Ddim Amaj7 Dm G# Dm Bdim …
  AL: "~@2 [e2,e3,c#5,g5] ~@2 [c#5,g5,a5]@2 [a3,c#4] ~@5 [a2,a3] ~@4 [a3,c#4,g4]@5 ~ [g2,g3] ~ [e5,e6]@3 [a3,c#4,g4,d#6] ~ [e5,e6], ~@2 a#5@2 ~@7 [e5,g5,c#6,e6]@13 ~@5 d#5@2 ~", // C#dim A7 A A7 G E A7 E …
  AM: "[~@2 [f5,a5,f6] ~@2 [e5,g5,e6]@2 ~ e2 ~ [d5,f5,d6]@3 [f2,f3]@2 c#5@2 ~ [g2,g3]@2 d#6@2 ~ [a2,a3,c6]@2 ~ [d5,b5,d6]@2 [b2,b3]@2 ~ [c5,a5,c6]@2 [c3,c4]@2 ~ g#4@2 [a4,a5] d3@2 [b4,b5] ~ [d#3,d#4,c5,f#5] ~@5 [d#3,d#4,c5,f#5] ~@4 [e3,e4,c5,c6] ~@4 [e3,d4] ~@2 a2 e3, ~@2 [d2,d3]@2 ~@3 e3@2 ~@6 c#6 ~@2 [d5,d6] ~ d#5 ~@2 [e5,e6] ~@12 g#5 ~ d4@2 ~@3 [a5,c6]@2 ~@4 [a5,c6]@2 ~@3 g#5@2 ~ [b4,g#5,b5]@5 ~@2]/2", // F Em Dm F G Am G B …
  AN: "[~ c4 ~@11 [a1,a2,a5,c6,e6,a6]@64 ~@19, [a4,c5,e5]@2 ~, a5@13 ~@83]/3", // Am
})).s("gm_piano").gain(0.36)

// chords · piano · soft notes
const piano_soft = note(`<
  A B C D E F@2 G ~ H ~ I ~@2 J K L@3 M ~ N ~@2 O P ~@7 Q R S T@2 U@2 V ~@2 W ~@3 X Y ~ Z AA AB AC AD AE AF ~ AG@3 AH AI
  AJ@2 AK AL AM AN AO AP ~@6
>`.pickRestart({
  A: "[a4,c5,e5]@10 ~ g#4@13 [a3,c4,e4]@8", B: "~@3 b4@3 e5@6 ~@18 f3@2, ~@3 g#3@9 ~@20, ~@3 [d4,e4]@5 ~@24",
  C: "~@5 [e3,d4,a4]@13 ~ d4@12 ~, ~@5 d5@26 ~, ~@5 e4@6 ~@7 [e2,g#4]@13 ~", D: "~@6 g3@2 e4 ~@7, ~@16 b4 ~@15",
  E: "~@5 e4@2 ~@25", F: "[~@6 a3@4 ~@22 c4@5 ~@20 e5@7, ~@23 d3@19 ~ d3@21]/2",
  G: "~@15 c#4@5 ~ f4@8 ~@3, d3@10 [d3,d4] ~@5", H: "~@26 e3 ~@5", I: "~@5 [a3,b3] ~@7 d#5 ~@18",
  J: "~@7 b4 g#3@5 ~ e3@5 f#3@4 g3@5 ~ g#3@3, ~@13 a2@18 ~, ~@14 [e4,b4] ~", // E5
  K: "~@3 e3@4 f#3@5 ~ b4 ~@2 b4@2 ~ g#3@2 ~@3 g4@5 ~@3, ~@3 a2@15 ~@14, ~@13 g3@5 ~@14",
  L: "[~@3 a3@9 ~@6 b3@4 d#5 c4@4 ~@2 c#4@5 ~@5 b3@5 ~@11 d3@20 ~ d3@3 ~@13 d3 ~@3, ~@2 e4@4 ~@7 d3@21 ~ d3@20 ~@41, ~@9 d5 ~@38]/3",
  M: "~@18 e3 ~@13", N: "~@9 a3 ~@10 a3 ~@11", O: "~@27 a3 ~@4", P: "~@6 b3 ~@5 c3 ~@5 c4 ~@13", Q: "~@13 b3 ~@18",
  R: "~@20 g3 ~@10 c4", S: "~@23 b4@9, ~ [e2,e3,d4,g#4]",
  T: "[~@4 d5 ~@2 f#3@4 a#4 ~ g3@3 ~@2 g#3@4 d5 ~@12 g3@3 b4@2 ~@20 b4@2 ~@2, ~@2 a2@21 ~ a2@18 ~@4 a2@17 ~, ~@2 e3@5 a4 ~@5 b4 ~@2 b4@3 ~@16 b4 ~@28, ~@17 e4@2 ~@45]/2",
  U: "[~@4 g4 ~@4 a3@4 ~@2 [e4,g4]@5 ~@16 c4@4 ~@7 a3@5 b3@5 ~@7, ~@14 a3@6 ~@6 d3@20 ~ d3@17]/2", // Em
  V: "~@10 b3@5 ~@12 a4@5, ~@5 d3@21 ~ d3@2 ~@3", W: "~@11 a3 ~@20",
  X: "~@13 d5@12 [a#3,f4]@2 ~@4 [c4,f4], ~@13 f5 ~@18", Y: "~@5 [d4,f4]@7 ~@20",
  Z: "~@4 c4 ~@2 f#2 ~@7 c4 ~@10 a3@4 ~@2", AA: "~@26 c4 ~@5", AB: "~@10 b2 ~@21", AC: "~@15 a3 ~@9 d4 ~@6",
  AD: "~@5 [b3,f4,g4,f5] ~@4 b3 ~@5 b3 ~@15", AE: "~@16 e4 ~@15", AF: "~@6 f5@13 ~@13, ~ f3@18 ~@13, ~@3 c4@5 ~@8",
  AG: "[~@34 f5 ~@14 [f3,g3]@6 ~ a3@11 ~ e3@10 ~@10 a4 ~@7, ~@3 g3@41 ~@11 f3@12 c4@8 ~@4 [d3,c4]@14 ~@3]/3", // Fsus2 D7
  AH: "[d3,f#3] a3 ~@4 [g2,g3] ~@4 c4 ~@20", AI: "~@23 c4 ~@4 a#4 ~@3",
  AJ: "[~ c4 ~@16 e3@18 ~@4 d5 ~@2 f#3@3 a#4 ~ g3@4 b4 g#3@3 ~@4 d5 ~@3, ~@48 b4 ~@3 e4@3 ~@9]/2",
  AK: "~@10 g#3@3 ~@12 b4 ~ b4@2 ~ g#3 ~, ~@9 b4@4 ~@2 a2@16 ~, ~@26 g3@3 ~@3",
  AL: "~@4 [a2,e3,a3,g4] ~@4 a3 e4 ~@4 [a3,e4,g4,c#5]@6 ~@11", AM: "~@20 b3@3 d#5 ~@5 e5 ~@2, ~@15 d3@17",
  AN: "~@8 b3@5 ~@3 e5@2 ~@6 [d4,a4] ~@7, ~@2 d3@10 d3 ~@3", AO: "~@11 b2@2 ~@5 g#3 ~@13", AP: "~@18 d3 ~@13",
})).s("gm_piano").gain(0.2)

stack(piano, piano_soft)

More by Gershwin