Strudelify
Sicilienne Op.78 cover art

Café au lait

Sicilienne Op.78

Gabriel Fauré

KeyB♭ majorTempo75 bpm
0:00/0:00
// Sicilienne Op.78 — Gabriel Fauré
// 75 bpm, 6/8, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 4 "Clarinette en Si♭" named as a reed, played on clarinet (its piano patch is not one); ch 5 "Saxophone Alto" named as a reed, played on alto sax (its electric guitar muted patch is not one); ch 6 "Saxophone Ténor" named as a reed, played on alto sax (its piano patch is not one); ch 7 "Saxophone Baryton" named as a reed, played on alto sax (its acoustic bass patch is not one); ch 11 "Trombone" named as a brass, played on trombone (its slap bass 1 patch is not one); ch 2 "Trombone Bb" named as a brass, played on trombone (its slap bass 1 patch is not one); ch 12 "Guitare acoustique" named as a guitar, played on acoustic guitar steel (its slap bass 2 patch is not one); ch 1 "Guitare acoustique (Tablature)" named as a guitar, played on acoustic guitar steel (its tremolo strings patch is not one)
// note: duplicate parts dropped: ch 2 "Trombone Bb" trombone (copy of ch 11 "Trombone" trombone)
// note: Transcription provider: pdmx. https://musescore.com/score/6001516; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 89 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Guitare acoustique (Tablature).
setcpm(75/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.

// chords · clarinet · "Clarinette en Si♭"
const clarinet = note(`<
  A B C@2 D E F@2 G H I@2 J K L@2 M N O P Q R S T U V@2 W X Y@2 Z AA AB AC AD AE AF AG AH AI ~@20 AJ AK AL AK AM AN AO
  AP AM AQ AR AS V@2 W X Y@2 Z AA AB AC AD AE AF AG AH AI
>`.pickRestart({
  A: "~@5 d3", B: "g3@2 bb3 d4@2 g4", C: "[bb4@3 a4 g4@2 a4@4 d4@5 c4 e4@2 d4@3 c4 e4@2]/2", D: "d4@4 ~ d3",
  E: "g3@2 bb3 d4@2 f4",
  F: "[ab4@3 g4 f4@2 g4@4 ~@2 bb4@2 ~ gb3 a3@2 [g3,a4]@2 ~ gb3 bb3@2, c5@3 b4@3 ~ bb4 ~@2 a4 ~, ~@10 g3@5 ~@9]/2", // Gsus2
  G: "g3@2 ~@3 d4, bb4", H: "[g4,bb4]@2 bb4 ~@2 g5, ~ d5",
  I: "[bb5@3 a5 g5@2 [a4,a5]@4 d5@2 d5@3 [a4,c5] [c5,e5]@2 [bb4,d5]@3 [a4,c5] [c5,e5]@2, bb4@6 ~@4 bb4@5 ~@9]/2", // A Am C Bb Am C
  J: "[a4,d5]@4 ~ d4", K: "[g4,bb4]@2 bb4 ~@2 f5, ~ d5",
  L: "[ab5@3 g5 f5@2 [b4,g5]@4 g4@2 g4@3 [d4,gb4] [e4,a4]@2 [d4,g4]@3 [c4,gb4] [e4,bb4]@2, c5@6 ~@4 e4@5 ~@9]/2", // Em D A5 G5 Cdim Edim
  M: "[d4,g4] ~", N: "[d4,b4]@7 g4 [db4,a4]@4 [c4,bb4]@7 c5 [bb3,db5]@4",
  O: "[a3,d5]@7 eb5 [c4,f5]@4 [bb3,g5]@7 a3 [ab3,d5]@4", P: "[g3,bb4]@7 g4 [db4,a4]@4 [c4,bb4]@7 c5 [bb3,db5]@4",
  Q: "[a3,d5]@7 [bb3,e5] [c4,gb5]@4 [bb3,g5]@12", R: "[g4,d5]@7 [g4,e5] [a4,gb5]@4 g4@7 a4 g4@4, ~ g5",
  S: "[a4,d5]@7 [bb4,e5] [a4,gb5]@4 bb4@7 a4 ab4@4, ~ g5", T: "[g4,d5]@7 [bb4,e5] [a4,gb5]@4 g4@7 a4 g4@4, ~ g5",
  U: "[a4,d5]@7 [bb4,e5] [a4,gb5]@4 g5@12, ~@3 bb4@2 ~", // D5 Bbdim D
  V: "[[f5,g5]@12 e5@4 ~@7 [bb4,g5]@8 [a4,gb5] [bb4,g5]@4 [a4,gb5]@7 g4 gb4@4, ~@6 d5 ~@17]/2", // Fsus2 Eb D Eb D
  W: "[f5,g5]@12 e5@4 ~@7 c5, ~@12 d5 ~@11", X: "c5@7 a4 bb4@4 ~@4 c4@3 gb4 a4@3 d5, ~@3 a4@2 ~",
  Y: "[c5@7 a4 bb4@4 [a4,e5]@4 c4@3 gb4 a4@3 d5 c5@7 [a4,gb5] [bb4,g5]@4 a4@4 c4@3 gb4 a4@3 d5, f5@12 ~@11 g5@8 ~@5 gb5@7 ~@5]/2", // A5 D Eb
  Z: "c5@7 a4 bb4@4 [a4,e5]@4 c4@3 gb4 a4@3 d5, f5 ~", // A5
  AA: "c5@7 a4 bb4@4 a4@4 c4@3 [e4,gb4] [gb4,a4]@3 d5, ~@12 gb4@7 ~@5", AB: "g4@2 bb4 d5@2 g5",
  AC: "bb5@7 a5 g5@4 a5@8 d5@4", AD: "d5@7 c5 e5@4 d5@7 c5 e5@4", AE: "d5@4 ~ d4", AF: "g4@2 bb4 d5@2 f5",
  AG: "ab5@7 g5 f5@4 [b4,g5]@8 [d4,g4]@4, c5 ~", AH: "[c4,g4]@7 gb4 a4@4 [bb3,g4]@7 gb4 bb4@4, ~@4 c4 ~@5 bb3 ~",
  AI: "bb3@2 ~, g4 ~", AJ: "g4!2", AK: "a4 bb4", AL: "g4@2 a4 g4@2 g4", AM: "bb4 d5", AN: "d5 a4", AO: "bb4",
  AP: "a4@4 a4 ~", AQ: "c5 b4", AR: "c4 bb3", AS: "bb3@2 ~",
})).s("gm_clarinet").gain(0.25)

// other · piano · "Trompette en Si♭"
const piano = note(`<
  ~@9 A B@2 C A D@2 E ~@4 F G H I J@2 K@2 L@2 M N ~@6 O P ~@20 Q R S T A U V W A X Y P J@2 K@2 L@2 M N ~@6 O P
>`.pickRestart({
  A: "g4 f4", B: "[e4@6 d4@4 d5@5 c5 e5@2 d5@3 c5 e5@2]/2", C: "d5@2 ~",
  D: "[eb4@6 d4@4 g4@5 gb4 a4@2 g4@3 gb4 bb4@2]/2", E: "g4 ~", F: "b4@7 g4 a4@4 bb4@7 c5 db5@4",
  G: "d5@7 eb5 f5@4 g5@8 d5@4", H: "bb4@7 g4 a4@4 bb4@7 c5 db5@4", I: "d5@7 e5 gb5@4 g5@8 ~@4",
  J: "[[c5,g5]@12 [bb4,d5]@4 ~@7 bb4@8 a4 bb4@4 a4@12]/2", // C5 Bb
  K: "[[eb5,g5]@12 [bb4,d5]@4 ~@7 c5@8 a4 bb4@4 a4@4 a4@3 c5 d5@3 gb5]/2", // Eb Bb
  L: "[[eb5,g5]@12 [bb4,d5]@4 ~@7 bb4@8 a4 bb4@4 a4@12]/2", M: "[eb5,g5]@3 [bb4,d5] ~@2",
  N: "[ab4,c5]@2 [g4,bb4] [gb4,a4]@2 ~", O: "e4@2 eb4 d4@2 gb4", P: "g4@2 ~", Q: "b4 bb4", R: "d5 g4",
  S: "bb4@2 a4 bb4@2 c5", T: "d5!2", U: "e4 d4", V: "f4", W: "gb4@4 gb4 ~", X: "eb4 d4", Y: "e4 bb4",
})).s("gm_piano").gain(0.25)

// other · slap bass 2 · "Flûte"
const slap_bass_2 = note(`<
  ~@7 A ~@2 B@2 C ~ D@2 E F G H I J K L M N@2 O@2 P@2 Q ~@6 R S T ~@27 U ~@2 V T N@2 O@2 P@2 Q ~@6 R S T
>`.pickRestart({
  A: "~ d5 ~@2 c5 ~", B: "[~@10 d5@5 c5 e5@2 d5@3 c5 e5@2]/2", C: "d5@5 ~@3",
  D: "[~@20 g4@9 ~ gb4@2 a4@4 g4@6 gb4@2 bb4@4]/2", E: "g4 ~", F: "b4@6 ~ g4 a4@4 bb4@6 ~ c5 db5@4",
  G: "d5@6 ~ eb5 f5@4 g5@8 d5@4", H: "bb4@6 ~ g4 a4@4 bb4@6 ~ c5 db5@4", I: "d5@6 ~ e5 gb5@4 g5@11 ~",
  J: "g4@6 ~ g4 a4@4 g4@6 ~ a4 g4@4", K: "a4@6 ~ bb4 a4@4 bb4@6 ~ a4 ab4@4", L: "g4@6 ~ bb4 a4@4 g4@6 ~ a4 g4@4",
  M: "a4@6 ~ bb4 a4@4 bb4@8 ~@4", N: "[eb5@11 ~ d5@4 ~@7 bb5@8 a5 bb5@4 a5@8 ~@4]/2",
  O: "[c5@11 ~ bb4@4 ~@7 a4@8 gb4 g4@4 gb4@4 gb4@3 a4 c5@3 d5]/2", P: "[c5@11 ~ bb4@4 ~@7 bb5@8 a5 bb5@4 a5@8 ~@4]/2",
  Q: "c5@11 ~ bb4@4 ~@8", R: "ab4@11 ~ g4@8 g4@4", S: "e4@2 eb4 d4@2 d4", T: "d4@5 ~@3", U: "~@4 d4 ~",
  V: "e4@11 ~ d4@11 ~",
})).s("gm_lead_8_bass_lead").gain(0.27).pan(0.6)

// other · slap bass 2 · "Flûte" · soft notes
const slap_bass_2_soft = note("<~@6 A B C D E ~@2 D F ~@17 G ~@28 H I J I D K L M D N ~@9 G ~@8>".pickRestart({
  A: "eb5@11 ~ d5@11 ~", B: "d5 ~@2 c5 ~@2", C: "d5@23 ~", D: "g4@11 ~ bb4@11 ~", E: "d5@11 ~ d5@8 ~@4",
  F: "ab4@11 ~ g4@8 ~@4", G: "c5@6 ~ a4 bb4@4 a4@6 ~ g4 gb4@4", H: "g4@11 ~ g4@11 ~", I: "a4@11 ~ bb4@11 ~",
  J: "g4@2 a4 g4@2 g4", K: "bb4@11 ~ f4@11 ~", L: "d4@23 ~", M: "d4@5 ~@3", N: "ab4@11 ~ g4@11 ~",
})).s("gm_lead_8_bass_lead").gain(0.18).pan(0.6)

// chords · alto sax · "Saxophone Alto"
const alto_sax = note(`<
  ~@8 A B C D E F G D H ~@4 I J K L M@2 N@2 M@2 O P ~@5 Q R S ~@20 T U V W ~@2 X Y ~ Z AA S M@2 N@2 M@2 O P ~@5 Q R S
>`.pickRestart({
  A: "~@5 d4", B: "[bb3,g4]@2 [d4,bb4] [f4,d5]@2 [g4,d5]", C: "[bb4,e5]@3 [a4,d5] [g4,c5]@2 [a4,d5]@6",
  D: "~ [bb3,f4] [c4,e4] ~ [bb3,f4] [c4,e4]", E: "[d4,gb4]@4 ~ d4", F: "[bb3,g4]@2 [d4,bb4] [f4,d5]@2 [f4,d5]",
  G: "[ab4,eb5]@3 [g4,d5] [f4,c5]@2 [g4,b4]@6", H: "[bb3,d4]@2 ~", I: "[g4,b4]@7 ~ a4@4 bb4@7 c5 db5@4, ~@7 g4@5 g4@12",
  J: "[f4,d5]@7 [g4,eb5] [a4,f5]@4 [bb4,g5]@8 [f4,d5]@4", K: "bb4@7 g4 a4@4 bb4@7 c5 db5@4, d4 g4",
  L: "[gb4,d5]@7 [g4,eb5] [a4,gb5]@4 [bb4,g5]@8 ~@4", // D Cm D Eb
  M: "[[g4,eb5]@12 [d4,bb4]@4 ~@7 [g4,bb4]@8 [gb4,a4] [g4,bb4]@4 [gb4,a4]@7 [e4,g4] [eb4,gb4]@4]/2", // Cm Gm Gbm Gm Gbm Em Ebm
  N: "[[g4,eb5]@12 [d4,bb4]@4 ~@7 a4@8 gb4 g4@4 gb4@12]/2", O: "[g4,eb5]@3 [d4,bb4] ~@2",
  P: "[ab4,c5]@2 [g4,bb4] [gb4,c5]@2 [gb4,d5]", Q: "f4@3 d4@2 d4", R: "c4@4 c4 ~ bb3@4 bb3 ~", S: "bb3@2 ~",
  T: "[g4,b4] g4", U: "[f4,d5] [g4,d5]", V: "[d4,bb4]@2 a4 [g4,bb4]@2 c5", W: "[gb4,d5] [bb4,g5]", X: "f4",
  Y: "gb4@4 gb4 ~", Z: "f4 d4", AA: "c4 bb3",
})).s("gm_alto_sax").gain(0.2)

// chords · alto sax · "Saxophone Ténor"
const alto_sax_2 = note(`<
  A B C@2 D E F@2 G H I J K H L M N ~@4 O P Q R S@2 T@2 S@2 U V B W@2 D E X@2 Y ~@26 Z AA ~ AB AC AD S@2 T@2 S@2 U V B
  W@2 D E X@2 Y
>`.pickRestart({
  A: "~@5 d3", B: "g3@2 bb3 d4@2 g4", C: "[bb4@3 a4 g4@2 a4@4 d4@5 c4 e4@2 d4@3 c4 e4@2]/2", D: "d4@4 ~ d3",
  E: "g3@2 bb3 d4@2 f4", F: "[ab4@3 g4 f4@2 g4@4 g3@5 gb3 a3@2 g3@3 gb3 bb3@2]/2", G: "g3@3 ~@2 d3",
  H: "g3@2 [g3,bb3] [bb3,d4]@2 [d4,f4]", I: "[g4,bb4]@3 [f4,a4] [e4,g4]@2 [f4,a4]@6",
  J: "~ [f3,bb3] [g3,c4] ~ [f3,bb3] [g3,c4]", K: "[gb3,d4]@4 ~ d3", L: "[eb4,ab4]@3 [d4,g4] [c4,f4]@2 [b3,g4]@6",
  M: "~ [bb2,f3] [c3,g3] ~ [bb2,f3] [c3,g3]", N: "[bb2,g3]@2 ~", O: "[g3,b3]@7 ~ a3@4 bb3@7 c4 db4@4, ~@7 g3@5 g3@12",
  P: "[f3,d4]@7 [g3,eb4] [a3,f4]@4 [bb3,g4]@8 [f3,d4]@4", Q: "bb3@7 g3 a3@4 bb3@7 c4 db4@4, d3 g3",
  R: "[gb3,d4]@7 [g3,eb4] [a3,gb4]@4 [bb3,g4]@8 ~@4", // D Cm D Eb
  S: "[[f3,c4]@12 [e3,bb3]@4 ~@7 [db3,bb3]@8 [d3,a3] [e3,bb3]@4 [d3,a3]@7 [c3,g3] [eb3,gb3]@4]/2", // F5 Edim Gb D5 Edim D5 C5 Ebm
  T: "[[f3,c4]@12 [e3,bb3]@4 ~@7 e3@8 d3 e3@4 d3@12]/2", U: "[f3,c4]@3 [e3,bb3] ~@2",
  V: "[f3,d4]@2 [eb3,d4] [d3,c4]@2 d3", W: "[bb4@7 a4 g4@4 a4@8 d4@11 c4 e4@4 d4@7 c4 e4@4]/2",
  X: "[ab4@7 g4 f4@4 g4@8 g3@11 gb3 a3@4 g3@7 gb3 bb3@4]/2", Y: "g3 ~@2", Z: "d4!2", AA: "d4@4 d4 ~", AB: "ab3 g3",
  AC: "g3 gb3", AD: "g3@2 ~",
})).s("gm_alto_sax").gain(0.3)

// chords · alto sax · "Saxophone Ténor" · soft notes · G Dm G5 Gm D Eb
const alto_sax_soft = note(`<
  ~@61
  [[g3,b3] g3]
  [[f3,d4] [g3,d4]]
  [[d3,bb3]@2 a3 [g3,bb3]@2 c4]
  [[gb3,d4] [bb3,g4]]
  ~@24
>`).s("gm_alto_sax").gain(0.15)

// other · alto sax · "Saxophone Baryton"
const alto_sax_3 = note(`<
  A B C D E B F G H I J D K L M G N O P O Q@5 R@2 S T R@2 S U V W@2 X Y Z AA AB B C AC AD B F AE AF B C AC AD B F AE AF
  AG P@3 AH AI@3 AJ AK AL AM AJ AN AO AP R@2 S T R@2 S U V W@2 X Y Z AA AB
>`.pickRestart({
  A: "bb2 a2", B: "g2 f2", C: "e2 f2", D: "bb1 c2 bb1 c2", E: "d2@3 d3@2 d3", F: "eb2 d2", G: "c2 e2 f2 gb2",
  H: "g2@3 d2@2 d3", I: "g3@2 bb3 d4@2 g3, g2 f2", J: "bb3@3 a3 g3@2 [f2,a3]@6, e2 ~", K: "d2@6 d3@2 ~ d3 d3@2",
  L: "g3@2 bb3 d4@2 f3, g2 f2", M: "ab3@3 g3 f3@2 [d2,g3]@6, eb2 ~", N: "g2@12 d2@3 ~@3 d2@2 eb2@4",
  O: "e2@7 g2 e2@4 eb2@7 a2 eb2@4", P: "f2@7 g2 d2@4 bb1@3 ~@4 a1 g1@4", Q: "gb2@7 d2 gb2@4 g2@6 ~@6",
  R: "[f2@7 eb2 f2@4 g2@7 e2 bb1@3 ~ a1@7 [b1,a2] [db2,db3]@4 [d2,d3]@7 c3 a2@4, ~@23 db3@8 ~@17]/2", // B7 Db D
  S: "f2@7 eb2 f2@4 g2@7 e2 bb1@4", T: "a1@7 b1 db2@4 d2@7 c3 a2@4", U: "f2@2 eb2 d2@2 [d2,d3]",
  V: "[g2,g3]@2 [g2,bb2] [f2,d3]@2 [f2,g3]", // G Gm Dm Fsus2
  W: "[[e2,bb3]@7 a3 [e2,g3]@4 [f2,a3]@8 f2@4 bb1@7 c3 e3@4 [bb1,d3]@7 c3 e3@4, ~@20 d3@11 c2@5 ~@7 c2@5]/2", // Edim Em F Bb
  X: "[d2,d3]@3 d3@2 d3", Y: "[g2,g3]@2 [g2,g3] [f2,f3]@2 [f2,f3]", Z: "[eb2,eb3]@2 [eb2,eb3] [d2,d3]@2 [d2,d3]",
  AA: "[c2,c3]@7 [eb2,eb3]@5 [d2,d3]@7 [gb2,gb3]@5", AB: "g3@2 ~, g2 ~", AC: "bb1 bb2", AD: "d2 d3", AE: "c2 d2",
  AF: "g2@2 ~", AG: "e2@7 g2 e2@4 eb2@7 g2 eb2@4", AH: "e2@2 e2 eb2@2 eb2", AI: "f2@2 f2 bb1 ~ g2",
  AJ: "g2@2 g2 f2@2 f2", AK: "e2@2 e2 f2@2 f2", AL: "bb1@2 f2 bb2@2 c2", AM: "d2@3 ~ d4 d3, ~@3 d3@2 ~",
  AN: "eb2@2 eb2 d2@2 d2", AO: "c2@2 c2 d2@2 d2, c3 d3", AP: "[g2,g3]@2 ~",
})).s("gm_alto_sax").gain(0.3)

// other · alto sax · "Saxophone Baryton" · soft notes
const alto_sax_soft_2 = note(`<
  ~@11 A B ~@2 A C ~@4 D E F G ~@2 H@2 ~@3 I ~@28 J K F L ~@2 M N ~ O ~@4 H@2 ~@3 I ~@8
>`.pickRestart({
  A: "~ bb3 c4 ~ bb3 c4", B: "gb3@2 ~", C: "g3@2 ~", D: "d3@2 db3 c3@2 bb2", E: "a2@8 eb3@4 f3@7 a3 ab3@4",
  F: "g3@2 db3 c3@2 bb2", G: "a2@7 bb2 c3@4 bb2@8 ~@4", H: "[~@23 a3@8 gb3 e3@4 d3@12]/2", I: "f3@2 eb3 d3@2 ~",
  J: "d3 c3", K: "a2 f3", L: "a2 bb2", M: "bb3 c4", N: "d4@2 ~", O: "eb3 d3",
})).s("gm_alto_sax").gain(0.2)

// chords · acoustic guitar steel · "Guitare acoustique"
const acoustic_guitar_steel = note(`<
  ~@9 A@3 ~ B@3 C D E F G D E F G H I J I H I J K A@3 L B@3 M ~@3 N O@3 P ~@3 N O@3 P D E F G D E F G Q@4 R@3 S H I J I
  H I J K A@3 L B@3 M
>`.pickRestart({
  A: "[~@2 [g3,bb3,d4]@6 [f3,bb3,d4]@6 [e3,g3,b3,d4]@6 [f3,a3,d4]@6 [e3,g3,bb3]@2 [e3,g3,bb3,d4] ~@3 [gb3,bb3,c4]@2 [gb3,bb3,c4,e4] ~]/3", // Gm Bb Em7 Dm Edim Em7b5 Cm7b5 Gb7
  B: "[~@2 [g3,bb3,d4]@6 [f3,bb3,d4]@6 [eb3,f3,ab3,c4]@6 [d3,f3,g3,b3]@6 [e3,g3,bb3]@2 [e3,g3,bb3] ~@3 [d3,g3,c4]@2 [d3,gb3,c4]@2]/3", // Gm Bb Fm7 G7 Edim Csus2 D7
  C: "~ [d3,g3,bb3]@2 ~@3", D: "~@2 [e3,g3,b3]@2 [e3,g3,b3] ~@3 [eb3,g3,c4]@2 [eb3,g3,c4]@2",
  E: "~@2 [f3,a3,d4]@2 [f3,a3,d4] ~@3 [d3,g3,bb3]@2 [d3,g3,bb3]@2", // Dm Gm
  F: "~@2 [e3,g3,bb3]@2 [e3,g3,bb3] ~@3 [eb3,g3,c4]@2 [eb3,g3,c4]@2", // Edim Cm
  G: "~@2 [gb3,a3,d4]@2 [gb3,a3,d4] ~@3 [d3,g3,bb3]@2 ~@2", // D Gm
  H: "[f3,a3,eb4,g4]@6 ~ [f3,a3,eb4,g4]@5 [e3,bb3,d4,g4]@6 ~ [e3,bb3,d4,g4] ~@4", // F7 Em7b5
  I: "~ [e3,a3,db4,g4] [e3,bb3,db4,g4] ~ [c3,gb3,a3,gb4]!2", // A7 Edim Gbdim
  J: "[f3,a3,eb4,g4]@6 ~ [f3,a3,eb4,g4] ~@4 [e3,bb3,d4,g4]@6 ~ [e3,bb3,d4,g4] ~@4", // F7 Em7b5
  K: "~ [f3,ab3,c4] [eb3,g3,bb3] ~ [d3,gb3,a3] [d3,gb3,c4]", L: "~ [c3,gb3,d4,gb4]@2 ~@3", M: "[g3,bb3,d4]@2 ~",
  N: "~@23 [d3,gb3,c4]", // D7
  O: "[~@4 [bb2,g3,bb3,d4]@12 [bb2,f3,g3,d4]@12 [a2,eb3,g3,c4]@12 [d3,f3,g3,b3]@12 [e3,g3,bb3]@12 [d3,gb3,c4]@7 [d3,gb3,c4]]/3", // Gm Gm7 Am7b5 G7 Edim D7
  P: "~ [bb2,g3,bb3,d4]@3 ~@2", // Gm
  Q: "[~@4 [bb2,g3,bb3,d4]@12 [bb2,f3,g3,d4]@12 [bb2,e3,g3,d4]@12 [f3,a3,d4]@12 [d3,f3,bb3]@24 [c3,gb3,a3,d4]@12 [c3,gb3,a3,d4]@7 [d3,gb3,c4]]/4", // Gm Gm7 Em7b5 Dm Bb D7
  R: "[~@4 [bb2,g3,bb3,d4]@12 [bb2,f3,g3,d4]@12 [a2,eb3,g3,c4]@12 [d3,f3,g3,b3]@12 [e3,g3,bb3]@12 [d3,gb3,bb3]@7 [d3,gb3,bb3]]/3", // Gm Gm7 Am7b5 G7 Edim Daug
  S: "~@4 [bb2,g3,bb3,d4] ~", // Gm
})).s("gm_acoustic_guitar_steel").gain(0.2)

// chords · acoustic guitar steel · "Guitare acoustique" · soft notes
const acoustic_guitar_steel_2 = note("<~@41 A@4 ~@4 A@4 ~@36>".pickRestart({
  A: "[~@4 [bb2,g3,bb3,d4]@12 [bb2,f3,g3,d4]@12 [bb2,e3,g3,d4]@12 [f3,a3,d4]@12 [d3,f3,bb3]@24 [c3,gb3,a3,d4]@12 [c3,gb3,a3,d4]@7 ~]/4", // Gm Gm7 Em7b5 Dm Bb D7
})).s("gm_acoustic_guitar_steel").gain(0.1)

// chords · acoustic guitar steel · "Guitare acoustique (Tablature)"
const acoustic_guitar_steel_3 = note("<~@21 A B A ~@3 C ~ C ~ C D ~@42 C ~ C ~ C D ~@8>".pickRestart({
  A: "~@2 [gb3,a3,d4]@2 [gb3,a3,d4] ~@3 [d3,bb3]@2 ~@2", B: "~@2 gb3@2 gb3 ~@7",
  C: "~ [e3,a3,db4,g4] [e3,bb3,db4,g4] ~ [c3,gb3,a3,gb4]!2", D: "~ [e3,a3,db4,g4] [e3,db4] ~ c3 a3",
})).s("gm_acoustic_guitar_steel").gain(0.18).pan(0.6)

// bass · acoustic bass · "Basse acoustique"
const bass = note(`<
  A B C D E B F G H I J D E I K L M N O N P N O N P Q R Q R Q R Q S I J T E I K U V B C W X B F Y Z B C W X B F Y Z AA O
  AA P AB AC AB AD I J AE E I K AF Z Q R Q R Q R Q S I J T E I K U V
>`.pickRestart({
  A: "bb2 a2", B: "g2 f2", C: "e2 f2", D: "bb1 c2 bb1 c2", E: "d2@3 d3@2 d3", F: "eb2 d2", G: "c2 e2 f2 gb2",
  H: "g2@3 d2@2 d3", I: "g2@2 g2 f2@2 f2", J: "e2@2 e2 f2@2 f2", K: "eb2@2 eb2 d2@2 d2", L: "c2 eb2 d2 gb2",
  M: "g2@12 d2@3 ~@3 d2@2 eb2@4", N: "e2@7 g2 e2@4 eb2@7 a2 eb2@4", O: "f2@7 g2 d2@4 bb1@3 ~@4 a1 g1@4",
  P: "gb2@7 d2 gb2@4 g2@6 ~@6", Q: "f2@7 eb2 f2@4 g2@7 e2 bb1@4", R: "a1@7 b1 db2@4 d2@7 c3 a2@4",
  S: "f2@2 eb2 d2@2 d2", T: "bb1@7 c2@5 bb1@7 c2@5", U: "c2@7 eb2@5 d2@7 gb2@5", V: "g2 ~", W: "bb1 bb2", X: "d2 d3",
  Y: "c2 d2", Z: "g2@2 ~", AA: "e2@7 g2 e2@4 eb2@7 g2 eb2@4", AB: "e2@2 e2 eb2@2 eb2", AC: "f2@2 f2 bb1 ~ g2",
  AD: "d2@4 d2@2 g2@3 ~@3", AE: "bb1@2 f2 bb2@2 c2", AF: "c2@2 c2 d2@2 d2",
})).s("gm_acoustic_bass").gain(0.27).pan(0.6)

// drums · kick
const kick = s("bd").struct("<~@41 [~ x ~@4] ~@7 [~ x ~@4] ~@15 [~ x ~@4] ~@23>").gain(0.2)
// … 21 more lines

More by Gabriel Fauré