Strudelify

Ce Matin

Axelle Red

KeyA majorTempo123 bpm
0:00/0:00
// Ce Matin — Axelle Red
// 123 bpm, 4/4, key A 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 77 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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 · epiano1 · "Piano    1"
const epiano1 = note(`<
  ~ A B C D E F G H I J K L M N O@2 P Q K R S G T U V W X@2 Y@2 Z AA AB AC AD AE I J K L M AF AG@2 P Q K AH S AI T U
  AJ@7 AK@7 AL@5 AM@4 ~
>`.pickRestart({
  A: "[a1,a2,e3,a3,c#4]", B: "[a1,a2,e3,g#3,c#4]", C: "[a1,a2,e3,g3,b3]", D: "[f#1,f#2,c#3,f#3,a#3]",
  E: "[d3,f#3,c#4]@8 ~ f#3@12 f#3@3, [b1,b2], ~@3 [d3,b3]@5", F: "[d3,f#3,a3,c#4]@9 [d3,f#3,b3]@13 ~@2, [b1,b2]@11 ~",
  G: "[e3,g#3,c#4]@3 ~@3 a3@2, e2, ~@3 [e3,g#3,b3]@5", // C#m E
  H: "[e3,g#3,c#4]@3 ~@4 b3, e2, ~@3 [e3,g#3]@5, ~@3 b3@4 ~, ~@3 a3", I: "[a2,e3,a3,c#4]", J: "[a2,e3,g#3,c#4]",
  K: "[g2,g3,b3,c#4,e4]", L: "[f#2,e3,f#3,a#3,c#4]@11 ~", M: "c#4@3 ~@3 a3@2, b2, ~@3 [d3,f#3,b3]@5",
  N: "[e2,c#4]@9 b3@9 a3@5 ~, ~@9 [f2,f3]@14 ~", // C#m F
  O: "[[d3,b3,d4,f#4,a4]@7 ~@2 [c#3,e3,g#3,b3,g#4]@10 ~@2 f#4@12 f#4@2 ~ [e3,b3,e4]@11 ~, ~@21 [b2,f#3,b3,d4]@14 ~ a4@9 ~@3]/2", // Bm7 C#m7 E5 Bm
  P: "[f#2,c#3,a3,c#4,f#4]", Q: "[f#2,c#3,a3,c#4,f4]", R: "c#4@5 ~ d4@2, [f#2,f#3,a#3,e4], ~@5 c#4@3",
  S: "[d3,c#4]@9 ~@9 a3@5 ~, b2@23 ~, ~@9 [d3,f#3,b3]@14 ~", T: "a3@3 ~@2 c4@3, [e4,a4], c4@5 ~@3, ~@3 a3@5",
  U: "g#3@9 ~@6 c4@8 ~, [e4,g#4]@23 ~, c4@5 ~@3, ~@9 g#3@14 ~", V: "~@15 a#3@8 ~, [c3,c4,e4,g4]@23 ~, ~@9 g3@14 ~",
  W: "~@9 g4@13 ~@2, [g3,a#3,d4,f4]@11 ~", X: "[[f3,a3,c4,e4]@2 ~ [e3,g3,b3,d4]@3 ~ [d3,f3,a3,c4]@8 ~]/2",
  Y: "[[f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,d4]@9 ~@3 a3@12 ~@9 a3@5 ~, ~@21 [d3,f3]@26 ~, ~@21 c4@15 c4@11 ~, ~@11 a3@3 ~@2]/2", // Fmaj7 Em7 Dm
  Z: "[c3,e3,g3,c4]@23 ~", AA: "~@3 f4, [c3,f3,a3,c4]", AB: "[c3,e3,g3,c4]", AC: "~@18 f4@5 ~, [c3,f3,a3,c4]@23 ~",
  AD: "[c3,g3,a3,c4,e4]@23 ~", AE: "[g2,d3,f3,a3,c4] ~@5 [g2,d3,f3,a3,c4]@18",
  AF: "[e2,c#4]@9 b3@9 a3@5 ~, ~@9 [e2,e3]@14 ~", // C#m E
  AG: "[[d3,b3,d4,f#4,a4]@7 ~@2 [c#3,e3,g#3,b3,g#4]@10 ~@2 [b2,f#3,b3,d4,f#4]@15 [e2,e4,f#4,a4,d5]@12]/2", // Bm7 C#m7 Bm D
  AH: "c#4@5 ~ d4@2, [f#2,e3,a#3,e4], ~@5 c#4@3", AI: "[e2,e3,g#3,c#4]@9 f2@9 a3@5 ~, ~@3 [f3,g#3,b3]@5",
  AJ: "[~@15 a#3@8 ~@9 g4@13 ~@2 [f3,a3,c4,e4]@6 ~@3 [e3,g3,b3,d4]@9 ~@3 [d3,f3,a3,c4]@24 ~@3 [f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,d4]@9 ~@3 a3@12 ~@9 a3@5 ~@2 [f3,a3,c4]@9 ~@3 [e3,g3,b3,d4,e4,g4]@9 ~@3, [c3,c4,e4,g4]@23 ~ g3@22 ~@70 [d3,f3]@26 ~ [c3,e4,a4]@9 ~@16, ~@9 g3@14 [a#3,d4,f4]@22 ~@71 c4@15 c4@11 ~@26, ~@128 a3@9 ~@31]/7", // Fmaj7 Em7 Dm7 Fmaj7 Em7 F Em7 C …
  AK: "[[d3,a3,d4,f4]@27 ~ [c3,e3,g3,c4]@24 c4@12 ~@6 f4@6 ~ [c3,e3,g3,c4,e4]@23 [c3,f3,a3,c4]@23 ~@2 [e3,g3,c4,e4]@24 [c3,f3,a3,c4,e4]@19, ~@13 [c3,f3,a3]@6 ~@12 c3@6 ~@5, ~@16 c4@3 ~@23]/7", // Dm C F C Fmaj7 F
  AL: "[~@5 [g2,g3,b3,e4]@23 [g2,a3,c4,d4,f4]@22 ~@2 [g2,g3,b3,d4,e4]@22 ~@2 [g2,a3,c4,d4,f4]@22 ~@2 [g2,g3,b3,d4,e4]@20]/5", // Em Dm7 Em7 Dm7 Em7
  AM: "[~@4 [g2,a3,c4,d4,f4]@24 ~@3 [c3,e3,g3,b3,c4,e4]@48 ~@17]/4", // Dm7 Cmaj7
})).s("gm_epiano1").gain(0.28)

