Strudelify
Les amoureux des bancs publics cover art

1953 · Les copains d'abord

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, A@4 for four bars: 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 E F G L ~@16 A B C D E F G H I J@2 K E F G L M N O@2 N@4 P@2 Q@2 P@2 R S A B C D E F G H
  I J@2 K E F G L
>`.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: "ab2@7 ~ ab1@6 ~@10", M: "c2@13 ~@3 g1@7 ~", N: "c2@9 ~@7 g1@8", O: "d2@10 ~@6 g1@7 ~", P: "bb1@9 ~@7 f2@8",
  Q: "c2@9 ~@7 f2@8", R: "eb2 ~ bb2", S: "eb2 ~@3",
})).s("gm_acoustic_bass").gain(0.29)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~ A B C B D E F G@2 H C E I J K L M@2 N O P Q R S T U V W X Y Z AA AB AC AD AE D E F G@2 H C E I J K L M@2 N O P Q R S
  T U AF W X Y Z AA AB AC AG AE D E F G@2 H C E I J AH AI M@2 N AJ P Q R S T U AF W X Y AK AL AM AC AG AE D E F G@2 H C
  E I J K L M@2 N O P Q R S T U AF W X Y Z AA AN AC AG AE
>`.pickRestart({
  A: "~@2 g2, c3@5 ~@3, ~ g4@2", B: "c3@7 ~@9 g2@6 ~@2, ~@7 eb4@16 ~, ~@8 g4@15 ~",
  C: "c3@7 ~@9 g2@7 ~, ~@7 eb4@17, ~ g4@2", 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: "bb2@7 ~@9 f2@7 ~, ~@7 [db4,f4]@17",
  J: "bb2@7 ~@9 f2@6 ~@2, ~@7 f4@16 ~", K: "~@16 f2@7 ~, c3 f4@2, ~ c4@3",
  L: "~@8 f2@3 ~, c3@8 f4@15 ~, ~@3 c4@8 ~, ~@7 eb4@15 ~@2",
  M: "[bb2@8 ~@7 f2@7 ~@18 bb2@3 ~@5, ~@8 f4@14 ~ bb2@9 f4@15 ~, ~@31 d4@15 ~@2]/2",
  N: "~@8 eb4@3 ~@5 [bb2,g3,bb3,eb4]@3 ~@5, eb3@5 ~@7, ~@7 bb3@4 ~@13", O: "[eb3,g3,bb3,eb4]@5 ~@7",
  P: "~@16 [ab3,c4,d4] ~@7, f2@2 ~, ~@7 [c4,d4]@4 ~@13, ~@8 f4@11 ~@5", // Dm7b5 Csus2
  Q: "~@8 g4 ~@7 [c4,eb4,g4]@8, c3@7 ~, ~@7 [c4,eb4]@2 ~@15", R: "~@8 [d4,f4]@2 ~@6 [ab3,d4,f4]@7 ~, bb2@17 ~@7",
  S: "~@8 g4@2 ~@6 [c4,eb4,g4]@3 ~@5, c3@5 ~", T: "db3@8 [ab3,bb3,db4,f4] ~@7 [eb3,ab3,bb3,db4]@8, ~@16 f4@5 ~@3",
  U: "~@8 eb4@2 ~@6 [ab3,c4,eb4]@7 ~, ab2@2 ~, ~@7 c4@2 ~@15", // Ab
  V: "~@8 [g3,bb3,db4,eb4] ~@7 [g3,bb3,db4,eb4]@6 ~@2, eb3@17 ~@7", // Eb7
  W: "~@4 [c4,eb4] ~@3 [c4,eb4]@2 g2@2, ab2@17 ~@7, ~@7 ab3@2 ~@15", X: "~@8 [c4,f4]@2 ~@6 [ab3,c4,f4]@7 ~, f2@17 ~@7",
  Y: "~@8 [c4,eb4]@2 ~@6 [g3,c4,eb4] ~@7, c3@19 ~@5", Z: "~@8 [ab3,c4,d4,f4] ~@7 [ab3,c4,d4,f4]@8, bb2@3 ~",
  AA: "~@8 [eb4,g4]@2 ~@6 [eb4,g4]@3 ~@5, c3@3 ~", AB: "db3@4 [bb3,db4,f4] ~@3 [eb3,ab3,bb3,db4,f4]@4",
  AC: "~@4 [c4,eb4] ~@3 [c4,eb4]@4, ab2@17 ~@7", AD: "~@8 [g3,bb3,db4,eb4] ~@7 [g3,bb3,db4,eb4] ~@7, eb3@3 ~",
  AE: "[ab2,c4,eb4,ab4]@2 ~@6 [ab2,c4,eb4,ab4]@3 ~@13", AF: "eb3@8 [g3,bb3,db4,eb4] ~@7 [g2,g3,bb3,db4,eb4]@8, ~ f2 ~",
  AG: "eb3@8 [g3,bb3,db4,eb4] ~@7 [g3,bb3,db4] ~@7, ~ f2 g2, ~@8 eb4 ~@3", AH: "~@16 f2@7 ~, c3@3 ~@5, ~ c4@3",
  AI: "~@8 f2@3 ~, c3@8 f4@15 ~, ~@3 [c4,eb4]@8 ~", AJ: "[eb3,g3,eb4]@5 ~@7",
  AK: "~@8 [ab3,c4,d4] ~@7 [ab3,c4,f4]@8, bb2@3 ~", AL: "~@8 eb4@2 ~@6 eb4@3 ~@5, c3@3 ~",
  AM: "db3@4 [bb3,db4] ~@3 [eb3,ab3,db4]@4", AN: "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 C B A D E F G B@2 D H I J K L M N ~ O ~ P Q ~ R ~ S P T ~ U P V ~@2 A D E F G B@2 D H I J K L M N ~ O ~ W Q ~ R
  ~ S P T ~ U P V ~@2 A D E F G B@2 D H I J X L M N ~ O ~ P Q ~ R ~ S P T ~ U P@2 ~@2 A D E F G B@2 D H I J K L M N ~ O
  ~ W Q ~ R ~ S P T ~ U P V ~@2
>`.pickRestart({
  A: "~@7 eb4@16 ~, ~ c4@3", B: "~@5 c4@18 ~", C: "~ 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: "~ bb3@3", I: "~@7 db4@16 ~, ~@5 bb3@18 ~",
  J: "~@7 eb4@17, ~@5 a3@19", K: "~@5 a3@17 ~@2", L: "~@7 d4@15 ~@2, ~@5 ab3@18 ~, ~@3 bb3@8 ~",
  M: "~@7 bb3@15 ~@2, ~@5 ab3@17 ~@2", N: "~@7 g3@4 ~@13", O: "~@5 ab3@5 ~@14", P: "~@7 ab3@2 ~@15",
  Q: "~@7 eb4@3 ~@14, ~@3 c4@2 ~@7", R: "~@3 ab3 ~@8", S: "~@5 ab3@2 ~", T: "~@7 g3@2 ~@15", U: "~@7 c4@3 ~@5 c4@5 ~@4",
  V: "~@7 ab3@2 ~@6 ab3@9", W: "~@4 ab3 ~@7", X: "~@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 O P Q R S ~@16 I@2 J K L@2 M N@2 O J O P Q R S A B C D@3 E@4 F@2
  G@2 H@2 I@2 J K L@2 M N@2 O J O P Q R S
>`.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: "[f4,ab4]@3 [eb4,g4] [db4,f4]@2", Q: "[c4,eb4]@11 [bb3,db4]@5 [ab3,c4]@8",
  R: "[g3,bb3] [ab3,c4] [bb3,db4] [c4,eb4] f4 g4, ~@16 db4@7 ~", S: "~@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 R Q R S X Y Z ~@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 R Q R S X Y Z
>`.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: "eb5@2 db5@2 c5@5 ~ c5@2", Y: "bb4 c5 db5 eb5 f5 g5", Z: "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 Q AU AV AW AX AY AZ BA BB BC BD BE@2 BF BG BH BI BJ BK BL@2 BM@2 BN@2 BO@2 BP BQ 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@2 CS@2 CT CU CV CW CX CY CZ DA DB DC DD DC DE DF DG@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 bb3@4 ~@4 g3@7 ~, db4@4 ~@2 db4@5 ~, ~ g3@2 ~@3", AV: "c4 ab3 c4 ab3 ~ ab3, ~@2 eb4",
  AW: "f4 ~ f4 ~@2 c4, ~ c4@3 f4@2, ~@4 ab4@3 ~", AX: "g4@3 c4 g4 c4",
  AY: "~@8 d4@4 ~@8 bb3@3 ~, f4@8 ~@4 f4@11 ~, ~ bb3@2 ~ d4@2", AZ: "g4@7 ~ eb4@4 ~@8 c4@4, ~@6 g4@5 ~, ~@16 eb4@7 ~",
  BA: "~@2 db4 f4@2 ~, f4 ~@2, ~ ab3@2 ~@3", BB: "~ c4@2 ~ c4 ab3, eb4@3 ~ eb4@4",
  BC: "bb3 ~ bb3 ~ bb3 g3, ~ g3@2 db4@2 ~", BD: "[ab3,c4]@2 ~@6 [ab3,c4]@3 ~@13",
  BE: "[~@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",
  BF: "~@4 d4@2 ~@2 f3@2 d3 ~, ~ d3@2 b3@2 ~", BG: "~@8 d4@4 ~@8 d3@3 ~, ~@4 d3@12 f3@7 ~, ~@3 b3@2 ~",
  BH: "~@2 c4 ~ eb3 c3, ~@4 c3@11 ~@9, ~ g3", BI: "~@8 c4@4 ~@3 eb3@4 ~ c3 ~@3, ~@4 c3@8 g3@7 ~@5",
  BJ: "g3 ab3 bb3 c4 bb3 ab3", BK: "g3@4 ab3@4 bb3@4 c4@4 bb3@3 ab3@2 g3@2 ~",
  BL: "[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",
  BM: "~ f3 ~ f3 ~ f3, c4@7 ~ eb4@4, ~@4 a3@5 ~@3",
  BN: "[~@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",
  BO: "[bb3 ~ g3 ~@3 eb4 ~@5, ~@4 eb3@8 bb3@7 g3@8 ~@21, ~@15 eb3@11 ~@22]/2",
  BP: "~ f3 ~ f3 ~ f3, ~@8 d4@15 ~, ~@2 bb3", BQ: "~ g3 ~@2 eb4 g4, eb4@7 ~ c4@7 ~@9, ~@3 g3@2 ~",
  BR: "~@2 d4 ~ d4 bb3, f4@7 ~@5 f4@8 ~@4, ~ bb3@2 ~@3", BS: "~@2 c4 ~@2 g3, eb4@7 ~@5 eb4@11 ~, ~@2 g3@5 ~ c4@4",
  BT: "~@8 db4@4 ~@7 ab3@5, f4@2 ~ f4@3, ~ ab3@2 ~@3", BU: "~@2 c4 ~ c4 ab3, eb4@4 ~@2 eb4@5 ~, ~ ab3@2 ~@3",
  BV: "~@2 bb3 ~ bb3 g3, db4@8 ~@4 db4@9 ~@3, ~ g3@2 ~@3", BW: "c4 ab3 ~ ab3@2 ~, ~@2 c4@3 ~",
  BX: "~@2 ab3 c4 ab3 f3, ~@4 f3@7 ~@13", BY: "eb4 g3 c4 d4 eb4 c4", BZ: "d4 f3 bb3 c4 d4 bb3",
  CA: "c4@4 g3@4 c4@4 d4@4 eb4@4 c4@3 ~", CB: "db4 ~ ab3 ~@2 f3, ~ f3@2 db4@2 ~, ~@2 ab3", CC: "c4@2 ab3 bb3 c4 ab3",
  CD: "bb3 c4 db4 eb4 f4 g4", CE: "ab4@8 [c4,eb4] ~@15",
  CF: "eb4 ~ c4 eb4 c4 ~ eb4 c4 ~ c4 eb4 c4 eb4 c4 eb4 c4 eb4 c4 eb4 c4@2 ~@3",
  CG: "g4 eb4 g4 ~ g4 ~ [eb4,g4] eb4 g4 eb4 g4 eb4 g4 ~ [eb4,g4] ~ g4@2 ~@6", // Eb
  CH: "f4 d4 ~ f4 d4 ~ f4 d4 f4 d4 f4 d4 ~ f4 d4 f4 d4 f4 d4 ~@5",
  CI: "d4 ~ b3 d4 ~ b3 d4 b3 d4 b3 d4 b3 ~ d4 b3 d4 ~ b3 d4 ~ b3 ~@3",
  CJ: "eb4 ~ c4 eb4 ~ eb4 ~ c4 eb4 c4 eb4 ~@2 eb4 c4 eb4 ~@2 eb4 ~ eb4 ~@2 eb4",
  CK: "~@2 eb4 c4 ~ eb4 ~ eb4 c4 eb4 ~ eb4 ~@2 eb4 ~@9", CL: "g3@4 ab3@4 bb3@4 c4@2 bb3 ~ bb3@4 ab3@3 ~, ~@15 c4@2 ~@7",
  CM: "g3@4 ab3@4 bb3@3 ~ c4@4 bb3@2 ab3@2 ~ g3@2 ~", CN: "f3@8 db4 bb3 ~ bb3 ~@2 bb3 db4 bb3 ~ bb3 db4 bb3 ~@3",
  CO: "f4 ~ db4 f4 db4 f4 db4 f4 db4 f4 ~ f4 ~ f4@3 ~@8",
  CP: "eb4 c4 eb4 c4 eb4 c4 ~ eb4 c4 eb4 c4 eb4 c4 ~ eb4 c4 eb4 c4@2 ~@5",
  CQ: "c4 ~ a3 c4 ~ a3 c4 a3 c4 a3 ~ c4 a3 c4 a3 c4 a3 ~@7",
  CR: "[~@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",
  CS: "[eb4@4 ~@4 bb3@3 ~ eb4@4 ~@8 g4@9 ~@15, ~@4 g3@7 ~@5 bb3@17 ~@15, ~@20 eb4@13 ~@15]/2",
  CT: "~@8 ab3@4 ~@4 ab3@3 ~ f3@4, d4@2 ~ d4@2 ~, ~@4 f3@9 ~@11",
  CU: "~@8 c4@3 ~ d4@4 ~@4 g3@4, eb4@11 ~@5 c4@8, ~ g3@3 ~@2", CV: "~@2 bb3 c4 ~ f3, d4@3 ~ bb3@2, ~ f3@3 ~@2",
  CW: "~@2 c4 d4 c4 g3, eb4 ~@2, ~ g3@3 ~@2", CX: "~@2 ab3 ~@2 f3, db4@8 ~@4 db4@11 ~, ~@2 f3@5 ~@5",
  CY: "c4 eb3@2 bb3 c4 ab3", CZ: "bb3 g3@2 ~ bb3 g3, ~@3 db4@2 ~",
  DA: "~@2 eb3@2 ~@2 eb3@2 ~@2 eb3 ~, c4@8 ab3@11 ~@5, ~@2 c4", DB: "ab3 f3 ab3 c4 f4 c4",
  DC: "~@2 c4 d4 ~ g3, eb4@9 ~@7 c4@8, ~ g3@3 ~@2", DD: "~@2 bb3 c4 bb3 f3, d4@11 ~@13, ~ f3@3 ~@2",
  DE: "~ ab3 f3 ab3 ~ g3, db4@5 ~, ~@16 bb3@7 ~", DF: "~@4 ab3@3 eb3@5 ab3@3 c4@5 ab3@3 ~, c4@13 ~@11",
  DG: "[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 ~ G V W ~@11 X ~@10 Y ~@8 Z ~@2
  AA AB ~@2 AC AD ~@2 AE AF ~@10 AG ~ F ~@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: "~@16 db4@4 ~ db4@2 ~, ~@5 ab3", W: "~@2 ab3 ~@3", X: "bb3 ~@3", Y: "~@15 db4@5 ~@4", Z: "~@4 eb3@5 ~@15",
  AA: "~@8 eb4 ~@15", AB: "~@4 eb4 ~@11 eb4@2 ~@6", AC: "~@4 c4 ~@6 c4 ~@4 c4 ~@2 c4 ~@2 c4 ~",
  AD: "c4 ~@5 c4 ~@3 c4 ~@2 c4 ~ c4 ~@8", AE: "~@10 db4 ~ db4 ~@4 db4 ~@6", AF: "~@10 db4 ~ db4 ~ db4@3 ~@7",
  AG: "~@15 ab3@4 ~@5",
})).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 A B C Y H K O Z H
  Q AA AB AC@2 AD AE ~@3 AF@3 ~ AG AH@2 B AI@3 AJ@2 A B C K H K O AK AL AM AN AB AO@2 AD AP
>`.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",
  M: "[~@24 eb4@5 ~@19, eb3@7 ~@5]/2", N: "~@2 bb3", O: "db4", P: "c4@5 ~", Q: "g4",
  R: "[c4@23 bb3@4 ~ c4@4 db4@4 eb4@3 ~ f4@4 g4@4]/2", S: "ab4@5 ~@3",
  T: "[[c4,eb4]@47 f4@25 b3@22 ~@2, ~@47 d4@46 ~@3]/4", U: "[c4@72 g4@23 ~ f4@40 ~@8, eb4@94 ~ db4@40 ~@9]/6",
  V: "[a4, c4@15 ~]/2", W: "[bb4, d4@15 ~]/2", X: "[[eb4,eb5]@17 ~@7]/2", Y: "eb4 f4 g4", Z: "c4@7 ~@5", AA: "f4@2 bb4",
  AB: "c5", AC: "[db5@22 ~ c5@5 bb4@3 ab4@15 ~@2]/2", AD: "g4@4 ab4@4 bb4@3 ~ c5@4 db5@4 g4@4", AE: "ab4@11 ~@13",
  AF: "[b3@8 c4@8 d4@7 eb4@33 ~@16]/3", AG: "g3 eb4@2", AH: "db4/2", AI: "[eb4@23 d4@40 ~ bb3@8]/3",
// … 42 more lines

More by Brassens Georges