Strudelify
Quand j'serai KO cover art

Studio Saint-Germain (avec Ours & Pierre Souchon)

Quand j'serai KO

Alain Souchon

KeyD majorTempo145 bpm
0:00/0:00
// Quand j'serai KO — Alain Souchon
// 145 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 124 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(145/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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano · "Mélodie"
const piano = note(`<
  ~@2 A@4 B@2 C D E@2 F@3 ~ G@2 H@2 I@3 J K@4 ~ L@2 M N O P Q R@2 S@2 T@2 U@3 V W X W Y ~ Z AA AB@3 AC@2 AD@2 AE@2 AF AG
  ~ AH@2 AI@2 AJ@3 AK@2 AL AM AN@2 AO AP AQ@2 AR@2 AS@3 AT@2 AU@2 AV@3 AW AX@2 AY AZ@2 BA BB BC BD@2 BE BF BG@2 BH@2
  BI@2 ~ AT@2 AU@2 AV@3 BJ@2 ~
>`.pickRestart({
  A: "[[f#4,a4]@8 g#4@4 f4@2 [f#4,a4]@5 ~ [f#4,a4]@3 ~ b4@2 ~@2 b4@3 ~ f#4@3 ~ [f#4,a4]@3 ~ f4@3 ~ a4@18 ~@2, ~@8 f4@3 ~@12 g4@3 ~@2 g4@5 ~@6 g#4@4 f#4@19 ~@2, ~@31 a4@3 ~@30]/4", // F#m
  B: "[[g4,b4]@8 [f#4,a#4]@5 ~ g4@4 ~@2 [a4,c#5]@3 ~ d5@3 [a4,c#5]@4 c#5, ~@13 b4@7 ~@3 b4@4 ~@5]/2", // G F# A
  C: "e5@3 ~ d5@4 [a4,c#5]@4 [g4,b4]@4, ~@3 b4@4 ~@9", D: "[f4,g#4]@3 [f#4,a4]@5",
  E: "[~@8 g4@3 f#4@2 g4@5 g4@3 ~ d5@4 b4@6]/2",
  F: "[~@4 [e4,b4]@3 f#4@2 [g4,b4]@4 ~ [g4,b4]@4 [d4,b4]@5 [e4,a#4]@15 ~@10, ~@7 b4 ~@40]/3", // E5 G Edim
  G: "[f#4@5 ~@3 f4@3 ~ f4@2 f#4@4 ~@2 f#4 ~ f#4 ~ g4@3 ~ g4@4]/2", H: "[f#4@2 ~@2 f#4@3 f4@4 f#4@17 ~@4]/2",
  I: "[b4@7 ~ a#4@3 ~ a#4@2 b4@5 ~ c#5@3 ~ d5@3 ~ c#5 ~ e5@4 ~@2 d5@2 c#5@3 ~ b4@6]/3", J: "g#4@5 a4@7 ~@4",
  K: "[~@4 e4@2 f#4 ~ g4@2 f#4 ~ g4@8 d5@2 b4@12 ~@2 e4@2 ~ g4@3 ~ f#4 g4@6 d4@3 ~ e4@10, ~@19 f#4 ~@12]/4",
  L: "[~@2 f4 ~ f4 ~@2 f4 f#4@6 ~ f4@3 ~@2 f#4@8 ~@2 f#4 ~]/2", M: "g4@2 ~ g4@3 ~ f#4@3 ~@2 f#4@3 ~",
  N: "f4@3 ~ f#4@8 ~@4", O: "~@8 b4@7 ~", P: "a#4@3 ~@2 b4@5 ~@2 c#5@3 ~, ~@2 a#4 ~@5", Q: "d5@4 c#5 ~ e5@5 d5@4 ~",
  R: "[c#5@4 b4@3 g#4@7 a4@14 ~@4]/2", S: "[f#4@7 ~ f4@6 f#4@5 ~ f#4@3 g4@3 ~ g4@4 ~]/2",
  T: "[f#4@3 ~ f#4@3 f4@4 f#4@16 ~@5]/2",
  U: "[b4@5 ~ b4@2 a#4@3 ~ a#4@2 b4@5 c#5@4 d5@4 c#5@2 ~ e5@5 d5@4 ~ c#5@4 b4@4]/3", V: "g#4@6 a4@9 ~",
  W: "~@4 e4@2 f#4 ~ g4@7 ~", X: "g4@3 ~ d5@2 b4@8 ~@2, ~@4 e5 ~@11", Y: "d4@3 ~ e4@2 e4@10",
  Z: "~ [f#4,a4], ~@4 d4@3 ~", AA: "[c#4,f4,g#4]@3 ~ [c#4,f4,g#4]@2 [d4,f#4,a4]@5 ~ [d4,f#4,a4]@4",
  AB: "[[e4,g4,b4]@3 ~ [e4,b4]@4 [d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [f4,g#4]@3 ~ d4@16 ~@4 [g4,b4,d5]@8, ~@3 g4@4 ~@8 c#4@4 f#4@15 ~@14, ~@20 a4@13 ~@15]/3", // Em E5 D Fm G
  AC: "[[f#4,a#4,c#5]@3 ~ [f#4,a#4,c#5]@2 [g4,b4,d5]@6 [f#4,a4,c#5]@3 ~ [g4,b4]@4 [g4,a4,c#5]@2 [a4,c#5,e5]@6 [g4,b4,d5]@4, ~@15 d5@4 ~@13]/2", // F# G F#m G A7 A G
  AD: "[[f#4,a4,c#5]@3 ~ [e4,b4]@3 ~ [c#4,g#4]@6 [d4,f#4,a4]@10 ~@4 e4@2 f#4@2, ~@3 g4@4 f4@7 ~@18]/2", // F#m E5 C#5 D
  AE: "[g4@6 ~ g4@4 d5@3 b4@8 ~@6 e4@2 f#4@2]/2", AF: "~ g4@5 ~ g4@3 d4@4 ~@2", AG: "e4 ~",
  AH: "[f#4@7 ~ f4@3 ~ f4 ~ f#4@6 ~@3 g4@2 ~@3 g4@4, ~@11 f#4 ~@4]/2", AI: "[f#4@5 ~ f#4 ~ f4@2 ~@2 f#4@16 ~@4]/2",
  AJ: "[b4@7 ~ a#4@3 ~ a#4@2 b4@5 ~ c#5@3 ~ d5@4 c#5@2 e5@6 d5@4 c#5@4 b4@3 ~]/3", AK: "[g#4@3 a4@6 ~@3 f#4@3 ~]/2",
  AL: "f4@3 ~ f4@2 f#4@5 ~@3 f#4 ~", AM: "g4@2 ~@2 g4@3 ~ f#4@4 ~@2 f#4@2", AN: "[f4@4 ~@2 f#4@15 ~@3 b4@7 ~]/2",
  AO: "a#4@2 ~@4 b4@2 ~@3 c#5@4 ~", AP: "d5@4 ~ c#5@2 ~ e5@3 d5@5",
  AQ: "[~@2 c#5@2 ~ b4@3 g#4@5 ~ a4@8 ~@6 e4@2 f#4@2]/2",
  AR: "[g4@3 g4 g4@8 d5@2 b4@8 ~@5 e4@2 f#4@2 ~, ~@14 c5 ~@17]/2", AS: "[g4@7 g4@4 d4@2 d#4@2 e4@25 ~@8]/3",
  AT: "[[f#4,a4]@8 [f4,g#4]@4 [f4,g#4]@2 [f#4,a4]@5 ~ [f#4,a4]@4 [g4,b4]@3 ~ [g4,b4]@3 ~]/2", // F#m Fm F#m G
  AU: "[[f#4,a4]@3 ~ [f#4,a4]@4 [f4,g#4]@3 ~ f#4@17 ~@3, ~@12 a4@15 ~@5]/2", // F#m Fm
  AV: "[[g4,b4]@8 [f#4,a#4]@4 a#4@2 ~ b4@5 [a4,c#5]@3 ~ [b4,d5]@4 a4@2 [c#5,e5]@6 [b4,d5]@4 [a4,c#5]@4 [g4,b4]@4, ~@14 g4@5 ~@9 c#5 ~@19]/3", // G F# A Bm C#m Bm A G
  AW: "[f4,g#4]@6 a4@9 ~, ~@6 f#4@7 ~@3", AX: "[~@4 e4@2 f#4@2 g4@2 ~ g4@2 g4@7 d5@2 ~ b4@9]/2",
  AY: "~@4 e4@2 f#4@2 g4@7 ~", AZ: "[d4@3 d#4@2 ~ e4@15 ~@11]/2", BA: "~@8 [f#4,a4]@7 ~",
  BB: "[f4,g#4]@4 [f4,g#4]@2 [f#4,a4]@5 ~ [f#4,a4]@4", BC: "[g4,b4]@3 ~ [g4,b4]@3 ~ [f#4,a4]@3 ~ [f#4,a4]@4",
  BD: "[[f4,g#4]@3 ~ f#4@17 ~@3 [g4,b4]@8, ~@4 a4@15 ~@13]/2", // Fm G
  BE: "[f#4,a#4]@4 a#4@2 ~ b4@5 [a4,c#5]@3 ~, ~@6 g4@5 ~@5", BF: "[b4,d5]@2 a4 [c#5,e5]@3 [b4,d5]@2, ~@4 c#5 ~@11",
  BG: "[[a4,c#5]@4 [g4,b4]@4 [f4,g#4]@6 a4@9 ~@5 e4@2 f#4@2, ~@14 f#4@7 ~@11]/2", // A G Fm
  BH: "[g4@2 ~ g4@2 g4@7 d5@2 ~ b4@10 ~@3 e4@2 f#4@2]/2", BI: "[g4@7 ~ d4@3 d#4@2 ~ e4@15 ~@3]/2",
  BJ: "[[f4,g#4]@3 [f#4,a4]@13]/2", // Fm F#m
})).s("gm_piano").gain(0.31)

