Strudelify

Marinette

Brassens Georges

KeyD majorTempo234 bpm
0:00/0:00
// Marinette — Brassens Georges
// 234 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 128 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(234/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.

// bass · acoustic bass · "basse"
const bass = note(`<
  ~@19 A@2 B C D E F@2 G H I J K@3 L@4 M N O P Q@2 R S@4 T@3 U V W X Y Z AA AB AC AD AE AF@2 AG@5 AH AI@2 M AJ M AK AL
  AK AL AM AN AO AP AQ AR AS AT AU AV AJ M AJ M AM AN AW AX AY AZ BA@5 BB BC@5 BD@8 BE@6 BF ~@2
>`.pickRestart({
  A: "[~@13 a1@5 ~ d2@5 ~@3 a2@5]/2", B: "~@2 d3@3 ~ a2@2", C: "~@4 d2@5 ~@2 d2@2 a2@2 ~",
  D: "a2@2 ~@2 a2 d2@5 ~@2 d2@2 a2@2", E: "a2@2 d2@3 ~ d2@5 ~@3 a2@2, ~@13 d2@2 ~",
  F: "[~ a2@2 ~@2 a2 ~ d2@5 ~@3 a2@2 ~ a2@2 d2@3 ~ d3 ~ d3@2 d3@2 ~@2, ~@7 d2 ~@8]/2",
  G: "a2@2 ~@2 d2@3 ~ d2 ~@2 d2 ~ a2@2 ~", H: "~ f#2@3 ~ d2@3 ~ g2@5 ~@2", I: "~@2 d2@6 ~@2 g2@5 ~",
  J: "~ a1@8 ~@2 d3@5",
  K: "[~@2 a2@2 ~@3 d2@4 ~ b2@6 ~ f#2@2 ~@3 b1@4 e2@7 ~@2 b2@7 ~ a1 ~@2, ~@6 a2@2 ~@15 f#2@2 ~@23]/3",
  L: "[a1 e2@2 ~@3 c#2@3 ~ a1@3 ~ d2@4 ~@4 d#2@4 ~@5 e2@4 ~@7 a1@5 d2@4 ~@5 d#2@4 ~@4]/4", M: "e2@4 ~@7 a1@5",
  N: "~ d2@7 ~ a2@7", O: "~ d2@7 ~@2 a2@6", P: "~@2 d2@7 ~ a2@6", Q: "[~@2 d2@7 ~@2 a2@7 ~ d2@6 ~@2 a2@5]/2",
  R: "~@4 d3@6 ~@2 a2@3 ~",
  S: "[d2@2 ~@2 d3@6 ~ a2@2 ~@2 a2@2 d2@4 d2@6 ~@2 f#2@5 ~@3 g2@7 ~@2 d3@7 ~ g2@5 ~@2 a1@3, ~@28 d2@3 ~@33]/4",
  T: "[~@2 a1@3 ~ d2@5 ~@4 d2@5 ~@3 b2 ~@3 a2@2 ~@2 f#2@2 ~@2 b1@3 ~@2 e2@7 ~, ~@13 b2 ~@10]/3",
  U: "b2@7 ~ a2 ~@3 g2@2 ~@2, ~@11 a2@2 ~@3", V: "f#2@3 ~@2 e2@2 ~@2 d2@4 ~@3", W: "~ d#2@4 ~@4 e2@4 ~@3",
  X: "~@5 a1@5 d2@4 ~@2", Y: "~ d#2@2 ~@2 e2@2 ~", Z: "~@5 a1@5 ~ d2@5", AA: "~ d2 ~ a2@2 a2@2 ~@2 a2 ~ d2@5",
  AB: "~@3 a2@2 ~ a2 d2@3 ~ d2@5, ~ d2 ~@6", AC: "~@2 d2 a2@2 ~ a2@2 ~@2 a2 ~ d2@4",
  AD: "~@2 d2@2 a2@2 a2 ~ d2@3 ~ d3@4", AE: "~@4 a2@5 ~@2 a2 d2@4, ~@3 d3@2 ~@11",
  AF: "[~@3 d2 a2@3 ~@2 a2@2 ~@2 d3 ~ d3@2 d3@2 ~@2 b2@3 ~ a2@2 ~@2 d2 ~@2]/2",
  AG: "[d2 a2@2 ~@2 f#2@3 ~ d2@3 ~ g2@5 ~@3 d2@5 ~@4 g2@7 a1@2 ~@2 a1 c#2@3 ~ d2@7 ~ a2@7 ~ b1@6 ~ f#1 ~ b1 ~ b1@2 d#2@3 ~ e2]/5",
  AH: "~ e2@2 d2@3 ~ c#2@2 ~@2 b1@3 ~ a2", AI: "[~@3 g2@2 ~@2 e2@2 ~@2 a1@3 ~ d2@4 ~@5 d#2@4 ~@4, ~ a2 ~@14]/2",
  AJ: "d2 ~ d#2 ~", AK: "d3@5 ~@3 a2@5 ~@2 a2, ~@7 d3@2 ~@7", AL: "d2@5 ~@2 d2 a2@3 ~ a2@2 ~@2", AM: "d2@6 ~@2 a2@7 ~",
  AN: "d2@7 ~ a2@6 ~@2", AO: "d2 ~@2 d2 a2@2 ~@2 f#2@3 ~ d2@3 ~", AP: "d2@5 ~@3 d2@4 ~@4", AQ: "g1@7 ~ d2@7 ~",
  AR: "g2@7 a1@2 ~@2 a1 c#2@3 ~", AS: "d3@6 ~ a2@2 ~@3 d2@4, ~@11 a2@2 ~@3",
  AT: "b2@6 ~ f#2@2 ~@3 b1@4, ~@11 f#2@2 ~@3", AU: "e1@6 ~@2 b1@5 ~@3", AV: "a1@6 ~@2 c#2@5 ~@3, ~@7 a1@3 ~@6",
  AW: "d2@4 ~@2 d2 ~ a2@2 a2@2 ~@2 a2 ~", AX: "d2@5 ~ d2@2 a2@2 a2 ~ d2@3 ~", AY: "d3@5 ~ d3@2 a2@5 ~ a2 ~",
  AZ: "d2@5 ~ d2 ~ a2@3 ~ a2@2 ~@2",
  BA: "[d3 ~ d3 d3@2 ~@2 a2@2 ~@2 d2@3 ~ d2@7 ~ a2@7 ~ g2@5 ~@3 g2@4 ~@4 g2@7 a1@3 ~@2 a1@3 ~ d3@6 ~ a2@2 ~@3 d2@4 b1, ~@37 a2 ~@2]/5",
  BB: "~@2 b1 f#2@2 ~@2 d#2@3 ~ b1@3 ~ e2",
  BC: "[~@2 e2 b2@2 ~@2 g2@3 ~ e2@3 ~ a1@7 ~ e2@7 ~ d2@4 ~@4 d#2@4 ~@4 e2@4 ~@7 a1@5 d2@4 ~@4 d#2@4 ~@4 e2]/5",
  BD: "[~@10 a1@5 d2@6 ~@2 a2@7 ~ d2@7 ~ a2@6 ~@2 d3@5 ~ d3@2 a2@5 ~ a2 ~ d2@5 ~ d2 a2@3 ~ a2@2 ~@2 d3@5 ~@3 a2@5 ~@2 a2 d2@5 ~@2 d2 a2@3 ~ a2@2 ~@2 d3@6 ~ a2@2 ~@3 d2@4 d3 ~, ~@85 d3@2 ~@34 a2@2 ~@5]/8",
  BE: "[~@2 c3@2 ~@2 b2@3 ~ a2@2 ~@2 g2@7 ~ d3@7 ~ g2@5 ~@2 a1@3 ~@2 a1@3 ~ d2@7 ~ a2@7 ~ b2@6 ~ f#2@2 ~@3 b1@4 e1@6 ~@2 b1@5 ~@3 a2 ~, ~ d3@2 ~@70 f#2@2 ~@21]/6",
  BF: "a2@2 g2@2 ~@2 e2@2 ~@2 a1@3 ~@3",
})).s("gm_acoustic_bass").gain(0.4)

