Strudelify

Les amoureux des bancs publics

Brassens Georges

KeyC minorTempo126 bpm
0:00/0:00
// Les amoureux des bancs publics — Brassens Georges
// 126 bpm, 3/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 133 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(126/3)

// 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.

// bass · acoustic bass
const bass = note(`<
  ~@53 A B C D E F G H I J@2 K L M N O ~@16 A B C D E F G H I J@2 K L M N O P Q R S T U V@2 W X Y Z W X AA AB A B C D E
  F G H I J@2 K L M N O
>`.pickRestart({
  A: "f2 ~@3", B: "c2@7 ~@17", C: "bb1 ~@2", D: "c2@7 ~@5 ab1@3 ~ bb1@4 c2@4", E: "db2@7 ~@9 eb2@8", F: "ab1@3 ~@5",
  G: "eb2@7 ~ f2@8 g2@8", H: "ab2@2 ~@3 g2", I: "f2@3 ~@5", J: "[c2@11 ~@12 bb1@10 ~@15]/2", K: "c2@5 ~@7",
  L: "db2@9 ~@7 eb2@7 ~", M: "ab1@5 ~@7", N: "eb2 f2 g2", O: "ab2@7 ~ ab1@6 ~@10", P: "c2@13 ~@3 g1@7 ~",
  Q: "c2@5 ~@3 g1@4", R: "d2@10 ~@6 g1@7 ~", S: "d2@9 ~@7 g1@7 ~", T: "c2 ~ g1", U: "c2@7 ~@9 g1@8", V: "c2@9 ~@7 g1@8",
  W: "bb1@9 ~@7 f2@8", X: "bb1@8 ~@8 f2@7 ~", Y: "c2@9 ~@7 f2@8", Z: "c2@5 ~@3 f2@4", AA: "eb2 ~ bb2", AB: "eb2 ~@3",
})).s("gm_acoustic_bass").gain(0.29)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~ A B@2 C D E F G@2 H I J K L M N O@2 P Q R S T U V W X Y Z AA AB AC AD AE AF AG D E F G@2 H I J K L M N O@2 P Q R S T
  U V W AH Y Z AA AB AC AD AE AI AG D E F G@2 H I J K L AJ AK O@2 P AL R S T U V W AH Y Z AA AM AN AO AE AI AG D E F G@2
  H I J K L M N O@2 P Q R S T U V W AH Y Z AA AB AC AP AE AI AG