// chords · piano · "MIDISONG"
const piano_2 = note(`<
  ~@16 A B@2 C D@3 E@2 F G H I J K L K M N@2 O P Q B@2 C D@3 E@2 F G H I R ~@13 Q B@2 C D@3 S@2 K L K M N@2 O P T@2 U
  V@2 Q B@2 C D@3 E@2 F G H I J K L K M N@2 O P T@2 U V@2 Q B@2 C D@3 W X ~
>`.pickRestart({
  A: "~@4 [a4,b4,d5] ~@7 [b4,f#5]@2 ~@2, ~@4 f#5@2 ~@2 a3@7 ~, ~@12 [a4,d5] ~@3", // Bm7 B5 D5
  B: "[~@4 [a4,b4,d5,f#5] ~@7 [a4,d5] ~@7 [a4,b4,d5,f#5] ~@7 [a4,b4,d5,f#5] ~@3, d4@7 ~ a3@7 ~ d4@7 ~ a3@7 ~, ~@12 f#5@7 ~@13, ~@6 b4 ~@9]/2", // Bm7 D5 Bm7
  C: "~@4 [a4,b4,d5,f#5] ~@7 [a4,b4,d5,f#5] ~@3, d4@7 ~ a3@7 ~", // Bm7
  D: "~@4 [g4,b4,d5,e5] ~@7 [g4,b4,d5,e5] ~@3, g3@7 ~ d3@7 ~", // Em7
  E: "[~@4 [a4,b4,d5,f#5]@2 ~@6 [a4,d5,f#5]@2 ~@6 [b4,d5,f#5]@2 ~@6 [g4,b4,d5,e5] ~@3, d4@7 ~ a3@7 ~ d4@7 ~ e4@7 ~, ~@12 b4@7 ~ a4 ~@11]/2", // Bm7 D Bm Em7
  F: "~@4 [b4,d5]@2 ~@6 [a4,b4,d5] ~@3, b3@7 ~ b3@7 ~, ~@4 [g4,e5]@7 ~ f#5@2 ~@2", // Bm Bm7 C
  G: "~@4 [a4,b4,f#5]@2 ~@6 [g4,b4,d5,e5] ~@3, f#3@7 ~ e4@7 ~, ~@4 d5 ~@11", // B7 Em7
  H: "~@4 [b4,d5,e5] ~@7 [f#4,a#4,c#5,e5] ~@3, b3@7 ~ f#3@7 ~, ~@2 g4 ~@5", // E7 F#7
  I: "~@4 [f#4,a#4,c#5] ~@7 [f#4,a#4,c#5,e5] ~@3, c#3@7 ~ f#3@7 ~, ~@2 e5 ~@5", // F# F#7
  J: "~@4 [f#4,a#4,c#5,e5] ~@7 [a4,b4,d5] ~@3, c#3@7 ~ d4@7 ~, ~@6 f#5 ~", // F#7 Bm7
  K: "~@4 [b4,f#5]@2 ~@6 [a4,b4,d5,f#5] ~@3, a3@7 ~ d4@7 ~, ~@4 [a4,d5] ~@11", // B5 Bm7 D5
  L: "~@4 [a4,d5] ~@7 [a4,b4,d5,f#5] ~@3, a3@7 ~ d4@7 ~, ~@4 f#5@7 ~@5, ~@2 b4 ~@5", // D5 Bm7
  M: "~@4 [a4,b4,d5,f#5] ~@7 [g4,b4,d5,e5] ~@3, a3@7 ~ g3@7 ~", // Bm7 Em7
  N: "~@4 [b4,d5,e5] ~@7 [g4,b4,d5,e5] ~@3, d3@7 ~ g3@7 ~, ~@2 g4 ~@5", // E7 Em7
  O: "~@4 [g4,b4,d5,e5] ~@7 [a4,b4,d5,f#5]@2 ~@2, d3@7 ~ d4@7 ~", // Em7 Bm7
  P: "~@2 [a4,d5,f#5] ~@3 [b4,d5,f#5] ~, a3@7 ~ d4@7 ~, ~@4 b4@7 ~ a4 ~@3", // D Bm
  Q: "~@4 [a4,b4,d5] ~@7 [b4,f#5]@2 ~@2, d4@7 ~ a3@7 ~, ~@4 f#5@2 ~@6 [a4,d5] ~@3", // Bm7 B5 D5
  R: "~@4 [f#4,a#4,c#5,e5] ~@11, c#3@7 ~@9", // F#7
  S: "[~@4 [a4,b4,d5,f#5]@2 ~@6 [a4,d5,f#5]@2 ~@6 [b4,d5,f#5]@2 ~@6 [a4,b4,d5] ~@3, d4@7 ~ a3@7 ~ d4@7 ~ d4@7 ~, ~@12 b4@7 ~ a4 ~@7 f#5@2 ~@2]/2", // Bm7 D Bm Bm7
  T: "[~@4 [g4,b4,d5,e5] ~@7 [b4,d5]@2 ~@6 [a4,b4,d5] ~@7 [a4,b4,f#5]@2 ~@2, e4@7 ~ b3@7 ~ b3@7 ~ f#3@7 ~, ~@12 [g4,e5]@7 ~ f#5@2 ~@6 d5 ~@3]/2", // Em7 Bm Bm7 B7 C
  U: "~@4 [g4,b4,d5,e5] ~@7 [b4,d5,e5] ~@3, e4@7 ~ b3@7 ~, ~@6 g4 ~", // Em7 E7
  V: "~@4 [f#4,a#4,c#5,e5] ~@7 [f#4,a#4,c#5] ~@3, f#3@7 ~ c#3@7 ~, ~@6 e5 ~", // F#7 F#
  W: "~@2 [a4,b4,d5,f#5] ~@3 [a4,d5,f#5] ~, d4@7 ~ a3@7 ~, ~@3 b4", X: "[d4,a4,d5,f#5]@7 ~@9, b4@3 ~@13",
})).s("gm_piano").gain(0.15)

