Strudelify

This Can't Be Love

Oscar Peterson

KeyG majorTempo120 bpm
0:00/0:00
// This Can't Be Love — Oscar Peterson
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 140 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 · "A.PIANO 1"
const piano = note(`<
  A B@3 C D E F@2 G@7 H I J K@2 L M N@2 O@2 P@3 Q@2 R S T U V W X Y@3 Z@4 AA@3 AB AC AD@2 AE AF@8 AG@3 AH@4 AI AJ@3 AK@8
  AL@2 AM@2 AN AO AP AQ AR@8 AS AT@3 AU AV AW@3 AX@7 AY AZ BA BB BC BD BE BF@8 BG BH BI BJ@2 BK@2 BL BM BN@3
>`.pickRestart({
  A: "c#3 d4@3 ~@5 [a3,c4]@4 ~@4 [a#3,c#4,g4]@5 d4 b3 ~@7 c#3, d3@15 ~, g4@2 ~@9 g4 ~@4", // Am Gdim
  B: "[~ [a3,e4,g4]@5 ~@3 [a#3,g4]@4 ~ [b3,d4,g4]@2 ~@6 c#3 ~@8 [c#5,f#5,a#5] ~@2 [d5,g5,b5] ~@4 c#3 ~@2 a#4@3 ~@2 [b4,g5]@2 ~ c#3 ~@4 [f#4,a#4,c#5]@2 ~ [g4,b4,d5]@3 ~@2 c#3 ~ [c#4,f#4,a#4]@4 ~@2 [d4,g4,b4]@2 ~@6 [a2,g3,c4,e4,g4,b4]@3 ~@5 [d3,c4,d#4,f#4,b4]@8 ~, d3@20 ~@2 d3@13 ~@4 d3@9 ~ d3@10 ~@4 d3@11 ~@13 c#3 ~@8, ~ c4@3 ~@4 c#4@5 ~@28 [c#5,f#5]@4 ~@2 d5 ~@48]/3", // A7 D# G F# G Em F# G …
  C: "f#2 ~ [b3,d4,f#4,g4]@3 ~@13 g1@8 [c#2,g4]@6, ~@2 g2@8 ~@8 f#4@3 ~@11", // Gmaj7 C#dim
  D: "~@2 [a3,c4,d4]@3 ~@11 g4@3 ~@2 f#4@4 ~@2 g4@5, ~@19 c#2@6 ~@7", E: "~@17 d#2@2 g2@8 [f#2,g4]@5, ~@3 e4@23 ~@6",
  F: "[~@12 a2@6 g#2 ~@9 f#2@6 [d#2,a#4]@2 g2@6 b4 ~@9 [a#3,d4]@2 ~@10, ~ [c4,d#4,a4]@27 ~@8 b4@5 ~@23]/2", // D#5 A# Adim
  G: "[~@5 e4@2 ~@6 f#2@6 d#2 ~ e2@8 a#1@7 ~ a1@6 c#4 ~@17 d#2@6 [g3,c4,e4]@2 ~ d2@8 c#2@6 a#1 ~ [c4,d#4,f#4,a4]@5 ~ [c4,a4]@2 f#2@6 d#4 ~ g2@8 d2@6 c#2@2 [b3,d4,f#4]@4 ~@4 [g3,c#4]@5 ~ c#2 ~@10 [a3,c4,d4,g4]@6 ~@2 [c#2,f#4]@6 [b3,g4]@2 c#2@5 a3@2 c2@3 ~@4 c2@2 e2@6 c2@2 ~@9 g#4@5 ~@3 c#4@4 ~@9 [a#3,c#4,e4,a4]@2 c#2@7 d#2 ~, ~@21 g4@13 ~@3 a4@29 ~@26 [d#4,f#4] ~@7 [b3,e4,g4]@15 ~@42 d#4 ~@6 [a#3,d4]@18 ~@9 c#3@6 ~@2 c#3@8 ~ g2@8 ~@8, ~@21 f#4 ~@31 [g3,c4]@11 ~@22 d2@6 ~@26 e2@7 ~@17 d2@7 ~@50 [e4,a4]@4 ~@21]/7", // C Cdim F Bm Gdim Am7 F#5 Em …
  H: "f2@6 f#2@2 ~@8 [d4,d5]@5 ~ d#2@2 ~ b4@3 ~@2 g4@2, ~@3 e2, ~@12 a#4 ~@3", // D
  I: "~ d4@6 ~@2 [c4,g4]@5 ~@3 c#2@6 a#1 ~@8, a#1@7 ~@10 a#3@2 ~@13", // C5
  J: "f#2@6 ~ g3@8 ~@2 [a1,c4]@8 [a#1,c#4]@6 d4, ~@6 d#2@2 ~@7 g4@4 ~@13", // Am A#m
  K: "[~ b1@8 ~@8 a#1@6 [g3,d4]@2 b1@6 ~ a#4 d2@9 f#1@8 c#2@7 ~ a2@6, ~@17 c#4@5 ~@9 b4@11 c#4@4 ~@18]/2", // G5
  L: "~@2 f#2@8 ~@8 f#2@7 ~@7, ~@2 e4@5 ~@3 d#4@16 ~@6",
  M: "~ b4@2 ~@4 b4@2 d#2@2 ~ d5@5 d5@2 b1@7 ~@2 [a3,d4,g4]@3 ~, ~@3 f#2@7 ~ e2@8 ~@13", // Dsus4
  N: "[~@4 a#1@7 ~ [a3,d#4,g4]@8 ~@5 [a3,d4,g4]@2 e2@7 d4 ~ [g#1,b4]@6 c2@2 f1@6 d5@2 f2@6 c2@2 d#2@4, ~@20 d#2@8 ~@8 a#4@2 ~@6 d5@5 ~@15, ~@36 a4 ~@27]/2", // Am7b5 Dsus4 G#m
  O: "[~@2 [a3,d#4,g4]@2 ~@6 [g#3,c4,d4]@2 ~ e2@7 ~ d2@7 b1@7 [c4,g#4,c5]@2 a#1@6 a#4@2 ~@6 c#4@2 c#2@7 ~ e4@3, ~@2 d4 ~@42 b4@19]/2", // Am7b5 Dm7b5 Fm
  P: "[~@5 d#2@6 ~@2 d2@6 [d#4,f#4] ~ f#2@6 ~@3 [d#4,f#4]@6 ~@2 [g#2,g#4]@6 ~@2 [b3,d4,g4]@3 ~@11 c#2@2 [a3,d4,f#4]@5 ~@3 [d#2,g3,c#4,g4]@7 ~ [a3,c4,d4]@3 ~@6 f2@5 ~ d2@2 ~, ~@13 a4@19 ~@64, ~@14 d2 c4 ~@30 b3 ~, ~@29 a2@9 ~@58]/3", // D#m G# G D D#7 D7
  Q: "[~ f#4 g4@3 ~@2 f#4 g4@5 ~@2 e4@5 ~@3 e2@7 ~@9 f#2@6 d#2@2 f2@8 c2@7 ~@2, ~@7 c#2@6 f#4@2 ~@30 a4@18 ~, ~@14 f4@2 ~@5 e4@22 ~@2 g#4 ~@18]/2",
  R: "f1@6 a4@2 [c#2,g4]@6 a#1@2 a#4 b4@2 ~@13, g4@5 ~@11 d2@6 ~@10, ~@8 e5 ~@7", // C#dim
  S: "~ d2@6 c#2 [d2,e4]@6 g4 ~ [d2,e5]@6 g4 c#2 [a4,e5]@4 ~@2 g4@2, ~@8 a4 ~@7", // Dsus2 A5
  T: "~ [d2,e4]@5 [c#4,g4]@3 [d2,c4]@5 a#3 [b3,e4]@2 [d2,g3]@7 c#2 [d2,a3]@6 d#2", // Dsus2 C#dim D7 E5 G5 D5
  U: "~ [e2,g#3]@6 d4@2 [a#1,c4]@7 g3 ~ [a#3,d4]@2 b3@3 ~@3 [c#2,g3]@6, ~@17 a1@9 ~@6", // E A#sus2 A# C#dim
  V: "a#1@2 [d2,e3]@8 f#2@6 d#2@2 b3@5 ~ b3@2 f2@6, ~@10 g3@4 ~@4 a#3 ~@5 a#3 ~@7", // Dsus2
  W: "~ d#2 ~ e2@7 ~ g3@5 ~ c#2 ~ [c4,g4]@5 ~@3 a#3 b3@4, ~@3 g4@4 ~@25, ~@3 c#4@2 ~@5 d#2@6 ~@3 d2@8 [g#1,g4]@5", // C5 G#maj7
  X: "~ g3@2 g1@8 d4 e4@4 ~ g4 a#1 ~ e5@6 g4 ~ a4@4, ~@12 d#4 ~@6 c2@8 [e2,e5]@5, ~@10 a4 ~@5", // E
  Y: "[~@2 [d#2,e4] ~ g4@6 ~ [b2,a4]@6 ~ a#2 ~ g4@5 ~ g4 g2@8 d#2@9 ~@6 [c5,c#5] ~@9 d2@6 g2@2 ~@9 c2@6 [c#5,g5]@2 b1@6 [b4,d5]@2 g4@3, ~@3 g2@8 ~@8 c3@9 ~@22 [d5,g5]@30 ~@5 c5@4 ~@2 a#4 ~@4]/3", // Emaj7 B7 C#maj7 C#dim Bm G5
  Z: "[~@3 [c#2,e4]@2 d4@5 ~ e4@2 a#1@6 e2@2 [c#4,a#4]@6 ~@2 [c#2,a4]@6 a#1@2 [e2,g4]@8 [d#2,e4]@5 ~@2 d2@9 f#2@6 [d2,d4]@2 ~ g4@2 ~ b4@2 c5@2 ~ b4@2 ~@4 f#2@2 c4@2 b3@2 ~@4 f#2@6 ~@10 [d#2,g4]@6 ~@3 g4@4 ~ a3@2 ~@2, ~@5 e2@8 g4@4 ~@4 a1@8 ~@8 c#4@5 ~@8 c#2@2 ~@66 d2@7 ~@3, ~@51 d4@2 ~@30 d4@2 ~@43]/4", // C#m F# F#m Em Emaj7 D D#
  AA: "[~@4 g4@2 ~ d#4@5 b3@2 ~ a#3@3 ~@5 g3@6 a3 ~ [e2,a#3]@6 c2@2 g2@8 [f#2,d4]@6 d#2@2 f2@7 g3 a2@7 f2@2 c3@6 e4 ~ [f#2,g4]@7 d#2 a#4@2 b4@3 ~ c5@2, ~@4 g#1 ~ c#2@8 f2@7 g#3@2 ~@16 d4@6 ~@2 a3@2 ~@6 g3@5 ~@36, ~@22 c2@9 ~@57 g2@8]/3", // Edim D Gmaj7
  AB: "~ [d#2,a#4]@5 ~ c#2@2 g4@6 d4 ~ [a#1,g4]@6 e2@2 a4@3 a#4@4, ~@6 b4@2 ~ e2@9 ~@7 a1@7", // D#5 D#
  AC: "~ [c#2,a4]@6 [a#1,g4]@2 a4 ~@2 a4@2 ~ d4 ~ [c#4,g4]@4 ~@7 a#3@2 b3@2, ~@9 d2@8 ~@5 d#2@2 g2@8, ~@14 g4@2 ~@7 [c4,g4]@2 ~@7", // F#m D# C#dim C5
  AD: "[~ g3@4 ~ [a#1,d4,g4]@3 ~@2 g3@2 ~ a#1@2 ~ [a#3,c#4,g4]@4 ~@2 [a3,a#3] ~ d2@9 g2@6 d2@2 b2@8 f2@8 e4@6, d2@6 [g3,a#3] ~@2 c2@6 ~@2 c#2@6 [d4,g4]@29 ~@12, ~@12 b3@13 ~@7]/2", // Gm Gdim A#maj7 Gm G5
  AE: "~@3 e2@7 ~ d#2@9 ~@4 d5@2 ~@2 d#5@3 ~, ~@2 c#5@4 ~@4 e5@4 ~@13 b1@5",
  AF: "[~ c5@2 ~@2 b4 ~ b4@2 a4@2 ~@2 g4@3 ~ d#4@2 ~@2 d4 d#4@2 ~ [c#2,c4]@2 ~@14 f#4@2 a4@5 ~ f#4 b1@7 ~@2 e2@6 d4 ~@8 e2@2 ~@6 b4@2 b1@6 d5@2 ~ d#5@3 ~@4 c5@3 ~@3 a#4@2 f2@6 a4@2 ~ f4@6 c#2 ~ [e2,g#4]@6 ~ b1@7 e2@2 e1@8 a#1@6 g#1@2 a1@7 e5 c#2@6 ~@2 e2@7 [g4,g5]@2 d#2@6 [g4,g5]@2 d2@6 [e5,g5]@2 f#2@6 [d5,g5]@2 ~ a#4 ~ b4@2 ~ g4@2 [g#2,e4]@7 f#2 g2@8 f#2@8 [d#5,g5]@2 e5@2 ~@4 c#2@8 d2@2, ~@3 d#2@8 f#2@8 d#2@7 ~ e2@8 b1@8 ~@49 f1@7 c#5@3 ~@6 b4@4 ~@4 d#2@7 ~@34 c5@2 ~@13 g4@2 ~@32 a2@8 ~@24 d#2@8 ~@10, ~@6 c5@2 ~@16 d4@2 ~@2 b3@12 d#4@2 ~@17 f#4@16 ~@9 c5@4 ~@10 d5@2 ~@31 d4@16 ~@10 c#5@5 ~@3 f#5@4 ~@2 g5@3 ~@32 a4@2 ~@14 g4@4 ~@30]/8", // C#maj7 E G Em G5 C#m D#
  AG: "[~@5 d2@2 g#1@6 d2 ~ a#5 b5@4 ~@3 [b1,c6]@6 [a#1,a5,a#5]@2 ~@2 a5@3 ~ g5@2 ~@2 e5@3 ~ [d5,e5]@3 c5@3 ~@2 a#4@2 ~ a4@4 ~ g4@2 ~ e4@5 c#4 ~ [e2,d#4]@6 c#2@2 g2@8 f#2@7 d#2 ~, ~@15 g1@9 ~@7 c2@9 e2@8 ~@7 e2@9 ~@15 e4@4 ~@13, ~@15 a5@4 ~@44 c#2@9 ~@24]/3", // Cmaj7 A#maj7 Dsus2 Emaj7
  AH: "[g2@7 b4 ~ c5@2 b4@2 g4@2 c#2 ~@3 g#4@2 ~@2 d4 ~@3 g3@2 ~@4 a3@2 b3@2 c4@2 ~@2 e4@2 g4@2 e4@2 ~ a#1 d2@8 ~@4 c4@2 ~@2 c4@2 c#4 ~ d4@2 ~@2 f#2@6 d#2 ~ [a3,a#3] b3@5 d4@2 [a#1,b3]@6 e2@2 a1@9 [c#2,g3,g4]@6 e4@2 d2@7 g3 ~ a4 b3@4, b4@2 ~@6 d#2@7 ~ b4@2 ~@6 b3@2 ~@5 b3@2 ~@6 d4@2 ~@6 f4@2 f#4@2 ~@12 d#4@2 ~@30 g3@9 ~@10 g4@4 ~@5 a#3@2 ~@3, ~@17 e2@8 a#1@7 a1@8 c#2@7 ~@10 f#2@7 g2@9 ~@8 e2@9 ~@22 a#1 ~@10 [f#2,d4,g4]@5]/4", // A#maj7 Bmaj7 C#dim Gmaj7
  AI: "~ d#2@2 g2@8 f2@6 d#2 ~ [e2,e5]@6 g4 ~ [d#2,a4,e5]@5, ~@3 g3@3 ~@13 a4@3 ~@10", // E A
  AJ: "[~ c#2@2 d2@8 ~@2 e5@2 ~ a4 ~ f4 d#5@2 b4@2 ~ g#4@2 f4 d#4@2 b3@2 a#3 ~@5 a3@2 a#3@2 c4 ~ a3@2 a#3 ~ d4@2 e4 ~ a4 ~@2 a4@2 g#4@2 g4@2 ~ f#4@2 e4@2 ~@4 c4 ~ d#4@2 c4@2 c#4@2 d#4@2 ~ e4@2 ~@2 g4@2 a4@2 g4@2 f#4@2 e4@2 d#4 ~, e5@11 a1@7 ~ c#2@8 f2@7 c2@9 e2@7 g2@8 f#2@8 c#4@2 ~@7 e2@8 g2@8 ~ f#2@4, ~ g4@12 ~@2 c5@2 ~@16 g#3@2 ~ g3@2 ~@15 a#4@2 ~@10 d#4@2 c#2@9 ~@6 f#4@2 ~@12]/3",
  AK: "[~@2 d#2@2 e4@2 d4@2 c#4@2 e4 ~ a4@2 g4@2 f#4@2 a4 ~ c5@2 b4@2 a#4@2 ~ a4 ~ d#2@8 b1 ~@10 d5@2 b4@2 a4 ~ e5@2 c#5@3 ~@2 d#5@3 c#5@2 g#4@2 ~@2 d#4@2 e4@2 b4 ~@3 g4@2 e4@2 c4@2 ~@2 b3@2 g3@3 ~@3 c#2@7 f#2@6 c5@2 ~ a#4@2 ~ f#4@2 c4@2 ~ g#1@6 [f#3,a#3]@2 d#2@6 d#3@2 [g1,d3]@7 e3 ~ g3@4 ~@2 c#2 ~@2 a#3@2 b3@2 ~@2 d#2@7 c#2 ~ f3@6 ~@2 c4@3 ~@3 [f3,a3,c4,e4]@2 a2@6 [f3,g#3,b3,d#4]@2 c#2@6 [e3,g3,a#3,d4]@2 c2@7 e4 [e2,g4,d5]@6 c2@2 ~@2 a#4@5 g4 ~ [a4,d5]@6 e4 ~ [g4,d5]@3 ~@5 e5 f5@2 ~ d#5 ~ c5 ~ g4 ~ f4 d#4 ~ c4@2 b3, ~@4 g2@8 d2@8 g1@8 ~@17 e2@8 b1@6 ~@2 a#1@7 ~ a1@9 e2@8 d#2@9 ~@15 d#2@9 ~@23 d2@7 ~ a3@3 ~@20 a3@3 ~@55 f2@8 ~ a2@8 c3@7 ~, ~@47 g5@3 ~@18 f4@2 ~@23 g3@7 ~@7 c4 ~@10 a#3@4 ~@4 f3@4 ~@20 e4@5 ~@58 e4 ~ [a4,d5]@4 ~@24 e5@2 ~@2 a4@2 ~@7, ~@151 g2@8 ~@7 d2@8 f2@7 ~@34 g2@8 f#2@7 d#2@2 ~@24]/8", // F# G5 Fmaj7 Fm7b5 Em7b5 Em7 D5 G5 …
  AL: "[~ a#3@2 a3@2 g#3@2 g#2 b2@8 ~ f#2@6 d#2 ~ f3@5 ~ [f3,g#3,b3,d4]@2 g#2@6 [g3,a3,c4,e4]@2 a2@6 [a3,c4,g4]@2 d#2@7 [a2,e4]@2 [d2,a3,g4]@6, a#2@8 g3@5 ~@3 [f#3,a3,d4]@5 ~@3 [e2,b3]@7 ~@27 c4@3 ~@3]/2", // Fdim Am7 A5 Dsus4 D E5
  AM: "[~@2 [f#2,a#3,c#4,g4]@6 ~@2 g2@6 ~ c#2@7 ~@2 [c2,a#3,d4,g4]@8 e2@5 a#3 ~ b3 g2@8 d2@6 ~@2 b4@5 ~, ~@8 d#2@2 ~@14 g2@2 ~@14 e4@3 ~@14 g1@7, ~@9 [b3,d4,g4]@5 ~@2 [b3,d4,g4]@2 ~@7 a3@2 ~@12 [d4,g4]@3 ~@14 g2@2 ~@6]/2", // F# Gm G G5
  AN: "~@2 d2@6 [b4,a#5]@2 b5 ~ b4 b5 ~ b4 b5@2 b4 b5@2 b4 b5 ~ b4 [f#1,b5] [f#2,b4] ~ b5 ~@2 b5, ~@2 g5@4 ~@4 f#1@8 c#2@7 ~@7", // Bmaj7 B5
  AO: "[f#2,b4] b5 ~ b4 b5 ~ b4 b5 b4 ~@2 b4@2 ~@3 b4@2 [d#2,a5]@6 ~@3 [g5,b5]@2 a5@2 ~, ~ c2@4 [b1,b5]@4 ~@3 b5 f#2@3, ~@25 c#2@2 ~@5", // B5 D#dim G B
  AP: "[e5,b5]@2 ~ b4@4 ~@4 g4@6 ~@2 [f#2,a4,e5]@6 d#2@2 [g2,e5]@5, ~@2 d#2@6 [c#2,a4]@2 e2@9 ~@13, ~@9 e5@8 ~@8 g4 ~ a4@2 ~@3", // E5 F#m7 C F#m
  AQ: "~@3 [b2,e4]@6 a#2@2 ~ g4@5 g4 ~ b2@6 e3@2 e2@5, ~@11 e3@8 ~@13", // E5
  AR: "[~@6 a4@2 ~ c5@2 ~ d5@2 ~ d#5 ~ a4@2 ~ c5@2 ~ d5@2 ~ g#2@2 ~@3 a4@2 c5@2 ~ d5@2 ~ d#5 ~@2 g#4@2 c5@3 d5@2 ~ d#5@2 ~@3 g#4@2 ~ c5@2 ~@3 d#5 ~@2 g#4@2 ~ c5@2 d5@2 ~@2 g#2@2 ~@2 g4@2 ~ c#5@2 ~ d#5@2 ~ e5@2 ~ g4@2 c#5@2 ~ d#5@2 ~ e5@2 ~@3 g4@2 ~@4 d#5@2 e5@2 ~ f5@2 ~ d#5@2 ~ a#4@2 f#4@2 ~ f4@2 ~ d#4@2 c4@2 ~ c#4@2 ~ d4@2 ~ e4@2 g2@6 ~@2 b4@5 ~ g4@2 [g2,a4]@6 g4@2 [c#2,e4]@6 a#1@2 ~ [c4,g4]@7 ~ [c4,g4]@4 ~@2 [b3,d#4,b4]@2 g2@6 g4@2 c#2@7 ~@2 g4@7 ~ e2@6 g4 ~ e5@6 g4 ~ [e2,a4,e5]@6 d#2 ~ [f2,g4]@8 d#5 ~ c5@2 d#5 ~@2 c6, ~@4 f#2@8 f2@8 a2@5 d#5@2 ~ c3@8 a2@7 ~ e2@8 b2@8 d5@2 ~@6 a#2@7 ~@2 a2@8 e2@8 a1@9 ~@5 c#5@2 d2@8 ~ f#2@8 a2@8 g#2@6 f#2 ~ g4@4 ~@2 a4@2 ~@56 e4@2 ~@7 a4@5 ~@3 g2@8 ~@17 c2@8, ~@61 e3@8 ~@5 d#5@2 ~@25 d#2@7 c#2@2 ~@39 d2@8 ~@17 d2@8 ~ f#2@6 ~@18 c2@8 ~@7 c2@2 a4@3 ~@22 g4@2 ~@3 g5@2]/8", // Gsus2 C#m C5 B A5 Fsus2
  AS: "d#6 ~@2 d#6@2 c6 g5 ~@2 c5@2 g4@2 ~@3 d2@7 ~ d#2@6 c#2 ~, f1@8 f2@5 c#5@2 d5@9 ~@8, ~@2 g6@3 ~@3 d#5@2 ~@3 g5@12 ~@7, ~@7 d#2 ~@8",
  AT: "[d#6 d6 ~@4 [d6,e6] ~ [a#1,e6]@6 [e2,b5,e6]@2 ~ g5@3 ~@2 d5@2 ~ c#2@6 g5@2 [c#5,a#5]@5 ~ f#5 ~ [c5,a5]@4 ~@2 [d#2,b4] ~@7 g4 ~ [d5,g5]@5 ~ [c#5,g5]@2 ~ c5@4 ~ a#4 ~@2 g4@5 ~ e2@2 a1@8 [c#2,g4]@6, e2@8 ~@8 a1@9 ~@6 a#1 ~ d2@6 ~@2 f#2@6 a4@2 g2@8 f2@6 ~@2 e2@8 a#1@7 ~@16, e6@4 ~@4 a#5@4 ~@13 e5@4 ~@18 g5@4 ~ g5@4 ~@40, ~@53 [d5,e5]@3 ~@15 e5@2 ~@23, ~@54 c5@2 ~@16 b4@3 ~@5 e4 ~ g4@5 ~@9]/3", // Dsus2 A#dim E5 F# F G#m G5 C#dim …
  AU: "a#1 ~ [a4,e5]@3 b4@2 ~@3 [f#2,d4]@6 [d#2,e4] ~ g2@6 g4@2 f#2@6, ~@2 d2@8 ~@8 g4@5 ~@9", // A5 D Emaj7
  AV: "~@2 [b3,d4,f#4]@4 ~@4 [d#2,g3,c#4,g4]@6 ~ c#2 [a3,c4,d4]@5 ~@4 [f#2,a3,d4,g4]@5, ~ d#2@2 ~@15 d2@8 ~@6, ~@2 e2@7 ~@23", // Bm D#7 D7 D
  AW: "[~ a2@2 [b3,d#4,f#4]@5 ~ [b3,d#4,g4]@2 f2@6 ~@2 c2@2 ~@4 c2@2 e2@6 ~@2 g2@6 [a#3,d#4,g4]@3 f#2@5 ~@3 f2@2 ~@4 f2@2 c2@8 a1@6 [a3,a4]@2 f#1@6 a#4@2 g1@6 b4@2 b1@4, ~@3 c#2@6 ~@8 [a3,a#3,d4,e4]@17 c2@2 ~@13 a4@18 ~@17 b4@5 ~@7, ~@49 d4@3 d#4@17 ~@27, ~@50 a3@19 ~@27]/3", // B Baug D# A Asus4
  AX: "[~@3 a#1 ~ [d4,e4]@4 ~@3 a#1@6 ~ [d4,f#4]@2 b1@8 [a4,a#4] b4@4 ~ [c#2,d5] ~ [e2,e5]@6 g4 ~ [a#1,c5]@6 e2@2 a1@6 c5@2 [c#2,b4]@6 [a1,a4]@2 [e2,g#4]@6 b4@2 [d#2,a4]@6 c#2@2 d2@6 [g4,a4]@2 f#2@6 [d2,f4]@2 a2@6 ~ d5 ~ d5@5 c5@2 ~ b4@3 ~@5 [g4,g5]@4 ~@2 g2@2 [f#4,f#5]@4 ~@2 [g4,g5]@2 d#2@6 c#5 ~ d2@8 ~ f2@6 [g4,g5]@2 ~@3 [f#4,f#5]@4 ~ [g4,g5]@4 ~@2 [e4,a#4,d#5]@2 ~@2 e4@2 e4 ~@3 a#4 e5 e4@2 e4@2 e5 ~@2 [a#4,e5] e4@2 ~@5 [f#2,g4,g5]@6 d#2@2 [a4,d#5,a5]@4 ~@4, ~@4 c2@8 ~@17 d2@7 ~@73 g#2@7 ~ g2@8 ~ f#5 ~@21 d5@12 ~@30 e4@2 ~@6 e4@2 ~@8 a4 ~@15, ~@4 a#3@4 ~@10 a3@2 ~@33 b4@4 ~@26 e4 ~ g4@4 ~@4 e4@4 ~@4 f#4@3 ~@3 d#5@2 ~@6 f#2 ~@10 d2@6 ~@2 g1@6 ~@27 g2@8 c#2@6 ~@2 c2@8 e2@6 c2@2 g2@9 ~@8 f2@8]/7", // Dsus2 D A#maj7 Dmaj7 E A#sus2 C#7 A …
  AY: "c2@6 f2@2 ~@6 g5 ~@2 [a#5,c#6]@2 c6 ~@5 c6@2 [a#5,c#6]@3 a5@2, ~@8 f1@8 c#2@6 [a#5,c#6]@2 a5@2 ~@4 c6 ~, ~@23 a#1@2 d2@7", // A#m
  AZ: "~ [a#5,b5] ~ [a5,c6] ~@2 [c#2,c#6]@2 [a5,c6]@2 ~ [a#5,c#6]@2 ~ [a5,c6]@2 [a#5,c#6]@3 [a5,c6]@2 ~ [e2,c#6]@2 [a5,c6]@3 [a#5,c#6]@2 ~ [a5,c6]@2, d#2@6 ~@2 e2@9 ~@4 a#5@3 ~@8, c#6@3 ~@2 a#5@3 ~@8 a#1@6 ~@2 a1@8", // Bmaj7 Am C# Am A#m Am A#m Am …
  BA: "[a#5,c#6]@3 [a5,c6]@2 ~ a#1@2 ~ c6@2 [a#5,c#6]@2 ~ [a5,c6]@2 ~ [a#5,c#6]@2 [a5,c6]@2 ~ [d#2,a#5,c#6]@3 [a5,c6]@2 [a#5,c#6]@3 [a5,c6]@2, c#2@5 [a#5,c#6]@3 d2@9 f#2@6 ~@2 g2@7, ~@4 a5 ~@11", // A#m Am A#m Am A#m Am D#7 Am …
  BB: "~ [a#5,c#6]@3 [a5,c6]@2 [d#2,a#5,c#6]@3 [a5,c6]@3 [a#5,c#6]@2 ~ c6@2 [a#5,c#6]@3 [a5,c6]@2 ~@4 a5@5 ~, ~ f2@6 ~@2 e2@8 d2@8 g1@7, ~@14 a5@2 ~@7 [a#5,c#6]@4 ~@5", // A#m Am D#7 Am A#m Am A#m
  BC: "~ d2@6 d5@2 ~ g2@6 f#5@2 [d2,g4,g5]@8 [f#1,g4]@6, ~ c#5@4 ~@5 e5@5 ~@3 a4 ~@7 c#5@3 ~@3", // G5 Gmaj7
  BD: "~@2 [c#2,c#5]@7 ~ [f#2,e4,a4]@7 c#5@2 [e4,a4,e5]@3 a#4@4 ~ [b1,d#4,a4,d#5]@5, ~@10 e5@5 ~@4 c2@8 a#1 ~@4", // C# F#m7 A5 B7
  BE: "~@8 [d#4,a4,d#5]@3 ~@2 [d#4,a4,d#5]@4 ~@2 [d#4,a4,d#5]@4 ~@2 [e4,a#4,e5]@2 b4 e4 b4@2 e4, ~@3 c#2@8 d2@8 d#2@6 ~@3 e2@4", // D#dim Edim
  BF: "[~@2 e4 ~ [g2,a4,e5]@6 e2@2 [a4,e5]@5 ~@3 [b4,e5]@5 ~@3 e3@8 b2@6 [e3,d4] ~ b4@5 ~ [d4,d5]@2 b4@7 ~ b2@6 [a3,g4]@2 ~@9 [b2,a3,d#4,g4]@14 f3@2 ~@6 [g#3,d4,g4]@2 ~@8 [g#3,d4,g4]@16 ~ d#4@4 ~@9 b5@2 ~@8 e3@8 g#6 ~ [g#6,a#6] ~ f6 d#6 c6 b5 ~ g#5 f5 e5 ~ c5 b4 ~ g#4@2 g4 f4 e4@2 ~ c#4@2 ~ a#3 a3 g#3@2 [d2,g3]@3 g1@7 ~@2 b3@4 ~@3 [g3,b3,d4]@5 ~@3 [d#2,g3,c#4,g4]@7 ~ [a3,c4,d4]@5 ~@4 [g2,c4,g4]@8 [b3,d#4,f#4]@5 ~ [b3,d#4,g4]@2 g#2@6 [g3,a#3,d4,e4]@3, ~ b4@2 ~@9 b2@7 d3@7 g4@12 ~@6 e2@8 b2@2 ~@6 d5@32 ~@34 [f#4,b4]@7 f#4 b4@2 d#5 f#5@4 [d#6,f#6] [b5,b6]@14 ~@9 a#5@2 ~@2 d#5@2 ~ a#4@2 ~@82, ~@66 d#4 ~@26 [a#2,c5]@32 ~ [a2,g3]@31 d2@23 ~@24 g1@2 ~@16 d2@8 ~@26, ~@126 b3@2 ~@2 b3@27 f#3@18 ~@23 [g3,d4,g4]@5 ~@2 e2@9 ~@7 c#2@2 ~@16 c#2@9 ~@8, ~@131 d#4@26 ~@22 d4@2 ~ b3@2 ~@13 a#3@2 ~@32 [a3,d4]@5 ~@20]/8", // A7 A5 E5 E7 D A7 Baug G …
  BG: "c2@5 [g3,a#3,d4,g4]@2 e2@7 ~@2 g2@7 ~ [a#3,e4]@3 ~@3 d#2 ~, ~@14 [c2,e4]@2 g4@3 ~@5 f#2@6 ~@2, ~@15 [g3,a#3]@3 ~@5 g3@3 ~@6", // Gm A#dim C Gm
  BH: "[f2,a3,d#4,a4]@6 [a3,d#4] ~@7 g#2 ~ a4@6 ~@2 g#2@6 g4 ~, ~@6 a4@2 ~@16 a4@5 ~@3", // F7 Adim
  BI: "d2@8 d#2@8 ~ e2@8 ~@6 e4, e5@4 ~@4 e5@5 ~@19, d#5 ~@7 a#4 ~@23",
  BJ: "[~ a4@2 a#4@5 ~@2 a4@6 a#1 ~ g4@5 ~@3 a4@5 g4@2 ~@4 b4@3 ~@2 d4@5 e4@10 a#1@7, ~ a1@8 c#2@7 ~@17 b1@8 d#2@8 ~@15, ~@18 a#4 ~@13]/2",
  BK: "[g4 ~ [c#5,g5]@3 ~@2 c5 g5@2 a#4 b4@3 ~@2 [a#1,a4] ~ d2@6 d4 ~ [f#2,e4]@5 ~@2 g2 ~@6 a#4 b4@7 d#2@2 [e2,g4]@3 ~@5 [a#1,e4]@6, ~@2 a1@8 c#2@6 g4@2 e4@5 ~@8 d#2@2 ~@7 [f2,e5]@8 ~@16, ~@16 g4 ~@15]/2", // C#dim A#maj7 F#7 Em A#dim Fmaj7
  BL: "g4 ~@2 c5@5 d5@2 [c#2,a#4]@6 b4@2 ~ g4@2 ~ g4@2 d4@2 ~ c4@5, ~@2 a1@8 ~@6 a#1 ~ d2@8 f#2@6, ~@21 b4@2 ~@9", // F#
  BM: "[g2,b3]@2 ~@7 c#2@2 [c2,a#3,d#4]@5 ~@2 f#2 ~ a3@6 [a#1,g#3,c#4]@3 ~@3, ~@8 [b3,e4]@4 ~@7 d4@5 ~@8, ~@19 b1@3 ~@10", // G Cm7 A#m7 E5
  BN: "[~@4 [e2,b3,c4,e4,g4]@3 ~@4 g#1 [a1,d#2,f#3,c4,f4]@5 ~@19 [f4,b4,e5,a5]@8 ~@3 e5@3 e5@3 ~@32 g7@3 ~@8, ~@2 a1@4 ~@12 [g1,f3,b3,e4]@63 [b1,d7]@3 f#7@2 ~@10, ~@36 [c#6,e6]@11 ~@6 e5@29 [d2,g2,e7]@3 ~@11, ~@54 c#6@29 f7@2 ~@11, ~@55 [f4,b4]@29 g1@4 ~@8]/3", // Cmaj7 F7 Fmaj7 Em Bm C#m Em7 Fdim
})).s("gm_piano").gain(0.48)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A ~@3 B C D E F@2 G ~ H@2 I J K L M N O P@3 ~ Q R@2 S@4 T U V W X Y Z AA AB AC@2 ~ AD AE@2 AF ~@2 AG ~ AH AI ~ AJ AK
  AL ~@2 AM ~@2 AN AO AP AQ ~@2 AR ~@3 AS AT ~@10 AU ~ AV@2 ~@5 AW ~ AX ~@4 AY ~@9 AZ BA BB ~@4 BC ~ BD ~ BE ~@6 BF BG@2
  BH BI ~@3 BJ BK@2