// bass · electric bass finger · "Basse    2"
const bass = note(`<
  ~ A B A C D E F G H I J K L M N@2 O P Q R S T U V W X Y@2 Z@2 AA AB AC AD AE AF AG AH AI AJ AK AL AM@2 AN AO@2 AP AQ
  AR AS AH AT@6 AU AV@2 AW AX AY AZ BA BB BC BD BE BC BF@5
>`.pickRestart({
  A: "a1@23 ~", B: "a1@11 ~", C: "f#1@7 ~", D: "b1@23 ~", E: "b1@17 ~ b1@6", F: "e2", G: "e1@11 ~ e2@6 e1@6",
  H: "a1@2 ~ a1@4 e2", I: "a2@6 ~@3 a2@9 e2@3 a2@2 ~", J: "g2@2 ~ g2@4 g2", K: "f#2@2 ~ f#2@3 c#2 f#1",
  L: "b1@2 ~ b1@3 ~ d#2", M: "e1@7 ~@2 e1@2 ~ a#2@5 ~ f1@5 ~", N: "[d2@7 ~@2 c#2@10 ~@2 b1@12 b1 ~@2 e2@5 ~ e1@6]/2",
  O: "f#1@2 ~ f#1@4 c#2", P: "f#2@6 ~@3 f#2@11 ~ c#2@3", Q: "g1@6 ~@3 g1@9 ~@3 g1@2 ~",
  R: "f#1@6 ~@3 f#1@7 ~@2 c#2@3 f#1@3", S: "b1@6 ~@3 b1@10 ~@2 d2@3", T: "e1@5 ~@4 e1@3 a#2@5 ~ e1@5 ~",
  U: "a1@7 ~@2 a1@11 ~ e2@3", V: "a2@19 ~@2 a1 ~@2", W: "g1@18 ~@3 g1 ~@2", X: "c2@6 ~@3 c2 ~@2 d2@5 ~ e2@4 ~@2",
  Y: "[f2@8 ~ e2@10 ~@2 d2@17 ~ a1 ~@2 d2@3 e2@2 ~]/2", Z: "[f2@7 ~@2 e2@9 ~@3 d2@10 ~@2 d2 ~@2 g1@11 ~]/2",
  AA: "c2@7 ~@2 c2@10 ~@2 g1@2 ~", AB: "c2@6 ~@3 c2@11 ~ g1 ~@2", AC: "c2@6 ~@3 c2@8 ~@4 g1 ~@2",
  AD: "c2@6 ~@3 c2@9 ~@3 g1 ~@2", AE: "c2@7 ~@2 c2@2 ~ e1@2 ~ e1@2 ~ f1@2 ~ f#1@3", AF: "g1@2 ~@4 g1@17 ~",
  AG: "a1@7 ~@2 a1@9 ~@3 d2@3", AH: "a2@6 ~@3 a2@5 ~ a2 ~@2 e2@3 a2@2 ~", AI: "g2@7 ~@2 g2 ~@2 g2@2 ~ g2@2 ~ d2@3 g2@3",
  AJ: "f#2@6 ~@3 f#2@6 c#2@3 f#1@5 ~", AK: "b1@8 ~ b2@5 ~ b1@3 d2@2 ~ d#2@2 ~", AL: "e2@7 ~@2 e1@9 b1@3 e2@3",
  AM: "[d2@7 ~@2 c#2@9 ~@3 b1@10 ~@2 b1@3 e2@6 e1@6]/2", AN: "f#1@6 ~@3 f#1@10 ~@2 b1@3",
  AO: "[f#2@6 ~@3 f#2@10 ~@2 f#2 ~ f#2@8 ~@2 g2@10 ~@2 g2@3]/2", AP: "f#2@6 ~@3 c2@2 ~ f#1@8 ~@4",
  AQ: "b1@7 ~@2 b1@4 ~@2 b1 ~@2 d2@3 d#2@2 ~", AR: "e2@6 ~@3 e1@3 a#2@5 ~ f2@5 ~", AS: "a1@7 ~@2 a1@9 ~@3 e2@3",
  AT: "[g2@7 ~@2 g2@8 g2@3 d2@3 c2@7 ~@2 c2@3 d2@6 e2@4 ~@2 f2@7 ~@2 e2@9 ~@3 d2@19 ~@2 d2@3 e2@2 ~ f2@9 e2@9 ~@3 d2@24 ~@4]/6",
  AU: "f2@11 ~ e2@10 ~@2", AV: "[d2@27 c2@7 ~@3 c2@10 ~]/2", AW: "~ g1 ~@2 c2@6 ~@3 c2@8 ~ a1@2",
  AX: "~ g1@3 c2@6 ~@3 c2@3 c2@3 c2@3 ~@2", AY: "~ g1@2 ~ c2@6 ~@3 c2@7 ~@2 a1@2", AZ: "~ g1@3 c2@6 ~@3 c2@10 ~",
  BA: "~ g1@2 ~ c2@6 ~@3 c2@8 ~ f2@2", BB: "~ b1@3 g2@8 ~ g1@9 ~@2", BC: "~ g1@3 g2@7 ~@2 g1@9 ~@2",
  BD: "~ g1@2 ~ g2@8 ~ g1@9 ~@2", BE: "~ g1@2 ~ g2@7 ~@2 g1@9 ~@2", BF: "[~ g1@2 ~ g2@8 ~@2 g1@14 ~@3 c2@68 ~@21]/5",
})).s("gm_electric_bass_finger").gain(0.25)

