Strudelify

Crowned And Kissed

Esperanza Spalding

KeyE majorTempo100 bpm
0:00/0:00
// Crowned And Kissed — Esperanza Spalding
// 100 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 4/4 at bar 1, 2/4 at bar 17, 4/4 at bar 18, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/6308675; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 110 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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 · soprano sax · "Female Chorus"
const soprano_sax = note(`<
  ~@4 A B@2 ~@3 A C@2 ~@3 D@2 ~@3 E@5 ~@2 F ~@4 G H I@2 ~@2 J@2 ~@6 K L ~@4 M@2 ~@6 N@2 O ~ P ~@5 Q@3 ~@2 R@2 ~@2 S@2
  ~@2 T@2 ~@4 U@3 ~@8 V@3 ~@6
>`.pickRestart({
  A: "~@7 [g#4,b4]", B: "[[f#4,a4] ~@2 [g#4,b4] [f#4,a4] ~@2 [g#4,b4]@3 [c#4,e4] [c#4,e4]@3 ~@2]/2",
  C: "[[f#4,a4] ~@2 [g#4,b4] [f#4,a4] ~@2 [g#4,b4]@7 [c#4,e4]!2]/2", // F#m G#m F#m G#m C#m
  D: "[~@6 g4@3 g#4@3 [f4,a4]@12 ~@8, ~@3 f4@3 ~@10]/2", // F
  E: "[~@11 [f#4,a4]@2 [g#4,b4]@7 ~@7 [f#4,a4]@2 [g#4,b4]@7 ~@7 [f#4,a4]@2 [g#4,b4]@7 ~@7 [f#4,a4]@2 b4@15 ~@4, ~@61 g#4@11 ~@8]/5", // F#m G#m F#m G#m F#m G#m F#m
  F: "c#5 b4 g#4 f#4 e4@4 ~@8", G: "~@8 c#5 b4 g#4 f#4 e4@4", H: "~ [g#4,b4]@7",
  I: "[[a4,c#5] [g#4,b4] [f#4,a4] [f4,c#5]@7 ~@6]/2", J: "[[e4,g#4]@22 [e4,g#4] ~@9]/2", K: "~@7 [f4,g4]",
  L: "~ [f4,g#4]@3 [f4,a4]@4 [f4,a4]@8", M: "~@3 [e4,f#4]@2 [f#4,g#4]@11", N: "[[g#4,b4]@14 [c#4,e4]!2]/2",
  O: "[g#4,b4] ~@3", P: "~@8 b4 a4 g#4 f#4 ~@4",
  Q: "[b4 a4 g#4 f#4 ~@6 [g#4,b4]@14 [a4,c#5]@2 [g#4,b4]@2 [f#4,a4]@2 [f4,c#5]@6 [f4,c#5]@8 ~@4]/3", // G#m A G#m F#m C#
  R: "[c#5@30 [e4,g#4] ~]/2", S: "[~@7 [e4,g#4]@8 [g#4,b4]]/2", T: "[~@8 c#5 b4 g#4 f#4 e4@8 ~@12]/2",
  U: "[c#5 b4 g#4 f#4 e4@4 ~@2 [g#4,b4]@14 [a4,c#5]@2 [g#4,b4]@2 [f#4,a4]@2 [f4,c#5]@6 [f4,c#5]@8 ~@4]/3", // G#m A G#m F#m C#
  V: "[~@5 [g#4,b4]@7 [a4,c#5] [g#4,b4] [f#4,a4] [f4,c#5]@7 ~@2]/3", // G#m A G#m F#m C#
})).s("gm_soprano_sax").gain(0.25)

