Strudelify
Les Filles du bord de mer cover art

Le bal des gens bien

Les Filles du bord de mer

Salvatore Adamo

KeyD♭ majorTempo182 bpm
0:00/0:00
// Les Filles du bord de mer — Salvatore Adamo
// 182 bpm, 3/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 173 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(182/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 · "Remixé"
const bass = note(`<
  A@2 B@2 C@4 A@2 B@2 D@2 B E F B G H I A J@2 K@2 J L@2 J M N ~ O@4 P@4 Q@4 R S T Q P@4 A@2 B@2 D@2 B E F B G H I A J@2
  K@2 J L@2 J M N ~ O@4 P@4 Q@4 R S T Q P@4 A@2 B@2 D@2 B E F B G H I A J@2 K@2 J L J L U J V W@3 X J Y N Y Z AA Z AB AC
  AD AE P@4 Q@4 R S T Q P@8 Q@4 R S T Q P@4 AF AG AF
>`.pickRestart({
  A: "gb2@5 ~@11", B: "db3@3 ~@5", C: "gb2@6 ~@5 db3@2 ~@3", D: "d3@7 ~@9", E: "db3@6 ~@5 db3@3 ~@2", F: "ab3@3 ~@5",
  G: "db3@4 ~ eb3@3 ~@3 f3@3 ~@2", H: "gb3@5 ~@6 db3@4 ~", I: "gb2 ~@3", J: "db2@5 ~@11", K: "d2@5 ~@11",
  L: "ab2@5 ~@11", M: "db2@3 ~@2 f2@3 ~@3 ab2@3 ~@2", N: "db2 ~@3", O: "gb2@5 ~@6 db2@3 ~@2", P: "gb2@6 ~@5 db2@4 ~",
  Q: "ab2@5 ~@6 db2@4 ~", R: "d2@6 ~@5 d2@4 ~", S: "ab2@5 ~@6 ab2@4 ~", T: "db2@6 ~@5 db2@4 ~",
  U: "db2@3 ~@8 ab2@3 ~@2", V: "db2@3 ~@2 db2@3 ~@3 db2@3 ~@2", W: "gb2@5 ~@6 db2@4 ~", X: "gb2@5 ~@6 gb2@4 ~",
  Y: "gb2@2 ~@3 gb2@2 ~@4 gb2@2 ~@3", Z: "b1 ~@3", AA: "~@5 b1@2 ~@4 b1@2 ~@3", AB: "db2@15 ~", AC: "b1@15 ~",
  AD: "a1@15 ~", AE: "ab1", AF: "gb2 ~@7", AG: "~@5 db2 ~@5 db2@2 ~@3",
})).s("gm_acoustic_bass").gain(0.5)