>`.pickRestart({
  A: "~@9 g4@3 ~@20", B: "~@10 d2@6 [g2,b3] ~@15", C: "a#1 ~ d2@6 ~@3 d2@6 ~@10 c#2@5",
  D: "~ a#1 c2@8 ~ e2@6 ~@9 a#3 ~@5", E: "~ d#2 ~ f2@8 ~@9 c3@8 ~@4",
  F: "[~@12 d2@6 ~ a#1 c2@9 e2@8 [a3,d4]@2 ~@22 [g#3,d4] ~@2, ~@37 b1@8 ~@19]/2", // D5 G#dim
  G: "~@3 e2@2 ~@6 [g3,f#4] ~ d#2@7 c#2 [e2,f4]@9 ~@2", // Gmaj7 Fmaj7
  H: "[~@30 d#2@7 ~ [d2,a3,c4,d4]@6 ~@9 a#1@2 b3@5 ~@4, ~@15 g4@2 ~@15]/2", I: "~@4 e4@19 g2@8 ~", J: "~@6 a#2 ~@25",
  K: "~@8 g2@8 f2@5 ~@11", L: "~@7 e2@2 a1@7 ~@2 b3@4 ~@3 [d2,g3]@7, ~@4 g4 ~@3", M: "~ f#3@6 ~ g2@9 ~@15",
  N: "~@10 a1@8 [g3,g4]@4 ~ g4@2 ~@7, ~@9 [g3,c4]@5 ~@18, ~@9 g1@2 ~@21, ~@10 g4@5 ~@17", O: "~@24 f#1 ~@7",
  P: "[~ a3 ~@8 b1@9 ~@5 b1@2 d#2@9 ~@23 e2@2 e1@8 ~@6 g#1 b1@8 ~@13]/3", Q: "~@2 f2@3 ~@11",
  R: "[~@13 a1@8 ~@6 a1@2 [c#4,g4]@2 ~@6 g#4@5 ~@2 c#2@2 ~@5 c4 ~@12, ~@29 e2@8 ~@27]/2", // C#dim
  S: "[~@4 c4 ~@9 g2@8 d2@6 ~@2 e2@7 ~@7 c#2 ~ d2@9 ~@8 g2@10 ~@6 c2@9 ~@5 c2@2 g2@9 ~@22 f2@2, ~@13 f#2@2 ~@113]/4",
  T: "~@25 d2@6 ~", U: "~@20 a#4@3 ~ d2@7 ~", V: "~@31 g3", W: "~@8 e2 ~@7", X: "~@9 g2@4 ~@3", Y: "~@4 d4@3 ~@25",
  Z: "~@6 b1@3 ~@3 a#4 ~@3", AA: "~@18 e4 ~@13", AB: "~@3 c2@2 g2@2 ~", AC: "[~@4 g1@9 ~@16 d#2@7 ~@23 f#4 ~@4]/2",
  AD: "~@5 a2@9 ~@3 g4 ~@4 g2@8 ~@2, ~@7 g#2@3 ~@6",
  AE: "[~@4 d#2 ~ e2@9 ~@6 c#2 ~@9 c4@2 ~ e4@2 ~@28, ~@15 a1@3 ~@14]/2", AF: "~@6 g3 ~@7 g3 ~@3 a#3@4 ~@10",
  AG: "~@11 g4@2 ~@4 f#2@6 ~@5 g4@4", AH: "~@13 f#2@3", AI: "~ d#2 ~@17 c#2@8 ~@5, a4 ~@15",
  AJ: "~@12 e1@7 ~@6 g1@2 ~@5, ~@25 b3 ~@6", AK: "~ a3 ~ b1@6 ~@3 e1@9 ~@11", AL: "~@4 c2@8 ~@15 c4 ~@4",
  AM: "~@21 a4 ~@7 d4 ~@2", AN: "~@15 g2@7 ~@10", AO: "f4 ~@15", AP: "~@3 d4 ~ g4 ~@9 d4 ~@5 f4 ~@10",
  AQ: "~@19 a3 ~@7 a3 ~@4", AR: "~@11 a#4@2 ~@3", AS: "~@2 c4 ~@29", AT: "~@5 c2@8 ~@13 a4@2 f4 ~@3",
  AU: "~ e5@2 ~@27 b4 ~", AV: "[~@31 b4@2 ~@31, ~@15 a#4 ~@16]/2", AW: "~@12 d4 ~@8 e4 ~@10", AX: "~@4 a#4@3 ~@25",
  AY: "~@3 a#4@3 ~@26", AZ: "~@23 e5@2 ~ e5 a#4 ~ [a#4,e5] ~@2",
  BA: "~@2 a#4 e5 ~ a#4 ~@6 e4 ~@19, ~@11 [a#4,e5]@3 ~@18", BB: "~@20 a5 ~@11", BC: "~@9 a1@2 ~@21",
  BD: "~ e5 ~@8 g4 ~@21", BE: "~@14 g4 ~", BF: "~@8 a2@6 g4 ~ c3@6 g4 ~@9",
  BG: "[~@10 b4@3 ~@4 g4@3 ~@4 a#1@7 e2@2 ~@7 g4 ~@7 e4 d2@8 ~ c2@6]/2", BH: "~@17 e2@9 ~@6", BI: "e2@3 ~@29",
  BJ: "~ c2@3 ~@28",
  BK: "[~@10 e5@2 ~ e5@2 e6@2 [b4,c#6]@2 ~ [b4,c#6]@3 e6@29 ~@12, ~@10 f4@5 f4@4 f4@4 ~@41, ~@3 a5@10 ~@3, ~@12 b4@4 ~ e6@5 ~@42]/2", // Bsus2
})).s("gm_piano").gain(0.24)

stack(piano, piano_soft)

More by Oscar Peterson