Strudelify

East of the Sun

Oscar Peterson

KeyG majorTempo104 bpm
0:00/0:00
// East of the Sun — Oscar Peterson
// 104 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 117 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(104/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@8 B@3 C@7 D@8 E@2 F@2 G@3 H I J K L M N@2 O P Q@3 R S T U V@3 W X@2 Y@2 Z AA AB AC AD AE@4 AF AG AH AI AJ AK AL AM
  AN@2 AO AP AQ AR AS AT@2 AU@3 AV AW AX AY@3 AZ BA BB BC BD BE BF BG@2 BH BI BJ@4 BK@3 ~@6
>`.pickRestart({
  A: "[~@26 e4@2 ~ [g2,d3,b3,c#4,f#4]@7 e4 d4 ~ [e3,a3,b3,e4]@13 ~ a4@2 ~@2 e4 [d4,g4] ~ e4@6 b3@2 a3 [b3,e4]@6 a#3@2 ~@17 f7@17 [f4,f#4] ~ f4 ~ e4 ~ d#4 ~ d4@3 d4@2 d4@2 [d4,e4] f4 ~@2 c2@2 g2 ~ [e3,a#3,d4]@4 [b1,d3,a3,d4]@16 [d4,e4] f4 ~@10 c4 ~@3 [e2,b2] ~@11 [b5,c#6,f#6]@13 ~@5 [a2,g3,b3,c4,e4]@4 ~ [g#2,f#3,a#3,b3,d#4]@5 [a2,g3,b3,e4]@5 ~@3 a#3 ~@10 a4@2 b4 ~@17 c5 a4 ~ [f4,g4] e4 d#4@2, ~@25 d4@2 ~@25 g4@2 ~@3 [a#2,a3]@9 e4 ~@13 a#3@7 [c5,f5] a#5@2 d6 f6 a#6 c7@18 ~@52 d#4@3 ~@55 e4@11 ~@9 [a3,d4,d#4,g4]@8 d#5@2 ~@5, ~@57 a4@2 a4@7 [a2,e3]@9 [g#2,d#3]@36 ~@8 g2@8 ~@27 [f2,d#3]@10 d4@2 ~@51 b3@2 a3@2 ~@18 d#3@12 ~@5, ~@83 d4@28 ~@16 f#4@27 ~ f#4@11 ~@12 [b4,c#5,f#5]@17 ~@38 c5@15 e5@3 ~@5, ~@85 a#4@26 ~@51 e4@3 c#4@2 b3@7 [b3,c#4,f#4]@21 ~@15 c4@2 ~@3 [c4,e4,b4]@4 ~ [g#3,c4]@11 ~@5 c3@14 ~@6]/8", // Gmaj7 Esus4 G5 E5 F#maj7 Dsus2 Em7b5 Bm7 …
  B: "[~ f2@3 [d#3,a3,d4]@12 a2 ~@5 [g3,g#3] [a3,e4,g4,c5]@3 [d4,f4,b4]@4 d5@4 d5@4 a#4 ~@6 [c4,d#4,g#4]@3 [d#3,g3,c#4,f4] ~@3 [f#3,c4]@9 ~@12 f#4 g4 ~@6 [a3,c4,f4,a4]@13 g4 [d4,b4], ~@26 g#3 ~@3 [b3,f4,g#4]@8 b4@25 ~@6 g2@4 d4@2 ~ b4@18 d5@2, ~@41 d3@5 ~@16 g#4@2 f#4@8 a#3@3 ~@21, ~@43 f#3@5 ~@3 d#4@2 ~@8 a4@2 g4@2 ~@2 c2@8 ~@21, ~@35 e3@2 ~@2 b2@8 ~]/3", // D G#maj7 Am7 Bdim G# D#7 F#dim F …
  C: "[[g4,d5]@3 ~@15 [f#5,c#6]@11 ~@3 f#4@2 f#4@2 f#4@2 ~ f#4@3 ~@4 f#3@3 ~ g#3 [g4,a4] a#4 c5 c#5 d#5 e5 f#5 g5 a5 ~@3 e3@2 ~@9 a1@6 [a#3,b3] ~@2 [b3,b4]@3 ~@16 b4@6 a#3 [c4,a#4] [g#3,g#4] ~ [a#3,c4,f4,a#4]@5 [f#3,a#3] ~ [d#3,d#4] ~@8 d6@5 ~ [f#3,a#3,c4,d6,f#6,a#6,d7]@19 [f#1,c#2,e3,a#3]@6 [g#1,d#2,g#3,b3]@6 [g1,d2,f3,a3]@6 [f#1,c#2,g#3,c#4]@6 d4@4 d4@3 d4@4 ~@5 g2@2 ~ [c#2,g#2,a3,d#4]@4 [c2,g2,a#3]@4 [b1,f#2,a3,b3]@9 a3@2 ~@4 [a4,b4,e5]@5, ~@3 [e2,b2]@11 [f#5,c#6]@2 a5@13 ~@14 [e4,a4]@7 ~@59 f4@2 ~@17 [d5,f#5,a#5]@24 ~@36 f#4@26 ~@10, ~@6 [f#4,c#5]@4 [f#4,c#5]@19 ~@2 c#4@8 ~@3 c#4@7 ~@31 [c4,e4,g4,c5]@6 ~ [b3,f4,g#4,d5]@22 ~@11 [f#3,a#3]@14 ~@54 a#3@8 ~@17 [b3,e4]@11, ~@8 [d4,a4]@22 ~ [g3,b3]@11 a#3@4 ~@5 a3@7 ~@7 [g3,b3,c4,g4]@15 ~@37 f3@2 ~ [f3,f4]@32 ~@72, ~@12 [e3,g3,b3]@17 ~ a2@12 ~@19 a2@4 ~@59 g#2@28 ~@25 [g1,d2,f#3,a3,b3]@11 ~@3 c2@5 ~@20 [f2,c3]@8]/7", // G5 F#5 Gsus2 Bmaj7 B C7 G# A#sus2 …
  D: "[~@2 [e2,b2]@2 ~@2 b4 b4@2 b4@2 ~@6 b5@3 ~ b5!2 ~@10 c#4@7 ~@2 e4@3 e4@2 e4 e4@3 a4 a#4 ~@6 e5@3 e5@2 e5@2 e5@3 [g#4,a4] a#4 b5@4 ~ e5@5 [e4,g4,e5]@5 [c4,e4,g4,b4]@3 c4 c#4 ~@13 a4@3 ~ [d4,d#4]@7 a3@15 a2 ~@5 [g3,b3,c4,e4,c5,e5,g5,c6]@5 [g#3,d4,b4,b5]@5 ~@6 [c5,c6]@6 d#5@4 [g2,a4,d#5,a5]@5 ~@13 [b4,d#5,b5]@6 b2@2 ~ g5@3 g5@2 g5@2 g5@3 [a#4,a#5] ~@9 d4@4 ~@12 e4@3 ~@3 e4@2 ~@2 [g3,g4]@3 g#4 ~ [a#3,a#4]@3 d#4@3 [c#4,c#5]@4 a2@6, ~@2 f#4@9 [f#4,c#5]@15 f#6 [f#5,c#6]@14 ~@12 b4@17 [b4,c5,e5,g5]@5 [g4,a4,c5,g5]@5 ~@27 a4@8 ~@32 a5@10 ~@10 d#5@8 b3@12 ~ [g3,g4,b4]@11 g3@15 ~@4 a#2@15 ~@23, ~@2 b4@4 ~@5 f#5@6 d4@23 ~@15 [b3,c4,e4]@14 ~@21 [d4,d#4,a#4,d5]@18 ~@38 [g3,b3,c4,e4,d5,d6]@12 [c2,b4,g5,b5]@9 ~@5 g3@5 d4@9 ~@17 a3@11 ~@14 [f#3,g3,c#4,f#4]@5 [a3,a#3,e4,a4]@5 ~@18, ~@14 g#3@27 [a2,g3,b3,c4]@12 ~@98 a3@6 ~@13 d#3@17 ~@19 [b3,b4,b5]@8 ~@7 c#4@7 ~@10 [c4,c#4,g4,c5]@5 ~@13, ~@17 f#5@6 b5@18 ~@18 c5@10 ~@12 [b4,c5] ~@64 g#5@2 ~@19 [c5,g5,c6]@20 ~@2 d5@10 ~ [b4,b5]@6 ~@8 [g4,a#4,c#5,f#5]@14 ~@15 [e4,a#4,d#5]@7 ~@6]/8", // E5 Amaj7 Em Cmaj7 D#maj7 Cmaj7 G#dim C …
  E: "[g#2@2 [a2,c4]@2 ~@2 [e3,g4]@2 ~@4 a4@4 ~@17 b4@2 c5@2 ~@9 f#5 a5 ~@5 c#6!2 c6 a#5 [f5,g#5] ~ d#5 [c5,c#5] a#4 g#4 f4, b3 ~@3 [c3,e4]@4 ~ [g3,c4,e4,b4]@7 c5@19 ~@3 d5@5 f#4 a4@3 ~@6 d#6@2 ~@9, ~@19 c3@17 ~@3 b2@6 d5@2 ~ [d5,d6]@7 ~@9, ~@23 [a3,d#4,g4]@16 ~@2 d3@7 ~@16, ~@42 [f#3,a3,d4]@6 ~@2 [a3,c#4,d4,f#4]@5 ~@3 [g#3,c4,c#4]@5 ~]/2", // Am Em Fm C#maj7 C Cmaj7 D Am7b5 …
  F: "[e4 c#4 c4 a#3 g#3 g3 f#3 [e3,f3] d#3 c#3 c3@2 e1@9 [c4,c#4] [d4,e4,g4,b4,d5]@5 [b3,b4]@4 [a3,a4]@3 ~ c4@2 ~@3 f#3@2 [c4,c5,d#5,f#5,b5]@12 [g3,a3,a#3] [b3,c4,d#4,f#4,b4] ~@3 [a#3,b3,d4,f4,a#4] ~@3 [a3,a#3,c#4,e4,a4], d#4@2 ~@20 e5@2 ~@14 d3@5 ~@21, ~@22 c5 ~@4 [c4,e4,g4]@7 ~ [d#4,f#4,b4]@8 ~@21]/2", // Fmaj7 C#maj7 Em7 B A Cdim Gm B …
  G: "[~@3 [g#3,a3,c4,d#4,g#4] ~@17 g4@4 ~@6 g4@5 ~@5 a4@5 [e2,b2]@6 [d#2,a#2,d#4]@7 [d2,a2,d4]@12 [d5,d6]@12 b6 [c7,c#7] d7@11, ~@8 [a3,b3]@17 ~ [g2,e3,d4]@10 ~@35 [d3,f#3,c4]@20 ~@5, ~@9 g4@12 ~@6 a4@9 ~@10 g4@25 c#6 ~@24, ~@9 d4@8 d4@8 ~@21 [g3,c4]@13 b3@3 ~@34, ~@13 d3@12 c2@11 [b1,d3,a3,d4]@10 ~@50]/3", // G# E5 D#5 D5 D C#maj7 Asus2 Em7 …
  H: "[b4,c5,c#5] d5@4 d5@2 ~ d5@5 ~@12 e3@7, g2@13 [d5,f#5]@18 ~, ~@7 a#4@9", // D
  I: "b2 ~@4 [a4,b4,c#5,e5] ~@2 c#4 ~@15 d#3@5 a#4@2 ~, ~@8 [f2,d5]@7 ~", // A Dm
  J: "b4@3 ~@13 f#5@9 ~@4 [f#4,b4,c#5] ~@2, e2 ~@28 f#5@2 ~", K: "~@8 f#2@8 a#3@7 ~ g#2@7 ~",
  L: "a2 ~@13 [e4,b4,e5]@3 ~@5 [e4,g#4,b4]@2 g#2@5 [a#4,d#5,f#5,a#5]@2 ~, ~@14 a#4 ~@17", // E5 E D#m
  M: "~@3 b5@3 ~@3 b5@4 ~@16 [a4,a5]@3, ~@2 g5@3 ~@3 g5@4 ~@2 b5@18, ~@4 b3 ~@7 [b3,c4]@4", // A Cmaj7
  N: "[~@9 a#3 ~@22 f2@13 ~@3 c2 ~@7 c5@7 ~, c2@2 [d#5,g5,c6]@23 ~@5 [g4,c5,d#5]@18 ~@6 g4@10, ~ d#3@2 ~@27 d#4@15 d#4@18 ~]/2", // Cm
  O: "c5@7 ~ [b3,c4] ~@4 b5@2 a1 c#6 ~ d6@3 ~@3 [b3,d6]@5 ~ c6 ~, ~@8 c6@4 ~@17 c#6@2 ~", // Cmaj7 Bm
  P: "[d2,b5]@8 f#3 ~@4 [c5,d#5,g#5,b5] ~@10 [g2,b3]@8", // G G# G
  Q: "[a3@5 [f#4,c5,f#5]@2 ~ [f#3,c4,f#4,c5,f#5]@5 [a#4,d#5,f#5,a#5]@2 ~ [b2,d#3,b4,d#5,f#5,b5]@8 [f2,a3,b4,d#5,g5,b5]@6 ~@2 e2@6 ~@2 a#2@6 g4@8 ~@8 f#4@8 b4@2 [b3,c#4] ~@5 f#5@2 [a#2,a4,c#5,a5]@6 f#5@2 [a4,c#5,a5]@3 ~@5, f#2 ~@29 [d5,e5,g5]@8 [g4,c5]@8 b4@2 ~@24 f#5@2 ~@22, ~@46 a#4 ~@41 [a#3,c#4] ~@7]/3", // F#dim D#m B Bsus2 A#m A Em7 C5 …
  R: "~@8 [b3,c#4]@5 [f#4,c#5,f#5]@2 ~@6 a#4 ~@2 [b3,c#4]@7 ~, [a2,g4,c#5,f#5]@14 ~@7 [e4,e5]@10 ~, ~@11 b4@5", // Bsus2 F#5 Bsus2 F#m E
  S: "[e5,g5]@5 ~@6 [c5,e5]@4 ~ [g3,d5,g5,a#5,d6]@5 ~ [d5,d6]@2 ~@3 [c#5,d5,g5,a#5,d6]@5, [c5,c6]@8 [b3,c4]@7 d#2@2 ~@15, a1 ~@4 [b4,b5]@10 ~ c#5 ~@4 [c#5,g5,a#5]@3 c#4@8, ~@5 [e5,g5]@5 [g5,c6]@5 ~@17", // Em C Gm D Gm C Cmaj7 B …
  T: "a#4 ~@7 a2@5 [a#4,g5,a#5]@2 ~ [f#5,a5] ~@7 [f#3,c4,f4,a#4]@6 [b3,d4]@2, [g3,e5,g5,b5]@15 ~@7 g#2@9 ~, ~ b4@15 a4@2 ~@14", // D# F#m F#maj7 Bm Em
  U: "g2@8 [c#3,b3,d5]@7 ~@2 [c3,a#3]@7 [a#2,g#3]@8, ~@15 e5@2 ~@15, ~ f#5", // G C7 A#7
  V: "[~@8 c#4@8 ~@6 [a4,b4]@2 [c3,e4]@6 ~@2 e2@8 [g#3,c#4] ~@4 f#4 [a#4,c#5,f#5] ~@9 [b3,c#4]@5 ~@3 b1@8 [f2,a3]@8 [e2,g#3]@5 [g#4,b4]@3 [g#2,f#3,f4]@8, [c#5,e5]@15 ~ f2@14 [e4,f#4,a#4]@11 ~@20 [f#4,a4,c#5]@18 ~@17, ~@31 d5@9 ~@8]/3", // Asus2 C C#5 F# Bsus2 F E G#m …
  W: "e4@4 b3 ~@3 e5@3 d#5 e5@3 ~, ~@8 c4 ~@7 a#1 ~@7 g#3@2 ~@6",
  X: "[[g5,b5]@8 [c5,e5,g5,b5]@8 ~@8 [g3,b3,c4,b4,b5]@7 ~ d#3@2 ~@6 [a#3,c4]@6 ~@5 g5@2 d#5@2 ~ c5@5 ~ b4@2, ~@8 [b3,c4]@2 ~@6 [a1,a5]@15 c2@2 ~@13 b5@4 ~@11 a#4@2 ~, ~@32 [d#5,g5,c6]@16 c3@15 ~]/2", // G Cmaj7 A#sus2 Cmaj7 A Cm
  Y: "[a4@2 ~@12 b3@2 ~ c4@4 ~@3 d#4@5 ~ c4@9 [a#3,b3] ~@5 [g#3,d4,f4,b4]@2 ~ [b3,f4,g#4,d5]@8 [e4,g4,c5]@7 ~, ~@7 d#3@8 ~@17, ~@16 f2@13 e4@10 ~@25, ~@22 d4@8 ~@10 [c4,e4,g4,c5]@8 ~@8 a3 ~@7]/2", // Bmaj7 G#dim Bdim C
  Z: "[c2,c4,d#4,b4]@5 [c4,d#4]@3 ~@5 [d4,d#4,g4,c5] ~@7 a#5 b5@2 d#3@8, ~@5 a4@7 ~@4 g3@16, ~@8 c3@23 ~, ~@21 b4@10 ~, ~@22 c6 ~@9", // Cm
  AA: "[b2,f#5] ~@15 e2@5 a#4@2 ~ b4@2 ~@3 [f#4,a#4,c#5,f#5] ~@2, [g4,g5]@23 ~@9", // B5 F# G
  AB: "~@5 [e4,a#4,c#5,e5] ~@2 a#3@7 ~@9 [g3,a#3,c#4]@6 a2@2, ~@17 a#1@15", // A#dim Gdim
  AC: "[e5,g5]@5 e5@5 [e5,b5,e6]@5 ~@9 [a3,c4,e4]@5 [b5,e6,g6,b6]@3, b4@15 ~@17, [g3,b5]@5 ~@3 [a1,g5,d6]@8, ~@5 [c5,g5,c6]@10 ~ g6@13 ~@3", // Em E5 Am Em G Dsus4 C5
  AD: "~@8 [d#3,d4] ~@20 [b5,b6]@2 ~, [c2,d#3]@2 ~@14 g2@15 ~, ~ [c6,d#6,g6,c7]@31, ~@3 [d#3,a3,g#5,g#6], ~@27 [a5,a6]@5", // D#maj7 B Cm G# A
  AE: "[a3@8 [b3,c#4,d4]@5 ~@11 a3@6 ~@2 g#3@8 [g#3,c4,c#4,f4]@5 ~@3 [d#2,a#2]@5 ~@3 [g3,c#4]@6 ~@3 c6@5 ~@5 c6@5 [c5,e5]@6 ~@2 [f3,b4,e5]@6 ~@2 g3@2 ~@6 [a3,c4]@5 [c5,d#5,g#5,b5]@2 ~ [c5,d#5,g#5] ~@5 [c5,d#5,g#5,b5] ~ g#2@5 a#4 d5@2, [b2,f#3,d6,d7]@13 [a5,d6,f#6,a6]@17 ~@2 [c#6,f6,g#6,c#7]@13 [g#5,c#6]@9 ~@8 e3@18 ~@6 g#2@9 ~@33, ~@16 b1@14 a#2@16 [c#5,f5]@7 [c#5,f5]@10 ~ [a2,c5,e5,g5]@16 a1 ~@13 a2@4 ~@30, ~@64 g3@6 c6@5 ~@20 c5@14 ~@16 [a4,e5,g5]@2 ~, ~@72 [a3,c4,e4]@8 ~@16 [e5,g5,b5]@15 ~ b5@2 ~@12 b4 ~]/4", // Bm C#maj7 D#5 Gdim C E Am G# …
  AF: "~@8 [d#3,a3]@8 [e2,g#3]@8 [c#2,e3]@5 [g4,a#4,d#5] ~@2", // D#dim E C#m D#
  AG: "d#3@5 d#4@3 f#4 ~@4 d5@3 c5@6 [g#4,a4]@2 ~ f4@5 d#4@2, ~@8 f#2@8 ~@8 f3@7 ~, ~@9 g4@7 ~@16", // Amaj7
  AH: "d4@8 a#3@5 d5@3 ~ f5@5 ~@2 [a3,a#3,g5]@8, a#2@16 ~ f2@2 ~@3 f5@10", // D#
  AI: "c#5 ~@7 [a3,a#3,d4]@6 [f4,c5,d5]@2 g3@6 f#4@2 ~ f#3@5 c#5@2, [a4,f5,a5]@14 [g#4,a4] ~@7 [f4,a#4]@10, ~ d5@12 ~@11 g#2@7 ~", // A#maj7 Dm7 Dm Amaj7 A#5
  AJ: "~ g2@2 ~@3 d#5 ~ c#5@4 ~ d5 ~@2 [d2,g#5] ~@4 g#5 a5@7 g#5 ~@2, d5@6 ~ d5@2 ~@7 a4@2 ~@3 a4@8 ~@3", // Ddim
  AK: "~@8 [a3,b3]@8 d2@5 [b3,c#4,e4]@3 c#2@5 [a#3,c4,d#4]@2 ~", // Asus2 C#m7 Cm7
  AL: "d#3@8 [a#3,c4] ~@7 [c3,d#3,g3,f#4] ~@7 [b2,f#4]@5 ~ a#3@2, ~@8 g3@2 ~@6 g4@13 [c3,d#4,g4]@2 ~", // A#sus2 Cm B5 Cm
  AM: "~@6 d5@10 [b2,d4,f#4,c#5]@2 ~@6 [c3,a#3,d#4,g4,d5]@3 ~@5, ~@5 [d#3,d#4,g4,a#4]@10 ~@17", // Bm Cm7 D#
  AN: "[[d#2,f4,f#4,a#4,d#5]@13 ~ f#4@2 ~@8 [d#3,f#4]@5 [g#2,f4,a#4]@11 ~@4 [g#5,a#5] f#5 f5 ~ d#5 c#5 ~ c5 a#4 g#4 f#4 a#3 d#4 c#4 c4 b3 a#3 a3 g#3 ~, ~@13 f5@2 ~ [a#3,c#5]@13 c4@2 ~@33, ~@7 c#4@8 ~@17, ~@21 [f#3,a#4]@8 ~@11 f#3@16 ~@8]/2", // D#m A#7 G#sus2 A#m F#
  AO: "~@8 g2@6 d#5@3 [a#3,c4] ~@4 a5@2 ~ d#3@5 [d#5,d#6]@2, [c2,d#3,g3]@16 ~ g5@5 ~@2 [g3,a#4,a#5]@7 ~", // A#sus2 D# Cm Gm
  AP: "c#6 ~@7 c#3@5 ~@16 f5@2 ~, [d3,d5]@13 f2@18 ~, ~ d6@14 ~ c3@15 ~, ~@3 a3", // D
  AQ: "[a4,d#5]@2 ~@6 [g3,c4,d5,d6]@5 ~ f#5@2 [c5,f#5,g#5,c6] ~@7 [f#3,g4,g5]@5 [f#4,f#5]@2 ~, [a2,a5]@13 [c#5,g#5,c#6]@2 ~ d3@15 ~, ~@3 [c#5,f#5,g#5,c#6]@4 ~ [f#3,c4]@4 ~@4, ~@21 [a#4,a#5]@10 ~", // Adim Gsus4 G#7 Gmaj7 F# A C#5 C#sus4 …
  AR: "c#5 d5@3 ~ c#5 ~@2 [e3,g3,a#3,d4]@5 g2@3 a2@3 a#2@2 d3@3 e3@2 ~@3 a3@2 ~, [e3,g4]@3 ~@2 [g4,g5]@22 ~@5, ~@6 d5@21 ~@5", // Em7b5 Em G
  AS: "[a#3,d4,f#4,a#4]@8 [a#3,d4,f#4,c5]@6 c4 c#4 [d4,e4,g4,a#4,d5]@13 [a3,a#3,d4,a4]@2 ~", // A#aug Em7b5 A#maj7
  AT: "[[f#3,f#4]@4 ~ [g3,g4]@2 ~ [a3,a#3,f#4,a4]@5 [b3,d#4]@8 ~ g#3@7 ~@8 [e3,g#3,b3,d#4,f#4]@2 ~ [e3,g#3,b3,d#4,f#4]@5 ~ [f#2,e3,a#3,d#4,f#4]@3 ~@4 d#4@8 d#4@2 ~, ~@13 [a#3,f#4,a#4]@16 g#2@16 c4@2 ~@6 [e3,a#3,c4,f#4]@11, ~@21 [b3,d#4,g#4]@9 ~@2 c#2@13 ~@19]/2", // F# G D B Emaj7 D#m C7 G#m
  AU: "[c#4 d4@4 ~@3 d#4@5 ~@11 [c#4,c#5]@5 ~@11 [g4,g5]@5 ~@8 [d#3,g3,c#4]@8 ~@3 d2@8 [g#2,f#3]@5 a#4 b4 ~@9 g#2@5 ~ b3@2, [d#3,g3]@13 [d#3,a3,b3]@17 ~@7 [f4,c5,f5]@8 [a4,c#5,f5,a5]@16 g4@12 ~@4 [f4,d5,f5]@2 ~@6 b3@8 ~@3, ~@5 f4@8 ~@8 [c4,c5]@8 [a#2,f3,a3,d4,a4,d5]@16 ~@16 [c5,e5,g5]@17 ~@8 d#4@8 ~@2]/3", // C# G D#7 G#7 D# B7 F5 Aaug …
  AV: "~@8 [f3,b3,d4] ~@2 d5@2 c#5@2 ~ d5@2 ~@3 g#5 a5@2 f3@2 ~@3 g#5 a5@2, ~@8 e5@2 ~@6 d2 ~@4 a4@2 ~ b3 ~@4 a4@2 ~", // Bdim
  AW: "g1@2 a5 ~@2 a4 a5 ~ [a1,c3]@3 ~ [a4,a5] ~ [a4,a5] a5 a4 a5 ~ a5 a4 a5 ~@2 [b1,d3]@4 ~ g2@3, a4 ~@15 [a#1,c#3]@2 ~@4 a4@2 ~@8, ~@23 a5@2 ~@7", // Am A Bm A#m
  AX: "g5@5 ~ g#5@2 [a#3,c4] ~@5 f#5@2 g5@4 ~ c#6 [d5,d6]@2 [a#3,c4] ~@5 d6@2, d#3@2 ~@6 g5@4 ~@17 [d5,c#6]@2 ~, c2 ~@7 g3@2 ~@6 g2 ~@7 g3@2 ~@6", // A#sus2 D A#sus2 Dmaj7
  AY: "[d5 d6 ~ d6@2 [d5,d6]@2 [d5,d6] d6 ~@3 d6@2 ~ d5 [d5,d6] d6@2 d6@2 ~@3 g3@5 ~@3 [g#2,f#3]@6 c#6@2 [f#3,a#3,c#4,d#4,f5,d#6]@6 [f#5,c#6]@2 [d#2,f#3]@5 ~@3 [a2,g3]@5 ~@3 f#3@8 [f#3,a#3,c#4,d#4]@6 [c5,f#5,a#5] ~@9 c3@6 a#5@2, d#3@8 [d2,f3]@8 [d#2,g3]@7 ~@6 d#3@11 ~@13 [d4,g4,b4]@8 [f#4,a#4]@17 ~@18, ~@9 d5@2 d5@2 ~@33 c#5@8 ~@7 c#4@11 ~@9 d#3@15, ~@10 d6@2 ~@2 d6@2 ~@5 d6@9 ~@34 g#2@14 ~@2 [g#2,f#3]@15 ~]/3", // D G#7 F#maj7 F#5 D#m A7 D#m7 Cm7b5 …
  AZ: "[c2,d#3,d#5,g5,a#5,d#6]@3 ~@5 [g3,a#3,c4,d5,g5,a#5,d6]@5 [c6,c#6] d6 ~ [c3,a#3]@5 d#6@3 [a2,g3]@8, ~@13 [f5,f6]@2 ~@6 [d#5,a#5]@11", // Cm7 Gm C#maj7 C7 A7 F D#5
  BA: "[f#3,f#5,a#5]@8 [f#3,a#3,c4,c5,f#5,a#5,c6]@5 ~@3 f#3@8 ~ [f#3,a#3,c4,d#4]@5 [d5,d6]@2, [g#2,d5,d6]@13 d#5@19, ~@7 [f#5,a#5,d#6]@9, ~ d#2", // F# Cm7b5 D G#dim D#m
  BB: "~ [f3,a#4,a#5]@5 [a#4,a#5]@2 [f3,g3,a#3,d4,a#4,a#5]@6 [a#4,a#5]@2 [c#5,c#6] [d5,d6]@3 ~@4 [d3,a#4,a#5]@7 ~, ~ d2@2 ~@13 [f#3,c4]@15 ~", // A#5 A# Gm7 A# C# D Gm F#dim
  BC: "[c#3,a#3,a4,c#5,e5,a5]@8 ~@4 a#5 [f#5,g#5] e5 d#5 ~ c#5 c5 a#4 a4 g4 f#4 e4 d#4 d4 c#4 c4 b3 a#3 a3 g#3, ~@8 [e3,a#3]@17 ~@7, ~@8 c#4@13 ~@11", // A F#sus2 Edim
  BD: "~@13 f#4@3 ~@8 [g3,d5]@5 [g4,g#4] a4 ~, [c2,d#3,g3]@16 ~@5 a#4@8 [c5,d5,f5]@2 ~, ~@8 g2@8 [c4,g4]@13 ~@3", // G5 G#maj7 Cm Dm7 C5
  BE: "[f2,d#3,a3]@8 [f2,d#3,a3]@8 [e2,g#3]@7 ~ [d#2,f#3]@5 d5@3", // F7 E D#m
  BF: "f5@6 a5@2 [a3,c4,d4,c5,c6]@6 a5@2 [c5,c6]@3 ~@5 [a3,a5]@6 g5 ~, f3@3 ~@13 [d3,c4]@16, ~@21 c6@2 a#5@2 ~@7, ~@11 b5 ~@4", // D7 C A D7
  BG: "[~ g#5 ~ d#5 ~ e5 c5 ~ c#5 ~ a4 ~ a#4 ~ g4 ~ g#4 ~@3 f#4@2 d4 ~@6 c4@2 d4@2 ~@2 g3 ~@17 [b1,d3]@3 [c2,d#3]@3 [d#2,g3]@2 g2@2 ~, c#3@31 ~@2 [d#3,d#4]@23 ~@8, b3@3 d#4 ~@4, ~@25 g#3@7 ~@8 g3@16 ~@8, ~@27 b3@5 ~@29 a#3 ~@2]/2", // Bm Cm D#
  BH: "[a#2,d#3,g3,a#3] ~@5 f4@2 d#4@2 ~@3 [f2,d#3,a3,b3]@9 c4@2 c#4@4 ~ [d2,f3,a3,c4,d4]@2 ~, d4 ~@15", // D# F7 Dm7
  BI: "~@5 [d2,f3,a3,c4,f4]@9 d4@2 [d2,f3,a3,c4,f4]@3 ~@5 [e2,g3,b3,d4,f#4,a4]@3 ~@5", // Dm7 Em7
  BJ: "[~@8 [g#2,f#3,f#4]@5 ~@11 [f3,b3,d#4]@5 g5@2 ~ [a#4,d#5] ~@7 [c#5,c#6] d5 ~@6 [d#5,a#5] ~@7 [e4,g#4,c#5]@5 ~@3 [g4,a4,c5]@2 ~@6 a#4@3 ~@2 a4@3 ~@5 d#4@3 e4@3 ~@2 f4@8 [c4,d4,a4]@2 ~ [d#2,c4,c#4,g4]@4 ~@4 [d2,a2,a3,c4,f4]@5 [g2,g3,b3,d#4]@3 ~@5 c#4@2 ~, [d2,c4,f4,g#4]@12 ~@4 g2@13 f#5 ~@2 a#5@2 ~@6 [g5,d6]@2 ~@86, ~ f3@12 [b3,d#4]@8 [b4,d#5,g5]@9 ~@18 a#4@2 ~@14 [d4,d#4] ~@15 a#4@8 ~@40, ~@5 a#4@7 ~ g4@17 ~@7 c2@8 g2@8 f#2@9 ~@7 f2@19 ~@13 [a#2,f3] ~@2 a#2@2 ~@22, ~@16 f3@8 ~@5 d#3@32 [d#3,a3]@27 ~@40]/4", // G#7 Fm7b5 D#5 C# D#5 C#m Am7 D7 …
  BK: "[~@5 d#4@3 [f2,f#3,a3]@5 ~@18 [c6,d6,f6,a6]@64 ~, [c2,d#3,g3,a#3,d4]@8 d#3 ~@4 [a#1,f3,a3,c4,d4]@64 ~@19, ~@7 f2@32 ~@9]/3", // F Dm7 Cm7 A#maj7
})).s("gm_piano").gain(0.4)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  ~ A B@2 ~@3 C ~ D ~ E F ~ G ~@5 H@3 ~@2 I ~ J ~ K L@3 M N O P Q R S T U V W@2 X Y Z AA AB AC AD AE AF@2 AG AH AI@2 AJ
  AK AL AM AN ~ AO AP AQ AR AS AT AU@2 AV AW AX@2 AY ~ AZ BA ~ BB BC BD ~ BE@2 BF ~ BG ~@5 BH ~@2 BI BJ BK ~@6 BL@8 ~
>`.pickRestart({
  A: "~@7 [c2,g2]@13 ~@12", B: "[~@4 d4 ~@20 c6@22 ~@17, ~@12 d4@2 ~@4 c4@29 ~@17, ~@13 f#3@34 ~@17]/2",
  C: "~@23 f5@4 ~@5", D: "~@22 e4@9 ~, ~@19 d3@12 ~", E: "~@16 d5@13 ~@3", F: "~@7 c#4@2 ~@8 g3 ~@14", G: "~@22 f4 ~@9",
  H: "[~@26 g4@16 g4@2 ~@3 f2@4 d4@16 ~@29]/3", I: "~@7 e3@2 ~@23", J: "~@29 b4@2 ~", K: "~@22 g#3 ~@9",
  L: "[~@26 a#3@10 ~@26 [g2,f#3,b3]@9 ~@25]/3", M: "[f#3,b3]@14 ~@2 [c3,a#3]@15 ~, ~@7 g4@9",
  N: "a3 ~@7 [a3,d4] ~@15 a3@6 ~@2", O: "b2 ~@7 b4@5 ~@3 b2@8 [g#3,d4,e4] ~@7", P: "e2@8 a3@8 g2@7 ~ f#3@7 ~",
  Q: "g3@8 [g3,b3,c4] ~@7 a2@15 ~", // Cmaj7
  R: "[a2,g3]@2 [b4,e5]@3 ~@3 [b4,e5]@4 ~@12 g3@8, ~@4 g3 ~@3 e2@8, ~@8 c4 ~@5 [b4,e5,g5]@18", // A7 E5 Em
  S: "~@8 [d#3,g3] d4 ~@6 g2@8 [d#3,a3,c4]@3 ~@5, ~ c5@23 ~@8", T: "d#3@8 [d#3,a3,c4]@7 ~@9 [d#3,a3,c4]@7 ~",
  U: "[a2,g3]@7 ~ g3 ~@15 [g3,c4]@5 d6 ~@2", V: "~@8 c4 ~@7 [d3,f#3,c4]@8 ~@8",
  W: "[~@8 a3@4 ~@4 g3@3 ~ g#3@3 ~ [e2,g3]@3 ~ [a#2,g#3]@3 c#4, ~@29 g4@8 ~@17 [d4,g4]@8 ~@2, ~@30 b4@9 ~@25]/2", // Em A#7 G5
  X: "[a2,g3]@7 ~ g3 ~@7 g3@7 ~ g3@2 ~@6", Y: "g3@8 g3@5 ~@3 [a2,g3]@5 ~@3 g3@7 ~", Z: "~@8 g3@7 ~@9 g3@8",
  AA: "~@8 f#3@3 ~@5, ~@8 d2 ~@7", AB: "f#3@4 ~@3 d#5 ~@8", AC: "a3@4 [a3,d4]@4 a3@7 ~, [b2,a4]@15 ~@17",
  AD: "b2@8 d4 ~@15 d4@6 ~@2, ~@8 e3@7 ~", AE: "d3 ~@3",
  AF: "[[a2,g3]@8 g3@2 ~@4 c5@2 ~@8 d4@2 ~@6 [a2,g3,e5]@8 g3@8 a4@15 ~, ~@31 c5@9 ~@24]/2", // A7
  AG: "~@8 g3@8 b3@15 ~, c5 ~", AH: "~@3 b4@2 a4@10 ~@15 b3@2, [f2,d#3,a3]@15 ~@17",
  AI: "[[a2,g3]@8 ~@22 g2@9 ~@15 c5 ~@9]/2", AJ: "g3@2 ~@6 [g3,a3,b3,d4]@15 ~ [g3,a3,b3,d4]@2 ~@6",
  AK: "[a#2,g3]@6 ~@2 [g3,c#4]@7 ~@17", AL: "~@8 [g3,a3,c4,e4]@7 ~@9 g3@7 ~", AM: "~@8 g3 ~@23",
  AN: "~@8 a3@7 ~ d3@14 ~@2", AO: "~ g3 ~@2", AP: "~@8 g3@7 ~ f#3@13 ~@3, ~@8 d2 ~@7", AQ: "[g2,e3]@7 ~ f2@8 ~@16",
  AR: "c2@7 ~ e3@8 [f2,d#3]@7 ~@9", AS: "a3 [f3,a3,d4] ~ [f3,d4]", AT: "[a#2,f3] ~@3 f3@3 ~@9, a3 ~@3",
  AU: "[~ f3@7 [f3,b3]@2 ~@6 a5@5 ~@3 [f3,b3,d4]@5 ~@3 f3@8 [f3,d4]@8 ~@8 e3@5 ~@3, ~@29 a4@19 ~@16, ~@15 a5@9 ~@8, ~@2 g2 ~]/2", // Fdim Bdim Dm
  AV: "c2@8 ~@16 a3@5 ~@3", AW: "~@3 c2@5 a3 ~@7", AX: "[f#3@14 ~@15 f#3@11 ~@4 c6 ~@10 f4 ~@8, ~@5 c4@2 ~]/2",
  AY: "~@17 g3 ~@14", AZ: "g3@8 ~@16 [c4,d4]@7 ~", BA: "[g2,g5]@3 ~@23 g3@3 ~@3",
  BB: "[a#3,d4]@3 ~@2 [a#3,d4]@2 ~ d4@5 ~@19", BC: "~@21 f#2@10 ~", BD: "~@13 f2@16 ~@3",
  BE: "[f3@8 ~@8 [g2,f3]@7 ~ f#3@5 ~@3 [g2,f3]@7 ~@17 d4 ~@7, ~@15 d4@5 ~@12]/2", // G7
  BF: "~ [a4,a5] ~ a4 a5 ~@2 a4 a5 a4 a5 a4 ~@6 a4 ~@13", BG: "~@2 d5@2 d5 ~@8 d5@2 ~@3 d5@2 d5@10 ~@2, c2@7 ~@25",
  BH: "~@12 c6 ~@19", BI: "d2 ~@15", BJ: "~@18 f4 ~@13", BK: "~ c2@23 ~@8",
  BL: "[~@31 [f5,g5]@225, ~@31 [a#4,d5]@64 ~@161]/8", // Fsus2 A#
})).s("gm_piano").gain(0.24)

stack(piano, piano_soft)

More by Oscar Peterson