// other · piano · "MIDISONG"
const piano_3 = note(`<
  ~@14 A B C@3 D E@2 F C G H I J K L M@2 N O P Q R M C@3 S E@2 T C G U V W X Y Z AA Z AB AC AD AE AF AG AH AI AJ AK C@3
  AL E@3 C AM M@2 AN AO Q@2 R M W AH AI AP AQ AR C@2 AS E@2 AT C G AU I J AV AW M AX AY AZ Q@2 R M AI AH BA AP BB AR C@2
  AS E@2 AT C BC ~
>`.pickRestart({
  A: "~@14 a3 ~", B: "~@3 a3 g3@4 f#3@3 ~ e3@3 ~", C: "d3 ~ a2 ~", D: "d3@4 ~@4 f#3@3 ~ a3@3 ~", E: "g3@5 ~@3 d3@5 ~@3",
  F: "g3@4 ~@4 b2@4 c#3@3 ~", G: "d3@4 ~@4 e3@5 ~@3", H: "b2@4 ~@4 b2@3 ~ c#3@3 ~", I: "d3@3 ~ f#3@3 ~ e3@5 ~@3",
  J: "b2@5 ~@3 f#3@4 ~@4", K: "c#3 ~ f#3 ~", L: "f#3 ~ d3 ~", M: "a2 ~ d3 ~", N: "a2@4 ~@4 d3@3 ~ e3@3 ~",
  O: "f#3@3 ~ a3@3 ~ g3@5 ~@3", P: "d3@5 ~@3 g2@4 ~@4", Q: "d3@4 ~@4 g3@5 ~@3", R: "b3@5 ~@3 d3@4 ~@4",
  S: "d3@4 ~@4 a3@3 ~ f#3@3 ~", T: "g3@3 ~ a3@3 ~ b3@3 ~ g3@2 ~@2", U: "e3@3 ~ d3@3 ~ b2@5 ~@3",
  V: "f#3@5 ~@3 e3@5 ~@3", W: "e3@5 ~@3 f#3@5 ~@3", X: "c#3@2 ~@2 f#3@2 e3 ~", Y: "d3 ~ c#3 ~ d3@3 ~",
  Z: "c#3@6 ~@2 d3@5 ~@3", AA: "a2@5 ~@3 d3@5 ~@3", AB: "a2@3 ~ f#2@3 ~ g2@5 ~@3", AC: "b2@6 ~@2 d3@5 ~@3",
  AD: "e3@6 ~@2 g3@5 ~@3", AE: "e3@5 ~@3 c#3@5 ~@3", AF: "d3@5 ~@3 d3@3 ~ a2@3 ~", AG: "e2@5 ~@3 e2@6 ~@2",
  AH: "b2@3 ~ c#3@3 ~ d3@3 ~ f#3@3 ~", AI: "e3@5 ~@3 b2@5 ~@3", AJ: "f#3@5 ~@3 c#3@5 ~@2 f#3",
  AK: "~@3 f#3 c#3@3 ~ a2@3 ~ f#2@3 ~", AL: "d3@2 a3@2 a2@3 ~", AM: "d3@4 ~@4 d3@5 ~@3", AN: "a2@5 ~@3 d3@4 d4@4",
  AO: "b3@3 ~ a3@3 ~ g3@5 ~@3", AP: "f#3@5 ~@3 c#3@4 ~@4", AQ: "f#3@2 ~@2 e3@3 ~ d3@3 ~ c#3@2 ~@2",
  AR: "d3@5 ~@3 a2@5 ~@3", AS: "d3@3 ~ e3@2 ~@2 f#3@3 ~ a3@3 ~", AT: "g3@5 ~@4 g3@4 ~@3",
  AU: "e3@5 ~@3 b2@3 ~ c#3@2 ~@2", AV: "c#3@4 ~@4 f#3@2 ~@2 e3@3 ~", AW: "d3 ~ c#3 ~ d3@2 ~@2",
  AX: "a2 ~ a2 ~ d3@2 ~@2", AY: "a2@3 ~@5 d3@3 ~ a3@3 ~", AZ: "f#3@3 ~ d3@2 ~@2 g3@4 ~@4", BA: "e3 ~ e3 ~",
  BB: "f#3@2 ~@2 e3@2 ~@2 d3@2 ~@2 c#3 ~@3", BC: "d3@15 ~",
})).s("gm_piano").gain(0.36)

