Strudelify
From a Distance cover art

The Best Bette

From a Distance

Bette Midler

KeyG majorTempo66 bpm
0:00/0:00
// From a Distance — Bette Midler
// 66 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 79 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(66/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 · "piano right h"
const piano = note(`<
  A B C D E@2 F G H@2 I J K L M@2 N@2 O P Q E@2 F G R@2 I S K L M@2 N@2 O T U V W X Y Z C AA AB AC E@2 F G H@2 I S AD L
  M@2 N@2 AE AF AG AH AI AJ AK V AL AM AK AN AO@2 AP@4
>`.pickRestart({
  A: "[g3,d4,g4,a4,b4]@9 c5@3 [f#3,f#4,a4,d5]@12 [e3,e4,g4,c5]@9 b4 ~ a4 b4@3 g5@3 f#5@3 g5@3, g2!2, ~@3 d3", // G D C
  B: "d5 g5 c5 g5 b4 g5 a4 g4 [d3,f#3]@4 ~@2 b4 c5, [c3,e3]@2 [b2,g3]@2 [d4,f#4,a4]@3 ~, ~@3 d2", // D C Em D
  C: "[g4,d5]@6 g5@6 [g4,d5]@6 g4@6 [c3,g3,g4,e5]@9 d5 ~ c5 [g4,d5]@6 g4@6, [e3,b3] [b2,g3] ~ [b2,g3]", // G5 C G5 E5 Em
  D: "[a2,e3,e4,c5]@4 [e4,b4]@2 a4 g4 [f#2,d3]@4 ~@2 d4 e4, ~@2 [g2,e3]@2 [d4,f#4,a4]@3 ~, ~@3 d2", // Am E5 D C D
  E: "[d4@2 g3@4 g4@2 f#4@2 ~ e4@2 ~@7 a3@2 b3 a3 b3@6 d4!2, [g2,d3] [g2,e3] [g2,f#3] [g2,d3,g3], ~@7 d4@3 ~@6]/2", // G5 C Gmaj7 G5
  F: "d4 c4@2 b3 f#3@3 f#3, [g2,b2] [d2,a2], ~@4 a3 ~@3", // G D5
  G: "[b3,g4]@2 d4@2 [a3,f#4]@2 d4@2 [c4,d4,e4]@6 d4 e4, [g2,d3] g2", // Em D C G5
  H: "[d4@6 g3@12 [b2,g3,g4]@6 f#4@12 e4@6 [e2,c3,g3]@6 [f#2,d3]@12 e4@6 b3@3 a3@3 [g2,g3,b3]@12 b3@4 c4@4 d4@4, [g2,d3]@3 ~ [c3,g3,c4,d4]@3 d4@3 f#2@2 ~@2 [b2,g3]@2]/2", // Em C D G G5 Csus2 Em
  I: "d4@9 c4@3 c4@6 b3@3 a3@3 [d3,f#3,a3]@9 b3 ~ a3 f#3@6 a3@3 g3@3, [c3,e3,g3]@2 ~ d2", // D C
  J: "g3@2 b3@2 [f#3,a3,d4]@3 d2 [f#3,a3,d4] [g3,b3,d4]@3 [g1,d4,g4] [e4,a4] [b2,d4,g4,b4]@2, g2@7 ~ g2@4 ~@4", // D G G5 A5 G
  K: "[e4,g4] [g3,b3,e4]@2 [e4,g4] [d4,f#4,a4] [f#4,a4] [d4,e4,g4] [e4,g4], [c2,g2] [d2,a2]", // Em D F#m Em7 Em C5 D5
  L: "~ [f#4,a4] [b3,e4,g4]@4 [e5,g5] [e5,a5] [g5,b5]@4 [g4,b4]@2 [f#4,a4] [e4,g4], [e2,b2]", // F#m Em A5 G F#m Em E5
  M: "[[c4,e4,g4]@2 [e3,g3,c4]@4 ~@6 [b3,d4,g4]@2 ~@4 [a3,d4,f#4] [g3,e4] ~@8 d4@2 g4@2, c2 b1 d2 d3, ~@3 [g3,b3,d4]@3 ~ [b3,d4,g4]@2 ~ [f#3,a3,d4]@4 ~@2]/2", // C G D C G D
  N: "[g4 ~@2 b3@3 d4 g4 g4 ~@2 b3@3 d4 g4, [c3,e3]@6 ~@2 [c3,e3,g3]@3 ~@5, g3@3 [b2,d3]@6 ~@2 [b2,d3,g3]@4 ~, ~ c4 ~@3 c4 ~@2, ~@3 g3@5 ~@8]/2", // C Bm G
  O: "g4@12 c4@6 b3@3 a3@3 [d3,f#3,a3]@9 b3 ~ a3 f#3@6 a3@3 g3@3, [c3,e3,g3]@2 ~ d2", // D C
  P: "[g3,d4,g4,a4,b4]@3 c5 [f#3,f#4,a4,d5]@4 [e3,c4,e4,g4]@3 a4 b4 g4 f#4 g4, g2!2, ~@3 d3", // G D C
  Q: "d4 g4 c4 g4 b3@2 a3 g3 [d3,f#3]@4 ~@2 d4 e4, [c3,e3]@2 [b2,g3]@2 a3@3 ~, ~@3 d2", // D C Em
  R: "[d4@6 g3@12 [b2,g3,g4]@6 [c4,d4,f#4]@12 e4@6 [e2,c3]@6 [f#2,d3]@12 e4@6 b3@3 a3@3 [g2,g3,b3]@12 b3@4 c4@4 d4@4, [g2,d3]@3 ~ [c3,g3]@3 [g3,d4]@3 f#2@2 ~@2 [b2,g3]@2]/2", // Em D7 C D G G5 C5 G5 …
  S: "g3@2 b3@2 [f#3,a3,d4]@3 d2 [f#3,a3,d4] [g3,b3,d4]@3 [d4,g4] [e4,a4] [b2,d4,g4,b4]@2, g2@7 ~ g2@4 g1@2 ~@2", // D G G5 A5 G
  T: "[g3,b3,d4,g4]@4 [a3,d4,f#4]@3 d2 [a3,d4,f#4] [b3,d4,g4]@3 [d4,g4] [e4,a4] [d4,g4,b4]@2, g2@7 ~ g1@4 b2@4", // G D G G5 A5 G
  U: "[d4,g4,b4]@2 [c4,e4,a4]@4 [c2,c4,e4,a4]@2 [d4,f#4,a4]@4 [a3,d4,f#4] [b3,g4] [c4,d4,a4]@2, b1@3 ~ d2@4", // G Am D Em D7
  V: "[c4,d4,a4]@2 [b3,d4,g4]@4 [f#2,a3,d4,g4]@2 [b3,e4,g4]@4 [g3,b3] [a3,c4] [b3,d4]@2, g2@3 ~ e2@4", // D7 G D Em G Am Bm
  W: "[b3,d4]@2 [a3,c4]@2 ~@2 a1@2 [e3,g3,c4]@4 [f#3,a3,d4]@2 [a3,c4]!2, [a2,g3]@3 ~ d2@4, ~ [a3,c4,e4,g4] ~@2", // Bm Am C D Am A7 Am7
  X: "[a3,c4]@2 [g3,b3]@2 [g3,b3]@8 ~ g4 f#4 g4, [g2,d3]", // Am G G5
  Y: "d4 g4 c4 g4 b3 g4 a3 g4 ~ g4 a3 g4 b3 g4 f#4 g4, [g2,d3] [b2,g3]", // G5 Em
  Z: "d4 g4 c4 g4 b3 g4 g3 g4 a3@5 d4 b4 c5, [c3,e3] [d3,f#3]", // C D
  AA: "[a2,e3,e4,c5]@4 [e4,b4]@2 a4 g4 [f#2,d3]@4 ~@2 g4 f#4, ~@2 [g2,e3]@2 [d4,f#4,a4]@3 ~, ~@3 d2", // Am E5 D C D
  AB: "[g2,d3]@2 g2@2 a3 d3 a3 d4 c4 e3 g3 c4 b3 d4 g4 f#4, [b3,g4] f#2 e2 d2", // G5 Em
  AC: "e4 c4 e4 g4 [a1,e4,a4,c5]@2 [e2,e4,g4,b4]@2 [d2,d4,f#4] [e2,e4,g4] [f#2,d4,f#4,a4]@2 ~@2 d4 e4, c2 ~@3", // Am Em D Em D
  AD: "[e4,g4] [g3,b3,e4]@2 [e4,g4] [d4,f#4,a4] [f#4,a4] [d4,e4,g4] [e4,g4], [g1,c2] [d2,a2]", // Em D F#m Em7 Em C5 D5
  AE: "[c4,e4,g4]@2 a4 [e4,g4,b4]@2 a4 ~@5 d5 b4 a4 g4 e4, [c2,g2] [d2,a2], ~@6 [f#4,a4,c5]@5 ~@5", // C Em C5 D5 F#dim
  AF: "[d4,f#4,a4]@9 b4 ~ a4 [b3,e4,g4]@6 [f#3,a3,d4]@6 [e3,g3,b3,e4]@12 [f#3,b3,d4]@6 g4@6, [e2,b2]@2 ~ d3", // D Em D Em Bm E5
  AG: "g4@3 c4@3 b3@6 d4@2 g4@2, [c3,e3,g3]@3 [b2,d3,g3]@4 ~", // C G
  AH: "g4@9 c4@9 b3@18 d4@4 e4@4 a4@4, [c3,e3,g3]@3 [b2,d3,g3]@4 ~", // C G
  AI: "[c4,e4,g4]@5 g4 a4 b4 c5@2 b4 a4@2 ~ b4@2, c2 d2", // C
  AJ: "[d4,g4,b4]@3 [c4,d4,a4] ~@3 d2 g1@3 d4 [d4,g4] [e4,a4] [d4,g4,b4]@2, g2@7 ~@5 b1@4, ~@4 [b3,d4,g4]@7 ~@5", // G D7 G5 A5 G
  AK: "[d4,g4,b4]@2 [c4,e4,a4]@4 [c2,c4,e4,a4]@2 [d4,f#4,a4]@4 [a3,d4,f#4] [b3,g4] [c4,d4,a4]@2, c2@3 ~ d2@4", // G Am D Em D7
  AL: "[b3,d4]@2 [a3,c4]@2 ~@2 a1@2 [g3,c4,e4]@2 g4@2 [d4,f#4,c5]@2 b4 a4, [a2,g3]@3 ~ d2@2 ~@2, ~ [c4,e4,g4] ~ d3", // Bm Am C D7 A7 C
  AM: "[d4,g4,b4]@2 [b3,d4,g4]@3 [c4,e4,a4] ~ d2 g1@2 ~ a1 [g4,b4,d5]@2 [d4,g4,b4] a4, [g2,d3]@3 [d4,g4,b4]@2 d5 b1@2", // G Am G G5 G
  AN: "[g2,c4,d4,a4]@2 [b3,d4,g4]@4 [f#2,a3,d4,g4]@2 [b3,e4,g4]@4 [g3,b3] [a3,c4] [b3,d4]@2, ~ e2", // Gsus4 G D Em G Am Bm
  AO: "[[b3,d4]@2 [a3,c4]@2 ~@12 [c4,e4,g4]@4 d4@4 ~@2 b3@4 b3 c4, [a2,g3]@3 a1@5 ~@8, ~ [c4,e4,g4]@3 ~@2 [c4,e4,g4]@2, ~ d2@2 ~]/2", // Bm Am C A7 C
  AP: "[~ [g4,d5]@6 g5@6 [g4,d5]@6 ~ g4@6 [c3,g3,g4,e5]@11 ~ c5@2 [g4,b4]@3 ~ g5@3 f#5@3 ~ g5@3 ~@4 g5@3 [e4,c5]@4 b4@4 [d4,a4]@11 g4@4 [g2,d3,a3,b3,d4,g4]@65 ~@43, ~ [e3,b3]@12 [b2,g3]@13 ~@11 d5@2 ~ [b2,g3]@14 c4@14 ~@124, ~@18 [e4,d5] ~@45, ~@55 [a2,e3]@14 [f#2,d3]@15 ~@108]/4", // G5 C G C D5 G E5 Em …
})).s("gm_piano").gain(0.71)