// chords · piano · "Remixé"
const piano = note(`<
  A@2 B C D E D F G@2 H@2 I@2 J@3 K L M N@2 O@2 P@2 Q@3 R@2 S ~ E@2 D E T@4 U@4 V W X Y Z AA AB AA G@2 H@2 I@2 J@3 K L M
  AC@2 AD@2 AC@2 AE@2 AD@2 AF@2 ~ D AG E@2 T@4 U@4 V W X Y Z AA AB AA G@2 H@2 I@2 J@3 K L M AC@2 AD@2 AC@2 AE@2 AH AI AJ
  AK AL AB AA AB AA AM Z AM Z AN AO AP AQ AR AS AT T@4 U@4 V W X Y Z AA AB AA AB@4 W AU W AU V W X Y Z AA AB AA AV AW AX
>`.pickRestart({
  A: "~@5 [db5,gb5,db6] ~@5 [db5,gb5,db6] ~@4", B: "~@5 [db5,f5,db6] ~@2 [db5,f5,db6] ~@2 [db5,f5,db6] ~@4",
  C: "~@5 [db5,f5,db6] ~@5 [db5,f5,db6] ~@4", // Db
  D: "[db5,gb5,db6] ~@2 [db5,gb5,db6] ~ [db5,gb5,db6] ~@5 [db5,gb5,db6] ~@4", // Gb5
  E: "[db5,gb5,db6] ~@4 [db5,gb5,db6] ~@2 [db5,gb5,db6] ~@2 [db5,gb5,db6] ~@4", // Gb5
  F: "[gb5,a5] ~@4 [gb5,a5,db6] ~@2 [gb5,a5,db6] ~@2 [gb5,a5,db6]@5, db6 ~@7", G: "[[a4,db5,gb5]@29 ~@3]/2",
  H: "[[ab4,db5,f5]@13 ~@3]/2", I: "[[a4,d5,gb5]@7 ~]/2", J: "[[db5,f5]@43 ~@5, ab4@41 ~@7]/3",
  K: "~@5 [db5,f5,db6] ~@2 [db5,f5,db6] ~@2 [db5,f5,db6] ~ [db5,f5,db6] ~@2", // Db
  L: "[db5,f5,db6] ~@4 [db5,f5,db6] ~@5 [db5,f5,db6] ~@4", M: "[db5,gb5,a5,db6] ~@4 [gb5,a5,gb6] ~@10",
  N: "[db5@15 ~, a4@7 ~]/2", O: "[[ab4,b4]@7 ~]/2", P: "[[gb4,a4]@31 ~]/2", Q: "[[f4,ab4]@47 ~]/3",
  R: "[~@27 f4@5, db5@7 ~ db5@8, ~@5 ab4@12 ~@4 ab4@10 ~, ~@11 f4@9 ~@12]/2", S: "db4 ~@15", T: "[[a4,db5]@59 ~@5]/4",
  U: "[~@8 db4@7 ~ db4@7 ~ db4@7 ~, [f4,ab4,db5]@31 ~]/4", // Db
  V: "[gb5,a5,d6] ~@2 [gb5,a5,d6] ~ [gb5,a5,d6] ~@5 [gb5,a5,d6] ~@4", // D
  W: "[f5,ab5,db6] ~@2 [f5,ab5,db6] ~ [f5,ab5,db6] ~@5 [f5,ab5,db6] ~@4", // Db
  X: "[f5,ab5,db6] ~@4 [f5,ab5,db6] ~@5 [f5,ab5,db6] ~ [f5,ab5,db6] ~@2", // Db
  Y: "[f5,ab5,db6] ~@4 [f5,ab5,db6] ~@5 [f5,ab5,db6] ~@4", Z: "[gb5,a5,db6] ~@4 [gb5,a5,db6] ~@5 [gb5,a5,db6] ~@4",
  AA: "[gb5,a5,db6] ~@4 [gb5,a5,db6] ~@2 [gb5,a5,db6] ~@2 [gb5,a5,db6] ~@4", // Gbm
  AB: "[gb5,a5,db6] ~@2 [gb5,a5,db6] ~ [gb5,a5,db6] ~@5 [gb5,a5,db6] ~@4", AC: "[[gb4,a4]@7 ~]/2",
  AD: "[[f4,ab4,db5]@7 ~]/2", AE: "[[f4,ab4]@15 ~]/2", AF: "[[f4,ab4,db5]@19 ~@13]/2",
  AG: "[db5,gb5,db6] ~@2 [db5,gb5,db6] ~ [db5,gb5,db6] ~@5 [db5,gb5] ~@4", AH: "[ab4,db5]@15 ~", AI: "[ab4,db5]@13 ~@3",
  AJ: "[f4,db5]@15 ~", AK: "[f4,db5] ~@15", AL: "[f4,ab4,db5]@3 ~@2 [f4,ab4,db5]@2 ~@4 [ab4,db5] ~@4",
  AM: "[f5,ab5,db6] ~@15", AN: "[gb5,b5,d6] ~@7", AO: "~@5 [d5,gb5,b5] ~@5 [d5,gb5,b5] ~@4", AP: "[d5,gb5,b5] ~@15",
  AQ: "~@5 [f5,ab5,db6] ~@5 [f5,ab5,db6] ~@4", AR: "~@5 [db5,f5,b5] ~@5 [db5,f5,b5] ~@4",
  AS: "~@5 [db5,f5,a5] ~@5 [db5,f5,a5] ~@4", AT: "~@5 [db5,f5,ab5] ~@5 [db5,f5,ab5] ~@4",
  AU: "[f5,ab5,db6] ~@4 [f5,ab5,db6] ~@2 [f5,ab5,db6] ~@2 [f5,ab5,db6] ~@4", AV: "[db5,gb5,db6] ~@15",
  AW: "~@5 [ab4,db5,f5] ~@5 [ab4,db5,f5] ~@4", AX: "[a4,db5,gb5] ~@15",
})).s("gm_piano").gain(0.46)