// chords · piano · "MIDISONG"
const piano_4 = note(`<
  ~@36 A@3 ~@26 B C B D E F G H@2 ~@8 I J I K L M N O P E F G Q@3 R@2 S T U V W X@2 Y@4 J I K L M N O P E F G H@2 ~
>`.pickRestart({
  A: "[~@4 [b4,g#5]@3 [f#5,a5]@11 ~@6]/3", B: "[c#5,f5]@2 [d5,f#5] ~@3 [c#5,f5]@2 [d5,f#5] ~@3 [a4,d5] ~@3",
  C: "[f#4,a4]@5 ~@3", D: "[f5,g#5]@2 [f#5,a5] ~@3 g#5@2 [f#5,a5] ~@3 [d5,f#5] ~@3, ~@6 f5 ~@9", E: "[d3,g4,b4]",
  F: "[g3,b4,d5] [b3,d5,g5]", G: "[d4,g5,b5]@2 [c#4,f#5,a5] [d5,g5]", H: "[[g#3,b4,f5]@7 [d5,f#5]@23 ~@2]/2",
  I: "[g4,e5]", J: "[f#4,f#5] ~ [f#4,f#5] ~@4 e4 e5 ~@3 [d4,d5] ~@3, ~@3 [f#4,f#5] ~@4",
  K: "e5@2 [a#4,e5] ~@3 [a#4,e5]@2 [g4,d5] ~@3 [f#4,c#5] ~@3, a#4 ~@15", // A#dim G5 F#5
  L: "[a#4,e5]@2 [a#4,e5] ~@3 [a#4,e5]@2 [g4,d5] ~@3 [f#4,c#5] ~@3", M: "[a4,d5] [f#4,a4]",
  N: "[d4,f#4]@4 [f#4,a4]@2 d4 a4, ~@12 f#4 ~ f#4 ~", O: "[a4,d5]@8 [f#4,a4]@5 ~@3",
  P: "[f5,g#5]@2 [f#5,a5] ~@3 [f5,g#5]@2 [f#5,a5] ~@3 [d5,f#5] ~@3", // Fm F#m Fm F#m D
  Q: "[[g#3,b4,f5]@7 [d5,f#5]@17 [g4,e5]@16 [f#4,f#5] ~ [f#4,f#5] ~@4 e4, ~@23 [f#4,f#5]]/3", // Fdim D C F#
  R: "[e5 ~@3 [d4,d5] ~@3 g4@16 e5@2 [a#4,e5] ~@3 [a#4,e5]@2, ~@8 e5@15 ~ a#4 ~@7]/2", // D A#dim
  S: "[g4,d5] ~@3 [f#4,c#5] ~@3 [a#4,e5]@2 [a#4,e5] ~@3 [a#4,e5]@2", // G5 F#5 A#dim
  T: "[g4,d5] ~@3 [f#4,c#5] ~@5 [d5,f#5] ~ f#4 ~ [c#5,f5]@2, ~@4 [c#5,f5] ~@3, ~@9 f4@4 ~@3", // G5 F#5 D C#
  U: "[d5,f#5] ~@3 [f#4,a4,d5] ~@5 f4@2 f#4 ~ f#4 ~, f4 ~ a4@2, ~@2 f#4 ~", // D
  V: "g4@4 f#4 ~@3 [c#5,f5]@2 [d5,f#5] ~ d4 ~ [c#5,f5]@2, ~@8 d4 ~@7", // C# D C#
  W: "[c#4,d5,f#5] ~@3 [a4,d5] ~@3 [f5,g#5]@2 [f#5,a5] ~ a4@2 [g#4,f5] g4, ~@2 d4 ~@4 g#5", // Dmaj7 D5 Fm F#m C#
  X: "[[f#5,a5] ~@2 d4 [d5,f#5] ~@2 a3 b4@8 ~ a#4@6 b4!2 ~@3 c#5@4, f#4@3 ~ b3@2 ~@2 [d3,g4]@16 [g3,d5]@8]/2", // F#m D G5
  Y: "[d5@4 c#5@3 ~@5 d5@4 ~ c#4@3 [b4,d5,g5]@4 [g#3,g#4,f5]@6 ~ d5@17 [g4,e5]@16, b3@9 d4@9 ~@12 a4@17 ~@17, g5@7 ~ [g5,b5]@8 [c#5,f#5,a5]@4 ~@4 b4 ~@5 f#5@20 ~@14]/4", // G C# C G F#m
})).s("gm_piano").gain(0.4)