// chords · acoustic guitar nylon · "Guitare  3"
const acoustic_guitar_nylon = note(`<
  ~ A B@2 C D@3 ~ E F G H I J K@2 L M N O P Q R S T U V@2 W@2 X Y X Y Z AA AB F G AC I AD K@2 L M N AE P AF R AG AH AI@5
  AJ AK@2 AL@4 AM@5 AN@6
>`.pickRestart({
  A: "[e3,a3,c#4]@4 ~@2 c#4@5 ~ [a3,c#4]@5 ~ [e3,a3,c#4]@4 ~@2", // A
  B: "[[e3,g#3,c#4]@7 ~@2 [e3,g#3,c#4]@7 ~@2 e3@3 ~@3 [e3,g3]@7 ~@2 [e3,g3,c#4]@7 ~@2 [e3,c#4]@2 ~@4, ~@17 c#4@3 ~@3 c#4@7 ~@18]/2", // C#m Em C#dim C#m
  C: "[e3,a#3,c#4]@6 ~@3 [e3,a#3,c#4]@7 ~@2 [e3,a#3,c#4]@3 ~@3", // A#dim
  D: "[~@42 d3@2 f#3@3 ~ [b3,e4]@24, c#4@6 d3@11 d3@12 ~ d3@10 ~@7 d3@2 ~@23, ~@3 f#3@10 ~ f#3@5 ~@20 f#3@5 ~@3 g#3@25, ~@9 b3@14 c#4@9 ~ b3@14 ~@25]/3", // E5
  E: "~@9 e3@3 ~@6 e4 ~ e3@3 ~, ~ a2@8 ~@3 a2@11 ~, ~@3 e3@5 ~@16, ~@6 c#4@9 ~@3 c#4@5 ~",
  F: "[e3,c#4]@2 ~ [e3,g#3,c#4]@3 ~@3 [e3,g#3]@8 ~ [e3,g#3,c#4]@4 ~@2", // C#m E C#m
  G: "~@7 e3, e3@19 ~@5, ~@3 g3@10 ~@2 g3@9, ~@6 e4@17 ~, ~@3 b3@5", H: "~@9 d4@5 ~ c#4@7 ~@2, e3@11 ~, ~@3 e4@8 ~",
  I: "~@15 a3@5 ~@4, b2@23 ~, ~@3 d3@17 ~@4, ~@3 a3@4 ~@5, ~@3 b3@5", J: "[b2,e3,g#3,c#4]@2 ~ [b2,f3,g#3,b3]@3 ~@2",
  K: "[[f#3,b3,d4,a4]@6 ~@3 [g#3,c#4]@5 ~@4 g#3@2 ~ [f#3,b3,d4,f#4]@14 ~ [e3,b3,e4,a4]@10 ~@2, ~@9 [e4,g#4]@11 ~@28, ~@5 c#4@2 ~@9]/2", // Bm7 C#5 Bm Esus4 E
  L: "~@6 a3@6 ~@3 [a3,c#4,f#4]@4 ~@2 [a3,c#4]@3, f#3@5 ~ f#3@6, ~@3 c#4@4 ~@5", // F#m A
  M: "~@9 a3@5 ~@4 f#3@3 c#3@3, c#3@19 ~@5, ~@3 f#3@14 ~@7, ~@3 c#4@5, ~@15 a3@8 ~",
  N: "~@6 g3 ~, b3@7 ~, ~@6 g3@11 ~@7, ~@9 e3@5 ~ e3@6 ~@3, ~@4 b2@3 ~",
  O: "~@7 f#3, f#3@5 ~, ~@3 a#3@14 ~ a#3@6, ~@6 c#4@7 ~@2 c#4@9, ~@3 f#4@5",
  P: "~@15 a3@5 ~@4, b2@11 ~, ~@3 d3@17 ~@4, ~@3 a3@4 ~@5, ~@9 b3@14 ~", Q: "[e3,b3]@5 ~@4 [e3,g#3,b3,e4]@9 ~@6",
  R: "~@7 e3, a2@11 ~ a2@12, ~@6 [a3,c4,e4]@11 ~ [a3,c4,e4]@6, ~@9 e3@5 ~ e3@5 ~@4", // Am
  S: "~@7 e3, e3@19 ~@5, ~@6 e4@17 ~, ~@9 c4@14 ~, ~@5 g#3@3",
  T: "~@6 [e3,a#3,c4,e4]@5 ~@4 [e3,a#3,c4,e4]@3 ~@3 [e3,a#3,e4]@3, c3", // C7 Edim
  U: "~@3 a#3@4 ~@2 e3@3 ~@3 [e3,a#3,c4,e4]@3 ~@3 [e3,a#3,c4,e4]@3, c3!2, ~@9 [a#3,c4,e4]@5 ~@10", // C7
  V: "[[f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@25 ~@2]/2", // Fmaj7 Em Dm
  W: "[[f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@15 [d3,g3,c4,f4]@11 ~]/2", // Fmaj7 Em Dm Dm7
  X: "~@15 [c4,e4]@4 ~@2 [g3,c4,e4]@3, c3@5 ~ c3@6, ~@3 [g3,c4,e4]@4 ~@5", // C
  Y: "~@3 [c4,e4]@3 ~@12 [a3,c4,e4]@5 ~, c3@11 ~ c3@11 ~, ~@3 [a3,c4,e4]@2 ~@3", // C Am
  Z: "~@15 [c4,e4]@4 ~@2 [g3,c4,e4]@3, c3@5 ~ c3@5 ~, ~@3 [g3,c4,e4]@4 ~@5", // C
  AA: "[d3,g3,c4,f4]@3 ~@3 [d3,g3,c4,f4]@17 ~", // Dm7
  AB: "~@9 e3@3 ~@6 e4 ~@2 e3@3, ~ a2@8 ~@4 a2@11, ~@4 e3@5 ~@15, ~@6 c#4@9 ~@3 c#4@5 ~",
  AC: "~@10 d4@5 c#4@7 ~@2, e3@11 ~, ~@3 e4@8 ~", AD: "[b2,e3,g#3,c#4]@2 ~ [b2,e3,g#3,b3]@2 ~@3",
  AE: "~@7 f#3, f#3@5 ~, ~@3 a#3@14 ~ a#3@6, ~@6 c#4@7 ~@2 c#4@8 ~, ~@3 f#4@5",
  AF: "[e3,b3]@5 ~@4 [f3,g#3,b3,f4]@9 ~@6", AG: "~@20 e3@3 ~, e3@19 ~@5, ~@6 e4@17 ~, ~@9 c4@14 ~, ~@14 g#3@9 ~",
  AH: "~@5 [e3,a#3,c4,e4]@5 ~@5 a#3@3 ~@3 a#3@3, c3@23 ~, ~@14 [e3,c4,e4]@3 ~@3 [e3,e4]@3 ~", // C7 C E
  AI: "[~@3 a#3@4 ~@7 [e3,a#3,c4,e4]@3 ~@3 [e3,a#3,c4,e4]@3 [f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@25 ~@2 [f3,a3,c4,e4]@7 ~@2 [e3,g3,b3,e4]@10 ~@2 [d3,a3,d4,f4]@26 ~@2, c3@12 c3@11 ~@97, ~@8 [c4,e4]@5 ~@107, ~@8 e3@3 ~@109, ~@9 a#3@5 ~@106]/5", // C7 Fmaj7 Em Dm Fmaj7 Em Dm C
  AJ: "[f3,a3,c4,e4] [e3,g3,b3,e4]", // Fmaj7 Em
  AK: "[[d3,a3,d4,f4]@27 ~@16 c4@5, ~@27 c3@12 ~ c3@8, ~@33 [c4,e4]@8 ~@7, ~@17 g3@4 ~@3]/2", // Dm C
  AL: "[~ [c4,e4]@2 ~@4 c4@4 ~@2 [a3,c4]@2 ~@5 c4@3 ~@3 a3@2 ~@6 [g3,c4,e4]@7 ~@3 c4@5 ~ c4@2 ~@3 c4@4 ~@3 f4@3 ~@3 [a3,c4]@3 ~@3 a3@2 ~@6 [g3,c4,e4]@7 ~@3 c4@4, ~@4 c3@8 ~ f4@5 ~ a3@4 ~@2 [c4,f4]@3 ~@21 e4@2 ~@10 c4@2 ~@10 [c4,f4]@3 ~@20, ~@16 c3@12 c3@12 ~ c3@9 ~@3 c3@8 ~ a3@2 ~ c3@11 c3@12 ~ c3@7]/4", // C Am C Am C F5
  AM: "[~@2 c4@2 ~@3 c4@4 ~@3 f4@3 ~@3 [a3,c4]@3 ~@3 a3@2 ~@6 g3@6 ~@3 [b3,e4]@5 ~ [b3,e4]@3 ~@3 [c4,e4]@3 ~@3 e4@3 ~@3 [a3,c4,e4]@4 ~@2 [a3,c4,e4]@3 ~@6 g3@6 ~@3 [g3,b3,e4]@5 ~ [g3,b3,e4]@3 ~@3 [a3,c4,e4]@4 ~@8 [c4,e4]@5, ~ e4@2 ~@2 c3@8 c4@2 ~@10 [c4,f4]@3 b2@24 c3@11 ~ c3@12 b2@24 ~@20, ~@14 a3@2 ~ c3@12 ~@5 [b3,e4]@8 ~@19 [a3,c4]@5 ~@16 [b3,e4]@8 ~@19 [a3,c4,e4]@5 ~@6, ~@40 e3@13 ~@35 e3@12 d3@12 d3@6 ~@2]/5", // Am E5 C Am Em Am C F5 …
  AN: "[~ [a3,c4,e4]@3 ~@6 g3@6 ~@3 [g3,b3,e4]@5 ~ [g3,b3,e4]@3 ~ c4@22 ~@4 [e3,g3]@63 ~@26, ~@2 b2@12 ~@13 g2@35 ~@10, ~@10 [b3,e4]@8 ~@11 g4@14 ~@12 b3@66 ~@23, ~@16 e3@11 ~ [d3,g3,f4]@24 ~@3 c3@69 ~@20]/6", // Am Em E5 G7
})).s("gm_acoustic_guitar_nylon").gain(0.13).pan(0.8)

