Strudelify

Everytime I Close My Eyes

Babyface

KeyF majorTempo75 bpm
0:00/0:00
// Everytime I Close My Eyes — Babyface
// 75 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 13 vibraphone (copy of ch 11 pad halo)
// note: Full arrangement: all 80 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(75/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 A C@2 A D A D E F E C G H G I J K G L M N O P M Q R S J B T B E U A B V F E W X Y Z L E AA G S AB AC O AD AE AF AG
  AD E AH AI AH AJ AK I AL AM R AN AE Q AO I AP@2 B A C@2 ~@2
>`.pickRestart({
  A: "~ c3 ~ c3 ~ c3 ~ c3, f2@19 ~@5 f2@20 ~@4, ~@2 f3@3 ~ f3@2", B: "~ f2 ~ f2 db2!2 f2 db3, db2@12 db3@19 ~@17",
  C: "~@6 f2@6 ~@6 f2@6 ~@18 db2@5 ~, db2@12 db3@18 f2@13 ~@5, ~@24 db2@12 db3@11 ~",
  D: "~ f2 ~ f2 ~ f2 ~ f2, db2@19 ~@5 db2@22 ~@2, ~@3 db3@5 ~ db3@3",
  E: "~ c3 ~ c3 ~ c3 ~ c3, f2@19 ~@5 f2@22 ~@2, ~@3 f3@5 ~ f3@3",
  F: "~ db3 ~@3 f2 ~ f2, db2@6 f2@5 ~ db2@9 ~@3, ~@3 db3@2 ~ db3@2",
  G: "~ d3 ~ d3 ~ d3 ~ d3, g2@19 ~@5 g2@20 ~@4, ~@2 g3@3 ~ g3@2",
  H: "~ g2 ~ g2 ~ g2 ~ g2, c2@19 ~@5 c2@19 ~@5, ~ c3 ~ c3",
  I: "~@3 g2@3 ~@3 g2@3 ~@6 c3@2 ~ c3@3, c2@19 ~@5 c2@18 ~@6, ~@12 c3@17 ~ g2@12 ~@6",
  J: "~@3 c3@3 ~@3 c3@3 ~@6 f3@2 ~ f3@3, f2@19 ~@5 f2@18 ~@6, ~@12 f3@17 ~ c3@12 ~@6",
  K: "~ d3 ~@3 a2 ~ a2, d2@6 a2@5 ~ d2@9 ~@3, ~@3 d3@2 ~ d3@2",
  L: "~ g2 ~ g2 ~ g2 ~ g2, c2@19 ~@5 c2@22 ~@2, ~@3 c3@5 ~ c3@3",
  M: "~@6 c3@6 ~@6 c3@6 e2@6 ~@6 e3@7 e2@5, f2@19 ~@11 e2@13 ~@5, ~ f3 ~@2",
  N: "~@6 f2@5 ~ a2@6 d3@6 ~@6 c3@6 c3@7 c2@5, d2@19 ~@5 c2@14 ~@10",
  O: "~ f2 ~ f2 ~ f2 ~ f2, bb1@19 ~@5 bb1@20 ~@4, ~@2 bb2@3 ~ bb2@2",
  P: "~ c3 ~@3 g2 ~ g2, c2@6 g2@5 ~ c2@9 ~@3, ~@3 c3@2 ~ c3@2", Q: "~ a2 ~ a2 ~ c3!3, d2@19 ~@5 c2@19 ~@5, ~ d3 ~@2",
  R: "~ f2 ~ f2 bb1 d2 f2 bb2, bb1@12 bb2@19 ~@17", S: "~ g2 ~ g2 ~ g2 ~ g2, c2@19 ~@5 c2@20 ~@4, ~@2 c3@3 ~ c3@2",
  T: "~ f3 ~@3 c3 ~ c3, f2@6 c3@5 ~ f2@9 ~@3, ~@3 f3@2 ~ f3@2",
  U: "~@3 f2@3 ~@3 f2@3 ~@6 db3@2 ~ db3@3, db2@19 ~@5 db2@18 ~@6, ~@12 db3@17 ~ f2@12 ~@6",
  V: "~ c3 ~ c3 f2 a2 c3 f3, f2@12 f3@19 ~@17", W: "~ f2 ~ f2 ~ f2 ~ f2, db2@19 ~@5 db2@20 ~@4, ~@2 db3@3 ~ db3@2",
  X: "~@3 d3@3 ~@3 d3@3 ~@6 g3@2 ~ g3@3, g2@19 ~@5 g2@18 ~@6, ~@12 g3@17 ~ d3@12 ~@6",
  Y: "~@12 c3@7 c2@5 ~@12 c3@7 c2@5, c2@7 ~@5 c2@7 ~@5, ~@6 g2@13 ~@11 g2@13 ~@5",
  Z: "~ g3 ~@3 d3 ~ d3, g2@6 d3@5 ~ g2@9 ~@3, ~@3 g3@2 ~ g3@2", AA: "~ a2 ~ a2 d2 gb2 a2 d3, d2@12 d3@19 ~@17",
  AB: "~@6 a2@5 ~ c3@6 f3@6 e2@6 ~@6 e3@7 e2@5, f2@19 ~@11 e2@13 ~@5",
  AC: "~@12 d3@7 d2@5 ~@6 c3@6 c3@7 c2@5, d2@7 ~@5 c2@7 ~@5, ~@6 a2@13 ~@29",
  AD: "~@6 g2@6 ~@6 g2@6 ~@18 c2@5 ~, c2@12 c3@18 g2@13 ~@5, ~@24 c2@12 c3@11 ~",
  AE: "~ c3 ~ c3 e2 ~@2 e2, f2@19 ~@11 e2@12 ~@6, ~ f3 ~ e3",
  AF: "~@6 a2@6 ~@6 a2@6 ~@6 c3@6 c3@7 c2@5, d2@19 ~@5 c2@14 ~@10, ~ d3 ~@2",
  AG: "~ f2 ~ f2 ~ f2 ~ f2, bb1@19 ~@5 bb1@22 ~@2, ~@3 bb2@5 ~ bb2@3",
  AH: "~ e2 ~ e2 ~ e2 ~ e2, a1@19 ~@5 a1@20 ~@4, ~@2 a2@3 ~ a2@2",
  AI: "~ a2 ~ a2 ~ a2 ~ a2, d2@19 ~@5 d2@20 ~@4, ~@2 d3@3 ~ d3@2",
  AJ: "~@3 a2@3 ~@3 a2@3 ~@6 d3@2 ~ d3@3, d2@19 ~@5 d2@18 ~@6, ~@12 d3@17 ~ a2@12 ~@6",
  AK: "~ d3 ~ d3 ~ d3 ~ d3, g2@19 ~@5 g2@22 ~@2, ~@3 g3@5 ~ g3@3",
  AL: "~@12 f3@7 f2@5 e2@6 ~@12 e2@6, f2@7 ~@8 e2@6 ~@3, ~@6 c3@13 ~@17 e3@12",
  AM: "~@6 f2@5 ~ a2@6 d3@6 ~@6 c3@6 c3@6 c3@6, d2@19 ~@5 c2@19 ~@5", AN: "~ g2 ~ g2 c2 e2 g2 c3, c2@12 c3@19 ~@17",
  AO: "~@6 f2@6 ~@6 f2@6 ~@18 bb1@5 ~, bb1@12 bb2@18 f2@13 ~@5, ~@24 bb1@12 bb2@11 ~",
  AP: "[~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3, f2@20 ~@4 f2@19 ~@5 f2@19 ~@5 f2@20 ~@4, ~@12 f3@16 ~@8 f3@19 ~@5 f3@18 ~@6 f3@12]/2",
})).s("gm_piano").gain(0.4).pan(0.4)

// chords · piano
const piano_2 = note(`<
  A@5 B@3 C D E F@2 G@2 H@2 I@3 J@3 K L@3 M@3 N@2 C O@6 P@3 Q H@2 R S@2 T@4 U@4 V W X Y@3 Z AA AB AC AD@3 AE AF@2 AG@8