// other · trumpet
const trumpet = note(`<
  A B C@4 D E F G H I@2 ~@14 J K L@2 M ~@3 N O ~@5 P Q ~@7 R@2 S T ~@2 U V U V U V ~@12 W X Y Z W X Y ~@5 AA ~@8 AB@5
  AC@2 ~ AD@5 ~
>`.pickRestart({
  A: "~@10 g#4 [a4,a#4] b4 g#4 ~ b4, ~@6 c#4 ~", B: "[b3,e5]@8 ~@4 [g#4,d#5] [e4,b4] ~ [g#4,d#5]",
  C: "[[b4,f#5]@44 [e5,g#5] ~ [e4,e5] [b3,b4]@17]/4", D: "~@12 [g#4,d#5] [e4,b4] ~ [g#4,d#5]",
  E: "[b4,f#5]@8 ~@4 [b4,g#5] [c#5,e5] ~ [c5,g5]", F: "[b4,f#5]@8 ~@4 [b4,g#5] [c#5,e5] ~ [g#4,c#5]",
  G: "[a4,b4]@8 ~@2 g#4 [a4,a#4] b4 g#4 ~ b4", H: "e5@8 ~@4 [g#4,d#5] [e4,b4] ~ [g#4,d#5]", I: "[b4 b4@2 ~, f#5@3 ~]/2",
  J: "~@5 a#4 b4@2", K: "a#4@2 g#4@3 b4@3", L: "[a#4@3 b4@7 ~ a#4 b4@2 a#4@2]/2", M: "g#4 ~@3", N: "~@7 a#4",
  O: "b4 a#4 ~@2", P: "~@8 g#4@3 f#4 ~@2 b4 ~", Q: "g4@2 f#4 ~ f#4 ~ e4 ~ f#4 g4 g#4 c#4 ~@4",
  R: "[~@15 b4@2 g#4@2 [d4,e4] e4 c#4@3 ~@2 d4@6]/2", S: "~@5 e4@5 d4@6", T: "~@5 e4@7 c#4@4",
  U: "~@3 g#4 ~ g#4@5 d4@6", V: "~@3 g#4 ~ g#4@7 d#4@4", W: "~@6 c#4 e4",
  X: "g#4@3 f#4 b4 ~ c#5 g4@5 f#4 ~ e4 ~, f#4 ~@15", Y: "f#4@2 g4 c#4 ~ e4 d#4 d4@5 c#4 ~ e4 ~", Z: "d#5 ~@15",
  AA: "~@4 [e4,g#4]@3 ~", AB: "[~@8 [g#4,d#5] [e4,b4] ~ [g#4,d#5] [b4,f#5]@40 [g#4,e5] ~ [e4,c#5] [b3,b4]@17 ~@8]/5",
  AC: "[~@4 [g#4,d#5] [e4,b4] ~ [g#4,d#5] [b4,f#5]@10 ~@14]/2", // G#5 E5 G#5 B5
  AD: "[~@8 [g#4,d#5] [e4,b4] ~ [g#4,d#5] [b4,f#5]@40 ~@4 [g#4,e5] ~ [e4,c#5] [b3,b4]@17 ~@4]/5", // G#5 E5 G#5 B5 C#m B
})).s("gm_trumpet").gain(0.15)

// other · alto sax
const alto_sax = note(`<
  ~@15 A@2 ~@3 B ~@6 C D E@2 F ~@3 G H ~ I@3 ~ J K@2 ~@2 L M ~@2 N@2 O P ~@2 Q R Q R Q R ~@2 S@3 T ~@4 U V W X Y Z W X Y
  ~@2 S@3 AA ~@4 U AB ~@16
>`.pickRestart({
  A: "[~@8 [a3,a4]@2 [c#4,c#5] [e4,c5]@3 [d#4,f4]@8 ~@10]/2", // A C# C D#sus2
  B: "~@7 b4!2 [e4,g#4]@2 [c#4,e4]@2 [b3,c#4]@3, ~@7 g#4@2 ~@2 [b3,d4] ~@4", C: "~@5 g4 g#4@2", D: "g4@2 e4@3 e4@3",
  E: "[d#4@3 e4@7 ~ f4 f#4@2 f4@2]/2", F: "e4 ~@3", G: "~@7 g4", H: "g#4 g4 ~@2",
  I: "[~@8 g#4@3 f#4 b4 ~ c#5 g4@5 f#4 ~ e4@2 f#4 g4 g#4 ~@2 e4 d#4 d4@5 f#4 ~ e4 ~@9]/3",
  J: "~@8 [e4,g#4]@3 [d#4,f#4] ~@2 [f#4,b4] [e4,g#4]", K: "[~@2 [c#4,e4]@3 ~@3]/2", L: "a4@2 c#5 c5@3 f4@8 d#4@2",
  M: "~ e4@3 f4@12", N: "[~@15 g#4@2 e4@2 c#4@2 b3@3 ~@2 b3@6, ~@19 b3 ~@12]/2", O: "~@5 e4@5 c#4@6",
  P: "~@5 e4@7 g#3@4", Q: "~@3 d4 ~ d4@5 c#4@6", R: "~@3 g#4 ~ g#4@7 c#4@4",
  S: "[~ [g4,a#4] [g#4,b4]@2 [g4,a#4]@2 [e4,g#4]@3 [e4,b4]@3 [d#4,a#4]@3 [e4,b4]@7 ~ [g4,a#4]]/3", // Gm G#m Gm E E5 D#5 E5 Gm
  T: "[g#4,b4]@2 [g4,a#4]@2 [e4,g#4]@3 ~", U: "~@3 [g4,a#4] [g#4,b4]@2 [g4,a#4]@2", V: "[e4,g#4] ~@15", W: "~@6 c#4 e4",
  X: "g#4@3 f#4 b4 ~ c#5 g4@5 f#4 ~ e4 ~, f#4 ~@15", Y: "f#4@2 g4 c#4 ~ e4 d#4 d4@5 c#4 ~ e4 ~", Z: "d#5 ~@15",
  AA: "[g#4,b4] [g4,a#4] ~@2", AB: "[e4,g#4] ~@7",
})).s("gm_alto_sax").gain(0.2)