// chords · acoustic guitar nylon · "guitar"
const acoustic_guitar_nylon = note(`<
  ~@19 A B C D E@2 F G@2 H@3 I J K@2 L M N O@2 P ~@6 Q R S T U V W X@2 Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM@2 AN@3
  AO AP@2 ~
>`.pickRestart({
  A: "[d3,g3,b3]@6 ~@6 c#3 f#4@4 [c#4,f4] ~@6 f#3 e4@5 ~@6 [c#3,f#3,a#3] g4@6 ~@5, [c#3,f#3,a#3] ~@11 [d3,a3,d4]@6 ~@5 c3@7 ~@6 [b2,d3,g3,b3]@7 ~@5, ~@24 [e3,g3,c4]@7 ~@17", // G C# F# D5 G C
  B: "f#3 [e3,g3,c4,e4]@7 ~@4 [c#3,f#3] [d3,g3,b3,g4]@6 ~@5 c#3 [a3,d4,f#4]@17 ~@6, c3@7 ~@5 b2@6 ~@6 d3@18 ~@6", // C F#5 G D
  C: "c#3 [f#3,a#3] ~@16 c#3 ~@5 [c3,e3,g3,c4,e4]@19 ~@5, ~ [g3,b3,g4]@23 ~@24, ~ d3@17 ~@6 [d#3,f#3,b3] ~@23", // F# C G B
  D: "c#3 [d4,f#4]@16 ~@6 c#3 [g3,b3,g4]@16 ~@8, [d3,a3]@17 ~@7 a#3 ~@23", // D G D5
  E: "[f#3 e4@17 ~@6 c#3 f#4@17 ~@6 [c#3,f#3,a#3] g4@7 ~@4 c#3 f#4@6 ~@5 f#3 e4@16 ~@7, [c3,e3,g3,c4]@18 ~@6 d3@24 [d3,g3,b3]@12 [d3,a3,d4]@7 ~@4 [c3,e3]@18 ~@7, ~@24 [a3,d4]@17 ~@6 g2@10 ~@15 [g3,c4]@17 ~@7]/2", // F# C G D5 C D5 C5
  F: "[c#3,f#3] [b3,g4]@21 ~@2 f#3 [c4,e4]@19 ~@4, [d3,g3]@22 ~ c3@18 ~@7, ~ a#3 ~@22 g3@22 ~@2, ~@4 e3@3 ~", // F#5 Em C G5
  G: "[c#3 f#4@16 ~@7 [c#3,f#3] [b3,g4]@15 ~@8 f#3 e4@17 ~@6 c#3 [d4,f#4]@17 ~@6, [a3,d4]@16 ~@7 b2@17 ~@7 [c3,e3]@19 ~@30, ~@24 [d3,g3]@17 ~@31 [d3,a3]@18 ~@6, ~@25 a#3 ~@22 [g3,c4]@18 ~@30]/2", // F#5 Em D D5 C G5 D5 C5
  H: "[[c#3,f#3,a#3] g4@6 ~@5 [d3,a3,d4,f#4]@6 ~@6 [d3,g3,b3,g4]@18 ~@5 d#3 [f#3,a#3] ~@17 [g3,b3]@5 ~ c#3 f#4@17 ~@6 [f#3,a#3] e4@15 ~@2 [g3,b3,e4]@6 [f#3,a#3] e4@21 ~@2, [d3,g3,b3]@6 ~@6 c#3 ~@10 b2@19 ~@5 c3@18 ~ [f#3,a#3] ~@29 [e3,g3,b3]@18 [f#3,a#3] ~@29, ~@24 [c#3,a#3] ~@23 [e3,g3,b3]@18 e3@3 ~@3 [d3,a3,d4]@18 ~@5 b2@18 e3@6 ~ [e3,g3,b3]@22 ~@2, ~@49 e4@22 ~@73]/3", // F# D G F# G F# Em F# …
  I: "f#3 [c4,e4]@19 ~@4 [f#3,a#3] g4@19 ~@4, [e3,g3]@5 ~ [g3,b3]@6", // C F# Em G
  J: "[c#3,f#3,a#3] g4@5 ~@6 [a3,d4,f#4]@26 ~@10, [d3,g3,b3]@7 ~@41", // F# D G
  K: "[f#3 e4@11 ~@7 [f#3,a#3] g4@18 ~@9 d#3 f#3 e4@10 ~@7 [c#3,f#3] [g3,b3]@22 ~@7, [g3,c4]@11 ~@7 b2@20 ~@10 [g3,c4]@11 ~@7 d3@23 ~@7, ~@19 [g3,b3]@19 ~@9 e3@12 ~@6 g2@2 a#3 ~@28, ~@66 b2@19 ~@11, ~@67 g4@18 ~@11]/2", // F# F#5 G C5 G
  L: "f#3 e4@16 ~@6 c#3 ~ f#4@16 ~@7, [c3,e3,g3,c4]@17 ~@7 [d3,a3,d4]@19 ~@5", // C D5
  M: "[c#3,f#3] [b3,g4]@6 ~@6 [a3,d4,f#4]@6 ~@5 g2@2 ~@2 [d3,g3,b3,g4]@16 ~@4, [d3,g3]@6 ~@22 [f#3,a#3] ~@19", // F#5 Em D G G5 F#
  N: "[c#3,d3,f#3,g3,a#3,b3] ~@2 [e3,g3,c4,e4]@3 ~@3 [a3,d4,f#4]@11 ~@4, ~@6 [d#3,f#3] ~@41", // Gmaj7 C D D#m
  O: "[[c#3,d3,a3,c4,f#4]@2 ~@4 [c#3,f#3] [b3,g4]@6 ~@5 [f#3,a#3] e4@5 c#3 [g3,b3,e4]@17 ~@7 g4@17 ~@6 [g3,c4,e4]@6 ~@7 f#4@5 ~@6, ~@6 [d3,g3]@6 ~@6 [e3,g3,b3]@6 d3@18 ~@5 e3@20 ~@5 f#3 ~@23, ~@7 a#3 ~@17 [f#3,a#3] ~@22 [a3,c4]@18 ~@18 [a3,d4]@5 ~@7]/2", // D7 F#5 Em F# Em C G5 Em …
  P: "[c#3,f#3] [b3,g4]@47, [d3,g3]@47 ~, ~ a#3 ~@46", // F#5 Em G5
  Q: "~ [f#3,a#3] g4@11 ~@5 [g3,b3]@2 ~@4 d#3 [g3,c4,e4]@14 ~@4 c4@2 ~@3, ~ [g3,b3]@12 ~@5 [f#3,a#3] ~@5 e3@14 ~@10, ~@25 f#3 ~@16 [f#3,g3,b3]@2 ~@4", // F# G C G F# Gmaj7
  R: "~ [a3,d4]@12 ~@5 [a3,d4,f#4] ~@5 f#3 g4@17 ~@6, ~@2 g3 ~, ~@25 b3@13 ~@10, ~@25 a#3 ~@22", // D5 D
  S: "[e3,g3,c4]@18 ~@7 [a3,d4]@17 ~@6, [d#3,f#3] ~@47", // C D5 D#m
  T: "[c#3,f#3,a#3] ~@11 c#3 [d4,f#4]@6 ~@5 f#3 [g3,c4]@12 ~@11, [g3,b3]@12 [d3,a3]@7 ~@5 e3@13 ~@11", // F# D C5 G D5
  U: "f#3 b3@17 [f#3,g3]@2 ~@4 [d#3,f#3] c4@17 ~@6, g3@17 ~@7 [e3,g3]@17 ~@7, ~ a#3 ~@46", // Gmaj7 D#m Em
  V: "c#3 ~ f#4@17 ~@6 [g3,b3,g4]@17 ~@6, ~ [a3,d4]@18 ~@6 [f#3,a#3] ~@22", // G D5 F#
  W: "f#3 e4@17 ~@6 c#3 f#4@17 ~@6, [e3,g3,c4]@18 ~@6 [d3,a3,d4]@19 ~@5", // C D5
  X: "[[c#3,f#3] [g3,b3,g4]@6 ~@5 c#3 [d4,f#4]@5 [c#4,d4] f4 ~@4 c#3 [g3,b3,g4]@12 ~@11 f#3 [b3,e4]@14 ~@8 c#3 ~ f#4@16 ~@7, d3@6 ~@6 [d3,a3]@7 ~@5 d3@13 ~@10 c3@17 ~@7 d3@18 ~@7, ~ a#3 ~@11 f4 ~@11 f#3 ~@22 [e3,g3]@16 ~@32, ~@49 a#3 ~@22 [a3,d4]@17 ~@7]/2", // F#5 G D Dmaj7 G E5 D5 Em …
  Y: "f#3 b3@20 a#3 e4@20 ~@6, [e3,g3]@7 ~, ~ e4@15 ~@32, ~ a#3 ~@19 b3@21 ~@6", // Em
  Z: "[d#3,f#3] e4@17 ~@6 [c#3,f#3,a#3] g4@19 ~@4, [g3,c4]@17 ~@7 [d3,g3,b3]@24", // D#m F# C5 G
  AA: "[a3,d4,f#4]@9 [a3,d4]@3 [a3,d4,f#4]@8 ~@4", // D D5 D
  AB: "f#3 [c4,e4]@10 ~@8 f#3 a#3 g4@16 ~@11, g3@10 ~@9 g3@18 ~@11, ~@20 b3@17 ~@11", // C
  AC: "f#3 [c4,e4]@11 ~@6 c#3 [g3,b3,g4]@24 ~@5, g3@11 ~@7 d3@23 ~@7, ~@19 [f#3,a#3] ~@28", // C G F#
  AD: "f#3 [c4,e4]@15 ~@9 f#4@16 ~@7, [e3,g3]@16 ~@8 [a3,c4]@17 ~@7", // C Em Am
  AE: "~ [a3,d4,f#4]@6 ~@6 [g3,b3]@11 [g3,b3,e4]@17 ~@7, ~@13 [f#3,a#3] ~@10 [f#3,a#3] ~@23", // D G Em F#
  AF: "f#3 e4@11 ~@6 [c#3,f#3] [b3,g4]@26 ~@3, e3 ~@3, g3@7 ~@11 g3@27 ~@3, ~ c4@6 ~@12 a#3 ~@28", // F#5 Em
  AG: "[c3,e3,g3,c4,e4]@12 ~@5 f#3 b3@26 ~@4, [f#3,b3] ~@16 g3@26 ~@5, ~@17 d3@14 ~@17, ~@9 g4@11 ~@4, ~@18 a#3 ~@29", // C B5
  AH: "[g3,c4,e4]@17 ~@7 [a3,c4,f#4]@19 ~@5, f#3 ~@47", // C F#dim
  AI: "f#3 g4@16 ~ g4@5 ~ [b3,g4]@19 ~@5, g3@7 ~, ~ b3@22 ~@25, ~ a#3 ~@22 a#3 ~@23", // Em
  AJ: "[b2,c#3,d3,f#3,g3,a#3,b3,g4] ~@5 [e3,g3,c4]@7 ~@6 f#4@23 ~@6, ~@6 f#3 ~@11 [a3,d4]@23 ~@7", // Gmaj7 C D5
  AK: "[a3,c4,f#4]@2 ~@5 [g3,b3,g4]@6 ~@5 [f#3,a#3] ~@17 c#3 ~@5 b3@5 ~, ~@7 a#3 ~@10 g3@29 ~, ~@6 b3@7 e4@3, ~@18 e3@17 ~ [b2,d3]@12, ~@42 a#3 ~@5", // F#dim G F# Bm
  AL: "~ [a3,c4,e4]@11 [c4,g4]@6 ~@5 f#3 [g3,c4]@6 ~@6 [a3,c4,f#4]@6 ~@5 c#3, ~@12 b3 ~@11 [b3,e4] ~@23", // Am C5 F#dim E5
  AM: "[[f#3,a#3] g4@17 ~@6 [c#3,f#3,a#3] ~@11 [f#3,a#3] ~@6 a#3 ~@4 f#3 g3@2 ~@4 [g3,c4]@6 ~@5 [a3,d4,f#4]@24 ~@6, [d3,g3,b3] d3 ~@2, ~@24 [g3,b3]@12 g3@12 ~@7 f#3 ~@40, ~@36 b3@4 g4@5 ~@51, ~@43 b3@8 ~@45]/2", // F# C5 D G
  AN: "[[a3,c4,f#4]@2 ~@4 [d3,g3,b3,g4]@7 ~@5 [a3,d4,f#4]@2 c#4 f4 ~@2 [f#3,a#3] [g3,b3,e4]@21 ~@2 g4@42 ~@54, ~@6 [c#3,f#3,a#3] ~@11 g4 ~@5 e3@19 ~@4 a3@55 ~@42, ~@48 c4@13 ~@83]/3", // F#dim G D F# Em F#
  AO: "~ [g3,b3,e4]@6 ~@5 c#3 [f#3,a#3] g4@6 ~@6 f#3 [c4,e4]@6 ~@7 [f#3,a#3] g4@5 ~@2, e3@7 ~@6 [d3,g3,b3]@8 ~@5 [e3,g3]@8 ~@14, ~ [f#3,a#3] ~@38 [g3,b3]@6 ~@2", // Em F# C F# G Em F# G
  AP: "[~@7 [c4,g4]@8 ~@7 d4@8 ~@8 [f#3,a#3] g4@42 ~@15, ~@6 a3@8 ~@7 a3@9 ~@8 [g3,b3]@57 ~, ~@7 b3 ~@88]/2", // C5 F# G
})).s("gm_acoustic_guitar_nylon").gain(0.43)