// bass · tuba
const bass_2 = note(`<
  ~ A B@2 C@2 D@2 E F G H I@2 J K@3 L M N O P@2 Q@3 R S G T U@2 V@2 W@3 X Y Z AA AB AC AD AE AF AG@5 AH AI AJ AK AL AM
  AN AO AP AQ AR AS@8 AT@2 X AU X AV AW AX AY AZ BA AZ BB BC BD BE BF BG BH AU X AU X AV AW BI@2 AV AW BJ@4 BK BL@6 BM@8
  BN@7 ~@2
>`.pickRestart({
  A: "~ d2@5 ~@2 d2@2 a2@2 a2@2 ~@2", B: "[~ a2 d2@5 ~@2 d2@2 a2@2 a2@2 d2@3 ~ d2@6 ~@3 a1@4]/2",
  C: "[~@4 d2@6 ~@3 a1@5 ~@3 d2@5 ~@2 d2@2 a2@2]/2", D: "[a2@2 ~@3 a2 d2@5 ~@2 d2@2 a2@2 a2@2 d2@3 ~ d2@5 ~@4]/2",
  E: "d2@5 ~@3 d2@6 ~@2", F: "~ a2@6 ~@2 g1@5 ~@2", G: "~@2 d2@6 ~@2 g1@5 ~", H: "~ a1@2 ~@3 a1 c#2@3 ~ d2@5",
  I: "[~@4 a2@6 ~@2 b1@6 ~ f#1 ~ b1 ~@3 d#2@3 ~ e2 ~@2, ~@12 b1 ~@3]/2", J: "e2 ~ b2@2 ~@2 g2@3 ~ e2@3 ~ a1 ~",
  K: "[~ a1 ~ e2@2 ~@2 c#2@3 ~ a1@3 ~ d2@7 ~@2 d#2@6 ~ e2@2 ~@3 a1@2 ~@6 a1@4]/3", L: "~ d2@3 ~@6 d#2@6",
  M: "~@2 e2@3 ~@4 a1@3 ~ a1@3", N: "~@3 d3@5 ~@3 a2@5, ~@5 d3 ~@2", O: "~@2 a2 ~ d2@5 ~@2 d2 a2@3 ~",
  P: "[a2@2 ~@2 d3@5 ~@2 d3@2 a2@5 ~@2 a2 d2@5 ~@2 d2 ~ a2@2]/2",
  Q: "[~@2 a2@2 ~@2 d2@5 ~@3 a2@5 ~@4 d3@6 ~@2 a2@5 ~@4 d2@5 ~@3]/3", R: "a1@5 ~@3 d2 ~@2 d2 ~ a2@2 ~",
  S: "~ f#2@3 ~ d2@3 ~ g1@5 ~@2", T: "~ a1@6 ~@2 a1 ~ d2@5",
  U: "[~@3 a2@6 ~@3 b1@6 ~@2 d#2@5 ~@3 e1@4, ~@19 b1@3 ~@10]/2",
  V: "[~@5 b1@6 ~@2 a1@6 ~ e1 ~ a1 ~ a1@2 c#2@3 ~ d2@2]/2", W: "[~@6 d#2@3 ~@6 e2@3 ~@8 a1@4 ~ d2@3 ~@6 d#2@3 ~@5]/3",
  X: "e2@3 ~@8 a1@4 ~", Y: "~ d2@5 ~@3 a2@2 ~ a2@2 ~@2, ~@4 d2 ~@3", Z: "a2 d2@5 ~@2 d2@2 a2@2 a2@2 d2@2",
  AA: "~@2 d2@5 ~@3 a1@5 ~", AB: "~@2 d2@5 ~@4 a1@5", AC: "~@3 d2@5 ~@3 a2@5", AD: "~@4 d2@5 ~@3 a2@4",
  AE: "~@4 d2@5 ~@3 a1@4", AF: "~@5 d3@6 ~ a2@2 ~@2",
  AG: "[~ d2@4 g2@5 ~@4 g2@5 ~@3 g1@5 ~@2 a1@6 ~@2 a1 d3 ~@2 d3@2 d3@2 ~@2 a2@2 ~@2 d2@3 ~ b2 ~@3 a2@2 ~@2 g2@3 ~ f#2@2 ~@3 e2@5 ~@3, a2 ~@28 b2 ~@10]/5",
  AH: "b1@5 ~@3 a2 ~@3 g2@2 ~@2, ~@11 a2@2 ~@3", AI: "f#2@3 ~@2 e2@2 ~@2 d2@3 ~@4", AJ: "~ d#2@3 ~@5 e2@3 ~@4",
  AK: "~@5 a1@4 ~ d2@3 ~@3", AL: "~@2 d#2@3 ~@5 e2@3 ~@3", AM: "~@5 a1@4 ~@2 d3@5", AN: "~ d3@2 a2@5 ~ a2 ~ d2@5",
  AO: "~@2 d2 a2@3 ~ a2@2 ~@2 d2@5", AP: "~@2 d2 a2@2 ~ a2@2 ~@2 a2 ~ d2@4", AQ: "~@2 d2@2 a2@2 a2 ~ d2@3 ~ d2@4",
  AR: "~@4 a2@5 ~@3 d2@4",
  AS: "[~@4 a2@5 ~@4 d2@5 ~@3 a1@5 ~@3 d2@6 ~@2 f#2@5 ~@3 g1@5 ~@3 d2@5 ~@4 g1@5 ~@2 a1@2 ~@2 a1 c#2@3 ~ d2@5 ~@3 a1@5 ~@3 b1@5 ~@4 f#1@5 ~@3 e1@5 ~@3 b1@5 ~@3 a2, ~@36 d2@3 ~@89]/8",
  AT: "[~@3 g2@2 ~@2 f#2@3 ~ e2@2 ~@2 d2@3 ~@6 d#2@3 ~@5, ~ a2 ~@14]/2", AU: "d2@3 ~@5 d#2@3 ~@5",
  AV: "d2@5 ~@3 a2@5 ~@3", AW: "d3@5 ~@3 a2@5 ~@3", AX: "d3@5 ~@3 a2@5 ~@2 a2, ~@7 d3@2 ~@7",
  AY: "d2@5 ~@2 d2 a2@3 ~ a2@2 ~@2", AZ: "d2@6 ~@2 a2@5 ~@3", BA: "d3@6 ~@2 a2@3 ~ d2@2 ~@2",
  BB: "d2@6 ~@2 f#2@5 ~@3, ~@7 d2@3 ~@6", BC: "g2@6 ~@2 d3@5 ~@3", BD: "g2@5 ~@2 a1@6 ~@3",
  BE: "d3@6 ~ a2@2 ~@3 d2@4, ~@11 a2@2 ~@3", BF: "b2 ~@3 a2@2 ~@2 f#2@2 ~@2 b1@3 ~, ~@3 b2@2 ~@11",
  BG: "e2@5 ~@3 b1@5 ~@3", BH: "a1@6 ~@2 e2@5 ~@3", BI: "d2@5 ~@3 a1@5 ~@3",
  BJ: "[d2 ~ d2 a2@2 ~@2 f#2@3 ~ d2@3 ~ d2@5 ~@2 a1 d2 ~@3 f#2@3 ~ g2@5 ~@3 d2@5 ~@3 g2@5 ~@2 a1@2 ~@2 a1 c#2@3 ~ d3, ~@13 d2 ~@18]/4",
  BK: "~@2 d3 d3@2 ~@2 a2@2 ~@2 d2@3 ~ b2",
  BL: "[~@3 a2@2 ~@2 f#2@2 ~@2 b1@3 ~ e2@5 ~@3 b1@5 ~@3 a2@6 ~ e2@2 ~@3 a1@4 d2@3 ~@5 d#2@3 ~@5 e2@3 ~@8 a1@4 ~ d2@3 ~@5 d#2@3 ~@5 e2, ~ b2 ~@19 e2 ~@26]/6",
  BM: "[~@10 a1@4 ~ d2@5 ~@3 a1@5 ~@3 d2@5 ~@3 a1@5 ~@3 d2@6 ~@2 a2@5 ~@2 d3@6 ~@2 a2@3 ~ d2@2 ~@2 d2@6 ~@2 a2@5 ~@3 d3@6 ~@2 a2@3 ~ d2@2 ~@2 d2@6 ~@2 a2@5 ~@3 d2@2]/8",
  BN: "[~@6 a1@5 ~@3 g1@5 ~@3 d2@5 ~@3 g1@5 ~@2 a1@6 ~@3 d3@6 ~ a2@2 ~@3 d2@4 b2@6 ~ f#2@2 ~@3 b1@4 e2@5 ~@3 b1@5 ~@3 a2@6 e2@2 ~@2 e2@2 a1@4 ~@2, ~@57 a2@2 ~@14 f#2@2 ~@37]/7",
})).s("gm_tuba").gain(0.34).pan(0.3)