// other · trombone
const trombone = note("<~@7 A@4 ~@20 B@5 ~@3 C D E F G ~@3 H I ~@6 J K L M@2 N O P ~@25 Q R S T@2 ~@17>".pickRestart({
  A: "[~@15 d#4@9 ~@4 g#4 f#4 f4 e4@9 a3@4 f#3@8 ~@12]/4",
  B: "[~@12 c#3@12 c#4@10 ~@2 b3 g#3 ~ b3 e4@4 d#4@12 c#3@12 c#4@8 ~@4]/5", C: "~@3 e4 d#4 b3 g#3 e3 d#3@2 e3 ~ c#3@4",
  D: "~ c#3 d#3 e3 b3 g#3 a#3 b3 c#4 d#4 e4 c#4 d#4 b3 g#3 e3", E: "d#3@2 c#3 f#3 ~@3 e3 f3 a3 c4 a3 a#3 c4 c#4 d#4",
  F: "e4 g#4 ~@3 c#5 ~ a#4 c#5@2 g#4 ~ g#4@2 f#4 e4", G: "f#4 g#4 ~ e4 ~@3 d#4 e4@2 d#4 c#4 d#4@2 c#4 b3",
  H: "f#3@2 a3 e4@3 d#4@8 g3@2", I: "~ g#3@3 a3@12", J: "g#3@2 a3@2 b3@2 b3 g#3@2 a3 b3@2 ~@4",
  K: "~ g#3 a3 b3 c#4 e4 ~@4 a3 e4 d#4 b3 g#3 e3", L: "c#4@2 c4 b3@2 g#3@2 a3@2 a3 g#3 e3 f#3 g#3 a3 c#4",
  M: "[d#4 g#4 f4 ~@4 g#4 f4@2 d#4 g#4 ~ f4 ~ c#5@7 c#5 ~@2 b4@3 g#4@2 ~@2, ~@15 b4 ~@16]/2",
  N: "~@3 a4 g#4 f#4 d#4 c#4 e4 f#4 d#4 b3 c#4@2 b3 ~",
  O: "~ e3 b3 [b3,e4] [a3,b3] e4 f#4 g#4 ~@2 [g#4,b4] [b3,d4,e4] [b3,d#4,e4] [f#4,g4] [e4,f#4] [b3,d#4]", // E5 Asus2 G#m E7 Emaj7 Gmaj7 Esus2 B
  P: "f#3@2 [e3,b3] [b3,e4] [f#3,b3,e4] g4@3 ~ f#4@3 a3 ~ d#4 a4, g#3 ~@15", Q: "~ c#3@3", R: "c#4@10 ~@2 b3 g#3 ~ b3",
  S: "e4 d#4@3", T: "[c#3@3 c#4@2 ~@3]/2",
})).s("gm_trombone").gain(0.25)