// chords · acoustic guitar nylon · "guitar" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~@18 A@2 B C D E@3 F G@2 H@3 I@4 J K L@3 ~@6 M N O@3 P Q R S@3 T@4 U@5 V W X@2 Y@4 Z AA@2 ~
>`.pickRestart({
  A: "[~@49 g4@5 ~@5 a2@6 ~@19 g2@8 ~@4, ~@47 g2@7 ~@5 g#2 ~@36, ~@8 b2 ~@7]/2", B: "e2@2 ~@10 g4 ~@35",
  C: "[g2,b2]@18 ~@3 f#2 ~@2 f#2@8 ~@16, ~@18 d3@5 ~@25", D: "a2@18 ~@5 a3 d3@17 ~@6 e2, ~@23 [g2,b2]@18 ~@7",
  E: "[~@23 a2@19 f4 ~@4 b2@10 ~@39 b2@18 f#2 ~@4 e2 ~@24, ~@95 g2@19 ~@30]/3", F: "d3@18 ~@5 g2@17 f#2 ~@7",
  G: "[~@48 b2@7 ~@4 a2@7 ~@6 c4 ~@23, ~@47 g2@8 ~@16 g2@19 ~@6]/2",
  H: "[~@22 f4 f#4@2 ~@40 b2@24 a#2 b2@2 ~@4 c3@19 ~@4 g2@21 ~@4, ~@47 e2@49 f2 ~@22 b2@13 ~@12]/3",
  I: "[b2@6 ~@5 c#3 d3@26 ~@10 e3@10 b2 ~@7 d3@20 ~@9 c3@12 ~@36 e2@4 ~@20 a2@18 f4 ~@6, ~@47 c3@11 ~@7 g2@21 ~@8 f#2@9 ~@64 g#2 ~@24]/4",
  J: "b2@3 ~@3 d3@4 ~@2 b2 ~ b2@5 ~@5, f4 ~@11 c#3 ~@14 g2@17 ~@4, ~@28 c#3 ~@19",
  K: "[b2,g4]@2 ~@4 c3@5 ~@6 d3@23 ~@8, ~@6 b2 ~@10 c#3 ~@30", // Em
  L: "[~@6 b2@6 ~@6 b2@6 ~@23 a2@20 ~@5 e3@6 ~@5 c#3 d3@7 ~@5 b2@17 ~@31, ~@72 d#3 ~@22 g2@44 ~@5]/3",
  M: "c#3 d3@13 ~@4 [b2,d3]@3 ~@3 c3@14 b2 ~@3 [c3,d#3,e3]@2 b2 ~@3, ~@18 [c#3,g4] ~@29", // Bm C C#dim
  N: "~ f#4@12 ~@5 [c#3,d3] ~@5 [b2,d3]@13 ~@11, ~@4 g2@3 ~, ~@24 c#3 ~@23", // Dmaj7 Bm
  O: "[c3@18 ~@6 c#3 f#4@17 c#4 f4 ~@4 [b2,d3]@9 ~@15 c3@13 ~@11 c#3 g4@18 ~@5 b2 ~ [e2,f#2] ~@13 b2 ~@7, ~@24 d3@22 ~ g4@10 ~@14 e4@14 ~@10 [g2,b2]@21 ~@4 f#2@2 ~@22, ~@24 d3@5 ~ c3@4 ~@2, ~@121 e4@6 ~@17]/3", // Bm Esus2 G
  P: "[a2,d3]@18 [c#4,f4] ~@5 [b2,d3]@17 ~@7, ~@24 c#3 ~@23", Q: "c3@17 b2 ~@6 a2@19 ~@5",
  R: "[g2,b2]@7 f#2 ~@4 a2@7 ~@5 b2@7 ~@16 e2", // G
  S: "[~@23 a2@19 ~@5 b2@19 c3 b2@23 a2 ~@8 [e2,f2] ~@13 b2 ~@5 [g2,b2]@20 ~@5, ~@47 e2@44 ~@4 c3@17 ~@32, ~@95 e2@4 ~@45, ~@96 e3@18 ~@5 g4@2 ~@23]/3", // Fmaj7 G
  T: "[~@19 f#4@5 ~@16 f4 ~@7 e3@11 ~@8 d3@18 f#2 ~@10 e3@11 b2 ~@6 b2@18 ~@6 f#2 ~@5 c3@17 ~@31, ~@47 e2@13 ~@6 [g2,b2]@19 ~@28 g2@24 ~@6 e2@2 ~@47, ~@67 c#3 ~@27 c3@12 ~@85]/4", // G
  U: "[d3@10 d#3 ~@2 e3@28 ~@7 c3@12 ~@6 b2@14 ~@9 f#2 ~@5 [d#4,e4] ~@10 b2 ~@2 f2 ~@3 b2@21 ~ f#2 ~@8 e3@16 ~@32 c#3 ~@17 b2@21 ~@9, c#3 ~@12 d#3 ~@33 e2@3 ~@16 [g2,d3]@27 ~@2 e2@11 ~@6 g2@23 ~@8 c3@17 ~@31 g2@43 ~@6, ~@113 c#3 ~@28 e4@2 ~@48 d3@42 ~@6]/5", // Emaj7 G5
  V: "g2 ~@5 [c3,e4]@6 b2 ~@4 g#2 [c#3,d3,f#4] ~@22 f4 ~@5 c#3, ~@18 a2@23 ~@7", // C Dmaj7
  W: "d3@2 ~@4 [b2,c#3,f#3] ~@11 b2@17 [c3,d#3] ~@12, ~ d3 ~@6", // Bsus2 Cm
  X: "[e3 e3@18 ~@4 [c3,e3]@7 ~@4 g#2 a2@8 ~@3 f#4 b2@10 ~@15 b2@12 ~@12, ~@22 e4@2 ~@22 g4@3 ~@47, ~@47 g2@46 ~@3, ~@47 f#3 ~@48]/2", // C
  Y: "[~ [b2,d3]@2 ~@5 f#2 ~@8 [g#2,c#3] ~@24 [c#4,f4] ~@4 d3@3 ~@4 b2@7 ~@4 c#3 d3@6 b2@19 ~@4 a2@56 ~@18 [e3,g3]@6 ~@17, ~@6 d#2@2 ~@9 d3@4 ~@26 c#3 ~@47 e3@38 ~@36 f#3 ~@22, ~@7 [c3,e3]@6 ~@4 a2@25 ~@53 g#2 ~@96]/4", // Bm C#5 C# Em C
  Z: "b2@7 ~@5 [g2,b2]@8 ~@5 c3@8 ~@5 [g2,b2]@8 ~@2, ~@25 e2@4 ~@19, ~@25 b2 ~@22", // G
  AA: "[~@6 e3@9 ~@6 c#3 ~ f#4@8 ~@6 d3@54 ~@5, ~@6 d#3 ~@14 d3@10 ~@5 g2@55 ~@5, ~@3 b2 ~@4, ~@37 c#3 ~@58]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.14)

// bass · fretless bass · "bass"
const bass = note(`<
  A B C D E F G H I J K L M N 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 AP AQ AR AS AT AU AV
  AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY@2 ~