>`.pickRestart({
  A: "~@2 g2, c3@5 ~@3, ~ g4@2", B: "~@16 g2@7 ~, c3 g4@2, ~@7 eb4@17", C: "~@8 g2@3 ~, c3 g4@2, ~@7 eb4@17",
  D: "~@16 g2@7 ~, c3@11 ~@13, ~@8 g4@15 ~", E: "~@16 g2@7 ~, c3@4 g4@7 ~, ~@7 eb4@15 ~@2",
  F: "~@16 g2@7 ~, d3@11 ~@13, ~ d4@3, ~@7 f4@17, ~ g4@2",
  G: "[d3@7 ~@8 g2@6 ~@2 c3@8 ~@9 g2@7 ~, ~@7 f4@16 ~@25, ~@8 g4@14 ~@9 g4@17]/2",
  H: "~@16 g2@5 ~@3, c3@7 g4@15 ~@2, ~@6 eb4@17 ~", I: "c3@7 ~@9 g2@7 ~, ~@7 eb4@17, ~ g4@2",
  J: "c3@7 ~@9 g2@6 ~@2, ~@7 eb4@16 ~, ~@8 g4@15 ~", K: "bb2@7 ~@9 f2@7 ~, ~@7 [db4,f4]@17",
  L: "bb2@7 ~@9 f2@6 ~@2, ~@7 f4@16 ~", M: "~@16 f2@7 ~, c3 f4@2, ~ c4@3",
  N: "~@8 f2@3 ~, c3@8 f4@15 ~, ~@3 c4@8 ~, ~@7 eb4@15 ~@2",
  O: "[bb2@8 ~@7 f2@7 ~@18 bb2@3 ~@5, ~@8 f4@14 ~ bb2@9 f4@15 ~, ~@31 d4@15 ~@2]/2",
  P: "~@8 eb4@3 ~@5 [bb2,g3,bb3,eb4]@3 ~@5, eb3@5 ~@7, ~@7 bb3@4 ~@13", Q: "[eb3,g3,bb3,eb4]@5 ~@7",
  R: "~@16 [ab3,c4,d4] ~@7, f2@2 ~, ~@7 [c4,d4]@4 ~@13, ~@8 f4@11 ~@5", // Dm7b5 Csus2
  S: "~@8 g4 ~@7 [c4,eb4,g4]@8, c3@7 ~, ~@7 [c4,eb4]@2 ~@15", T: "~@8 [d4,f4]@2 ~@6 [ab3,d4,f4]@7 ~, bb2@17 ~@7",
  U: "~@8 g4@2 ~@6 [c4,eb4,g4]@3 ~@5, c3@5 ~", V: "db3@8 [ab3,bb3,db4,f4] ~@7 [eb3,ab3,bb3,db4]@8, ~@16 f4@5 ~@3",
  W: "~@8 eb4@2 ~@6 [ab3,c4,eb4]@7 ~, ab2@2 ~, ~@7 c4@2 ~@15", // Ab
  X: "~@8 [g3,bb3,db4,eb4] ~@7 [g3,bb3,db4,eb4]@6 ~@2, eb3@17 ~@7", // Eb7
  Y: "~@4 [c4,eb4] ~@3 [c4,eb4]@2 g2@2, ab2@17 ~@7, ~@7 ab3@2 ~@15", Z: "~@8 [c4,f4]@2 ~@6 [ab3,c4,f4]@7 ~, f2@17 ~@7",
  AA: "~@8 [c4,eb4]@2 ~@6 [g3,c4,eb4] ~@7, c3@19 ~@5", AB: "~@8 [ab3,c4,d4,f4] ~@7 [ab3,c4,d4,f4]@8, bb2@3 ~",
  AC: "~@8 [eb4,g4]@2 ~@6 [eb4,g4]@3 ~@5, c3@3 ~", AD: "db3@4 [bb3,db4,f4] ~@3 [eb3,ab3,bb3,db4,f4]@4",
  AE: "~@4 [c4,eb4] ~@3 [c4,eb4]@4, ab2@17 ~@7", AF: "~@8 [g3,bb3,db4,eb4] ~@7 [g3,bb3,db4,eb4] ~@7, eb3@3 ~",
  AG: "[ab2,c4,eb4,ab4]@2 ~@6 [ab2,c4,eb4,ab4]@3 ~@13", AH: "eb3@8 [g3,bb3,db4,eb4] ~@7 [g2,g3,bb3,db4,eb4]@8, ~ f2 ~",
  AI: "eb3@8 [g3,bb3,db4,eb4] ~@7 [g3,bb3,db4] ~@7, ~ f2 g2, ~@8 eb4 ~@3", AJ: "~@16 f2@7 ~, c3@3 ~@5, ~ c4@3",
  AK: "~@8 f2@3 ~, c3@8 f4@15 ~, ~@3 [c4,eb4]@8 ~", AL: "[eb3,g3,eb4]@5 ~@7",
  AM: "~@8 [ab3,c4,d4] ~@7 [ab3,c4,f4]@8, bb2@3 ~", AN: "~@8 eb4@2 ~@6 eb4@3 ~@5, c3@3 ~",
  AO: "db3@4 [bb3,db4] ~@3 [eb3,ab3,db4]@4", AP: "db3@4 [db4,f4] ~@3 [eb3,ab3,db4,f4]@4",
})).s("gm_acoustic_guitar_nylon").gain(0.35).pan(0.3)

// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~ A B@3 C D E F G H B I J K L M N O P ~ Q ~ R S ~ T ~ U V W ~ X V Y ~@2 C D E F G H B I J K L M N O P ~ Q ~ Z S ~ T ~
  U V W ~ X V Y ~@2 C D E F G H B I J K L AA N O P ~ Q ~ R S ~ T ~ U V W ~ X V@2 ~@2 C D E F G H B I J K L M N O P ~ Q ~
  Z S ~ T ~ U V W ~ X V Y ~@2
>`.pickRestart({
  A: "~@7 eb4@17, ~@5 c4@19", B: "~ c4@3", C: "~@7 eb4@16 ~, ~ c4@3", D: "~@5 c4@16 ~@3", E: "~@5 b3@19",
  F: "~@7 d4@16 ~, ~@5 b3@17 ~@2", G: "~ eb4@3, ~@5 c4@19", H: "~@5 c4@18 ~", I: "~@6 c4@17 ~", J: "~ bb3@3",
  K: "~@7 db4@16 ~, ~@5 bb3@18 ~", L: "~@7 eb4@17, ~@5 a3@19", M: "~@5 a3@17 ~@2",
  N: "~@7 d4@15 ~@2, ~@5 ab3@18 ~, ~@3 bb3@8 ~", O: "~@7 bb3@15 ~@2, ~@5 ab3@17 ~@2", P: "~@7 g3@4 ~@13",
  Q: "~@5 ab3@5 ~@14", R: "~@7 ab3@3 ~@14", S: "~@7 eb4@3 ~@14, ~@3 c4@2 ~@7", T: "~@3 ab3 ~@8", U: "~@5 ab3@2 ~",
  V: "~@7 ab3@2 ~@15", W: "~@7 g3@2 ~@15", X: "~@7 c4@3 ~@5 c4@5 ~@4", Y: "~@7 ab3@2 ~@6 ab3@9", Z: "~@4 ab3 ~@7",
  AA: "~@6 a3@17 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.2).pan(0.3)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@37 A B C D@3 E@4 F@2 G@2 H@2 I@2 J K L@2 M N@2 O J P Q R S T ~@16 I@2 J K L@2 M N@2 O J P Q R S T A B C D@3 E@4 F@2
  G@2 H@2 I@2 J K L@2 M N@2 O J P Q R S T
>`.pickRestart({
  A: "c4, eb4@7 ~", B: "[eb4,g4]", C: "[d4,f4]", D: "[[b3,d4]@23 ~ c4@21 ~@3 g4@24, ~@23 eb4@46 ~@3]/3",
  E: "[c4@23 g3@16 ~ c4@8 [db4,f4]@23 [bb3,db4]@16 ~ [db4,f4]@8, eb4@49 ~@47]/4", // Db Bbm Db
  F: "[eb4@39 ~ a3@8, c4@36 ~@3 c4@8 ~]/2", G: "[[bb3,d4]@5 [ab3,f4]]/2", H: "[[g3,eb4]@31 ~@17]/2",
  I: "[[d4,f4]@23 [eb4,g4]@12 ~ d4@3 ~ [c4,eb4]@8, ~@35 f4@4 ~@9]/2", J: "[d4,f4]@3 [c4,eb4] [bb3,d4]@2",
  K: "[eb4,g4]@11 [d4,f4]@3 ~@2 eb4@7 ~, ~@15 c4@8 ~", // Eb Dm
  L: "[[db4,f4]@11 [c4,eb4]@4 [bb3,db4]@8 [c4,eb4]@12 [bb3,db4]@4 [ab3,c4]@8 ~]/2", M: "[g3,bb3]@2 [bb3,db4]",
  N: "[[ab3,c4]@16 ~@8 f4@23 ~, ~@23 ab4@23 ~@2]/2", O: "[eb4,g4]@11 ~ [d4,f4]@4 [c4,eb4]@8",
  P: "[eb4,g4]@3 [d4,f4] [c4,eb4]@2", Q: "[f4,ab4]@3 [eb4,g4] [db4,f4]@2", R: "[c4,eb4]@11 [bb3,db4]@5 [ab3,c4]@8",
  S: "[g3,bb3] [ab3,c4] [bb3,db4] [c4,eb4] f4 g4, ~@16 db4@7 ~", T: "~@8 c4@5 ~@11, [eb4,ab4] ~",
})).s("gm_string_ensemble_1").gain(0.28)

// other · vibraphone
const vibraphone = note(`<
  ~@37 A B C D A E F@2 G H I J K L M N O P Q R S T U V W X Q R S Y Z AA ~@32 A B C D A E F@2 G H I J K L M N O P Q R S T
  U V W X Q R S Y Z AA
>`.pickRestart({
  A: "g5!6", B: "g5!2 eb5 g5 bb5 ab5", C: "g5 f5!3 ab5 g5", D: "f5@5 ~", E: "g5 ab5 bb5 c6 bb5 ab5", F: "[g5@5 ~]/2",
  G: "f5!6", H: "f5!4 ab5 gb5", I: "f5 eb5!3 gb5 f5", J: "eb5@2 ~", K: "f5 g5 ab5 bb5 ab5 g5", L: "f5 g5 ab5 bb5 g5 f5",
  M: "eb5", N: "~@3 eb5 f5 g5", O: "ab5 g5 f5 ab5 g5 f5", P: "g5 f5 eb5@4", Q: "ab5 g5 f5@3 ~", R: "g5 f5 eb5@3 ~",
  S: "f5 eb5 db5 eb5 f5 ab5", T: "eb5 db5 c5@4", U: "db5 c5 bb4@2 eb5@2", V: "c5@2 ab4 eb5 f5 g5",
  W: "~ c6!5, ab5@11 ~", X: "g5@4 f5@4 eb5@13 ~@3", Y: "eb5@2 db5@2 c5@5 ~ c5@2", Z: "bb4 c5 db5 eb5 f5 g5",
  AA: "ab5 ~@2",
})).s("gm_vibraphone").gain(0.29).pan(0.2)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B C D@2 ~@5 E F G ~@3 H I J K L M N O P Q R S T U V W X Y Z AA ~@2 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@2 BG BH BI BJ BK BL BM@2 BN BO BP@2 BQ@2 BR BS BT BU BV BW BX BY BZ CA CB
  CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR CS CT@2 CU@2 CV CW CX CY CZ DA DB DC DD DE DF DG DH DI DJ@2
>`.pickRestart({
  A: "~@2 c5@2 ~@2 eb5@2 c5@2 ~@2 c5@2 ~ c5@2 c5@2 [c5,eb5]@2 ~ c5@2, ~ eb5@3 eb5@2 ~@5 eb5@3 eb5@2 ~@5 eb5@2 ~, ~@5 c5@2 ~@3 c5@2 ~@12", // Cm
  B: "c5@2 ~@2 eb5@2 ~@2 c5@2 ~@2 eb5@3 eb5@2 ~ eb5@2 ~ c5@2 ~, ~@2 eb5@2 ~@3 eb5@3 eb5@2 ~@8 eb5@3 ~, ~@3 c5@2 ~@6 c5@3 ~@10",
  C: "g5 eb5 g5 ~@5 g5@2 ~@5 g5@2 g5@2 ~@3 g5@2, ~@3 eb5@2 eb5@2 eb5@2 ~ eb5@2 eb5@2 eb5@2 ~@3 eb5@2 eb5@2 ~, ~@4 g5@2 g5@2 ~@3 g5@2 g5@2 ~@5 g5@2 ~@2",
  D: "[~@5 g5@2 ~@7 eb5@2 ~@8 eb5@17 ~@7, eb5@2 eb5@2 eb5@2 ~ eb5@2 eb5@2 eb5@2 ~@5 eb5@2 eb5@2 eb5@2 ~@24, ~ g5@2 g5@2 ~@3 g5@2 g5@2 g5@4 ~ g5@2 g5@2 g5@2 g5@18 ~@7]/2",
  E: "g4@4 ab4@4 bb4@4 c5@4 ~ bb4@3 ab4@4", F: "g4@4 ab4@4 bb4@4 c5@4 bb4@3 ab4@2 g4@3", G: "f4",
  H: "f4 d4 f4 d4 f4 d4 f4 d4 f4 d4 ~ f4 ~ f4 d4 f4 d4 f4 d4 f4 d4 ~ [d4,f4] ~", // Dm
  I: "f4 d4 f4 d4 f4 ~ f4 d4 ~ f4 ~ f4 ~ f4 ~ f4 d4 f4 ~ f4 ~@4",
  J: "g4 ~ g4 ~@7 g4@2 ~@9 g4@3, ~@3 eb4@2 eb4@2 eb4@2 eb4@2 ~ eb4@2 eb4@2 eb4@2 eb4@2 eb4@2 ~@2, ~@4 g4@2 g4@2 g4@2 ~@3 g4@2 g4@2 g4@2 g4@2 ~@3",
  K: "[eb4,g4] ~@5", L: "~@4 d4 f4, bb3 f4 ~, ~ d4@2 bb3@2 ~", M: "~@2 eb4 ~ eb4 c4, g4@8 ~@4 g4@9 ~@3, ~@4 c4@9 ~@11",
  N: "~@2 d4 ~ bb3 d4, f4@7 ~@5 f4@8 ~@4, ~ bb3@2 ~@3", O: "~@2 eb4 ~ c4 eb4, g4@8 ~@4 g4@9 ~@3, ~ c4@2 ~@3",
  P: "~ ab3 db4 ~@2 db4, f4@2 ~ f4@2 ~, ~@2 ab3", Q: "~@2 c4 ~@2 c4, eb4@2 ~ eb4@2 ~, ~ ab3@2 ~ ab3@2",
  R: "~ g3@2 ~@2 g3, db4@2 ~ db4@2 ~, ~@2 bb3", S: "~@9 ab3@8 ~@7, c4@17 ~@7, ~ eb3@3 ~@2",
  T: "~@5 f4, ab4@8 f4@7 ~ c4@8, ~@4 c4@8 ab4@9 ~@3", U: "g4@2 eb4 ~@2 c4, ~@3 g4@2 ~, ~@2 eb4",
  V: "f4@2 d4 ~ bb3 d4, ~@12 f4@11 ~", W: "~@2 eb4 ~@2 eb4, g4@2 ~ g4@2 ~, ~@4 c4@8 ~@4 c4@7 ~",
  X: "~@2 f4 ~@2 f4, ab4@2 ~ ab4@3, ~ db4@2 ~@3", Y: "~ c4 ~@3 ab4, eb4@8 ab4@8 eb4@7 ~, ~@3 c4@2 ~",
  Z: "g4 ~ bb4, ~@2 eb4@3 ~", AA: "[c4,ab4]@3 ~@5 [c4,ab4]@3 ~@13",
  AB: "f4 d4 f4 ~ f4 ~ f4 ~ f4 ~@2 f4 ~ f4 d4 f4 ~ f4 ~ f4 d4 ~@3",
  AC: "d4 b3 d4 ~ [b3,d4] ~ b3 d4 b3 d4 b3 d4 b3 d4 b3 ~ d4 b3 d4 b3 d4 ~@3", // Bm
  AD: "eb4 c4 eb4 ~ eb4 ~@2 eb4 ~ eb4 ~ eb4 ~@2 eb4 ~ eb4 ~ eb4 ~@2 eb4 ~ eb4", AE: "~ eb4 ~@22",
  AF: "g4 ab4 bb4 c5 bb4 ab4", AG: "g4@4 ab4@4 bb4@4 ~@3 bb4@3 ab4@2 ~ g4@2 ~, ~@12 c5@5 ~@7",
  AH: "f4@2 db4 ~@2 f4 ~ db4 f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~ f4 ~",
  AI: "~ f4 db4 f4 ~ db4 f4 db4 f4 ~ db4 f4 ~ f4 ~ f4@3 ~@5 eb4",
  AJ: "~ c4 eb4 ~@2 eb4 ~ eb4 ~ eb4 ~@2 eb4 ~ [c4,eb4] ~ [c4,eb4] ~ eb4 ~@3 eb4 ~", // Cm
  AK: "eb4@2 c4 ~ eb4 ~ c4 eb4 c4 eb4 c4 ~ eb4 c4 eb4 c4 eb4 c4 eb4 c4 eb4 ~@3",
  AL: "f4@4 ~@4 d4@4 ~@7 d4@4 ~, ~@4 bb3@8 f4@9 ~@3, ~@16 bb3@5 ~@3", AM: "~ d4 ~@2 d4 f4, ab3 f4 ~, ~@4 ab3@3 ~",
  AN: "eb4 ~ bb3 eb4 g3@2, ~ g3@2 ~@3", AO: "[eb4,g4] ~@2", AP: "~@4 f4@2 ~@4 bb3 ~, bb3@2 d4, ~ d4@2 ab4@3",
  AQ: "~@2 eb4 c4 eb4 c4, c4@7 ~@17, ~@4 g4@17 ~@3", AR: "~@8 d4@4 ~@4 bb3@4 d4@3 ~, f4@8 ~@4 f4@9 ~@3, ~ bb3@2 ~@3",
  AS: "~@2 c4 ~@2 g3, eb4@7 ~@5 eb4@11 ~, ~ g3@2 ~ c4@2", AT: "~@2 bb3 ~@2 bb3, f4@2 ~ f4@3, ~@4 ab3@7 ~@5 ab3@8",
  AU: "~@8 c4@4 ~@8 c4@3 ~, eb4@8 ~@4 eb4@9 ~@3, ~ ab3@2 ~ ab3@2",
  AV: "~@8 bb3@4 ~@4 g3@7 ~, db4@4 ~@2 db4@5 ~, ~ g3@2 ~@3", AW: "c4 ab3 c4 ab3 ~ ab3, ~@2 eb4",
  AX: "f4 ~ f4 ~@2 c4, ~ c4@3 f4@2, ~@4 ab4@3 ~", AY: "g4@3 c4 g4 c4",
  AZ: "~@8 d4@4 ~@8 bb3@3 ~, f4@8 ~@4 f4@11 ~, ~ bb3@2 ~ d4@2", BA: "g4@7 ~ eb4@4 ~@8 c4@4, ~@6 g4@5 ~, ~@16 eb4@7 ~",
  BB: "~@2 db4 f4@2 ~, f4 ~@2, ~ ab3@2 ~@3", BC: "~ c4@2 ~ c4 ab3, eb4@3 ~ eb4@4",
  BD: "bb3 ~ bb3 ~ bb3 g3, ~ g3@2 db4@2 ~", BE: "[ab3,c4]@2 ~@6 [ab3,c4]@3 ~@13",
  BF: "[~@4 c4@2 ~@2 eb3@2 c3@3 ~@3 c4@2 ~@2 eb3@2 c3@2, ~@4 c3@11 ~@13 c3@11 ~@9, ~@3 g3@4 ~@2 g3@3]/2",
  BG: "~@4 d4@2 ~@2 f3@2 d3 ~, ~ d3@2 b3@2 ~", BH: "~@8 d4@4 ~@8 d3@3 ~, ~@4 d3@12 f3@7 ~, ~@3 b3@2 ~",
  BI: "~@8 c4@3 ~@4 eb3@4 c3@4 ~, ~@4 c3@11 ~@9, ~@11 g3@12 ~", BJ: "~@8 c4@4 ~@3 eb3@4 ~ c3 ~@3, ~@4 c3@8 g3@7 ~@5",
  BK: "g3 ab3 bb3 c4 bb3 ab3", BL: "g3@4 ab3@4 bb3@4 c4@4 bb3@3 ab3@2 g3@2 ~",
  BM: "[f3@3 ~ f3@4 ~@4 f3@4 ~@4 f3@5 ~@3 f3@4 ~@4 f3@4 bb3@4 f3@4, ~@8 bb3@8 db4@11 ~@5 db4@13 ~@3]/2",
  BN: "~ f3 ~ f3 ~ f3, c4@7 ~ eb4@4, ~@4 a3@5 ~@3", BO: "~ f3 ~ f3 ~ f3, c4@14 ~@2 eb4@7 ~, ~@4 a3@5 ~@3",
  BP: "[~@19 ab3@4 ~@9 ab3@4 ~@4 ab3@4 f3@4, d4@7 bb3@8 ~ f3@7 bb3@9 ~@16, ~ f3@2 d4@5 ~ d4@3, ~@27 f3@8 ~@13]/2",
  BQ: "[bb3 ~ g3 ~@3 eb4 ~@5, ~@4 eb3@8 bb3@7 g3@8 ~@21, ~@15 eb3@11 ~@22]/2",
  BR: "~ f3 ~ f3 ~ f3, ~@8 d4@15 ~, ~@2 bb3", BS: "~ g3 ~@2 eb4 g4, eb4@7 ~ c4@7 ~@9, ~@3 g3@2 ~",
  BT: "~@2 d4 ~ d4 bb3, f4@7 ~@5 f4@8 ~@4, ~ bb3@2 ~@3", BU: "~@2 c4 ~@2 g3, eb4@7 ~@5 eb4@11 ~, ~@2 g3@5 ~ c4@4",
  BV: "~@8 db4@4 ~@7 ab3@5, f4@2 ~ f4@3, ~ ab3@2 ~@3", BW: "~@2 c4 ~ c4 ab3, eb4@4 ~@2 eb4@5 ~, ~ ab3@2 ~@3",
  BX: "~@2 bb3 ~ bb3 g3, db4@8 ~@4 db4@9 ~@3, ~ g3@2 ~@3", BY: "c4 ab3 ~ ab3@2 ~, ~@2 c4@3 ~",
  BZ: "~@2 ab3 c4 ab3 f3, ~@4 f3@7 ~@13", CA: "eb4 g3 c4 d4 eb4 c4", CB: "d4 f3 bb3 c4 d4 bb3",
  CC: "c4@4 g3@4 c4@4 d4@4 eb4@4 c4@3 ~", CD: "db4 ~ ab3 ~@2 f3, ~ f3@2 db4@2 ~, ~@2 ab3", CE: "c4@2 ab3 bb3 c4 ab3",
  CF: "bb3 c4 db4 eb4 f4 g4", CG: "ab4@8 [c4,eb4] ~@15",
  CH: "eb4 ~ c4 eb4 c4 ~ eb4 c4 ~ c4 eb4 c4 eb4 c4 eb4 c4 eb4 c4 eb4 c4@2 ~@3",
  CI: "g4 eb4 g4 ~ g4 ~ [eb4,g4] eb4 g4 eb4 g4 eb4 g4 ~ [eb4,g4] ~ g4@2 ~@6", // Eb
  CJ: "f4 d4 ~ f4 d4 ~ f4 d4 f4 d4 f4 d4 ~ f4 d4 f4 d4 f4 d4 ~@5",
  CK: "d4 ~ b3 d4 ~ b3 d4 b3 d4 b3 d4 b3 ~ d4 b3 d4 ~ b3 d4 ~ b3 ~@3",
  CL: "eb4 ~ c4 eb4 ~ eb4 ~ c4 eb4 c4 eb4 ~@2 eb4 c4 eb4 ~@2 eb4 ~ eb4 ~@2 eb4",
  CM: "~@2 eb4 c4 ~ eb4 ~ eb4 c4 eb4 ~ eb4 ~@2 eb4 ~@9", CN: "g3@4 ab3@4 bb3@4 c4@2 bb3 ~ bb3@4 ab3@3 ~, ~@15 c4@2 ~@7",
  CO: "g3@4 ab3@4 bb3@3 ~ c4@4 bb3@2 ab3@2 ~ g3@2 ~", CP: "f3@8 db4 bb3 ~ bb3 ~@2 bb3 db4 bb3 ~ bb3 db4 bb3 ~@3",
  CQ: "f4 ~ db4 f4 db4 f4 db4 f4 db4 f4 ~ f4 ~ f4@3 ~@8",
  CR: "eb4 c4 eb4 c4 eb4 c4 ~ eb4 c4 eb4 c4 eb4 c4 ~ eb4 c4 eb4 c4@2 ~@5",
  CS: "c4 ~ a3 c4 ~ a3 c4 a3 c4 a3 ~ c4 a3 c4 a3 c4 a3 ~@7",
  CT: "[~@4 bb3@4 f3@4 ~@3 ab3@5 f3@4 ~@7 ab3@4 ~@5 ab3@4 f3@4, d4@8 ~@4 d4@20 ~@4 d4@9 ~@3, ~@3 bb3 ~@2, ~@28 f3@5 ~@15]/2",
  CU: "[eb4@4 ~@4 bb3@3 ~ eb4@4 ~@8 g4@9 ~@15, ~@4 g3@7 ~@5 bb3@17 ~@15, ~@20 eb4@13 ~@15]/2",
  CV: "~@8 ab3@4 ~@4 ab3@3 ~ f3@4, d4@2 ~ d4@2 ~, ~@4 f3@9 ~@11",
  CW: "~@8 c4@3 ~ d4@4 ~@4 g3@4, eb4@11 ~@5 c4@8, ~ g3@3 ~@2", CX: "~@2 bb3 c4 ~ f3, d4@3 ~ bb3@2, ~ f3@3 ~@2",
  CY: "~@2 c4 d4 c4 g3, eb4 ~@2, ~ g3@3 ~@2", CZ: "~@2 ab3 ~@2 f3, db4@8 ~@4 db4@11 ~, ~@2 f3@5 ~@5",
  DA: "c4 eb3@2 bb3 c4 ab3", DB: "bb3 g3@2 ~ bb3 g3, ~@3 db4@2 ~",
  DC: "~@2 eb3@2 ~@2 eb3@2 ~@2 eb3 ~, c4@8 ab3@11 ~@5, ~@2 c4", DD: "ab3 f3 ab3 c4 f4 c4",
  DE: "~@2 c4 d4 ~ g3, eb4@9 ~@7 c4@8, ~ g3@3 ~@2", DF: "~@2 bb3 c4 bb3 f3, d4@11 ~@13, ~ f3@3 ~@2",
  DG: "~@2 c4 d4 ~ g3, eb4@9 ~@7 c4@7 ~, ~@4 g3@13 ~@7", DH: "~ ab3 f3 ab3 ~ g3, db4@5 ~, ~@16 bb3@7 ~",
  DI: "~@4 ab3@3 eb3@5 ab3@3 c4@5 ab3@3 ~, c4@13 ~@11",
  DJ: "[bb3@4 c4@4 db4@4 eb4@3 ~ f4@3 ~ g4@3 ~ [eb4,ab4]@4 ~@4 ab3@3 ~@13, ~@23 c4@5 ~@20]/2", // Ab5
})).s("gm_acoustic_guitar_steel").gain(0.25).pan(0.6)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~ A@2 B@2 ~@12 C D E ~@7 F ~@2 G H ~ I ~ J ~@3 K L M N ~@2 O P Q R ~@2 S ~@7 T ~@2 U ~ V W X ~@11 Y ~@10 Z ~@8 AA ~@2
  AB AC ~@2 AD AE ~@2 AF AG ~@10 AH ~ AI ~@9
>`.pickRestart({
  A: "[~@9 eb5@2 ~@5 eb5@2 ~@5 eb5@2 ~@4 c5@3 ~@6 c5@2 c5@2 ~ c5@2 ~@3]/2", B: "~@8 eb5 ~@3", C: "~@12 d4 ~@11",
  D: "~@5 d4 ~@3 d4 ~@2 d4 ~ d4 ~@3 d4 ~ d4 ~@3", E: "~ eb4 ~@20 eb4@2", F: "~@8 bb3@5 ~@11", G: "~@2 c4@5 ~@5",
  H: "~ bb3@2 ~@3", I: "~@2 db4", J: "~@4 db4@5 ~@3 db4@4 ~@4 db4@3 ~",
  K: "~@3 d4 ~ d4 ~ d4 ~@2 d4 ~ d4 ~@3 d4 ~@2 d4 ~@4", L: "~@21 b3 ~@2",
  M: "~@3 c4 ~ c4 ~ c4 ~@2 c4 ~ c4 ~ c4 ~@2 c4 ~ c4 ~@2 c4@2", N: "c4 ~@2 eb4@6 ~@15, ~@2 c4@7 ~@15",
  O: "~@9 db4 ~ db4 ~ db4 ~ db4 ~ db4 ~ db4 ~ db4 ~@2", P: "db4 ~@11 db4 ~ db4 ~@3 db4 ~@5",
  Q: "~@4 c4 ~ c4 ~ c4 ~ c4 ~@2 c4 ~@6 c4 ~@3", R: "c4 ~@11", S: "~@20 bb3@3 ~", T: "~@5 bb3", U: "~@2 c4@2 eb4@3 ~@5",
  V: "~ c4@3 ~@2", W: "~@16 db4@4 ~ db4@2 ~, ~@5 ab3", X: "~@2 ab3 ~@3", Y: "bb3 ~@3", Z: "~@15 db4@5 ~@4",
  AA: "~@4 eb3@5 ~@15", AB: "~@8 eb4 ~@15", AC: "~@4 eb4 ~@11 eb4@2 ~@6", AD: "~@4 c4 ~@6 c4 ~@4 c4 ~@2 c4 ~@2 c4 ~",
  AE: "c4 ~@5 c4 ~@3 c4 ~@2 c4 ~ c4 ~@8", AF: "~@10 db4 ~ db4 ~@4 db4 ~@6", AG: "~@10 db4 ~ db4 ~ db4@3 ~@7",
  AH: "~@15 ab3@4 ~@5", AI: "~@2 bb3 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.6)

// other · synth strings 2
const synth_strings_2 = note(`<
  ~@21 A B C D@2 E@2 F@2 G H I@4 J ~@6 B K L@6 M@2 N B C K H K O P H Q H K O R@2 S T@4 U@6 V@2 W@2 X@2 Y B C Z H K O AA
  H AB AC AD AE@2 AF AG ~@3 AH@3 ~ AI AJ@2 B AK@3 AL@2 A B C K H K AM AN AO AP AQ AD AR@2 AS AT
>`.pickRestart({
  A: "bb3", B: "c4", C: "d4", D: "[eb4@23 f4@25]/2", E: "[~@6 db4@5 ~, eb4@5 ~]/2", F: "[c4@21 ~@2 ab3@24 ~]/2",
  G: "c4@2 eb4", H: "f4", I: "[g4@23 f4@24 eb4@49]/4", J: "ab3@17 ~@7", K: "eb4", L: "[db4@47 c4@48 bb3@48 ~]/6",
// … 49 more lines

More by Brassens Georges