// other · trombone · soft notes
const trombone_soft = note("<~@21 A@5 ~@26 B C D ~@14 E F G H@2 ~@4 I J K L ~@28>".pickRestart({
  A: "[~@2 d#3@6 ~@5 a3@5 d#3@6 ~@5 a3@7 f3@4 ~@5 a3@5 d#3@6 ~@5 a3@7 ~@12]/5", B: "~@5 d#3@3", C: "~@5 a3@5 d#3@6",
  D: "~@5 a3@7 f3@4", E: "~ c#3@3", F: "c#4@10 ~@2 b3 g#3 ~ b3", G: "e4 d#4@3", H: "[c#3@3 c#4@5]/2",
  I: "~@9 c4 c#4 e4 d#4 c#4 a3 c#4", J: "d#4 b3 g#3 e3 f#3!2 g#3 ~@3 e3 ~ f#3 ~ g#3 ~",
  K: "~@2 b3@2 g#3@2 ~ b3@2 f#3 ~@2 b4!2 g#4 ~", L: "~@2 c#5@2 b4@2 g#4 f#4 ~ f4@3 ~@4, ~@2 b4 ~@13",
})).s("gm_trombone").gain(0.15)

// chords · alto sax · "Synth Brass"
const alto_sax_2 = note("<~@16 A@2 ~@3 B@5 ~@21 C D ~@3 E F G ~@21 H@2 I@2 J@2 ~@28>".pickRestart({
  A: "[~@6 [d#4,g4,a#4]@3 [e4,g#4,b4]@3 [f4,a4,c5]@12 ~@8]/2", // D# E F
  B: "[~@2 [f3,a3,b3,d4]@6 ~@5 [g#3,b3,c#4,e4]@5 [f3,a3,b3,d4]@6 ~@5 [a3,b3,c#4,e4]@7 [f3,g#3,c#4]@4 ~@5 [g#3,b3,c#4,e4]@5 [f3,a3,b3,d4]@6 ~@5 [a3,b3,c#4,e4]@7 [f3,g#3,c#4]@4 ~@8]/5", // Bm7b5 C#m7 Bm7b5 A C# C#m7 Bm7b5 A …
  C: "~@3 [c4,d#4,f4]@4 [g3,a#3]", D: "~ [g#3,b3]@3 [a3,c4]@12", E: "~@5 [f#3,a3,b3,d4]@3",
  F: "~@5 [g#3,b3,c#4,e4]@5 [f3,a3,b3,d4]@6", G: "~@5 [a3,b3,c#4,e4]@7 [f3,g#3,c#4]@4",
  H: "[[g#3,a3,c#4]@7 [g#3,b3,c#4]@7 [g#3,b3,c#4,e4]@2]/2", // Amaj7 C#7 C#m7
  I: "[[g#3,a3,c#4,e4]@7 [g#3,b3,c#4,f#4]@7 [a3,b3,c#4,f4]@2]/2", J: "[[g#3,a3,c#4,e4]@7 [g#3,b3,c#4,f#4]@7 ~@2]/2",
})).s("gm_alto_sax").gain(0.15)