>`.pickRestart({
  A: "~@12 g1@7 ~@5 g1@8 ~@4 g1@7 ~@5", B: "c2@9 ~@3 b1@7 ~@5 d2@19 ~@5", C: "e2@11 ~ b1@9 ~@3 c2@9 ~@3 b1@7 ~@5",
  D: "a1@8 ~@4 g1@4 ~@2 f#1@3 ~@3 d2@16 ~@8", E: "g1@14 ~@4 g1 ~@5 g1@19 ~@5", F: "g1@14 ~@4 g1 ~@5 g1@17 ~@7",
  G: "c2@18 ~@6 d2@17 c#2 ~@6", H: "g1@14 ~@4 d2 ~@5 g2@13 ~@11", I: "g1@12 ~@6 g1@2 ~@4 c2@10 ~@3 e2@8 ~@3",
  J: "f#2@13 ~@5 f#2 ~@5 g2@8 ~@3 b1@8 ~@5", K: "c2@20 ~@4 d2@19 ~@5",
  L: "g1@10 ~@2 d2@7 ~@5 g1@7 ~@5 g1@2 ~ a1@2 ~ b1@4 ~@2", M: "c2@13 ~@5 c2@2 ~@4 d2@14 ~@4 d2 c#2 ~@4",
  N: "e2@9 e2 ~@2 e2@9 ~@3", O: "c2@13 b1 ~@4 c2@2 ~@4 b1@13 ~@5 b1@2 ~@4", P: "d2@13 ~@5 d2 ~@5 d2@12 ~@12",
  Q: "c2@8 ~@11 b1@23 ~@6", R: "c2@11 ~@7 b1@24 ~@6", S: "c2@17 ~@7 d2@18 ~@6", T: "g1@12 g1@8 ~@4 g1@12 g1@7 ~@5",
  U: "c2@9 ~@3 b1@7 ~@5 d2@15 ~@3 e1@2 ~ f#1@2 ~", V: "g1@12 ~@6 d2@2 ~@4 g2@14 ~@5 g2@2 ~@3",
  W: "~ g1@14 ~@4 d2 ~@4 g2@12 ~@3 g1@2 ~ a1@2 ~ b1@3", X: "c2@12 ~@6 c2 ~ c2@2 ~@2 d2@14 ~@4 d2 ~@5",
  Y: "g2@10 ~@2 d2@9 ~@3 c2@17 ~ e1@2 ~ f#1@3", Z: "g1@13 ~@5 g1 ~@5 c2@9 ~@4 e2@7 ~@4",
  AA: "~ f#2@17 ~@7 g1@9 ~@2 b1@8 ~@4", AB: "c2@13 ~@5 c2@2 ~@4 d2@13 ~@5 d2 ~@5",
  AC: "g2@8 ~@5 d2@2 ~@9 g1@6 ~@6 f#1 g1@2 a1@3 b1@5 ~", AD: "c2@11 ~@7 c2 ~@2 c2@2 ~ d2@12 ~@6 d2@2 ~@4",
  AE: "e2@12 ~@6 a2@2 b2@3 ~ e3@12 ~@6 b2@2 [a2,a#2] [g2,g#2] [f2,f#2] ~, ~@24 d#3 ~@23", // A#maj7 G#maj7 F#maj7
  AF: "c2@13 ~@5 c2@4 ~@2 b1@13 ~@5 b1@2 ~@4", AG: "d2@12 ~@6 d2 ~@5 d2@12 ~@12", AH: "c2@11 ~@8 b1@18 ~@11",
  AI: "~ c2@12 ~@6 b1@23 ~@6", AJ: "c2@17 ~@7 d2@19 ~@5", AK: "~ g1@8 ~@4 g1@7 ~@4 f#1 g1@7 ~@4 g1@2 ~ a1@2 ~ b1@5 ~",
  AL: "~ c2@12 ~@5 c2@3 ~@3 d2@14 ~@4 d2@2 ~@4", AM: "g2@9 ~@3 f#2@8 ~@4 e2@9 ~@3 d2@8 ~@4",
  AN: "~ a1@13 ~@4 a1@2 ~@4 d2@14 ~@5 d2 ~@4", AO: "~ g1@41 g#1 ~@5", AP: "g1@20 ~@4 b1@19 ~@5",
  AQ: "c2@19 ~@5 d2@18 ~@6", AR: "e2@8 ~@4 b1@7 ~@5 c2@9 ~@3 b1@7 ~@5", AS: "~ a1@8 ~@3 g1@4 ~@2 f#1@3 ~@3 d2@19 ~@5",
  AT: "g1@10 ~@3 f#1@8 ~@3 e1@8 ~@4 d2@8 ~@4", AU: "c2@10 ~@2 a1@3 ~@4 e1@2 ~@3 d1 ~@2 e2@2 ~ f#2@12 ~@6",
  AV: "~ g1@12 ~@5 g1 ~@5 g1@13 ~@5 g1@2 ~@4", AW: "g1@13 ~@5 g1 ~@5 g1@16 ~@2 a1@3 b1@2 ~",
  AX: "c2@12 ~@6 c2@2 ~@4 d2@15 ~@3 d2@2 ~@4", AY: "g1@10 ~@2 g1@9 ~@3", AZ: "g1@12 ~@6 g1@2 ~@4 c2@9 ~@4 e2@8 ~@3",
  BA: "~ f#2@17 ~@6 g1@9 ~@3 b1@9 ~@3", BB: "c2@14 ~@4 c2@3 ~@3 d2@14 ~@4 d2@2 ~@4",
  BC: "g1@14 ~@4 d2 ~@5 g2@6 ~@6 g1@2 ~ a1@2 ~ b1@3 ~@3", BD: "c2@14 ~ g2@2 ~ c2 ~@2 c#2@2 ~ d2@13 ~@5 d2 ~@2 d#2 ~@2",
  BE: "e2@13 ~@5 a2@2 b2@3 ~ e3 ~@2 b2 ~@2 e2@8 ~@4 b1@2 a#1 a1 g#1 g1", BF: "c2@12 ~@6 c2@2 ~@4 b1@13 ~@5 b1@2 ~@4",
  BG: "d2@17 ~ a2@2 ~ a1@2 ~ d2@13 ~@11", BH: "~ c2@12 ~@5 b1@19 ~@11", BI: "~ c2@11 ~@6 b1@25 ~@5",
  BJ: "c2@13 ~@4 c2@2 ~@5 d2@17 ~@7", BK: "e2@14 ~@4 b1 ~@6 e2@9 ~@2 d2@8 ~@4", BL: "~ c2@12 ~@5 b1@25 ~@5",
  BM: "~ c2@11 ~@6 b1@22 ~@8", BN: "c2@13 ~@5 c2@2 ~@4 d2@14 ~@4 d2 ~@5",
  BO: "~ g1@13 ~@4 [f#1,g1] ~@5 g1@8 ~@4 g1@2 ~ a1@2 ~ b1@4 ~@2", BP: "~ c2@13 ~@4 c2@2 ~@4 d2@14 ~@4 d2@2 ~@4",
  BQ: "g2@9 ~@3 f#2@7 ~@5 e2@10 ~@2 d2@7 ~@5, ~@24 d#2 ~@23", BR: "a1@16 ~@3 a1 ~ b1 ~@2 d2@11 ~ d2@9 ~@3",
  BS: "g1@15 ~@3 d2@5 ~ g1@8 ~@4 b1@9 ~@3", BT: "~ c2@12 ~@5 c2@3 ~@4 d2@13 ~@5 d2 ~@4",
  BU: "~ g2@8 ~@3 f#2@7 ~@5 d#2 e2@8 ~@3 d2@7 ~@5", BV: "~ a1@13 ~@4 a1 ~@5 d2@16 ~@8", BW: "d2 ~",
  BX: "e2@8 ~@5 b1@8 ~@6 c2@8 ~@6 b1@7", BY: "[~@7 a1@7 ~@7 f#1@9 ~@7 g1@48 ~@11]/2",
})).s("gm_fretless_bass").gain(0.57)

// drums · kick
const kick = s("bd").struct("<[x!2]!2 x ~ [x ~@2 x!2 ~@3]!70 [~@4 x ~@2 x] [~ x ~@46] ~@3>").gain(0.57)

// drums · snare
const snare = s("sd").struct("<~@4 [~ x ~ x]!69 [~ x ~@2] x ~@4>").gain(0.57)

// drums · crash
const crash = s("cr").struct("<~@4 A ~@3 A ~@3 A ~@6 A ~ A ~@7 A ~@7 A ~@9 A ~@3 A ~@3 A ~@11 A ~@11>".pickRestart({
  A: "x",
})).gain(0.57)

// drums · ride
const ride = s("rd").struct(`<
  ~@4
  [x!8]!69
  [x!5 ~ x ~]
  [x ~ x ~ x!4]
  [~ x ~@5 x ~@5 x ~@6 x ~@5 x ~@6 x ~@6 x ~@6 x]
  [~@6 x ~@6 x ~@7 x ~@6 x ~@19]
  ~@2
>`).gain(0.57)

stack(piano, acoustic_guitar_nylon, acoustic_guitar_nylon_2, bass, kick, snare, crash, ride)

More by Bette Midler