// chords · piano · "MIDISONG" · soft notes
const piano_soft = note(`<
  ~ A ~@34 B@3 ~@26 C D E F ~@2 G H@2 ~@19 G I@2 ~@4 J@2 K@2 L ~ M N@2 ~@11 G H@2 ~
>`.pickRestart({
  A: "~ a5@15, f#5", B: "[~@8 f5@6 ~ d5@22 ~@11]/3", C: "d3", D: "f#3 a3", E: "f#4", F: "a3 f#3", G: "~@3 b3",
  H: "[~@6 a3@25 ~]/2", I: "[~@3 a3@9 ~@4]/2", J: "[~ d3@2 f#3]/2", K: "[a3 f#4@2 a3]/2", L: "~ f#3@8 ~@7",
  M: "~@7 e5@5 ~@4", N: "[~@4 b3@4 ~@6 a3@17 ~]/2",
})).s("gm_piano").gain(0.24)

// chords · piano · "MIDISONG"
const piano_5 = note(`<
  ~@16 A@3 B C D E A F G H I J K L A L M N E O P A@3 B C D E A F G H I J Q ~@2 R S ~@4 T U V W X A@3 B C D E A Y L A L M
  N E O P Z AA AB J AC A@3 B C D E A F G H I J K L A L M N E O P Z AA AB J AC A@3 B C D E A AD ~
>`.pickRestart({
  A: "[f#4,a4,b4,d5]@2 ~@2 [a4,b4,d5]@2 ~@2 [f#4,a4,b4] ~@3 [f#4,a4,b4,d5] ~@3, ~@4 f#4 ~@3 d5@2 ~@6", // Bm7 B7 Bm7
  B: "[b4,d5]@2 ~@2 [a4,b4,d5]@2 ~@2 [a4,b4,d5]@2 ~@2 [f#4,a4,b4] ~@3, [f#4,a4] ~@3 f#4 ~@3 f#4 ~@3 d5@2 ~@2", // Bm Bm7 B7 F#m
  C: "[g4,b4,d5,e5] ~ [g4,b4,d5,e5] ~ [g4,b4,d5,e5] ~ [g4,b4,d5,e5] ~", // Em7
  D: "[b4,d5,e5]@2 ~@2 [g4,b4,d5,e5]@2 ~@2 [g4,b4,d5,e5]@2 ~@2 [g4,b4,e5] ~@3, g4 ~@11 d5@2 ~@2", // E7 Em7 Em
  E: "[b4,d5,e5]@2 ~@2 [g4,b4,d5,e5] ~@3 [g4,b4,d5,e5] ~@3 [g4,b4,d5,e5] ~@3, g4 ~@15", // E7 Em7
  F: "[f#4,a4,b4,d5] ~@3 [f#4,a4,b4,d5] ~@3 [g4,b4,d5,e5]@2 ~@2 [g4,b4,d5] ~@3, ~@6 e5 ~", // Bm7 Em7 G
  G: "[e5,g5] ~ [b4,d5,e5,g5] ~ [b4,d5,e5,f#5] ~ [b4,d5,f#5] ~, [b4,d5] ~@11 e5 ~@3", // Em Em7 Bm
  H: "[b4,d5,e5,f#5] ~ [b4,f#5] ~ [b4,d5,e5,g5] ~ [b4,d5,e5,g5] ~, ~@4 [d5,e5] ~@11", // Bm B5 Em7 Dsus2
  I: "[b4,d5,e5,g5] ~ [d5,e5,g5] ~ [e5,f#5] ~ [a#4,c#5,e5,f#5] ~, ~@4 b4 ~@3 [a#4,c#5] ~@7", // Em7 Esus2 F#7 A#m
  J: "[a#4,e5,f#5]@2 ~@2 [a#4,c#5,e5,f#5]@2 ~@2 [a#4,c#5,f#5] ~@3 [e5,f#5]@2 ~@2, c#5 ~@7 e5@2 ~@2 [a#4,c#5] ~@3", // F#7 F# Esus2 A#m
  K: "[c#5,e5,f#5]@2 ~@2 [a#4,c#5,e5,f#5] ~@3 [f#4,a4,b4,d5]@2 ~@2 [a4,b4,d5]@2 ~@2, a#4 ~@11 f#4 ~@3", // F#7 Bm7
  L: "[a4,b4,d5]@2 ~@2 [f#4,a4,b4] ~@3 [a4,b4,d5]@2 ~@2 [b4,d5]@2 ~@2, f#4 ~@3 d5@2 ~@2 f#4 ~@3 [f#4,a4] ~@3", // Bm7 B7 Bm7 Bm F#m
  M: "[a4,b4,d5]@2 ~@2 [f#4,a4,b4,d5] ~@3 [b4,d5,e5]@2 ~@2 [g4,b4,d5,e5]@2 ~@2, f#4 ~@7 g4 ~@7", // Bm7 E7 Em7
  N: "[g4,b4,d5,e5] ~ [g4,b4,d5,e5] ~ [b4,d5,e5] ~ [g4,b4,d5,e5] ~, ~@8 g4 ~@7", // Em7 E7 Em7
  O: "[b4,d5]@2 ~@2 [g4,b4,d5,e5] ~@3 [a4,b4,d5]@2 ~@2 [f#4,a4,b4,d5]@2 ~@2, [g4,e5] ~@7 f#4 ~@7", // Bm Em7 Bm7 C
  P: "[f#4,a4,b4] ~@3 [f#4,a4,b4] ~@3 [a4,b4,d5]@2 ~@2 [f#4,a4,b4,d5] ~@3, d5@2 ~@2 d5@2 ~@2 f#4 ~@7", // B7 Bm7
  Q: "[c#5,e5,f#5]@2 ~@2 [a#4,c#5,e5,f#5] ~@11, a#4 ~@15", R: "~@6 [d5,f#5] ~",
  S: "[e5,g5]@2 ~@2 [f#5,a5]@3 ~ [g5,b5]@8", // Em F#m G
  T: "d6 b5 [b5,d6] d6 [b5,d6] b5 [b5,d6] d6 [b5,d6]!2 b5 d6 b5!3 ~, ~@6 d6 ~", // Bm
  U: "b5 f#5 b5 [f#5,b5] f#5 [f#5,b5] b5 [f#5,b5] f#5 b5 [f#5,b5]!2 f#5 b5 [f#5,b5] ~", // B5
  V: "d6 b5 d6 b5 [b5,d6]!2 d6 [b5,c6,d6] b5 d6 [b5,d6]!2 b5 d6 [b5,d6] b5", W: "~@15 [a#4,b4,c#5]",
  X: "[c#5,d5] ~@2 [c#5,e5]@2 ~ [c#5,e5]@2 [b4,d5]@4 [a#4,c#5]@3 ~, e5 ~@7", // Dmaj7 C#m Bm A#m
  Y: "[f#4,a4,b4] ~@3 [f#4,a4,b4,d5] ~@3 [a4,b4,d5]@2 ~@2 [f#4,a4,b4] ~@3, d5@2 ~@6 f#4 ~@3 d5@2 ~@2", // B7 Bm7 B7
  Z: "[g4,b4,d5,e5]@2 ~@2 [g4,b4,d5] ~@3 [b4,d5,g5] ~@3 [b4,d5,e5,g5]@2 ~@2, ~@2 e5 ~ e5 ~@3", // Em7 G Em7
  AA: "[b4,d5,e5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,e5,f#5] ~ [b4,f#5] ~, ~@4 e5 ~@7 [d5,e5] ~@3", // Bm B5 Dsus2
  AB: "[b4,d5,e5,g5] ~ [b4,d5,e5,g5] ~ [b4,d5,e5,g5] ~ [d5,e5,g5] ~, ~@12 b4 ~@3", // Em7
  AC: "[a#4,c#5,f#5] ~@3 [e5,f#5]@2 ~@2 [e5,f#5]@2 ~@2 [a#4,c#5,e5,f#5] ~@3, e5@2 ~@2 [a#4,c#5] ~@3 [a#4,c#5] ~@7", // F# Esus2 F#7 A#m
  AD: "[f#4,a4,d5]@3 ~, b4@5 ~@3", // D
})).s("gm_piano").gain(0.2)