// other · trombone · "trombone1"
const trombone = note(`<
  ~@34 A@2 B@2 C D@2 E@3 F G@3 H ~ I J K@2 ~@3 L@5 M@2 N O P@2 Q R S@2 ~@4 T@2 U@2 V W X Y Z AA AB AC AD AE AF@2 AG@2 V
  W AH AI AJ W AK AL AM AN@2 AO AP AQ@5 AR@4 AS@2 AT AU AV AW AX AY AZ@2 ~@2
>`.pickRestart({
  A: "[~@14 d3@4 ~@3 d#3@11]/2", B: "[~@3 a2@5 ~@6 c3 d3@5 ~@4 d#3@8]/2", C: "~@4 a2@5 ~@7", D: "[~ f#4@16 d4@15]/2",
  E: "[~@6 f#4@7 f4@2 e4@2 d4@3 ~@2 d4@4 ~ d4@3 ~ f4@3 f#4 ~@5 f#4@6 f4@2, ~@26 b3@3 ~@19]/3",
  F: "e4@3 d4@3 ~ d4@4 ~ d4@3 ~, ~@11 b3@3 ~@2", G: "[f4@3 f#4 ~@7 f#3@10 ~@7 d4@9 g4@3 g2@3 ~@3 g3@2]/3",
  H: "b3@2 c4@3 ~ b3@7 ~@3", I: "~@7 d#4@3 f#4@3 ~ d#4@2", J: "f#4@5 ~ f#4 ~@4 b3@3 g3@2",
  K: "[~@2 g3@2 e3@3 ~@8 a3@10 ~@7, b3 ~@7]/2", L: "[~@11 d4@32 f#4@16 d4@15 ~@6]/5",
  M: "[f#4@7 f4@2 e4@2 d4@3 ~ d4@4 b3@2 d4@3 ~ f4@3 f#4 ~@3]/2", N: "~@3 a3@10 f#4@3",
  O: "a4@3 ~@2 a4@5 ~@2 a4 ~@3, ~@2 f#4 ~@5", P: "[~@4 g3@9 ~ b3@7 a3@4 c#4@5 ~@2]/2",
  Q: "~@2 b3@3 a3 ~ d4@4 b3@2 a3 ~@2, ~ d4@3 ~@12", R: "~ b3@3 ~ a3@2 ~@2 a3@2 f#3@3 ~@2, ~@7 b3@4 ~@5",
  S: "[~@2 b3@3 g3@2 ~@2 g3@2 e3@3 ~ a3@16 ~, ~@7 b3@4 ~@21]/2", T: "[~@7 f#3@20 a3 ~ b3@2 a3]/2", U: "[d4@31 ~]/2",
  V: "~@3 a4@3 ~ f4 f#4@2 ~ d4 b3@2 ~@2", W: "d4@2 ~@2 d4@3 ~ f#4@2 ~@2 b3@2 ~@2, ~@11 d4@2 ~@3",
  X: "~@4 f#4@6 ~ f4 e4@2 ~ d4", Y: "~@7 c4@9", Z: "~@3 d4@3 ~ a#3 b3@2 ~ g3 e3@2 ~@2", AA: "~@7 a3@4 c#4@5",
  AB: "f#4@3 f#3@3 ~ f#3@2 a3@2 d4@5", AC: "b3 ~@3 c#4@2 ~@2 d4@2 ~ d#4@4 ~, ~@3 b3@2 ~@11",
  AD: "b3@3 d3@3 ~ d3@2 e3@2 g3@5", AE: "~@3 a3@3 ~@2 a3@3 ~@4 e3, ~@7 e3@2 ~@7",
  AF: "[d3@3 ~@5 d#3@11 ~ a2@3 ~@5 a2@3 a2]/2", AG: "[d3@3 ~@5 d#3@11 ~ a2@2 ~@10]/2",
  AH: "f#4@3 d3@3 ~@2 f#3@2 ~@2 b3@3 ~, ~@11 a3@2 ~@3", AI: "d4@3 ~ b3@3 ~ a3@3 f#3@3 ~@2",
  AJ: "~@3 a4@3 ~ f4 f#4@2 d4 ~ b3@2 ~@2", AK: "~@2 f#4@3 ~ d4@2 ~@2 d4@2 a3@3 ~, ~@2 f#4 ~",
  AL: "~@2 d4@3 ~@2 d4@3 c4@2 a3@3 ~, ~@3 c4 ~@4", AM: "~@2 d4@3 ~ a#3 ~ b3@2 g3 e3@2 ~@3", AN: "[g3@6 ~@9 d4@16 b3]/2",
  AO: "~@3 c#4@2 ~@2 d4@2 ~ d#4@4 ~@2, ~ b3 ~@6", AP: "~@2 b3 e4@3 g4@2 ~@2 f#4@3 ~ e4 ~",
  AQ: "[~@6 g3@9 d3@3 ~@5 d#3@11 ~ a2@3 ~@5 a2@3 a2 d3@3 ~@5 d#3@11 ~ a2@2 ~@11]/5",
  AR: "[~@5 f#3@20 ~ a3 b3@2 a3 ~ d4@31 ~@2]/4",
  AS: "[~ a4@3 ~ f4 ~ f#4@2 d4 ~ b3@2 ~@2 d4@2 ~ d4@3 ~@2 f#4@2 d4@2 b3@2 ~@3]/2", AT: "~@5 a3@9 ~@2",
  AU: "~ d4@3 ~@2 d4@3 ~ a3@3 ~@3, ~@5 c4@2 ~@2 c4@3 ~@4", AV: "~ d4@3 ~ a#3 ~ b3@2 g3 e3@2 ~@4",
  AW: "~@5 a3@4 c#4@5 ~@2", AX: "~@2 b3@3 a3 ~ d4@3 b3@3 a3 d#4@2, ~ d4@2 ~@13",
  AY: "~ f#4@3 ~@2 f#4@5 ~@2 f#4 ~@2, ~@5 d#4@2 ~@9", AZ: "[~ b3 e4@3 g4@2 ~@2 f#4@3 ~ e4 a3@16 d4@2]/2",
})).s("gm_trombone").gain(0.25).pan(0)