>`.pickRestart({
  A: "[a3@14 ~@16 c4@6 [c4,f4]@6 ~@42 f3@6 ~@24 [c4,f4]@23 ~ f3@24 ~@12 [bb3,db4,f4]@12 f3@20 ~@16 bb3@6 ~@6 f4@6, a4@7 ~@24 f4@8 ~, f4@18 ~@15 db4@12 a3@22 ~@2 [bb3,db4,f4]@18 ~@6 db4@21 ~@6, c4@5 ~@2 db3@6 db3@2 ~@20 f3@5, ~@3 a3@4 f3@7 ~@13 f3@4 bb3@6 ~ [bb3,db4]@2]/5", // F5 Bbm
  B: "[~@18 [c4,f4]@23 ~@43 f3@6 ~@48 c4@6, a3@19 ~@2 f3@21 ~@3 a3@21 a3@6, ~@7 db3@6 db3@2 f3@6 f3@3, ~@11 db4@4 ~@4 f4@5]/3", // F5
  C: "f3@7 ~@8 bb3@3 ~@3 f4@3, f4@7 ~, db4@3 ~, bb3@5 ~ [bb3,db4]@2, ~@3 f3@5", D: "~@3 [c4,f4]@5, [f3,a3]",
  E: "~@3 [f3,bb3,db4]@5, db3", // Bbm
  F: "[a3@7 ~@8 c4@3 [c4,f4]@3 ~@24 bb3@3, a4@7 ~@9, f4@6 ~@5 db4@5, c4@5 ~@2 db3@6 db3@3, ~@3 a3@4 f3@7 f3@2]/2", // F5
  G: "[~@18 d4@12 g4@11 ~@25 e4@6 [g3,bb3,c4,e4]@24, [g3,bb3]@41 ~ e3@30 ~@24, ~@9 g3@3 ~@4, ~@5 c4 ~@2]/2", // C7 Gm
  H: "[bb3@14 ~@16 d4@6 [d4,g4]@6 ~@24 bb3@12 c4@17 ~, bb4@7 ~@9, g4@3 ~@5, d4@5 ~@11, ~@18 bb3@24 [e3,g3]@53 ~]/2", // G5 Em
  I: "[a3@18 ~@12 [c4,f4,a4]@12 a3@20 ~@16 c4@6 [c4,d4]@6 ~@24 b3@12 d4@17 ~, [c4,f4,a4]@5 ~@2 gb4@8 ~@9, ~@3 a3@4 d4@7 ~@10, ~@7 c4@6 ~@11, ~@66 a3@24 [f3,g3]@53 ~]/3", // F Csus2 F Fsus2
  J: "[g3@14 ~@16 bb3@6 [bb3,c4]@6 ~@24 f4@6 ~@12 e3@5 ~ a3@24 a3@6 ~@18 f4@6, e4@7 ~@8 [d4,f4,a4]@5 ~@2 a3@2, c4@36 ~@24 c4@12 ~@48 c4@17 ~@7, bb3@5 ~@4 a3@3 ~@8 f3@4, ~@18 g3@24 f3@30 [c3,a3]@17 ~@55]/3", // Bbsus2 Dm F
  K: "~@3 [f3,bb3]@5, d3", // Bb5
  L: "[~@36 g3@6 [a3,c4,f4,a4]@24 [e3,c4,e4]@23 ~ a3@18 a3@12 ~@18 f4@6, g3@18 ~@15 a3 ~@32 a3@6, e3@5 e3@2 ~@13 f3@4, ~@18 c4@24 ~@48 [d4,f4,a4]@30 c4@17 ~@7]/3", // F C Dm
  M: "[f3@18 ~@12 [bb3,f4]@12 ~@24 [g3,bb3,c4]@23 ~@25 c4@12 f4@17 ~, [bb3,f4]@5 ~@19, ~@18 f3@24 e3@47 ~ [f3,a3]@53 ~]/3", // Bb5 C7 Bb5 F
  N: "[~@12 f3@2 ~@17 a3, f3@36 ~@6 a3@49 ~@5, db3@5 db3@2 ~@8 g3, ~@3 db4@4 ~@4 [c4,f4]@5]/2", // F5
  O: "[a3@18 ~@12 [c4,a4]@12 ~@42 f3@6 ~@42 a3@6 ~@24 bb3@12 db4@11 ~@25 [c4,f4]@23 ~ f3@24 ~@24 f3@6, [c4,a4]@30 ~@12 db3@36 db3@12 f3@36 f3@12 [db3,f3]@47 ~@73 f3@24 ~@6, ~@9 a3@12 f3@21 ~@3 a3@21 ~@27 a3@22 ~@2 [bb3,db4,f4]@18 [bb3,db4,f4]@9, ~@11 db4@4 ~@4 f4@4 ~@25]/6", // F F5 F Db Bbm
  P: "[~@18 [c4,f4]@23 ~@43 f3@6 bb3@2 ~@46 d4@6, [f3,a3]@41 ~ f3@42 ~@6 g3@36 g3@18, ~@7 db3@6 db3@2 ~@7 bb3@2, ~@11 db4@4 ~@4 g4@5]/3", // F5 F
  Q: "~@12 g3@5 ~@25 c4@6, [e3,c4]@17 ~ e3@30, ~@9 bb3@11 ~@4, ~@3 g3", // C
  R: "a3@7 ~@8 c4@3 ~@3 a4@3, a4@7 ~, f4@3 ~, c4@5 ~ [c4,f4]@2, ~@3 a3@5", // F5
  S: "[a3@3 ~@2 [c4,gb4]@2 g3@4 ~@4 g3, [c4,gb4]@5 ~@2 [b3,f4]@6 [b3,f4]@3, ~@3 a3@4 ~@4 g3@4 ~]/2", // Cdim Bdim
  T: "[g3@14 ~@16 bb3@6 [bb3,c4]@6 a3@24 a3@6 ~@12 e3@5 ~@19 [d4,f4]@5 ~ [a3,c4,f4,a4]@24 ~@24 bb3@12 d4@17 ~, e4@7 ~@25, c4@6 ~ [c4,f4,a4]@5 ~@20, bb3@30 ~@60 [f3,a3]@23 ~@79, ~@18 g3@24 ~@30 [c3,a3]@17 ~@49 [d3,f3]@53 ~]/4", // Bbsus2 Dm F Dm
  U: "[g3@14 ~@16 bb3@6 [bb3,c4]@6 a3@18 a3@12 ~@12 a3@5 ~ a3@18 a3@6 ~@18 a3@5 ~@25 [f3,bb3]@30, e4@7 ~@8 [d4,f4,a4]@4 ~@13, c4@6 ~ [c4,f4,a4]@5 ~@20, bb3@30 ~@48 e3@11 ~@25 [f3,c4]@23 ~@55, ~@18 g3@24 ~@30 c3@17 ~@49 d3@54]/4", // Bbsus2 Bb5 Dm F F5
  V: "~@3 [g3,bb3,c4]@5, e3", W: "~@15 a3, a3@7 g3, ~@3 [c4,f4]@5", X: "~@18 g3@12 a3@17 ~, [db3,e3]@47 ~",
  Y: "[~@18 d4@12 f4@11 ~@43 e3@6 ~@24 d4@12 f4@17 ~, [f3,a3]@41 ~ e3@42 ~@6 [f3,a3]@53 ~, ~@7 db3@6 db3@2 ~@9, ~@11 a3@4 ~@9]/3", // F
  Z: "g3@3 ~@4 g3, [b3,d4,f4]@5 [b3,d4,f4]@3, ~@3 g3@4 ~", AA: "g3@3 ~@4 g3, [bb3,c4,e4]@5 [bb3,c4,e4]@3, ~@3 g3@4 ~",
  AB: "[a3,c4,f4,a4] [e3,a3,c4,e4]", AC: "~@3 f4 a3@3 a3, f3 ~, d4@17 ~@7 [c4,f4,a4]@24, ~ a3 ~@2",
  AD: "[~@18 [f3,bb3]@23 ~ g3@24 ~@12 [bb3,c4,e4]@12 a3@18 a3@6 [e3,a3,c4,e4]@30, d3@41 ~ [bb3,c4,e4]@36 ~@12 [c4,f4,a4]@24 ~@30, ~@11 g3@4 ~@9]/3", // Bb5 C7 Am C7 F
  AE: "[a3,d4,f4,a4]@4 ~@3 f4, ~ f3, ~@5 a3@3, ~@3 c4", AF: "[~@18 [f3,bb3]@23 ~@25 [g3,bb3,c4]@30, d3@41 ~ e3@54]/2",
  AG: "[~@30 a3@11 ~@7 a3@14 ~@16 c4@6 [c4,f4]@6 ~@42 f3@6 ~@24 [c4,f4]@23 ~ f3@24 ~@12 [bb3,db4,f4]@12 f3@20 ~@16 bb3@6 ~@6 f4@96 ~@6, f4@23 ~ a4@21 ~@72 f4@24 ~@51, [a3,c4]@13 ~@11 f4@18 ~@15 db4@12 a3@22 ~@2 [bb3,db4,f4]@18 ~@6 db4@21 ~@54, ~@18 f3@23 ~ f3@22 ~@2 a3@24 f3@42 ~@78 f3@24 bb3@36 ~@6 [bb3,db4]@96 ~@12, ~@8 c4@5 ~@2 db3@6 db3@2 ~@20 f3@16 ~@5]/8", // F5 Bbm Am Bbm
})).s("gm_piano").gain(0.48).pan(0.4)

// chords · synth strings 2
const synth_strings_2 = note(`<
  A B A B@2 A B A B A B A B C D C E A F G E H I J E H I J E A B A B A B A B A B A B C D C E A F G E H I J E H I J E A K
  A K A G E H I J E H I J E A@2 B A B@2 ~@2