// chords · piano
const piano = note(`<
  ~@3 A B A B A B A B A C D@4 E@4 F ~@3 G H I J K L M N O P Q R@7 S@5 T U V W@2 X Y Z AA AB AC AD AE AF AG AH N O P Q AI
  H I J K L AJ AK AJ AK AL AK AJ AK AM AN AO@3 AP AQ AR AS AT AU AV AW AX@3 AP AY AZ AS BA BB BC BD AX@3 BE
>`.pickRestart({
  A: "[f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [g#3,c#4] ~ [c#4,d#4] ~ [d#4,f#4] ~, f#2@2 ~ a2@3 c#3@4 f#3@2 g#3@4", // F#sus2 C#5 C#sus2 D#m
  B: "[f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [b3,e4]@2 ~@2, c#2@2 ~ g#2@3 c#3@4 d#3@2 e3@4", // G#m7 E5
  C: "~@14 f5 [c#5,d#5]", // C#sus2
  D: "[[d#3,a4]@6 [b4,e5,f#5,g#5]@6 b4@2 ~@5 e4@3 [a4,c5,e5,g#5]@6 ~@2 g#4 f#4 [g#3,a3,c#4]@6 [c4,f#4,a4,c5,e5]@8 [c#4,f4,g#4,c5]@9 ~@9, ~@6 [b3,c4,e4]@8 g#4@5 ~@12 e4@6 ~@27, ~@8 [g#3,a3,c#4]@3 [a3,f#4]@4 ~@17]/4", // D#dim E Am Amaj7 F#m7b5 C#maj7 Cmaj7 Amaj7 …
  E: "[~@8 c#5@2 f5@2 g#5@2 ~ b5@3 [b4,d5]@6 f#4@3 f#4@3 [f#3,b3,c#4,e4,g#4,b4]@10 a3@2 c#4 f4@3 [a3,a#3,d4,f#4,a4]@8 ~ [a3,c#5,e5,g#5]@5 ~@4, ~@8 [g#3,a3,c#4]@6 b3@9 ~@41, ~@7 [c#5,e5,g#5]@2 ~@23, ~@7 [a#3,c4] ~@4 [g#3,a3,c#4]@3 ~@5 f#3@3 ~@9]/4", // Bm C#m7 D Amaj7 C#m A#sus2 Amaj7
  F: "~ [d#4,d#5,f#5,a5]@3 ~@4", G: "~@14 [b3,c#4,f#4] ~",
  H: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~", // Bsus2 C#7 Asus2
  I: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~", // Bsus2 C#7 Bsus2
  J: "[b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~", // C#7 Asus2 Bsus2
  K: "[b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~", // C#7 Asus2 Bsus2
  L: "[b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~", // C#7 Bsus2 C#7
  M: "[a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~", // Asus2 Bsus2 C#7
  N: "[b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~", // C#7 Asus2 Bsus2 C#7
  O: "[b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~", // C#7 Bsus2 C#7 Asus2
  P: "[a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~", // Asus2 Bsus2 C#7 Asus2
  Q: "[a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~", // Asus2 Bsus2 C#7
  R: "[[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [f#3,g#3] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [g#3,c#4] ~ [c#4,d#4] ~ [d#4,f#4] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f3,b3,e4]@2 f#3@2 [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [g#3,c#4] ~ [c#4,d#4] ~ [d#4,f#4] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f3,b3,e4]@2 f#3@2 [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [g#3,c#4] ~ [c#4,d#4] ~ [d#4,f#4] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [b3,e4]@2 f3@2 [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~, ~@8 f#2@2 ~ a2@3 c#3@4 f#3@2 g#3@2 c#4@2 c#2@2 ~ g#2@3 c#3@4 d#3@2 ~@4 f#2@2 ~ a2@3 c#3@4 f#3@2 g#3@2 c#4@2 c#2@2 ~ g#2@3 c#3@4 d#3@2 ~@4 f#2@2 ~ a2@3 c#3@4 f#3@2 g#3@2 b3@2 c#2@2 ~ g#2@3 c#3@4 d#3@2 ~@4 f#2@2 ~ a2@3 c#3@2]/7", // Bsus2 C#7 F#sus2 C#5 C#sus2 D#m G#m7 E …
  S: "[[f#3,g#3,c#4] ~ [g#3,c#4] ~ [c#4,d#4] ~ [d#4,f#4] ~@17 [g#3,a3,c#4,c#5,e5]@6 [b3,c4,e4,c5,e5,g#5,b5]@9 ~ a3@2 ~ [g#3,b3]@3 [e3,g#3,c4]@9 ~ f#4@4 g#4@2 [g#3,c4,e4,g#4,b4]@8 [g#3,a#3,c4,d#4]@8 [a#3,d#4,g4]@2, ~@2 f#3@2 g#3@2 b3@13 ~@4 [g#5,b5]@6 ~@13 e3@4 ~@10 [g#3,a3,c#4]@6 ~@18]/5", // F#sus2 C#5 C#sus2 D#m Amaj7 E G#m Eaug …
  T: "~ [b3,e4,g#4]@3 [c4,f4,a4]@11 ~", U: "c#4 d#4 f4 [g#3,a3,b3,f4,g#4,b4]@4 a4, [f#3,g#3,a3]@3 ~@5",
  V: "[f#4,g4] g#4@2 e4@3 [g#3,a3,d4,g#4]@9 ~, [g#3,a3,c#4]@3 ~@5", // Gmaj7 D Amaj7
  W: "[c#5@3 a4 ~@2 [a#3,d4,d5]@8 ~ [a3,c#4,e4,g#4]@9 ~@2 [a3,d#4,f#4,a4]@6, [a3,c#4]@3 ~@13]/2", // A# Amaj7 D#dim A
  X: "~@5 [a3,b3,c#4,e4,g#4]@3 ~@2 [e3,a3,b3,d4]@6", Y: "~@5 [a3,b3,c#4,e4]@7 [f3,g#3,c#4]@4, ~@5 e3@3 ~@8",
  Z: "~@3 [a3,b3,c#4,e4,g#4]@2 [a3,b3,c#4,e4,g#4]@3 ~@2 [e3,a3,b3,d4]@6", AA: "~@3 [a3,a4,b4,e5] ~ [a3,a4,b4,e5] ~@10",
  AB: "~@5 [g#3,a3,b3]@7 ~@4", AC: "~@3 [a3,b3] ~ [g#3,a3]@7 ~@4",
  AD: "~@3 [g#3,a3,c#4] ~ [g#3,a3,c#4]@5 [f#3,a3,b3,d4]@6", // Amaj7 Bm7
  AE: "~@3 [a3,c#4,e4,g#4] ~ [a3,c#4,e4,g#4]@7 [f3,a#3,c#4]@4", // Amaj7 A#m
  AF: "~@3 [a3,c#4,e4,g#4] ~ [a3,c#4,e4,g#4]@5 [f#3,a3,b3,d4]@6", // Amaj7 Bm7
  AG: "~@3 [a3,c#4,e4,g#4] ~ [a3,c#4,e4,g#4]@7 [f3,g#3,c#4]@4", // Amaj7 C#
  AH: "~@6 [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~", // Bsus2 C#7
  AI: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~", // Bsus2 C#7 Asus2 Bsus2
  AJ: "[f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [g#3,c#4] ~ [c#4,d#4] ~ [d#4,f#4] ~, f#2@2 ~ a2@3 c#3@4 f#3@2 g#3@2 c#4@2", // F#sus2 C#5 C#sus2 D#m
  AK: "[f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f#3,g#3,b3] ~ [f3,b3,e4]@2 f#3@2, c#2@2 ~ g#2@3 c#3@4 d#3@2 ~@4", // G#m7 E
  AL: "[f#3,g#3] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [f#3,g#3,c#4] ~ [g#3,c#4] ~ [c#4,d#4] ~ [d#4,f#4] ~, f#2@2 ~ a2@3 c#3@4 f#3@2 g#3@2 c#4@2", // F#sus2 C#5 C#sus2 D#m
  AM: "~@6 [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~, ~ f#2@3 g#2@2 c#3@2", // Bsus2 C#7
  AN: "[b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~, ~ f#2@3 g#2@2 c#3@2", // C#7 Asus2 Bsus2 C#7
  AO: "[[b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~, ~ g2 g#2 c#3 g2@2 ~ f#2@3 g#2@2 c#3@2 ~ f#2@3 g#2@2 c#3@2 ~ g2]/3", // C#7 Bsus2 C#7 Asus2 Bsus2 C#7 Asus2 Bsus2 …
  AP: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~, g#2 c#3 g2@2 ~ f#2@3", // Bsus2 C#7 Asus2 Bsus2
  AQ: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~, g#2@2 c#3@2 ~ f#2@3", // Bsus2 C#7 Asus2
  AR: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~, g#2@2 c#3@2 ~ g2 g#2 c#3", // Bsus2 C#7 Bsus2
  AS: "[b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~, g2@2 ~ f#2@3 g#2@2", // C#7 Asus2 Bsus2
  AT: "[b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~, c#3@2 ~ f#2@3 g#2@2", // C#7 Asus2 Bsus2
  AU: "[b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~, c#3@2 ~ g2 g#2 c#3 g2@2", // C#7 Bsus2 C#7
  AV: "[a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~, ~ f#2@3 g#2@2 c#3@2", // Asus2 Bsus2 C#7
  AW: "[b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,g#4] ~ [b3,c#4,g#4] ~, ~ f#2@3 g#2@2 c#3@2", // C#7 Asus2 Bsus2 C#7
  AX: "[[b3,c#4,g#4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,g#4] ~ [b3,c#4,g#4] ~ [b3,c#4,g#4] ~ [b3,c#4,f4] ~, ~ g2 g#2 c#3 g2@2 ~ f#2@3 g#2@2 c#3@2 ~ f#2@3 g#2@2 c#3@2 ~ g2]/3", // C#7 Bsus2 C#7 Asus2 Bsus2 Bm Asus2 Bsus2 …
  AY: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~, g#2@2 c#3@2 ~ f#2@3", // Bsus2 Bm Asus2
  AZ: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,g#4] ~ [b3,c#4,g#4] ~ [b3,c#4,g#4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~, g#2@2 c#3@2 ~ g2 g#2 c#3", // Bsus2 C#7 Bsus2
  BA: "[b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~, c#3@2 ~ f#2@3 g#2@2", // Bm Asus2 Bsus2
  BB: "[b3,c#4,g#4] ~ [b3,c#4,g#4] ~ [b3,c#4,g#4] ~ [b3,c#4,f4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~, c#3@2 ~ g2 g#2 c#3 g2@2", // C#7 Bsus2 C#7
  BC: "[a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,d4] ~ [b3,d4] ~, ~ f#2@3 g#2@2 c#3@2", // Asus2 Bsus2 Bm
  BD: "[b3,d4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [a3,b3,e4] ~ [b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,g#4] ~ [b3,c#4,g#4] ~, ~ f#2@3 g#2@2 c#3@2", // Bm Asus2 Bsus2 C#7
  BE: "[b3,c#4,f#4] ~ [b3,c#4,f#4] ~ [b3,c#4,f4] ~ [b3,c#4,f4] ~@9, g#2 c#3 g2@2 ~@4", // Bsus2 C#7
})).s("gm_piano").gain(0.2)