// other · trombone · "trombone2"
const trombone_2 = note(`<
  ~@53 A B C D E@3 F@2 G@2 H I J@2 K@3 L ~@4 M@4 N@2 O P Q R O S ~ T U V W X Y Z AA@2 AB@2 AC AD AE AF@3 AG@3 AH@2 AI@5
  AJ AK@2 AL ~ AM AN AO ~ AP ~@2
>`.pickRestart({
  A: "~@9 d3@3 ~@4", B: "~ d#3@11 ~@2 a2@2", C: "~@6 a2@3 a2 d3@3 ~@3", D: "~@2 d#3@11 ~ a2@2",
  E: "[~@13 d4@2 b3@2 ~ a3 d4@3 ~ b3@2 ~@2 d4@2 ~@2 f4@2 ~ f#4@2 d4@2 b3@3 ~@7, ~@13 a3 ~@10]/3",
  F: "[f#4@6 f4@2 e4@3 d4@3 ~ d4@4 ~ d4@3 ~ f4@3 f#4 ~@4, ~@19 b3@2 ~@11]/2", G: "[~@3 f#3@21 a3 b3@2 a3 ~ f#4@3]/2",
  H: "f#3@3 ~@2 a3@3 d4@5 ~@3, ~@4 f#3@3 ~@9", I: "~ f#4@7 ~ e4@3 d4 ~@3, ~@4 f4 ~@3",
  J: "[d4@4 a#3 ~ b3@2 g3 ~ e3@2 ~@2 g3@6 ~ e3@9 ~@2]/2",
  K: "[~ f#4@3 ~@2 f#4@3 d4@2 a3@3 b3@16 ~ g3@8 b3@8 ~, ~@5 d4@2 ~@41]/3", L: "~@6 g3@9 ~",
  M: "[~@7 f#3@20 a3 ~ b3@2 a3]/2",
  N: "[~@3 d4 b3@2 ~ a3 ~ d4@3 b3@2 ~@2 d4@2 ~@2 f4@2 ~ f#4@2 d4@2 b3@3 ~@2, ~@15 a3@2 ~@15]/2",
  O: "~@3 a4@3 ~ f4 f#4@2 ~ d4 b3@2 ~@2", P: "d4@3 d3@3 ~@2 f#3@3 ~ b3@3 ~, ~@11 a3@2 ~@3", Q: "d4", R: "~@9 c#3@7",
  S: "~@4 d#4@7 ~ c#4@3 b3, ~@11 d4@2 ~@3", T: "~@3 c#4 ~@3 a3 b3@2 ~@5 a3", U: "d3@4 ~@3 d#3@9", V: "~@4 a2@4 ~@7 c3",
  W: "d3 ~ d#3@2", X: "~ a2 ~@2", Y: "f#4@3 d3@3 ~@2 f#3@2 ~@2 b3@3 ~, ~@11 a3@2 ~@3",
  Z: "d4@3 ~ b3@3 ~ a3@3 f#3@3 ~@2", AA: "[~@4 f#4@7 f4 e4@3 d4@3 ~ d4@4 ~ d4@3 ~ f4@3 f#4, ~@23 b3@2 ~@7]/2",
  AB: "[~@4 f#4@6 f4 ~ e4@3 d4@3 ~ d4@3 b3@2 d4@3 ~ f4@3 f#4]/2", AC: "f#3 a3", AD: "~@6 f#3@9 ~",
  AE: "~@3 e3@3 d3 ~ g3@4 e3@2 d3 ~, ~ g3 ~@6",
  AF: "[~@8 c#3@7 f#4@3 d3@3 ~@2 f#3@2 ~@2 b3@3 ~ a3@8 b3@8 ~, ~@13 a3 ~@10]/3",
  AG: "[b3@2 d3@3 ~ d3@2 e3@3 g3@4 g3@8 a3@8 d3@4 ~@2 d#3@10 ~]/3", AH: "[~@3 a2@4 ~@7 c3 d3@4 ~@4 d#3@8 ~]/2",
  AI: "[~@3 a2@4 ~@8 f#4@3 d3@3 ~@2 f#3@2 ~@2 b3@3 ~ d4@3 ~ b3@3 ~ a3@3 f#3@3 ~@2 f#4@15 d4@15 ~@3, ~@13 a3 ~@26]/5",
  AJ: "~@3 f#4@6 f4 ~ e4@2 d4@3", AK: "[~ d4@4 b3@2 d4@3 ~ f4@2 f#4 ~ f#4@2 f#3@3 ~ f#3@2 a3@3 d4@5 ~]/2",
  AL: "~ d4@3 ~@2 d4@3 ~@4 a3 ~@2, ~@5 a3@2 ~@9", AM: "~@5 e3@9 f#4@2", AN: "~ f#3@3 ~ f#3@2 a3@2 d4@5 ~@2",
  AO: "~@5 b3@9 ~@2", AP: "~@5 g3@9 ~@2",
})).s("gm_trombone").gain(0.3).pan(1)