>`.pickRestart({
  A: "[a5,f6]", B: "[f5,db6]", C: "[bb5,g6]", D: "[g5,e6] [bb5,e6]", E: "[bb5,e6]", F: "[c6,gb6]", G: "[b5,f6]",
  H: "[a5,f6] [e5,c6]", I: "[a5,f6]!2", J: "[f5,d6]", K: "[g5,db6]",
})).s("gm_synth_strings_2").gain(0.24).pan(0.4)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A B A C@2 D C E F E B G F H@3 I A J K L M N@2 O P@2 Q R A S T U E F A B E V@2 S W X Y I A Z K R AA@2 Q L AB AC AD AE D
  AF AG@2 AH AI AE M AJ AK O AL AC Q R AM@2 B A C AN@3
>`.pickRestart({
  A: "a3@5 ~@16 [f3,f4]@3, f3@5 f3@2 ~, ~@5 a3@13 a3@6, ~@11 c4@18 c4@19, ~@12 f4@29 ~@7", // F
  B: "~@13 db4@6 f3@5 ~@6 f3@5 ~@7 f3@6, [f3,bb3,db4]@12 [f3,bb3]@7 [bb3,db4]@17 [bb3,db4]@12, ~ db3@23 f3@6 ~@5 f3@6 ~@7, ~@25 db3@18 ~@5", // Bbm Bb5 Bbm
  C: "~ [db3,f3,bb3,db4]@12 [bb3,db4]@11 ~ f3@5 [db3,f3]@13 [db3,f3]@5, ~@13 [db3,f3]@7 ~@4 [bb3,db4]@6 [bb3,db4]@18", // Bbm Db Bbm
  D: "~@13 f4@6 a3@5 ~@6 a3@5 ~@7 a3@6, [a3,c4,f4]@12 [a3,c4]@7 [c4,f4]@17 [c4,f4]@12, ~ f3@23 a3@6 ~@5 a3@6 ~@7, ~@25 f3@18 ~@5", // F Am F5
  E: "~ [f3,a3,c4,f4]@12 [c4,f4]@11 ~ a3@5 [f3,a3]@13 [f3,a3]@5, ~@13 [f3,a3]@7 ~@4 [c4,f4]@6 [c4,f4]@18", // F F5 F F5
  F: "f3@5 ~@16 [db3,db4]@3, db3@5 db3@2 ~, ~@5 f3@13 f3@6, ~@11 bb3@18 bb3@19, ~@12 db4@29 ~@7", // Db
  G: "a3@7 ~@5 [a3,c4]@6 c4@12 ~@6 a3@6 a3@6, f3 ~, ~@2 f4@3 [c4,f4]@3", // Am F5
  H: "[~@13 g4@6 bb3@5 ~@6 bb3@5 ~ [d4,g4]@6 [g3,c4,e4]@18 [e3,g3,c4,e4]@6 [g3,bb3,c4]@18 [e3,g3,bb3,c4]@6 bb3@16 ~@32 [g3,g4]@6, [bb3,d4,g4]@12 [bb3,d4]@7 [d4,g4]@17 ~@70 bb3@26 bb3@12, ~ g3@23 bb3@6 ~@5 bb3@7 ~@48 g3@36 g3@12 ~@6, ~@25 g3@17 e3@13 ~@11 e3@13 ~@28 d4@18 d4@19, ~@108 g4@29 ~@7]/3", // G5 C C7 G Gm Bb G5
  I: "g3@7 ~@5 [g3,bb3]@6 bb3@12 ~@6 g3@6 g3@6, e3 ~, ~@2 c4@3 [bb3,c4]@3", // Gm Bbsus2
  J: "a3@7 ~@5 [a3,c4]@6 c4@12 ~@6 a3@6 a3@6, gb3 ~, ~@2 d4@3 [c4,d4]@3", // Am Csus2
  K: "~ [f3,g3,b3,d4]@12 [b3,d4]@11 ~ g3@5 [f3,g3]@13 [f3,g3]@5, ~@13 [f3,g3]@7 ~@4 [b3,d4]@6 [b3,d4]@18", // G7 Bm Fsus2 Bm
  L: "~@13 c4@6 g3@5 ~@6 g3@5 ~@7 g3@6, [g3,bb3,c4]@12 [g3,bb3]@7 [bb3,c4]@17 [bb3,c4]@12, ~ e3@23 g3@6 ~@5 g3@6 ~@7, ~@25 e3@18 ~@5", // C7 Gm Bbsus2
  M: "[a3,c4,f4]@12 [c4,f4]@12 ~@19 c3@5, f3@7 ~@5 [f3,a3]@6 ~@6 e3@18 e3@6, ~@5 [a3,c4]@3", // F F5 F Am
  N: "[[a3,d4,f4]@12 [d4,f4]@12 [a3,c4,f4]@12 [f3,a3,c4,f4]@6 ~@7 [d3,f3,d4]@12 [bb3,d4]@11 ~ f3@5 [d3,f3]@13 [d3,f3]@5, f3@7 ~@5 [f3,a3]@6 ~@25 bb3@18 [d3,f3]@7 ~@4 [bb3,d4]@6 [bb3,d4]@18]/2", // Dm F Dm Bb Dm F Dm Bb
  O: "bb3@2 ~@3 bb3@3, g3@24 ~ g3@23, e3@18 ~ e3@29, ~@2 bb3@2 bb3 ~@3",
  P: "[[a3,c4,f4]@12 [c4,f4]@12 ~@6 [a3,c4]@12 ~ [f3,a3]@17 [f3,a3]@6 a3@6 [a3,c4,f4]@12 [f3,a3,c4,f4]@12, f3@7 ~@5 [f3,a3]@6 ~@6 e3@18 ~@18 [d4,f4]@12 ~@24]/2", // F F5 Am F Dm
  Q: "~ [d3,f3,bb3,d4]@12 [bb3,d4]@11 ~ f3@5 [d3,f3]@13 [d3,f3]@5, ~@13 [d3,f3]@7 ~@4 [bb3,d4]@6 [bb3,d4]@18", // Bb Dm Bb
  R: "~ [e3,g3,bb3,c4]@12 [bb3,c4]@11 ~ g3@5 [e3,g3]@13 [e3,g3]@5, ~@13 [e3,g3]@7 ~@4 [bb3,c4]@6 [bb3,c4]@18", // C7 Bbsus2 Em Bbsus2
  S: "f3@7 ~@5 [f3,bb3]@6 bb3@12 ~@6 f3@6 f3@6, db3 ~, ~@2 db4@3 [bb3,db4]@3", // Bb5 Bbm
  T: "c4@2 ~@3 c4@3, a3@24 ~ a3@23, f3@18 ~ f3@29, ~@2 c4@2 c4 ~@3",
  U: "bb3@2 ~@3 bb3@3, f3@24 ~ f3@23, db3@18 ~ db3@29, ~@2 bb3@2 bb3 ~@3",
  V: "[bb3@12 ~@18 bb3@12 a3@13 ~@5 [a3,c4]@6 c4@12 ~@6 a3@6 a3@6, f3@24 ~ f3@17 f3@30 ~@24, db3@18 ~ db3@23 ~@54, ~@2 bb3@2 bb3 ~@5 f4@3 [c4,f4]@3]/2", // Am F5
  W: "d4@2 ~@3 d4@3, bb3@24 ~ bb3@23, g3@18 ~ g3@29, ~@2 d4@2 d4 ~@3",
  X: "~@19 e3@5 [g3,bb3,c4]@12 [e3,g3,bb3,c4]@12, g3@3 g3 ~@4, ~ [c4,e4]@3 ~@4", // C7 C
  Y: "~ [g3,bb3,d4,g4]@12 [d4,g4]@11 ~ bb3@5 [g3,bb3]@13 [g3,bb3]@5, ~@13 [g3,bb3]@7 ~@4 [d4,g4]@6 [d4,g4]@18", // Gm G5 Gm G5
  Z: "~ [gb3,a3,c4,d4]@12 [c4,d4]@11 ~ a3@5 [gb3,a3]@13 [gb3,a3]@5, ~@13 [gb3,a3]@7 ~@4 [c4,d4]@6 [c4,d4]@18", // D7 Csus2 Gbm Csus2
  AA: "[[a3,c4,f4]@2 [c4,f4]@2 [e3,a3,c4]@2 [c3,e3,a3,c4] [a3,d4,f4]@3 [d4,f4]@2 [a3,c4,f4]@2 [c4,f4]@2, f3@7 ~@5 [f3,a3]@6 ~@24 f3@13 ~@5 [f3,a3]@6 ~@6 f3@7 ~@5 [f3,a3]@6 ~@6]/2", // F F5 Am Dm F F5 F
  AB: "~@19 f3@5 ~@19 c3@5, a3@3 a3 e3@3 e3, ~ [c4,f4]@3 ~ [a3,c4]@3", // F5 Am
  AC: "~@19 f3@5 [a3,c4,f4]@12 [c4,f4]@12, a3@18 a3@6 f3@7 ~@5 [f3,a3]@6 ~@6, ~ [d4,f4]@3 ~@4", // F F5 F Dm
  AD: "f3@5 ~@16 [d3,d4]@3, d3@5 d3@2 ~, ~@5 f3@13 f3@6, ~@11 bb3@18 bb3@19, ~@12 d4@29 ~@7", // D
  AE: "g3@5 ~@16 [e3,c4]@3, e3@5 e3@2 ~, ~@5 g3@13 g3@6, ~@11 bb3@18 bb3@19, ~@12 c4@29 ~@7", // C
  AF: "~ [db3,e3,g3,a3]@12 [g3,a3]@11 ~ e3@5 [db3,e3]@13 [db3,e3]@5, ~@13 [db3,e3]@7 ~@4 [g3,a3]@6 [g3,a3]@18", // A7 Gsus2 Dbm Gsus2
  AG: "[~ [f3,a3,d4,f4]@12 [d4,f4]@11 ~ a3@5 [f3,a3,d4,f4]@12 e3@13 ~@5 [e3,g3]@6 g3@12 ~@6 e3@6 e3@6, ~@13 [f3,a3]@7 ~@4 [d4,f4]@6 ~@12 db3@30 ~@24, ~@10 a3@3 [g3,a3]@3]/2", // Dm Em F Dm Gsus2
  AH: "d4@2 ~@3 d4@3, a3@24 ~ a3@23, f3@18 ~ f3@29, ~@2 d4@2 d4 ~@3",
  AI: "g3@7 ~@5 [g3,b3]@6 b3@12 ~@6 g3@6 g3@6, f3 ~, ~@2 d4@3 [b3,d4]@3", // G Bm
  AJ: "[a3,d4,f4]@2 [d4,f4]@2 ~@3 c4, f3@7 ~@5 [f3,a3]@6 ~@6 c4@18 ~@6, ~@3 [f3,a3]", // Dm F
  AK: "f3@7 ~@5 [f3,bb3]@6 bb3@12 ~@6 f3@6 f3@6, d3 ~, ~@2 d4@3 [bb3,d4]@3", // Bb5 Bb
  AL: "[a3,c4,f4] [f3,a3,c4,f4] [e3,a3,c4] [c3,e3,a3,c4]", // F Am
  AM: "[[f3,a3,c4,f4]@12 ~ a3@6 f3@5 [a3,c4,f4]@6 [f3,a3,c4,f4]@12 a3@6 a3@10 ~@32 [f3,f4]@6, ~@6 [c4,f4]@6 ~@9 [c4,f4]@8 a3@13 a3@6, ~@2 f3 ~@5 f3@5 f3@2 ~, ~@59 c4@18 c4@19, ~@60 f4@29 ~@7]/2", // F F5
  AN: "[~ [db3,f3,bb3,db4]@12 [bb3,db4]@11 ~ f3@5 [db3,f3]@13 [db3,f3]@96 ~@5, ~@13 [db3,f3]@7 ~@4 [bb3,db4]@6 [bb3,db4]@96 ~@18]/3", // Bbm Db Bbm
})).s("gm_acoustic_guitar_nylon").gain(0.32).pan(0.6)

// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~ A ~ B@2 C B D ~ D A E ~@2 F ~ G ~ H I J K L M ~ N O M P ~ Q ~@2 D ~@2 A D ~ E Q ~ R S G ~ T I P L U M J V W ~@2 C X
  D Y ~ Z ~ K L AA ~@2 W M P AB ~ A ~ B@2 ~@2
>`.pickRestart({
  A: "~@43 db3@5", B: "~@10 f3@2 db3@3 ~@9, ~@19 db3@5 ~@24", C: "~@43 f3@5", D: "~@10 a3@2 f3@3 ~@9, ~@19 f3@5 ~@24",
  E: "~ f3, ~@19 a3@17 ~@12", F: "~@7 e3@5 ~@19 e3@5 ~@12", G: "~ e3, ~@19 g3@17 ~@12", H: "~ gb3, ~@19 a3@17 ~@12",
  I: "~@10 g3@2 f3@3 ~@9, ~@19 f3@5 ~@24", J: "~@43 e3@5", K: "~@7 f3@5 ~@6 [f3,a3]@6 ~ c3@18 ~@5",
  L: "~@7 f3@5 ~@6 [f3,a3]@6 ~@24", M: "~@10 f3@2 d3@3 ~@9, ~@19 d3@5 ~@24", N: "~@7 f3@5 ~@6 [f3,a3]@6 ~ c3@17 ~@6",
  O: "~@19 f3@5 ~@24", P: "~@10 g3@2 e3@3 ~@9, ~@19 e3@5 ~@24", Q: "~ db3, ~@19 f3@17 ~@12", R: "~ e3@18 ~@29",
  S: "~@10 bb3@2 g3@3 ~@9, ~@19 g3@5 ~@24", T: "~@10 a3@2 gb3@3 ~@9, ~@19 gb3@5 ~@24",
  U: "~@7 f3@5 ~@6 [f3,a3]@6 ~@7 f3@5 ~@6 [f3,a3]@6", V: "~ f3@18 ~@6 c3@18 ~@5", W: "~ f3@18 ~@12 f3@5 ~@6 [f3,a3]@6",
  X: "~@10 e3@2 db3@3 ~@9, ~@19 db3@5 ~@24", Y: "~ db3, ~@19 e3@17 ~@12", Z: "~ f3, ~@19 g3@17 ~@12",
  AA: "~ d3, ~@19 f3@17 ~@12", AB: "~@10 a3@2 f3@3 ~@6 f3@3",
})).s("gm_acoustic_guitar_nylon").gain(0.24).pan(0.6)

// bass · electric bass finger
const bass = note(`<
  A B C D@2 E F G B C F H I J K L M A N O P Q R S T U R V T C D E D W B E I E I E X Y Z AA AB AC AD AE AB U AF AG T AH
  AI AG P C AJ AD AK AD J AB AL AM AG P AN AO AP P G A B C D@2 ~@2