// other · harpsichord · "Steel Drum"
const harpsichord = note("<~@21 A B C D ~@28 E F G ~ H I J K ~@49>".pickRestart({
  A: "~@8 c#5 f#4@2 g#5 f#5@2 e5 f#5", B: "e5 f#5@2 e5 g#5 f#5 e5 f#5 g#5 f#5 e5 f#5 g#5@4",
  C: "~ f#5 e5 f#5 g#5@2 e5 f#5!2 a4 c#5 f#5 g#5 f#5 e5 a4",
  D: "c#5 f#5 e5 f#5 g#5@2 e5 f#5 a4 c#5 e5 f#5 g#5@2 e5 f#5",
  E: "g#5 f#5@2 g#5 f#5@2 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5",
  F: "f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5",
  G: "c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5@6", H: "~@8 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5",
  I: "c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5",
  J: "g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5 f#5 c#5 g#5",
  K: "g#5 f#5 c#5 f#5 g#5 f#5 c#5 f#5 g#5 f#5 c#5 f#5 g#5 f#5 c#5 f#5",
})).s("gm_harpsichord").gain(0.15)

// bass · electric bass finger · "Elecltric Bass"
const bass = note(`<
  ~@2 A B C D C E@3 C F@2 G H I@3 J@3 K L M L N O P Q R S T U V W X Y Z AA Z AA Z AA AB@2 AC@3 AD AE H AF@2 AG AH AG AI
  AJ AK AL AM AN AO AP AQ AR AS X AT AU AV Q AW AX AY AZ BA BB E C E BC AP AQ AR AS X AT AU AV Q BD AX BE BF AR BG X AT
  BH AV BI BJ BK BE BF AR BG X BL
>`.pickRestart({
  A: "~@12 g#3@3 f#3, ~@12 f#3 ~@3", B: "~@2 f#2@4 g#2!2 g#2@3 g#2 c#3@4",
  C: "~@2 f#2@4 g#2!2 g#2@3 g#2 g#3@3 f#3, ~@12 f#3 ~@3", D: "~@2 f#2@4 g#2!2 g#2@3 g#2 c#3@3 c#3",
  E: "~@2 f#2@4 g#2!2 g#2@3 g#2 c#3@3 c#4", F: "[~@2 f#2@4 g#2!2 g#2@4 ~@2 c#4@18]/2", G: "f#2 ~@2 g#1 ~@4",
  H: "a1 b1 c#2 d2@3 ~@2", I: "[d#2@4 a#1@2 g#1@6 g#2@2 c#2@8 g1@3 f2@3 g1@10 d#2@2 f#2@3 a1 a1@2 g#1@2]/3",
  J: "[~@8 a1@2 b1@2 c#2@2 d2@6 ~@4 d#2@4 a1 d#2 e2@8 ~ a1@9]/3", K: "~@2 d#2@6 a1@3 a2 ~@4",
  L: "~@2 d#2@2 d#3@2 ~@2 a1@3 a2 ~@4", M: "d#2@2 f1@2 f1@4 a1@3 a2 ~@4",
  N: "d#2@2 e1@2 g#2@3 f#2 ~ d#2 g#1@2 f#1@2 g#1@2", O: "~@3 c#3 c#2@5 f1 f#1@2 ~@3 g#1",
  P: "g#1@3 g#2 c#2@3 c#3 ~@4 c#2@4", Q: "g#2@3 f#2 ~ c#2 a1@2 f#1@2 g#1@2 ~@3 c#3, f#2 ~@15",
  R: "c#2@4 c#2 f1 f#1@2 ~@3 g#1 g#1@3 g#2", S: "c#2@3 c#3 ~@4 c#2@4 g#2@3 f#2, ~@12 f#2 ~@3",
  T: "~ c#2 a1@2 f#1@2 g#1@2 ~@3 c#3 c#2@4", U: "c#2 f1 f#1@2 ~@3 g#1 g#1@3 g#2 c#2@3 c#3",
  V: "~@4 c#2@4 g#2@3 f#2 ~ c#2 a1@2, ~@8 f#2 ~@7", W: "f#1@2 g#1@2 ~@3 c#3 c#2@4 c#2 f1 f#1@2",
  X: "~@3 g#1 g#1@3 g#2 c#2@3 c#3 ~@4", Y: "c#2@4 g#2@3 f#2 ~@2 f#2@4 g#2!2, ~@4 f#2 ~@11",
  Z: "g#2@3 g#2 c#3@3 c#4 ~@2 f#2@4 g#2!2", AA: "g#2@3 g#2 g#3@3 f#3 ~@2 f#2@4 g#2!2, ~@4 f#3 ~@11",
  AB: "[g#2@2 g#3 c#4@7 ~@2 f#2 ~@2 g#1]/2", AC: "[~@4 a1 b1 c#2 d2@3 ~@2 d#2@2 a#1 g#1@3 g#2 c#2@4 g1]/3",
  AD: "~ f2@3 g1@10 d#2@2", AE: "f#2 ~ a1 g#1 ~@4", AF: "[d#2@4 d2 d#2 e2@8 ~ a1@9 ~@2 d#2@6]/2",
  AG: "a1@3 a2 ~@6 d#2@2 d#3@2 ~@2", AH: "a1@3 a2 ~@4 d#2@2 f1@2 f1@4", AI: "a1@3 a2 ~@3 a1 d#2 d#3 e2 e3 f2@3 a1",
  AJ: "a1@3 a2 ~@6 d#2@2 d#3@2 a2 d#2", AK: "a1@3 a2 ~@3 a1 d#2 d#3 e2 e3 f2@2 f#3 f2",
  AL: "a1@3 a2 ~@6 d#2@4 d#3@2, ~@10 c#2 ~@5", AM: "a1@3 a2 ~@3 a1 d#2@2 e1@2 f1@4", AN: "a1@3 a2 ~@7 a1 d#2 d#3@2 e1",
  AO: "a1@3 a2 ~@4 d#2@2 e1@2 g#2@4", AP: "~ d#2 g#1@2 f#1@2 g#1@2 ~@3 c#3 c#2@4",
  AQ: "~ f1 f#1@2 ~@3 g#1 g#1@3 g#2 c#2@3 c#3", AR: "~@4 c#2@2 c#3 ~ g#2@3 f#2 ~ c#2 a1@2, ~@8 f#2 ~@7",
  AS: "f#1@2 g#1@2 ~@3 c#3 c#2@4 ~ f1 f#1@2", AT: "c#2@2 c#3 ~ g#2@3 f#2 ~ c#2 a1@2 f#1@2 g#1@2, ~@4 f#2 ~@11",
  AU: "~@3 c#3 c#2@4 ~ f1 f1@2 ~@3 g#1", AV: "g#1@3 g#2 c#2@3 c#3 ~@4 c#2@2 c#3 ~",
// … 51 more lines