// chords · piano · "MIDISONG"
const piano_6 = note(`<
  ~@29 A B@2 C D E F G@2 H I J K L ~ M N@5 O ~@22 A B@2 P Q E F G@2 R S R T ~ U V W X Y@3 Z@5 O ~@9 R S R T ~ U V W X
  Y@3 AA@2 ~
>`.pickRestart({
  A: "~@8 [g#3,f4]@4 [a3,f#4] ~@3", // C# D
  B: "[[g#3,f4]@4 [a3,f#4] ~@7 [a3,f#4] ~@2 f#4 [b3,g4]@4 [a3,f#4] ~@3 d4@2 ~@2 [f#3,d4] ~@3, ~@5 f4 ~@10, ~@11 g#3@2 ~@2 a3@2 ~@7 f#3 ~@7]/2", // C# D Em D
  C: "[f3,c#4] ~@3 [f#3,d4]@2 ~@7 g#4 g4 ~, ~@6 a4 ~", D: "f#4@3 d4 b3@2 ~ a3 [g3,b4]@8",
  E: "~ a#4@6 [g3,b4]@5 [a3,c#5]@4, f#3@3 ~@5", F: "[b3,d5]@4 [a3,c#5]@3 [c#4,e5]@5 [b3,d5]@4",
  G: "[[a3,c#5]@4 [g3,b4]@4 [f3,g#4]@7 [f#3,a4]@17]/2", H: "f#4@2 ~@6 [c#4,f4]@4 [d4,f#4] ~@3, d4 ~@15",
  I: "~@4 [e4,g4]@3 ~", J: "[d4,f#4] ~@7 [c#4,f4]@4 [d4,f#4] ~@3",
  K: "[f3,g#4]@2 [f#3,a4] ~@3 [f3,g#4]@2 [f#3,a4] ~@3 [d3,f#4] ~@3", L: "b4 ~@7, g3 ~@15",
  M: "~@8 [b3,d5]@2 ~@2 [b3,d5]@2 g3 b4, ~@5 a3 ~@2, ~@11 c#5@2 ~@3", // Bm
  N: "[[f3,g#4]@6 ~ f#3@17 [e3,g4]@16 [d3,f#4] ~ [d3,f#4] ~@5 [c#3,e4] ~@3 [b2,d4] ~@3 g4@16 [e3,a#4] ~ e3 a#4 ~@2 e3@2, ~@6 a4@18 ~@22 f#4@2 ~@30 a#4 ~, ~@47 d3@2 ~@7 e3@15 ~@9]/5", // Fm Em D C#m Bm Edim
  O: "[d3,g4] ~@3 [c#3,f#4] ~@11", P: "[f3,c#4] ~@3 [f#3,d4]@2 ~@6 b4 a#4 a4 g#4",
  Q: "g4 f#4 d4 b3 a#3 a3 g#3 g3 [g3,b4]@8", R: "[e3,g4]",
  S: "[d3,f#4] ~ [d3,f#4] ~@5 [c#3,e4] ~@3 [b2,d4] ~@3, ~@3 f#4 ~@4, ~@7 d3@2 ~@7", // D C#m Bm
  T: "[e3,a#4] ~ e3 a#4 ~@2 e3@2 [d3,g4] ~@3 [c#3,f#4] ~@3, ~@6 a#4 ~@9", // Edim G5 F#5
  U: "[g#3,f4]@4 [a3,f#4] ~@3 [g#3,f4]@4 [a3,f#4] ~@3", // C# D C# D
  V: "~@4 [a3,f#4] ~@2 f#4 [b3,g4]@4 [a3,f#4] ~@3, ~ f4 ~@6, ~@3 g#3@2 ~@2 a3@2 ~@7", // D Em D
  W: "d4@2 ~@2 [f#3,d4] ~@3 [f3,c#4] ~@3 [f#3,d4]@2 ~@2, f#3 ~@15", X: "~@5 g#4 g4 ~ f#4@3 d4 b3@2 ~ a3, ~@2 a4 ~@5",
  Y: "[[g3,b4]@8 ~ a#4@6 [g3,b4]@5 [a3,c#5]@4 [b3,d5]@4 [a3,c#5]@3 [c#4,e5]@5 [b3,d5]@4 [a3,c#5]@4 [g3,b4]@4, ~@4 f#3@3 ~@17]/3", // G A Bm A C#m Bm A G
  Z: "[[f3,g#4]@7 [f#3,a4]@17 [e3,g4]@16 [d3,f#4] ~ [d3,f#4] ~@5 [c#3,e4] ~@3 [b2,d4] ~@3 g4@16 [e3,a#4] ~ e3 a#4 ~@2 e3@2, ~@46 f#4@2 ~@30 a#4 ~, ~@47 d3@2 ~@7 e3@15 ~@9]/5", // Fm F#m Em D C#m Bm Edim
  AA: "[[f3,g#4]@7 [f#3,a4]@17 ~@8]/2", // Fm F#m
})).s("gm_piano").gain(0.31)
// … 11 more lines

More by Alain Souchon