// chords · acoustic guitar nylon · "Guitare  3" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~ A B C ~ D@2 ~@2 E F ~ G ~@4 H ~@3 I J K L M N ~@4 O P O P O ~ E F ~ G I ~@3 H ~@3 I J K L Q R ~@6 S T U V U V W X ~
  Y ~@6
>`.pickRestart({
  A: "~@6 e3@5 ~ e3@5 ~@7", B: "~@6 g#3 ~", C: "~@9 g3 ~@2", D: "[~@20 f#3@6 ~ f#3@3 ~@18]/2",
  E: "~@2 a3@3 ~@3, ~@6 e4 ~@17", F: "g#3 ~@11", G: "~ g#3 ~@6", H: "~@2 f#4 ~@4 f#4", I: "~@7 d3", J: "e4@5 ~@19",
  K: "~@3 e3@5 ~@16", L: "~@3 g#3@11 ~@10", M: "~@7 c4", N: "~@3 [e3,c4]@4 ~@17", O: "~@15 g3@4 ~@5", P: "~ a3 ~@6",
  Q: "~@20 c4@3 ~", R: "~@3 e3@4 ~@17, ~ c4@2 ~@9", S: "~@19 [g3,e4]@5", T: "~ g3@2 ~@4 [a3,f4]@4 ~@8 f4@4 ~",
  U: "~@5 [g3,e4]", V: "~@2 g3@2 ~@3 [a3,f4]@4 ~@9 f4@3 ~", W: "~@19 g3@5", X: "~ g3@3 ~@3 a3@4 ~@13", Y: "~@19 a3@5",
})).s("gm_acoustic_guitar_nylon").gain(0.07).pan(0.8)

// chords · string ensemble 2 · "Cordes   6"
const string_ensemble_2 = note("<~@17 A B C D@3 E@4 F@4 G@5 H I@4 J K L@2 M@4 N@8 O@3 P Q@8 R@8>".pickRestart({
  A: "[f#3,f#4]", B: "[f3,f4]", C: "[e3,e4]",
  D: "[[f#3,f#4]@11 ~@13 e3@10 ~@2, ~@23 c#4@9 ~ b3@35 ~@4, ~@8 f#3@15 ~, ~@24 d3@23 ~@25]/3", // F#
  E: "[a3@23 g#3@23 ~@26 d4@12 e4@10 ~@2, e4@3 ~, c4@47 g3@46 ~@3, ~@24 a#3@23 ~]/4",
  F: "[[f4,a4]@8 ~ [e4,g4,b4]@10 ~@2 [d4,f4,a4]@21 ~@6 [f4,a4]@7 ~@2 [e4,g4,b4]@9 ~@3 [d4,f4,a4]@22 ~@5, c5@6 ~@41 c5@7 ~@42]/4", // F Em Dm F Em Dm
  G: "[[g3,e4]@23 ~ a3@23 ~ e4@24 [a3,f4]@24 [g3,e4]@22 ~@2, c4@39 ~, ~@23 f4@24 ~ g3@21 ~@51]/5", // C Dm C
  H: "[f3,g3,c4] ~@5 c4@12 b3@6, ~ [f3,g3]@3", I: "[a3@24 g#3@23 g3@24 [f#3,a#3]@23 ~@2, [e3,c#4]@47 ~]/4",
  J: "[d3,f#3,a3]@11 ~", K: "[b2,e3,g#3]@8 ~ [d3,e3]@12 ~@3, ~@8 b2@13 ~@3",
  L: "[[d4,f#4,a4]@8 ~ [c#4,e4,g#4]@10 ~@2 [b3,d4,f#4]@13 ~@2 [f#3,a3,d4]@11 ~]/2", // D C#m Bm D
  M: "[f#3@24 f3@22 ~ e3@24 [f#3,a#3]@22 ~ [d3,f#3,a3]@2, c#4@31 ~, a3@47 g3@22 ~@27]/4", // F# D
  N: "[~@8 b2@9 a3@4 ~@2 [e3,g#3,c#4]@9 [c#3,b3]@12 ~@3 a3@24 g#3@23 ~@25 d4@12 e4@10 ~@2 [f4,a4]@8 ~ [e4,g4,b4]@10 ~@2 [d4,f4,a4]@21 ~@6 [f4,a4,c5], ~@8 [d3,f#3]@13 ~@11 f3@14 ~ e4@72 ~@24 c5@6 ~@43, ~@47 c4@47 ~ [g3,a#3]@46 ~@51]/8", // C#m C#7 F Em Dm F D Gm
  O: "[~@8 [e4,g4,b4]@9 ~@3 [d4,f4,a4]@22 ~@5 [c4,e4,a4]@11 ~@2 [b3,d4,g4]@10 ~@2]/3", P: "~ a3@23, [c4,f4]",
  Q: "[~@3 [e3,g3]@24 ~ [f3,a3]@24 [e3,g3]@23 ~@26 g3@23 [f3,a3]@23 ~@2 [g3,b3]@23 ~ [f3,a3]@19, ~@3 c4@143 ~@2 e4@25 ~@19, ~@75 f3@25 e3@24 ~@68, ~@38 a3@13 ~@35 d4@10]/8", // Em F Em F G F
  R: "[~@4 [g3,e4]@23 ~ a3@21 ~@3 [g3,b3]@21 ~@2 [f3,a3,d4]@25 ~@3 [e3,g3,b3,c4]@67 ~@22, ~@4 b3@22 ~ d4@24 e4@25 ~@116, ~@28 f3@19 ~@145]/8", // C G Dm Cmaj7
})).s("gm_string_ensemble_2").gain(0.18).pan(0.2)

// chords · string ensemble 1 · "Cordes   7"
const string_ensemble_1 = note("<~@23 A B C@2 D@2 E@4 F G H I J K L M N ~ O@2 P Q@5 R S@8 T U@6 V@4 W@6>".pickRestart({
  A: "a5", B: "g#5", C: "[g5@23 ~]/2", D: "[[a4,c5,e5]@7 ~@2 [g4,b4,d5]@9 ~@2 [f4,a4,c5]@24 ~@4]/2",
  E: "[[a4,c5,e5]@8 ~ [g4,b4,d5]@10 ~@2 [f4,a4,c5]@21 a4@5 g4@26 a4@23]/4", F: "g4@11 c5@13", G: "d5@5 g4 c5 d5",
  H: "g5@20 ~@3 [c5,d5], ~@11 g4", I: "g5 ~@5 g4@15 ~@3", J: "~@2 c#4@21 ~, ~ e4@22 ~",
  K: "~ e4@13 ~ [e3,e4]@3 [a3,a4]@3 [b3,b4]@3, c#4@5 ~@3", L: "[c#4,c#5]", M: "[d4,d5] [e4,e5]", N: "[f#4,f#5]@23 ~",
  O: "[[f#4,a4]@9 [e4,g#4]@10 ~ [d4,f#4]@25 ~@3]/2", P: "~ [f#4,f#5]",
  Q: "[[g#4,g#5]@17 [f#4,f#5]@3 [g#4,g#5]@3 [a4,a5]@18 [b4,b5]@6 [c#5,c#6]@22 ~@2 [f#3,a3,c#4]@8 ~ b3@8 ~ a3@4 ~@2 [e3,g#3,c#4]@8 ~ f3@9 a3@5 ~@2, ~@80 [d3,f#3]@13 ~@11 b3@8 ~@8]/5", // G# F# G# A B C# F#m C#m …
  R: "~@5 a5 g5 a5 ~@3 g5@2 e5 ~@3 e5 d5 e5 ~@3 d5",
  S: "[~ c5 ~@3 c5 b4@2 c5 ~@3 b4 ~ b4 ~@2 a4@4 ~@2 c5@23 ~ [d5,f5]@11 [e5,g5]@11 ~@2 [c5,e5,a5]@6 ~@3 [b4,d5,g5]@9 ~@4 c5@21 ~@5 [c5,e5,a5]@6 ~@3 [b4,d5,g5]@9 ~@3 [a4,c5,f5]@24 ~@3 [c4,e4,a4]@13 ~ [d4,g4]@11, ~@13 a4@2 ~@6 b4@4 ~@67 [a4,f5]@21 ~@67 b3@12]/8", // Dm Em Am G Am G F Am …
  T: "~ [c4,f4]@23, a3", // F5
  U: "[~@3 g3@24 ~ a3@23 ~ [g3,e4]@24 f4@24 e4@24 [a3,f4]@20, ~ c4@71, ~@2 e4@25 f4@25 ~@24 a3@22 ~@2 g3@23 ~@21]/6", // C Dm
  V: "[~@4 [g5,g6]@91 ~, ~ [g5,c6] ~@46, ~@3 d6@2 ~@91]/4", // G C5
  W: "[~@4 [g5,g6]@49 ~@3 [g5,g6]@75 ~@13, ~ g5@2 d6@2 ~@139, ~ c6 ~@70]/6", // G
})).s("gm_string_ensemble_1").gain(0.1).pan(0.8)

// other · trombone · "Trombone 8"
const trombone = note("<~ A B C D E@2 F@2 ~@18 G@4 H I H J K L ~@17 M@6 N ~@2 O P O Q R S T U V W@4 ~>".pickRestart({
  A: "~@12 c#4@4 b3@3 ~ a3@4", B: "c#4@23 ~", C: "~@12 c#4@4 e4@3 ~ f#4@3 ~", D: "g4@5 ~ f#4@6 e4@5 d4@5 ~@2",
  E: "[c#4@8 ~ b3@5 f#3 ~@3 a3@17 ~@7 f#3@3 a3@2 ~]/2", F: "[c#4@7 ~@2 e4@3 c#4 ~@2 f#3 ~@2 a3@22 ~@8]/2",
  G: "[f3@6 ~@2 e3@10 ~@3 d3@23 ~@4]/2", H: "~@18 g3@3 a3 ~@2", I: "c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2 ~@4",
  J: "c4 ~@2 g4@3 ~@3 e4@9 d4@2 ~@4", K: "~@15 a3 ~@2 g3@3 a3 ~@2", L: "c4 ~@5 g2@16 ~@2",
  M: "[~@23 f3@6 ~@3 e3@10 ~@2 d3@23 ~@4 f3@6 ~@3 e3@10 ~@2 d3@23 ~@4 a3@5 c4@4 d4@4 e4@4 d4@4 ~ c4@3]/6", N: "~ a3@23",
  O: "~@11 g3", P: "~ a3 ~@2 c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2", Q: "~ a3 ~@2 c4 ~@2 g4@3 ~@3 e4@9 d4@2",
  R: "~@16 b4@3 g4@2 ~@3", S: "~ e4@9 ~ d4@2 ~@11", T: "~@8 b4@2 g4 ~", U: "~ d4@9 e4@3 ~@11", V: "~@19 g3@3 a3@2",
  W: "[f4 f#4 g4@28 ~ e4@65]/4",
})).s("gm_trombone").gain(0.52)

// other · trombone · "Trombone 9"
const trombone_2 = note("<~@27 A@4 B C B D E F ~@17 G@6 H ~@16>".pickRestart({
  A: "[c4@6 ~@3 b3@10 ~@2 a3@23 ~@4]/2", B: "~@18 g3@3 a3 ~@2", C: "c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2 ~@4",
  D: "c4 ~@2 g4@3 ~@3 e4@9 d4@2 ~@4", E: "~@15 a3 ~@2 g3@3 a3 ~@2", F: "~ c4 ~@5 g2@15 ~@2",
  G: "[~@23 c4@6 ~@3 b3@10 ~@2 a3@23 ~@4 c4@6 ~@3 b3@10 ~@2 a3@23 ~@4 a3@5 ~ c4@4 d4@4 e4@4 d4@3 ~ c4@3]/6",
  H: "~ a3@21 ~@2",
})).s("gm_trombone").gain(0.29).pan(0.3)

// other · trumpet · "Trompette"
const trumpet = note("<~@27 A@4 B C B D E F ~@17 G@6 H ~@16>".pickRestart({
  A: "[e5@6 ~@3 d5@10 ~@2 c5@23 ~@4]/2", B: "~@18 g3@3 a3 ~@2", C: "c4 ~@2 e4@3 ~@3 c4@7 b3 a#3 a3@2 ~@4",
  D: "c4 ~@2 g4@3 ~@3 e4@9 d4@2 ~@4", E: "~@15 a3 ~@2 g3@3 a3 ~@2", F: "~ c4 ~@5 g3@17",
  G: "[~@23 e5@6 ~@3 d5@10 ~@2 c5@23 ~@4 e5@6 ~@3 d5@10 ~@2 c5@23 ~@4 a3@5 c4@4 d4@4 ~ e4@4 d4@4 c4@3]/6",
  H: "~ a3@22 ~",
})).s("gm_trumpet").gain(0.29).pan(0.8)

// bass · acoustic guitar nylon · "Bruitage"
const bass_2 = note("<~ A B C D E F G H ~@22 I@2 J@2 K L ~@24 M N O@3 P ~@10>".pickRestart({
  A: "a1@23 ~", B: "a2@7 ~@2 a2@13 ~@2, a1@7 ~", C: "a2@7 ~@2 a2@14 ~, a1@11 ~", D: "a#2@7 ~@2 a#2@14 ~, f#1",
  E: "b1@11 ~", F: "b1", G: "e1@11 ~", H: "e1@23 ~", I: "c2@7 ~@2 c2@9 ~@6", J: "c2@2 ~ c2@3 ~@2",
  K: "c2@7 ~@2 c2@10 ~@5", L: "g2 ~@5 g2@16 ~@2", M: "~@3 c2@6 ~@4 c2@9 ~@2", N: "~@4 c2@7 ~@2 c2@9 ~@2",
  O: "~@4 c2@6 ~@3 c2@9 ~@2", P: "~@4 c2@7 ~@3 c2@9 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.18).pan(0.6)

// other · piano · "mmp1429u; Ce Matin"
const piano = note(`<
  ~@8 A@3 B@2 C D@5 B@2 E F G@2 H@2 I@2 J@2 K L@2 M@2 N@3 O@2 C D@5 B@2 E P G@2 H@2 Q@4 R S@2 T U V U W@2 X Y Z AA AB@3
  ~@2