>`.pickRestart({
  A: "~ f2@41 ~ f2@5", B: "db2@20 ~ db2@2 ~", C: "f2@36 f2@5 ~ f2@2 ~@4", D: "db2@23 ~", E: "f2", F: "~ db2@41 ~ db2@5",
  G: "f2@21 f1@2 ~", H: "f2@20 ~ f2@2 ~", I: "db2@36 db2@5 ~ db2@2 ~@4", J: "~ g2@41 ~ g2@5", K: "c2@7 ~ c2@7 ~",
  L: "g2@23 ~", M: "c2@20 ~ c2@2 ~", N: "d2@23 ~", O: "g2@20 ~ g2@2 ~", P: "~ c2@41 ~ c2@5", Q: "f2@5 ~ f2@2 e2@7 ~",
  R: "~ d2@23 c2@21 ~@3", S: "bb1@41 ~ bb1@5 ~", T: "c2@41 ~ c2@5 ~", U: "f1@24 ~ e2@23", V: "bb1@20 ~ bb1@2 ~",
  W: "f2@23 ~", X: "db2@41 ~ db2@5 ~", Y: "g2@21 g1@2 ~", Z: "~ c2@23 ~ c2@23", AA: "g2@41 ~ g2@5 ~",
  AB: "c2@36 c2@5 ~ c2@2 ~@4", AC: "f2@36 f2@5 ~ e2@2 ~@4", AD: "d2@41 ~ d2@5 ~", AE: "g2", AF: "d2@7 ~ c2@7 ~",
  AG: "bb1@36 bb1@5 ~ bb1@2 ~@4", AH: "~ f2@23 e2@15 ~@3 e2@6", AI: "d2@5 ~ d2@2 c2@7 ~", AJ: "a1@20 ~ a1@2 ~",
  AK: "a1@41 ~ a1@5 ~", AL: "~ f2@23 e2@21 ~@3", AM: "d2@7 ~ c1@8", AN: "f2@15 ~@3 f2@6 ~ e2@23",
  AO: "~ d2@23 c2@15 ~@3 c2@6", AP: "bb1@23 ~",
})).s("gm_electric_bass_finger").gain(0.56).pan(0.7)

// other · whistle
const whistle = note("<A B C D@2 ~@24 E F@2 G ~@40 A B C D@2 ~@2>".pickRestart({
  A: "a4@29 ~ a4@6 bb4@5 c5@6 ~", B: "~ c5@17 bb4@18 a4@12", C: "g4@4 a4@25 ~@2 a4@5 bb4@5 c5@6 ~",
  D: "[~ c5@17 bb4@24 ~@5 g4@45 ~@4]/2", E: "~@31 a4@5 bb4@5 c5@5 ~@2",
  F: "[c5@18 bb4@17 a4@12 g4@4 a4@25 ~@2 a4@5 bb4@6 c5@6 ~]/2", G: "c5@3 bb4@4 ~",
})).s("gm_whistle").gain(0.56).pan(0.6)

// chords · epiano1
const epiano1 = note(`<
  A@2 B C ~@3 D@3 ~ E@3 ~@2 F@2 G@2 H@2 I@8 J@2 K@2 ~ L@4 M N@2 ~@3 O P ~ Q R S@8 ~@6 T@8 U V@2 B C ~@3