// chords · acoustic guitar steel · "Remixé"
const acoustic_guitar_steel = note(`<
  ~@8 A@2 B@2 C@2 B@2 D@2 E F A@2 B@2 C@2 B@4 D G ~ A@3 H I@4 J@4 C J@3 K L@2 K A@2 B@2 C@2 B@2 D@2 E F M@2 N O@2 C N@2
  P N Q R ~ I@8 J@4 C J@3 K L@2 K A@2 B@2 C@2 B@2 D@2 E F M@2 N O@2 C N@2 J@2 S R ~ I@3 K R T R T U V U W X Y Z I@4 J@4
  C J@3 K L@2 K I@4 J@4 C J@3 K L@2 K AA AB AA
>`.pickRestart({
  A: "~@5 [db4,gb4]@4 ~@2 [gb4,a4]@5", B: "~@5 [db4,f4]@4 ~@2 [f4,ab4]@5", C: "~@5 [d4,gb4]@4 ~@2 [gb4,a4]@5",
  D: "~@5 [db4,f4]@4 ~@2 [f4,ab4]@4 ~", E: "~@5 [db4,f4]@3 ~@3 [f4,ab4]@4 ~", F: "~@5 [db4,gb4]@3 ~@8",
  G: "[db4,f4]@3 ~@13", H: "~@5 [db4,gb4]@4 ~@2 [gb4,a4]@3 ~@2", I: "~@5 [gb4,a4]@5 ~ [a4,db5]@5",
  J: "~@5 [f4,ab4]@5 ~ [ab4,db5]@5", K: "~@5 [gb4,a4]@5 ~ [a4,db5]@4 ~", L: "~@5 [gb4,a4]@4 ~@2 [a4,db5]@5",
  M: "[~@5 [gb4,a4]@5 ~ [a4,db5]@8 ~@2 [gb4,a4]@5 ~ [a4,db5]@5]/2", N: "~@5 [f4,ab4]@4 ~@2 [ab4,b4]@5",
  O: "[~@4 [f4,ab4]@5 ~@2 b4@7 ~@3 [d4,gb4]@5 ~ [gb4,a4]@5, ~@11 ab4@5 ~@16]/2", P: "~@5 [f4,ab4]@5 ~ [ab4,b4]@5",
  Q: "~@5 [f4,ab4]@4 ~@2 [ab4,b4]@4 ~", R: "[f4,ab4] ~@3", S: "~@5 [f4,ab4]@4 ~@2 [ab4,db5]@4 ~",
  T: "[gb4,a4]@3 ~@2 [gb4,a4]@3 ~@3 [gb4,a4]@2 ~@3", U: "[gb4,b4]@3 ~@13", V: "~@5 [gb4,b4]@2 ~@4 [gb4,b4]@3 ~@2",
  W: "~@5 [ab4,db5] ~@5 [ab4,db5]@2 ~@3", X: "~@5 [ab4,b4]@2 ~@4 [ab4,b4]@2 ~@3", Y: "~@5 [f4,a4]@2 ~@4 [f4,a4]@2 ~@3",
  Z: "~@5 [f4,ab4] ~@5 [f4,ab4] ~@4", AA: "[gb4,a4]@3 ~@13", AB: "~@5 [f4,ab4]@2 ~@4 [f4,ab4]@2 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.38).pan(0.6)

// bass · tuba · "Remixé"
const bass_2 = note(`<
  A B C@2 D E F D G@2 H@2 I@2 H J K H L D B G H@2 I M H K@2 H N H ~ F@4 D@4 O@3 P Q R S O D@4 G@2 H@2 I@2 H J K H L D B
  G H@2 I M H K@2 H N H ~ F@4 D@4 O@3 P Q R S O D@4 G@2 H@2 I@2 H J K H L D B G H@2 I M H K H T U H V F@3 W H X H Y Z AA
  AB AC AD AE AF D@4 O@3 P Q R S O D@8 O@3 P Q R S O D@4 G AG G
>`.pickRestart({
  A: "gb2 ~@3", B: "gb2@3 ~@13", C: "db3@3 ~@13", D: "gb2@4 ~@7 db2@2 ~@3", E: "gb2@3 ~@8 db2@3 ~@2",
  F: "gb2@2 ~@9 db2@2 ~@3", G: "gb2 ~@7", H: "db2@3 ~@13", I: "d2@3 ~@13", J: "db2@3 ~@8 db2@2 ~@3", K: "ab2 ~@7",
  L: "db2@3 ~@2 eb2@3 ~@3 f2@3 ~@2", M: "d2 ~@7", N: "db2@3 ~@2 f2@3 ~@3 ab2@2 ~@3", O: "ab2@4 ~@7 db2@2 ~@3",
  P: "ab2@5 ~@6 db2@3 ~@2", Q: "d2@4 ~@7 d2@3 ~@2", R: "ab2@5 ~@6 ab2@3 ~@2", S: "db2@5 ~@6 db2@3 ~@2", T: "ab2@3 ~@13",
  U: "db2@2 ~@9 ab2@3 ~@2", V: "db2@2 ~@3 db2@3 ~@3 db2@2 ~@3", W: "gb2@2 ~@9 gb2@3 ~@2",
  X: "gb2@2 ~@3 gb2 ~@5 gb2 ~@4", Y: "gb2 ~@4 gb2@2 ~@4 gb2@2 ~@3", Z: "b1 ~@3", AA: "~@5 b1@2 ~@4 b1@2 ~@3",
  AB: "b1@3 ~@13", AC: "db2@7 ~", AD: "b2@7 ~", AE: "a2@7 ~", AF: "ab2@3 ~", AG: "~@5 db2@2 ~@4 db2@2 ~@3",
})).s("gm_tuba").gain(0.36).pan(0.4)

// other · trombone · "Remixé"
const trombone = note(`<
  A B C D E ~@10 F G H I J ~@9 K@2 L ~ M N M N ~@4 O@3 P ~@4 M N@3 ~@7 F G H I J ~@8 Q@3 R ~ S@3 T ~@4 O@3 P ~@4 M N@3
  ~@7 U V H I J ~@7 W X@2 Y Z I E ~@3 AA AB AA AB AC AD AC AE AF AG AH ~@4 O@3 P ~@4 M N@3 AI AJ AK AL AM@4 AN AO AP AJ
  AQ@4 AR AS AT
>`.pickRestart({
  A: "db4@6 ~@5 db4@2 ~@3", B: "a3@8 ~@3 gb3@2 ~@3", C: "ab3@8 ~@3 b3@3 ~@2", D: "a3@8 ~@3 ab3@2 ~@3", E: "gb3@3 ~@5",
  F: "~@11 db4 ~ d4 ~@2", G: "db4@7 ~@4 db4 ~ d4 ~@2", H: "db4@3 ~", I: "db4 ~@3 d4 db4 ~@3 b3 ~ a3 ~@2 ab3 ~",
  J: "gb3 ~@7", K: "db5@2 ~@2 db5 ab4@2 ~@2 ab4 ~ f4@2 ~ f4 ~", L: "db4 ~@7", M: "gb4@6 ~@5 db4@2 ~@3",
  N: "gb4@7 ~@4 db4@3 ~@2", O: "[f4,ab4]@3 ~@5", P: "[f4,ab4] ~", Q: "[db4,ab4]@11 ~@5", R: "[db4,ab4] ~@7",
  S: "[db4,gb4]@7 ~@4 db4@2 ~@3, ~@11 a3 ~@4", T: "[db4,gb4]@8 ~@3 [a3,db4]@2 ~@3", U: "~@11 db4 ~@2 d4 ~",
  V: "db4@7 ~@4 db4 ~@2 d4 ~", W: "~@9 ab3 ~ db4 ~@2 ab3 ~", X: "db4@7 ~@2 ab3 ~ db4 ~@2 ab3 ~", Y: "db4",
  Z: "db4 ~@10 db4 ~@2 d4 ~", AA: "[db4,f4] ~@15", AB: "[db4,gb4] ~@4 [db4,gb4] ~@5 [db4,gb4] ~@4", AC: "[b3,d4] ~@15",
  AD: "~@5 [b3,d4] ~@5 [b3,d4] ~@4", AE: "db4@7 ~", AF: "b3@7 ~", AG: "a3@7 ~", AH: "ab3@13 ~@3", AI: "db5@9 ~@2 db5@5",
  AJ: "a4@8 ~@3 ab4@5", AK: "gb4@9 ~@2 ab4@5", AL: "a4@10 ~ b4@4 ~", AM: "[ab4@15 ~]/4", AN: "d5@9 ~@2 d5@5",
  AO: "b4@9 ~@2 a4@5", AP: "ab4@10 ~ b4@5", AQ: "gb4/4", AR: "~@11 db5 ~@2 d5 ~", AS: "db5@7 ~@2 b4 ~ a4 ~@2 ab4 ~",
  AT: "gb4@3 ~@13",
})).s("gm_trombone").gain(0.46)

// chords · alto sax · "Remixé"
const alto_sax = note(`<
  ~@15 A B C@2 D ~@9 E@2 F ~ G H@2 I ~@4 J K J K ~@4 L@4 ~@7 A B C@2 D ~@8 M N@2 O ~ P@4 ~@4 J K J K ~@4 L@4 ~@7 Q R C@2
  D ~@7 S T@2 N U V W ~@3 X Y X Z AA AB AA N AC AD AE ~@4 J K J K ~@4 L@4 AF AG AH AI AJ@4 AK AL AM AG AN@4 AO AP AQ
>`.pickRestart({
  A: "~@11 [db4,f4]@2 [d4,gb4] ~@2", B: "[db4,f4]@9 ~@2 [db4,f4]@2 [d4,gb4] ~@2",
  C: "[db4@18 ~@2 d4 db4 ~@3 b3 ~ a3@2 ~ ab3 ~, f4@15 ~@17]/2", D: "gb3 ~@15",
  E: "[ab3,db4]@2 ~@2 [ab3,db4] [f3,ab3]@2 ~@2 [f3,ab3] ~ f3@2 ~ [db3,f3] ~, ~@11 db3 ~@4", F: "[ab2,db3]@3 ~@13",
  G: "[gb3,a3]@6 ~@5 [db3,gb3]@2 ~@3", H: "[gb3,a3]@7 ~@4 gb3@2 ~@3, ~@11 db3 ~@4", I: "[gb3,a3]@7 ~@4 [db3,gb3]@2 ~@3",
  J: "[ab3,db4]@3 ~@5", K: "[ab3,db4]@9 ~@7", L: "[a3,db4]@7 ~@4 [gb3,a3]@4 ~", M: "[ab3,db4]@3 ~", N: "[ab3,db4]@7 ~",
  O: "[ab3,db4] ~@7", P: "[a3,db4]@8 ~@3 [gb3,a3]@2 ~@3", Q: "~@11 [db4,f4]@3 [d4,gb4] ~",
  R: "[db4,f4]@9 ~@2 [db4,f4]@2 ~ [d4,gb4] ~", S: "~@9 [f3,ab3] ~ [ab3,db4] ~@2 [f3,ab3] ~",
  T: "[ab3,db4]@6 ~@3 [f3,ab3] ~ [ab3,db4] ~@2 [f3,ab3] ~", U: "[ab3,db4] ~@10 db4 ~@2 d4 ~",
  V: "db4 ~@3 d4 db4 ~@3 b3 ~ a3 ~@2 ab3 ~", W: "gb3 ~@3", X: "[db4,f4] ~@15",
  Y: "[gb3,a3] ~@4 [gb3,a3] ~@3 gb3@2 a3 ~@4", Z: "a3@2 ~@3 a3@2 ~@4 [gb3,a3]@2 ~@3, gb3 ~@4 gb3 ~@10",
  AA: "[b3,d4] ~@7", AB: "~@5 [b3,d4] ~@5 [b3,d4] ~@4", AC: "[ab3,b3]@7 ~", AD: "[gb3,a3]@7 ~", AE: "[f3,ab3]@3 ~",
  AF: "db4@10 ~ db4@5", AG: "a3@9 ~@2 ab3@5", AH: "gb3@9 ~@2 ab3@5", AI: "a3@10 ~ b3@4 ~", AJ: "[ab3@31 ~]/4",
  AK: "[b3,d4]@10 ~ [b3,d4]@4 ~", AL: "[f3,b3]@9 ~@2 a3@5", AM: "ab3@9 ~@2 b3@5", AN: "gb3/4", AO: "~@11 db4 ~@2 d4 ~",
  AP: "db4@6 ~@3 b3 ~ a3 ~@2 ab3 ~", AQ: "gb3 ~@7",
})).s("gm_alto_sax").gain(0.44)

// other · electric guitar jazz · "Remixé"
const electric_guitar_jazz = note(`<
  ~@7 A B C D E F G H I ~@3 J K C D E L M N O P Q ~ R S T ~@3 U V W X I@3 Y Z AA AB V AC ~@2 AD B C D E F G H I ~@3 J AE
  AF D E F AG AH I ~@3 AI S AJ@2 ~@2 U V W X I@3 Y Z AA AB V AC ~@2 AD B C D E F G H I ~@3 J AK C AL AM F M AN AO ~@8 AP
  AQ AR AS AT AU AV AW P AX AY@2 U V W X I@3 Y Z AA AB V AC ~@3 U V W X I@3 Y Z AA AB V AC ~@6
>`.pickRestart({
  A: "~@11 gb4@3 ~@2", B: "db5@3 ~@2 gb4@2 ~@2 db5@2 a4@2 ~ gb4 ~, ~@2 a4 ~@5", C: "db5@10 ~ a4@3 ~@2",
  D: "b4@2 ~@2 a4 ab4@2 ~@2 b4@2 a4@2 ~ ab4 ~", E: "b4@9 ~@2 ab4@3 ~@2",
  F: "a4@2 ~@3 gb4@2 ~@2 a4@2 ab4@2 ~ gb4 ~, ~@2 ab4 ~@5", G: "a4@10 ~ gb4@3 ~@2",
  H: "ab4@2 ~@3 f4@2 ~@2 ab4@2 gb4 ~@2 f4 ~, ~@2 gb4 ~@5", I: "ab4@11 ~@5", J: "~@11 db5@4 ~",
  K: "db5@2 ~@2 a4 gb4 ~@3 db5 ~ a4@2 ~ gb4 ~", L: "a4@2 ~@2 ab4 gb4 ~@3 a4 ~ ab4 ~@2 gb4 ~", M: "a4@9 ~@2 gb4@5",
  N: "ab4@2 ~@2 gb4 f4 ~@3 ab4 ~ gb4 ~@2 f4 ~", O: "ab4@10 ~ db5@2 ~ d5@2", P: "db5@7 ~@4 db5@2 ~ d5 ~", Q: "db5",
  R: "~@9 db5 ~ db5 ~@2 d5 ~", S: "db5@7 ~@2 b4 ~ a4@2 ~ ab4 ~", T: "gb4@5 ~@11", U: "db5@8 ~@3 db5@4 ~",
  V: "a4@9 ~@2 ab4@5", W: "gb4@8 ~@3 ab4@4 ~", X: "a4@10 ~ b4@5", Y: "ab4@9 ~@7", Z: "d5@9 ~@2 d5@5",
  AA: "b4@9 ~@2 a4@5", AB: "ab4@10 ~ b4@5", AC: "gb4@11 ~@5", AD: "~@11 gb4@4 ~",
  AE: "db5@3 ~@2 gb4 ~@3 db5@2 a4@2 ~ d5 ~, ~@2 a4 ~@5", AF: "db5@9 ~@2 a4@4 ~", AG: "a4@8 ~@3 ab4@3 gb4@2",
  AH: "g4 ab4@9 ~ ab4@2 ~ a4@2", AI: "~@11 db5@2 ~ d5@2", AJ: "[gb4@9 ~@7]/2",
  AK: "db5@2 ~@3 gb4@2 ~@2 db5@2 a4@2 ~ d5@2, ~@2 a4 ~@5", AL: "b4@2 ~@3 ab4@2 ~@2 b4@2 a4@2 ~ ab4 ~, ~@2 a4 ~@5",
  AM: "b4@10 ~ ab4@4 ~", AN: "ab4@2 ~@3 f4@2 ~@2 ab4@2 gb4@3 f4 ~, ~@2 gb4 ~@5", AO: "ab4", AP: "~@11 gb4@2 ~@3",
  AQ: "ab4@2 ~@2 ab4!2 ~@3 ab4 ~ ab4 ~@2 ab4 ~", AR: "a4@3 ~@8 a4 ~@4", AS: "b4@2 ~@2 b4!2 ~@3 b4 ~ b4 ~@2 b4 ~",
  AT: "db5@4 ~@7 db5 ~@2 db5 ~", AU: "d5@5 ~@4 d5 ~ d5 ~@2 d5 ~", AV: "d5@5 ~@6 d5 ~@2 d5 ~",
  AW: "d5@5 ~@4 d5 ~ e5 ~@2 d5 ~", AX: "db5@8 ~@3 db5 ~@2 d5 ~", AY: "[db5@11 ~@5]/2",
})).s("gm_electric_guitar_jazz").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  A@4 B@4 A@7 B A@2 C B A@10 B A ~ B@20 A@7 B A@2 C B A@10 B A ~ B@20 A@7 B A@2 C B A@10 B A C B@4 A C A C A D A@5 B@32
  A D A
>`.pickRestart({
  A: "x", B: "x ~@10 x ~@4", C: "x ~@4 x ~@5 x ~@4", D: "~@5 x ~@5 x ~@4",
})).gain(0.29)

// drums · snare
const snare = s("sd").struct(`<
  A B C B C D C E C@3 F C G C@4 H I C@3 A C B C@4 H J ~ C@3 A C@2 A C@4 G D@2 C@3 K C K C@3 F C G C@4 H I C@3 A C B C@4
  H J ~ C@3 A C@2 A C@4 G D@2 C@3 K C K C@3 F C G C@4 H I C@3 A C B C@4 H J L C K C K J L J L J C J C@2 F C@3 A C@4 G
  D@2 C@3 K C K C@2 A C@4 G D@2 C@3 K C K J C J
>`.pickRestart({
  A: "~@5 x ~ x ~ x ~ x ~@4", B: "~@3 x!3 ~@5 x ~@4", C: "~@5 x ~@5 x ~@4", D: "x ~@2 x ~ x ~@5 x ~@4",
  E: "~@5 x ~@2 x!4 ~@4", F: "~@4 x!2 ~@5 x ~@4", G: "x ~ x ~ x!2 ~@5 x ~@4", H: "~@5 x ~@5 x!2 ~ x ~",
  I: "x ~@4 x ~@10", J: "x", K: "~@5 x ~@2 x ~@2 x ~@4", L: "x ~@4 x ~@5 x ~@4",
})).gain(0.22)

// drums · hihat
const hihat = s("hh").struct(`<
  A@4 B@4 A@11 C A@11 D ~ B@4 A@4 B@4 A@4 B@4 A@11 C A@11 D ~ B@4 A@4 B@4 A@4 B@4 A@11 C A@11 D E F B@3 D E D E D A D
  B@4 A@4 B@4 A@4 B@4 A@4 B@4 A@4 B@4 D A D
>`.pickRestart({
  A: "~@5 x ~@5 x ~@4", B: "~@11 x ~@4", C: "x ~@4 x ~@10", D: "x", E: "x ~@4 x ~@5 x ~@4", F: "x ~@10 x ~@4",
})).gain(0.25)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@4 A@4 ~@25 A@4 ~@4 A@4 ~@4 A@4 ~@25 A@4 ~@4 A@4 ~@4 A@4 ~@25 A@4 ~@7 A@4 ~@4 A@4 ~@4 A@4 ~@4 A@4 ~@4 A@4 ~@3
>`.pickRestart({
  A: "~@5 x ~@10",
})).gain(0.25)

// drums · crash
const crash = s("cr").struct(`<
  ~@41 A@4 ~@4 A@4 ~@33 A@4 ~@4 A@4 ~@36 A@4 ~@4 A@4 ~@4 A@4 ~@4 A@4 ~@4 A@4 ~@3
>`.pickRestart({
  A: "x",
})).gain(0.18)

stack(
  bass, piano, acoustic_guitar_steel, bass_2, trombone, alto_sax, electric_guitar_jazz, kick, snare, hihat, open_hat,
  crash
)

More by Salvatore Adamo