>`.pickRestart({
  A: "[~@4 a4 b4 a4 c#5@3 ~@3 a4 b4 c#5@3 ~@4 a4 b4]/3", B: "[c#5@3 d5 c#5 b4 a4 c#5@3 ~@2 c#5 d5 c#5 d5]/2",
  C: "c#5@2 a4 a4@2 f#4 a4 b4",
  D: "[c#5 ~ c#5 b4 ~@2 a4 c#5@3 c#5 b4@3 c#5 a4@3 ~@3 a4 b4 c#5@5 ~ a4 b4 c#5@3 ~@4 a4 b4]/5",
  E: "c#5@2 c#5 a4@2 f#4 a4 b4", F: "c#5@2 c#5 b4@2 ~ a4@2", G: "[e5@2 ~@3 c5 d5 e5@3 ~@4 c5 d5]/2",
  H: "[e5@3 f5 e5 d5 c5 e5@3 ~@2 f5 g5 f5 g5]/2", I: "[e5 ~ e5 d5@2 ~ d5 c5@3 ~@3 a4 c5 d5]/2",
  J: "[e5@2 e5 d5@2 ~ d5 c5@2 ~@3 a4 b4@3]/2", K: "c5 ~", L: "[~@4 a4 b4@2 c5@3 ~@6]/2", M: "[~@4 e5 f5@2 c5@3 ~@6]/2",
// … 99 more lines

More by Axelle Red