>`.pickRestart({
  A: "[[c5,f5,a5]@28 ~@2 a5@4 ~ bb5@6 c6@5 ~@3 c6@16 bb5@16 ~@3 f5@8 ~@4, ~@14 f5@7 ~@3 f5@17 ~@7, ~@29 c5@13 ~@5 db5@14 ~@22 db5@11 ~@2]/2", // F
  B: "g5@4 [f5,a5]@25 ~@2 a5@4 ~ bb5@5 c6@5 ~@2, f5@3 ~@26 c5@12 ~@7, ~@30 f5@11 ~@7", // F
  C: "[db5,f5,c6]@17 ~@2 [db5,f5,bb5]@29", // Dbmaj7 Bbm
  D: "[~@30 a5@5 ~ bb5@5 c6@5 ~@2 c6@17 ~ [db5,bb5]@20 ~@2 c5@45 ~@11, ~@29 f5@13 ~@5 db5@17 ~@80]/3", // Gb
  E: "[~@30 a5@6 bb5@5 c6@5 ~@2 c6@16 ~ bb5@16 ~@3 a5@4 ~@7 [bb4,d5,g5]@42 ~@7, ~@29 f5@17 ~ db5@41 ~@56]/3", // Gm
  F: "[~@17 c6@24 ~@5 c6@34 ~@16, e5@17 ~@79, ~ g5@2 ~@13, ~@11 bb5@10 ~@22 a5@37 ~@16]/2",
  G: "[~@18 c6@21 ~@5 [g5,b5]@41 ~@11, d5@13 ~@19, ~@6 gb5@32 ~@5 f5@42 ~@11, ~@11 a5@28 ~@57]/2", // G
  H: "[~@18 c6@20 ~@9 a5@22 ~@3 a5@23 d5, ~ e5@38 ~@7 f5@23 ~ c5@23 ~@3, ~@7 g5@32 ~@32 e5@23 ~@2]/2",
  I: "[~ a5@22 ~@2 a5@15 ~@8 f5@38 ~@9 g5@38 ~@10 a5@20 ~@3 a5@24 ~@2 a5@21 ~@3 a5@17 ~@6 d5@41 ~@7 g5@44 ~@35 a5@4 ~@2 bb5@5 c6@6 ~, f5@21 ~@3 c5@17 ~@5 d5@39 ~@6 c5@41 ~@7 c5@23 ~@2 c5@24 ~@2 d5@23 ~ c5@19 ~@5 bb4@42 ~@51 c5@47 ~@6, ~@93 e5@40 ~@9 f5@21 ~@2 e5@24 ~@2 f5@21 ~@74 e5@45 ~@35 f5@13 ~@5]/8",
  J: "[[db5,c6]@16 ~ bb5@18 ~ a5@6 ~@5 g5@4 a5@26 ~ a5@6 bb5@6 ~@6, f5@7 ~@9, ~@17 db5@30 ~@31 c5@11 ~@7]/2", // Dbmaj7
  K: "[[db5,c6]@17 ~ [db5,bb5]@25 ~@3 a5@41 ~@9, ~@43 c5@44 ~@9, ~@44 f5@43 ~@9]/2", // Dbmaj7 Gb
  L: "[~@30 a5@6 bb5@5 c6@5 ~@2 [f5,c6]@17 ~ [db5,f5,bb5]@21 ~@2 [c5,f5]@58 ~@45, ~@30 [c5,f5]@16 ~ db5@17 ~@128]/4", // F5 Bbm F5
  M: "~@30 a5@5 ~ bb5@5 ~@7, ~@29 f5@15 ~@4",
// … 70 more lines

More by Babyface