// chords · banjo
const banjo = note(`<
  ~ A B C D E@3 F G H I J K@4 L M N@3 O P@4 Q R S T U V W X@4 Y Z AA AB AC AD AE AF AG AH@5 AI AJ AK AL AM AN AO AP AQ
  AR AS AT AU AV@8 AW AX AW AY AZ BA BB BC BD BC BE BF BG BA BH BI BJ AX AW AX BK BL BD BC BD BM@2 BN@2 BO@3 BP@8 BQ@8
  BR@5 ~@2
>`.pickRestart({
  A: "~ [d3,a3,a4,d5]@5 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5]@2", // D5
  B: "~ a4 [a4,d5]@4 ~ [d3,a4]@2 ~@2 [d3,a3,a4,d5]@3 a4 [d3,a3,a4,d5], ~@3 [a3,d5] ~@4", // D5
  C: "~@2 a4 [d3,a3,a4,d5]@5 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4", // D5
  D: "[d3,a3,a4,d5]@2 ~ a4 [a4,d5]@5 [d3,a3,a4,d5]@2 ~@2 [d3,a3,a4,d5]@3", // D5
  E: "[a4 [d3,a3,a4,d5] ~@2 a4 [d3,a3,a4,d5]@5 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5]@2 ~ a4 [a4,d5]@5 [d3,a3,a4,d5]@2 ~@2 [d3,a3,a4,d5]@3 a4 [d3,a3,a4,d5] ~@2 a4 ~ d5@4 [a3,a4,d5] ~@3, ~@39 [d3,a3,a4]@5 ~@4]/3", // D5
  F: "[d3,a3,a4,d5]@4 [a3,a4,d5] ~@4 c5@4 [d3,a3,f#4,c5] ~@2, ~@8 [d3,a3,f#4]@5 ~@3", // D5 D7 D
  G: "~ [d3,a3,f#4,c5]@4 [a3,f#4,c5] ~@4 d5@4 [g2,b3,b4,d5] ~, ~@9 [g2,b3,b4]@5 ~@2", // D7 F#dim G
  H: "~@2 [g2,b3,b4,d5]@4 [b3,b4,d5] ~@3 [g2,b3,b4,d5]@5 [b3,b4,d5]", // G Bm G Bm
  I: "~@2 [e3,g4]@5 [e3,c#4,g4] ~@4 d5@4, ~ [a2,c#4]@6 ~@4 [d3,a3,a4]@5", // Em C#dim A D5
  J: "[a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [a3,a4,d5] ~@3 [b2,f#3,d#4,a4]@4", // D5 B7
  K: "[~ [f#3,d#4,a4] ~@3 [f#3,d#4,a4]@4 [f#3,d#4,a4] ~@4 g4@4 [e2,e3,d4,g4] ~@3 [e2,e3,d4,g4]@4 [e3,d4] g4 ~@3 g4@4 [a2,e3,c#4,g4] ~@3 [a2,e3,c#4,g4]@4 [e3,c#4] g4 ~@2 [d3,a3,a4,d5]@4 ~@5 [d#2,d#3,c4,f#4]@4 ~@4, ~@13 [e2,e3,d4]@5 ~@12 [a2,e3,c#4]@5 ~@29]/4", // D#dim Em7 E7 A7 C#m D5 Cdim E7 …
  L: "[e2,g3,g4,b4] ~@2 [a2,e3,c#4,g4]", M: "~ d5@2 ~@2 [d#2,d#3,c4,f#4]@2 ~, ~ [d3,a3,a4]@4 ~@11",
  N: "[~@3 b4@4 ~@7 g4@5 [d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@4 d5@3 ~ d3@2 a4 ~ d5@4 [d3,a3,a4,d5]@2 ~@2 [d3,a3,a4,d5]@3 a4, ~@2 [e2,g3,g4]@4 ~@7 [a2,e3,c#4]@5 ~@9 [d3,a3,a4]@4 [a3,a4,d5]@2 ~@2 a4@5 ~@8]/3", // D5 Em A D5
  O: "[d3,a3,a4,d5] ~@2 a4 ~ d5@4 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@3, ~@4 [d3,a3,a4]@5 ~@7", // D5
  P: "[~ [d3,a3,a4,d5]@2 ~ a4 [a4,d5]@5 [d3,a3,a4,d5]@2 ~@2 [d3,a3,a4,d5]@3 a4 [d3,a3,a4,d5] ~@2 a4 [d3,a3,a4,d5]@5 [a3,a4,d5] ~@3 d5@4 [a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@4 d5@3 [a3,a4] [d3,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@3, ~@30 [d3,a3,a4]@5 ~@12 [d3,a3,a4]@4 ~@13]/4", // D5 A D D5
  Q: "~ d5@3 a4 [a3,d5] ~@3 [f#4,c5]@4 [d3,a3,f#4,c5] ~@2, [d3,a3,a4]@5 ~@3 [d3,a3]@5 ~@3", // D5 F#dim D7 D5
  R: "~ [d3,a3,f#4,c5]@4 [a3,f#4,c5] ~@3 [g2,b3,b4,d5]@4 ~ [b3,b4,d5] ~", // D7 F#dim G Bm
  S: "~@2 [b3,b4,d5]@4 [b3,b4,d5] ~@3 [g2,b3,b4,d5]@4 [g2,b3,b4] d5", // Bm G
  T: "~@3 g4@4 [e3,c#4,g4] ~@3 [d3,a3,a4,d5]@4 [a3,a4,d5], ~ [a2,e3,c#4]@6 ~@9", // C#dim D5 A
  U: "~@4 d5@3 a3 [a4,d5] ~@3 [b2,f#3,d#4,a4]@4, ~@3 [d3,a3,a4]@5 ~@8", // D5 B7 D5
  V: "[b2,f#3,d#4,a4] ~@4 a4@3 [f#3,d#4] a4 ~@3 g4@3, ~@4 [b2,f#3,d#4]@5 ~@3 [e2,e3,d4]@4", // B7 D#m B E7
  W: "~ [e2,e3,d4,g4] ~@3 [e2,e3,d4,g4]@4 [e3,d4,g4] ~@4 g4@2, ~@13 [e3,c#4]@3", // Em7 C#m
  X: "[[e3,c#4,g4] ~ [e3,c#4,g4] ~ [e3,c#4,g4]@2 [e3,g4] ~ [e3,g4] ~ [e3,c#4,g4]@2 [e3,c#4,g4] ~ [d3,a3,a4,d5]@4 ~@5 f#4@4 ~@4 [e2,g3,g4,b4]@4 ~@7 [a2,e3,c#4,g4]@5 ~ [a4,d5]@4 ~@4 [d#2,d#3,c4,f#4]@4 ~@4, ~@22 [d#2,d#3,c4]@4 ~@21 [d3,a3]@4 ~@13]/4", // C#dim Em C#dim D5 Em A7 D5 Cdim …
  Y: "[e2,g3,g4,b4] ~@2 [e3,g4], ~@11 [a2,c#4]@5", // Em A
  Z: "~ [d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@4 d5@3 a4 [a3,d5] ~, ~@9 [d3,a3,a4]@4 ~@3", // D5
  AA: "~@2 [d3,a3,a4,d5]@4 [a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~", // D5
  AB: "~@2 [d3,a3,a4,d5]@4 [a3,a4,d5] ~@4 d5@3 a3 [a4,d5], ~@5 [d3,a3,a4]@2 ~", // D5
  AC: "~@3 [a4,d5]@4 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5], ~@2 [d3,a3]@5 ~@9", // D5
  AD: "~@4 d5@3 [a3,a4] [d3,d5] ~@3 [a3,a4,d5]@4, ~@3 [d3,a3,a4]@4 ~@4 d3@4 ~", // A D D5
  AE: "[a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [a3,a4,d5] ~@3 [d3,a3,a4,d5]@4", // D5
  AF: "[d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 ~ [a3,a4,d5] ~@3 [a4,d5]@3, ~@3 a3", // D5
  AG: "~ [a3,a4,d5] ~@3 [d3,a3,f#4,c5]@4 [d3,a3,f#4,c5] ~@3 [d3,a3,f#4,c5]@3", // D5 D7
  AH: "[~ [d3,a3,f#4,c5]@2 ~ a4 ~ d5@4 [b3,b4,d5] ~@3 [g2,b3,b4,d5]@4 [b3,b4,d5] ~@3 [g2,b3,b4,d5]@4 [b3,b4,d5] ~@2 a2@2 g4@4 [a2,e3,c#4,g4] ~@3 [a3,d5]@4 [a3,a4,d5] ~@3 [a3,a4,d5]@4 [a3,a4,d5] ~@3 [b2,f#3,d#4,a4]@4 [b2,f#3,d#4] a4 ~@3 a4@3 ~ b2@2 f#4 ~ [e2,e3,d4,g4]@4 [e2,e3,d4,g4] ~@3, ~@5 [g2,b3,b4]@5 ~@19 [e3,c#4]@6 ~@3 [d3,a4]@4 ~@21 [b2,f#3,d#4]@4 [f#3,d#4,a4]@2 ~@11]/5", // D7 Bm G Bm G Bm A7 D5 …
  AI: "[e2,e3,d4,g4]@4 [e3,d4,g4] ~@4 g4@4 [e3,c#4,g4] ~@2, ~@8 [a2,e3,c#4]@5 ~@3", // Em7 C#dim A
  AJ: "~ [a2,c#4,g4]@4 [e3,c#4,g4] ~@3 [d3,a3,a4,d5]@4 ~@3, e3 ~@3", // A7 C#dim D5
  AK: "~ [d#2,d#3,c4,f#4]@4 ~@5 b4@4 ~@2, ~@9 [e2,g3,g4]@4 ~@3", AL: "~@5 [a2,e3,c#4,g4]@5 [d3,a3,a4,d5]@4 ~@2",
  AM: "~@2 [d#2,d#3,c4,f#4]@4 ~@5 b4@4 ~, ~@5 [e2,g3,g4]@2 ~", // Cdim Em
  AN: "~@5 [a2,e3,c#4,g4]@5 ~ [d3,a3,a4,d5]@4 [d3,a3,a4,d5]", // A7 D5
  AO: "~@3 [d3,a3,a4,d5]@4 [a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [a3,a4,d5]", // D5
  AP: "~@3 [d3,a3,a4,d5]@4 [d3,a3,a4] d5 ~@3 d5@4, ~@11 [d3,a3,a4]@4 ~", // D5
  AQ: "[d3,a3,a4,d5] ~@3 [a4,d5]@3 ~ [d3,a3,a4]@2 a4 ~ d5@4, ~@3 [d3,a3]@4 d5@2 ~@2 a4@4 ~", // D5
  AR: "[d3,a3,a4,d5]@2 ~@2 [d3,a3,a4,d5]@3 a4 [d3,a3,a4,d5] ~@2 a4 [d3,a3,a4,d5]@4", // D5
  AS: "[d3,a3,a4,d5] ~@4 d5@3 a4 [a3,d5] ~@3 [a3,d5]@3, ~ [d3,a3,a4] ~ [d3,a4]", // D5
  AT: "~ [a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@3", // D5
  AU: "~ [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5]@2 ~ a4 [d3,a3,f#4,c5]@3", // D5 D7
  AV: "[~ [a3,f#4,c5] ~@3 [a3,f#4,c5]@4 [a3,f#4,c5] ~@4 d5@4 [b3,b4,d5] ~@3 [g2,b4,d5]@4 [b3,b4,d5] ~@3 [g2,b3,b4,d5]@4 [b3,b4,d5] ~@3 g4@4 [e3,c#4,g4] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5]@2 ~ a4 ~ a4@4 [f#3,d#4,a4] ~@3 [b2,f#3,d#4,a4]@4 [f#3,d#4,a4] ~@3 [e2,e3,d4,g4]@4 [e3,d4,g4] ~@3 [e3,d4,g4]@4 [e3,d4,g4] ~@3 [a2,e3,c#4,g4]@4 [a2,e3,c#4] g4 ~@3 [e3,g4]@3 c#4 [e3,g4] ~@3 [a4,d5]@4 ~@4 [d#2,d#3,c4,f#4]@4 ~@4, ~@13 [g2,b3,b4]@5 ~@3 b3@4 ~@12 [a2,e3,c#4]@5 ~@20 [b2,f#3,d#4]@5 ~@36 [a2,c#4]@4 ~@4 [d3,a3]@4 ~@13]/8", // F#dim Bm G Bm G Bm C#dim D5 …
  AW: "[e2,g3,g4,b4]@4 ~@7 [a2,e3,c#4,g4]@5", AX: "[d3,a3,a4,d5] ~ [d#2,d#3,c4,f#4] ~",
  AY: "[d3,a3,a4,d5]@4 [d3,a3,a4,d5] ~@3 [d3,a3,a4,d5]@4 [d3,a3,a4,d5]@2 ~ a4", // D5
// … 141 more lines

More by Brassens Georges