Strudelify
Rien qu'un homme cover art

Paroles et musique

Rien qu'un homme

Alain Barriere

KeyG majorTempo120 bpm
0:00/0:00
// Rien qu'un homme — Alain Barriere
// 120 bpm, 2/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 192 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/2)

// 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 · electric bass pick · "Basse"
const bass = note("<A@2 B@2 C@2 D E F@2 G@2 H ~@179>".pickRestart({
  A: "[~@12 c2@9 ~@3 b1@4 c2@4, ~@12 g1 ~@19]/2", B: "[d2@4 c2@4 b1@4 a1@7 ~@5 g1@4 a1@4]/2",
  C: "[g1@4 a1@4 b1@4 c2@7 ~@5 b1@4 c2@4]/2", D: "d2 c2 b1 a1", E: "~@4 a1@3 ~ b1@3 ~@5", F: "[~@12 c2@7 ~@5 c2@8]/2",
  G: "[~@8 g1@3 ~ c2@9 ~@3 c2@2 ~@6]/2", H: "~ c2 ~@2",
})).s("gm_electric_bass_pick").gain(0.23)

// bass · fretless bass · "Basse"
const bass_2 = note(`<
  ~@13 A@2 B@2 C@2 D@2 E@2 F@2 A@2 B@2 A@2 B@2 C@2 D@2 E@2 F@2 A@2 G@2 H@2 I J K@2 L M N@2 O P Q@2 R J S@2 R J T@2 L M
  U@2 O P Q@2 R ~ A@2 B@2 C@2 D@2 E@2 F@2 A@2 B@2 A@2 B@2 V W X W Y Z AA Z AB AC AD AE AB AF R AG@3 L AH@3 O AI@3 R AJ@3
  R AK@3 L AL@3 O AI@3 R AJ@3 R AK@3 L AL@3 O AI@3 R AJ@3 R AK@3 L AL@3 O AI@3 R AJ@3 R AK@3 L AH@3 O AI@3 R AM@3 AN
>`.pickRestart({
  A: "[~@12 c2@7 ~@5 c2@8]/2", B: "[~@8 g1@3 ~ c2@7 ~@5 c2@8]/2", C: "[~@12 d2@7 ~@5 d2@8]/2",
  D: "[~@8 a1@3 ~ d2@7 ~@5 d2@8]/2", E: "[~@12 g1@7 ~@5 g1@8]/2", F: "[~@8 d2@3 ~ g1@7 ~@5 g1@8]/2",
  G: "[~@8 g1@3 ~ c2@7 ~@5 c2 ~@7]/2", H: "[~@12 c2@7 ~@5 e1@8]/2", I: "~@4 g1@7 ~ c2@4", J: "~@8 e1@7 ~",
  K: "[g1@3 ~ a1@4 g1@3 d2 d2@9 ~@2 f1@9]/2", L: "~@3 a1@7 ~ d2@5", M: "~@8 f1@7 ~",
  N: "[a1@3 ~ a#1@4 a1@3 g1 g1@9 ~@2 b1@9]/2", O: "~@3 d2@7 ~ g1@5", P: "~@8 b1@7 ~",
  Q: "[d2@3 ~ e1@4 d2@3 ~ c2@9 ~@2 e1@9]/2", R: "~@3 g1@7 ~ c2@5", S: "[g1@3 ~ a1@4 g1@3 ~ c2@9 ~@2 e1@9]/2",
  T: "[g1@3 ~ a1@4 g1@3 ~ d2@9 ~@2 f1@9]/2", U: "[a1@3 ~ a#1@4 a1@3 ~ g1@9 ~@2 b1@9]/2", V: "~@11 d2@5", W: "~@7 d2@9",
  X: "~@7 a1@3 ~ d2@5", Y: "~@11 g1@5", Z: "~@7 g1@9", AA: "~@7 d2@3 ~ g1@5", AB: "~@11 c2@5", AC: "~@7 c2@9",
  AD: "~@7 g1@3 ~ c2@5", AE: "~@7 c2 ~@8", AF: "~@7 e1@9", AG: "[~@7 e1@7 ~ g1@3 ~ a1@4 g1@3 ~ d2@9 ~@3 f1@9]/3",
  AH: "[~@7 f1@7 ~ a1@3 ~ a#1@4 a1@3 ~ g1@9 ~@3 b1@9]/3", AI: "[~@7 b1@7 ~ d2@3 ~ e1@4 d2@3 ~ c2@9 ~@3 e1@9]/3",
  AJ: "[~@7 e1@7 ~ g1@3 ~ a1@4 g1@3 ~ c2@9 ~@3 e1@9]/3", AK: "[~@7 e1@7 ~ g1@3 ~ a1@4 g1@3 d2 d2@9 ~@3 f1@9]/3",
  AL: "[~@7 f1@7 ~ a1@3 ~ a#1@4 a1@3 g1 g1@9 ~@3 b1@9]/3", AM: "[~@7 e1@7 ~ g1@3 ~ a1@4 g1@3 ~ c2@9 ~@3 c2 ~@8]/3",
  AN: "~@3 c2@4 ~@9",
})).s("gm_fretless_bass").gain(0.3)

// chords · electric guitar clean · "CleanGuit"
const electric_guitar_clean = note(`<
  ~ A B C B A B C B D E@2 F ~ D G D G H I H I J K J K D G D G D G D G H I H I J K J K D G D ~ D G D G H I H I J K J K D
  G D G D G D G H I H I J K J K L ~@2 M N M N O P O P Q R Q R M N M N M N M N O P O P Q R Q R M N M ~ M N M N O P O P Q
  R Q R M N M N M N M N O P O P Q R Q R M N M N M N M N O P O P Q R Q R M N M N M N M N O P O P Q R Q R M N M N M N M N
  O P O P Q R Q R M N ~@5
>`.pickRestart({
  A: "~@4 [g3,c4] ~@11", B: "[g3,b3] ~@15", C: "~@4 [e3,a3] ~@11", D: "~@4 [e3,g3,c4] ~@11",
  E: "[[e3,g3,c4] ~@11 [f3,g3,c4]@7 ~ [f3,g3,c4] ~@3 [f3,g3,c4] ~@7]/2", F: "~ [e3,g3,c4] ~@2", G: "[e3,g3,c4] ~@15",
  H: "~@4 [f3,a3,d4] ~@11", I: "[f3,a3,d4] ~@15", J: "~@4 [b3,d4,g4] ~@11", K: "[b3,d4,g4] ~@15",
  L: "~@3 [e3,g3,c4] ~@11 [e3,g3,c4]", M: "~@15 [e3,g3,c4]", N: "~@11 [e3,g3,c4] ~@4", O: "~@15 [f3,a3,d4]",
  P: "~@11 [f3,a3,d4] ~@4", Q: "~@15 [b3,d4,g4]", R: "~@11 [b3,d4,g4] ~@4",
})).s("gm_electric_guitar_clean").gain(0.19).pan(0.4)

// chords · percussive organ · "Orgue"
const percussive_organ = note(`<
  ~@10 A@2 B ~@16 C@4 D@8 E@3 F@8 G@8 H@4 I@8 J@4 ~@2 K L@2 ~ M@3 ~ N@3 ~ O@3 P@4 Q@8 E@3 R@8 S@8 T@8 U@8 T@8 U@8 T@8
  U@8 T@8 V@4 W@7 X
>`.pickRestart({
  A: "[~@12 [g5,c6,f6]@11 ~ [g5,c6,f6]@4 ~@4]/2", B: "~@4 [g5,c6,e6]@7 ~@5", C: "[~@3 [c5,e5,g5]@13]/4",
  D: "[~@12 [f5,a5]@60 ~@3 [g5,b5]@53, ~@3 d5@29]/8", E: "[~@11 [c5,e5,g5]@34 ~@3]/3",
  F: "[~@4 d4 [b3,e4] [c#4,f4] [d4,e4,g4,a4,b4] [f#4,g#4,c5,d5] [b4,c#5,e5,f5] d5 ~ [e5,g5]@63 [f5,a5] [f5,a5]@52, ~@2 c4@3 ~@123, ~@3 a3@2 ~@123]/8", // E5 C# Em7 D7 C#7 Em F
  G: "[~@11 [b5,d6] [b5,d6]@63 [e5,g5]@53]/8", H: "[~@11 [e5,g5]@53]/4", I: "[~@11 a5 [f5,a5]@63 d6 [b5,d6]@52]/8",
  J: "[~@12 [e5,g5]@39 [e5,g5]@4 ~@9]/4", K: "~@2 [c5,e5,g5]@2 ~@2 [c5,e5,g5] ~",
  L: "[[c5,e5,g5]@5 ~@3 g5@12 ~@12, ~@7 [c5,e5]@12 ~@13]/2", // C
  M: "[~@3 [d5,f5,a5]@3 ~@5 [d5,f5] ~@4 d5@5 ~@3 [d5,a5]@16 ~@8, ~@11 a5@2 ~@2 [f5,a5]@5 ~@3 f5@16 ~@9]/3", // Dm D5 F
  N: "[~@3 [d5,g5,b5]@3 ~@5 [d5,g5,b5] ~@4 [d5,b5]@4 ~@4 b5@18 ~@6, ~@15 g5@4 ~@4 [d5,g5]@18 ~@7]/3", // G G5
  O: "[~@3 [c5,e5,g5]@3 ~@5 [c5,e5,g5] ~@3 [c5,e5,g5]@4 ~@4 [c5,e5,g5]@18 ~@7]/3", P: "[~@11 [c5,e5,g5]@53]/4",
  Q: "[~@11 [f5,a5]@35 ~@9 a5@16 ~@4 [d5,g5,b5]@36 ~@8 b5@9, ~@11 d5@32 ~@4 d5@26 ~@38 d5@17, ~@51 f5@20 ~@44 g5@13]/8", // F G
  R: "[~@2 [a3,c4]@2 d4 [b3,e4] [c#4,d4,f4,g4] [e4,f#4,a4,b4] [g#4,c5,d5,e5] [b4,c#5,d5,f5] ~ [e5,g5]@63 ~ [f5,a5]@53]/8", // Am E5 G7 Esus4 G#aug Bdim Em F
  S: "[~@11 [b5,d6]@64 [e5,g5]@53]/8", T: "[~@11 [e5,g5]@63 [f5,a5] [f5,a5]@53]/8",
  U: "[~@10 [b5,d6] [b5,d6]@64 [e5,g5]@53]/8", V: "[~@11 [b5,d6]@53]/4",
  W: "[~@11 [e5,g5]@78 ~@2 [g5,c6,f6]@11 ~ [g5,c6,f6]@4 ~@5]/7", X: "~@3 [g5,c6,e6]@7 ~@6",
})).s("gm_percussive_organ").gain(0.22).pan(0.1)

// chords · trumpet · "Trompet"
const trumpet = note("<~@46 A ~ B ~@13 A ~ C ~@45 A ~ D ~@13 A ~ A ~@13 A ~ D ~@13 A ~ A ~@13 A ~ D ~@15>".pickRestart({
  A: "~@3 [c5,e5] ~@12, ~@3 g5@2 ~@11", B: "~@2 [c5,e5,g5] ~@5", C: "~@3 g5 [c5,e5] ~@11", D: "~@3 [c5,e5,g5]@2 ~@11",
})).s("gm_trumpet").gain(0.53).pan(0.9)

// chords · brass section · "Brass"
const brass_section = note(`<
  ~@46 A ~ B ~@13 A ~ C ~@45 A ~ D ~@13 A ~ A ~@13 A ~ D ~@13 A ~ A ~@13 A ~ D ~@11 E F@2 G
>`.pickRestart({
  A: "~@3 [c5,e5] ~@12, ~@3 g5@2 ~@11", B: "~@2 [c5,e5,g5] ~@5", C: "~@3 g5 [c5,e5] ~@11", D: "~@3 [c5,e5,g5]@2 ~@11",
  E: "~@11 [c4,e4]@5", F: "[~@3 [e4,g4]@7 ~ [c4,f4]@9 ~@3 c4@2 ~@7, ~@23 f4 ~@8]/2", G: "~@3 [c4,e4]@4 ~@9",
})).s("gm_brass_section").gain(0.44).pan(0.1)

// chords · trumpet · "Trompet"
const trumpet_2 = note(`<
  ~@9 A B@2 C ~ A ~ A ~ D ~ E ~ F ~ G ~ A ~ A ~ A ~ A ~ D ~ E ~ F ~ G ~ A ~ H I J K L@2 M N O@2 P Q R@2 S K T@2 S K U@2
  M N O@2 P Q R@2 S V W ~ A ~ A ~ D ~ E ~ F ~ G ~ A ~ A ~ A ~ A ~ D ~ E ~ F ~ G ~ A ~ X Y S V Z AA M AB AC AD P AE AF AG
  S V Z AH S V Z AA M AB AC AD P AE AF AG S V Z AH S V Z AA M AB AC AD P AE AF AG S V Z AH S V Z AA M AB AC AD P AE AF
  AG S V Z AH S V Z AA M AB AC AD P AE AF AG S V Z AI@2 AJ
>`.pickRestart({
  A: "~@3 [c5,e5]@3 ~ c5@2 ~@7, ~@7 e5 ~@8", B: "[~@12 [c4,f4]@9 ~@3 c4@2 ~@6, ~@24 f4 ~@7]/2", C: "~ [c4,e4] ~@2",
  D: "~@3 [d5,f5]@3 ~ d5@2 ~@7, ~@7 f5 ~@8", E: "~@3 [d5,f5]@3 ~ f5@2 ~@7, ~@7 d5 ~@8",
  F: "~@3 [g5,b5]@3 ~ g5@2 ~@7, ~@7 b5 ~@8", G: "~@3 [g5,b5]@3 ~ b5@2 ~@7, ~@7 g5 ~@8",
  H: "~@3 [c5,e5]@2 ~@3 [c5,e5]@2 ~@6", I: "~@12 [g3,c4] ~@3", J: "~@8 [g3,c4] ~@7", K: "~@4 [g3,c4] ~@11",
  L: "[[g3,c4] ~@7 [g3,c4] ~@3 [c4,e4]@7 ~ [e4,g4]@7 d4 [a3,d4] ~@3]/2", M: "~@7 [a3,d4] ~@8", N: "~@4 [a3,d4] ~@11",
  O: "[[a3,d4] ~@7 [a3,d4] ~@3 [d4,f4]@7 [a3,d4]@7 ~ [d4,g4] ~@4]/2", P: "~@7 [d4,g4] ~@8", Q: "~@4 [d4,g4] ~@11",
  R: "[[d4,g4] ~@7 [d4,g4] ~@3 [g4,b4]@7 [b4,d5]@7 ~ [g3,c4] ~@4]/2", S: "~@7 [g3,c4] ~@8",
  T: "[[g3,c4] ~@7 [g3,c4] ~@3 [c4,e4]@7 [e4,g4]@7 ~ [g3,c4] ~@4]/2", // C5 C Em C5
  U: "[[g3,c4] ~@7 [g3,c4] ~@3 [c4,e4]@7 [e4,g4]@7 ~ [a3,d4] ~@4]/2", V: "~@3 [g3,c4] ~@11 [g3,c4]",
  W: "~@3 [c4,e4] ~@12", X: "~@3 [c5,e5] ~@3 [c5,e5]@2 ~@7", Y: "~@11 [g3,c4] ~@4", Z: "~@7 [g3,c4] ~@3 [c4,e4]@5",
  AA: "~@3 [e4,g4]@7 ~ [a3,d4] ~@4", AB: "~@3 [a3,d4] ~@11 [a3,d4]", AC: "~@7 [a3,d4] ~@3 [d4,f4]@5",
  AD: "~@3 [a3,d4]@7 ~ [d4,g4] ~@4", AE: "~@3 [d4,g4] ~@11 [d4,g4]", AF: "~@7 [d4,g4] ~@3 [g4,b4]@5",
  AG: "~@3 [b4,d5]@7 ~ [g3,c4] ~@4", AH: "~@3 [e4,g4]@7 ~ [g3,c4] ~@4",
  AI: "[~@3 [e4,g4]@7 ~ [c4,f4]@9 ~@3 c4@2 ~@7, ~@23 f4 ~@8]/2", AJ: "~@3 [c4,e4]@4 ~@9",
})).s("gm_trumpet").gain(0.3).pan(0.6)

// chords · trombone
const trombone = note(`<
  A B C D E F G H@2 I J@2 K ~ I ~ I ~ L ~ M ~ N ~ O ~ I ~ I ~ I ~ I ~ L ~ M ~ N ~ O ~ I ~ P Q R S T@2 U V W@2 X Y Z@2 AA
  S AB@2 AA S AC@2 U V W@2 X Y Z@2 AA AD AE ~ I ~ I ~ L ~ M ~ N ~ O ~ I ~ I ~ I ~ I ~ L ~ M ~ N ~ O ~ I ~ AF AG AA AD AH
  AI U AJ AK AL X AM AN AO AA AD AH AP AA AD AH AI U AJ AK AL X AM AN AO AA AD AH AP AA AD AH AI U AJ AK AL X AM AN AO
  AA AD AH AP AA AD AH AI U AJ AK AL X AM AN AO AA AD AH AP AA AD AH AI U AJ AK AL X AM AN AO AA AD AH AQ@2 AR
>`.pickRestart({
  A: "~@12 [c4,e4,g4,b4] ~@3", B: "~@4 [c4,e4] ~@3 c4@2 ~@6, ~@8 e4 ~@7", C: "[b3,d4] ~@7 [a3,c4] ~@7",
  D: "c4 ~@3 d4 ~@3, a3 ~@7 b3 ~@7", E: "[g3,b3] ~@3 [a3,c4]@2 ~@2 [b3,d4] ~@3 [c4,e4]@2 ~@2",
  F: "~@4 [c4,e4] ~@3 c4@2 ~@5 d#4, ~@8 e4 ~@7", G: "e4@7 ~ f4@7 ~", H: "[e4@7 ~ g4@20 ~@4]/2",
  I: "~@3 [c4,e4]@3 ~ c4@2 ~@7, ~@7 e4 ~@8", J: "[~@12 [c3,f3]@9 ~@3 c3@2 ~@6, ~@24 f3 ~@7]/2", K: "~ [c3,e3] ~@2",
  L: "~@3 [d4,f4]@3 ~ d4@2 ~@7, ~@7 f4 ~@8", M: "~@3 [d4,f4]@3 ~ f4@2 ~@7, ~@7 d4 ~@8",
  N: "~@3 [g4,b4]@3 ~ g4@2 ~@7, ~@7 b4 ~@8", O: "~@3 [g4,b4]@3 ~ b4@2 ~@7, ~@7 g4 ~@8",
  P: "~@3 [c4,e4]@2 ~@3 [c4,e4]@2 ~@6", Q: "~@12 [g2,c3] ~@3", R: "~@8 [g2,c3] ~@7", S: "~@4 [g2,c3] ~@11",
  T: "[[g2,c3] ~@7 [g2,c3] ~@3 [c3,e3]@7 ~ [e3,g3]@7 d3 [a2,d3] ~@3]/2", U: "~@7 [a2,d3] ~@8", V: "~@4 [a2,d3] ~@11",
  W: "[[a2,d3] ~@7 [a2,d3] ~@3 [d3,f3]@7 [a2,d3]@7 ~ [d3,g3] ~@4]/2", X: "~@7 [d3,g3] ~@8", Y: "~@4 [d3,g3] ~@11",
  Z: "[[d3,g3] ~@7 [d3,g3] ~@3 [g3,b3]@7 [b3,d4]@7 ~ [g2,c3] ~@4]/2", AA: "~@7 [g2,c3] ~@8",
  AB: "[[g2,c3] ~@7 [g2,c3] ~@3 [c3,e3]@7 [e3,g3]@7 ~ [g2,c3] ~@4]/2", // C5 C Em C5
  AC: "[[g2,c3] ~@7 [g2,c3] ~@3 [c3,e3]@7 [e3,g3]@7 ~ [a2,d3] ~@4]/2", AD: "~@3 [g2,c3] ~@11 [g2,c3]",
  AE: "~@3 [c3,e3] ~@12", AF: "~@3 [c4,e4] ~@3 [c4,e4]@2 ~@7", AG: "~@11 [g2,c3] ~@4", AH: "~@7 [g2,c3] ~@3 [c3,e3]@5",
  AI: "~@3 [e3,g3]@7 ~ [a2,d3] ~@4", AJ: "~@3 [a2,d3] ~@11 [a2,d3]", AK: "~@7 [a2,d3] ~@3 [d3,f3]@5",
  AL: "~@3 [a2,d3]@7 ~ [d3,g3] ~@4", AM: "~@3 [d3,g3] ~@11 [d3,g3]", AN: "~@7 [d3,g3] ~@3 [g3,b3]@5",
  AO: "~@3 [b3,d4]@7 ~ [g2,c3] ~@4", AP: "~@3 [e3,g3]@7 ~ [g2,c3] ~@4",
  AQ: "[~@3 [e3,g3]@7 ~ [c3,f3]@9 ~@3 c3@2 ~@7, ~@23 f3 ~@8]/2", AR: "~@3 [c3,e3]@4 ~@9",
})).s("gm_trombone").gain(0.3).pan(0.6)

// drums · kick
const kick = s("bd").struct(`<
  A B@7 A C A D@2 A C A C A C A C A C A C A C A C A C A C A C A C A C A C A C A ~ A C A C E F E F E F E F E F E F E F E
  F E F E F E F E F E F E B@2 F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E ~ E F E F E F E F E F E F E F
  E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E F E
  F E F E F E F E G@2
>`.pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@2 x!2", D: "~ x ~@2", E: "~@11 x ~@4", F: "~@7 x ~@3 x ~@4", G: "~@3 x ~@12",
})).gain(0.19)

// drums · clap
const clap = s("cp").struct(`<
  ~@46 A B A C D C D C D C D C D C D C D C D C D C D C D C D C D C ~@34 D C D C D C D C D C D C D C D C D C D C D C D C
  D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C D C ~@2
>`.pickRestart({
  A: "~ x!2 ~", B: "~ x ~@2", C: "~@3 x ~@12", D: "~@3 x ~@3 x ~@8",
})).gain(0.19)

// drums · snare
const snare = s("sd").struct(`<
  ~@8 A B C A ~@2 B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C D A B C B C B C B C B C B C B C B C B C B
  C B C B C B C B C E ~@3 E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ F G E ~ E ~ E ~ E ~ E ~ E ~ E ~ E
  ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~ E ~
  E ~ E ~ E H G ~
>`.pickRestart({
  A: "x!3 ~ x ~@3 x ~@7", B: "~ x ~@2", C: "x", D: "~ x!2 ~", E: "~@3 x ~@11 x", F: "~@3 x ~@3 x ~@7 x",
  G: "x!2 ~ x ~@3 x ~@8", H: "~@15 x",
})).gain(0.19)

// drums · low tom
const low_tom = s("lt").struct("<~@77 [~@3 x ~@12] ~@114>").gain(0.21)

// drums · hihat
const hihat = s("hh").struct("<A B C B D B C E ~@184>".pickRestart({
  A: "~@3 x", B: "x!4", C: "x ~ x!2", D: "x ~@2 x", E: "x!2 ~@2",
})).gain(0.16)

// drums · open hat
const open_hat = s("oh").struct("<~@2 [~ x ~@2] ~ [~ x ~@2] ~ [~ x ~@2] [~ x] ~@184>").gain(0.19)

// drums · crash
const crash = s("cr").struct("<~@10 [~@3 x] ~ [~ x ~@2] ~@176 [~@11 x ~@4] ~ [~@3 x ~@12]>").gain(0.19)

// drums · cowbell
const cowbell = s("cb").struct(`<
  ~@45 A B C D A B E F A B E F A B E F A B E F A B E F A B E F G H E ~@33 G H E F G H E F G H E F G H E F G H E F G H E
  F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F G H E F ~@3
>`.pickRestart({
  A: "~@3 x", B: "x ~ x!2", C: "~ x ~@2", D: "~ x ~ x", E: "~@3 x ~@12", F: "~@3 x ~@7 x ~@4", G: "~@11 x ~@3 x",
  H: "~@7 x ~@3 x ~@4",
})).gain(0.19)

// drums · bongos
const bongos = s("bongo:18").struct(`<
  A B A C A B A C A B ~@3 A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A D A B A C A E A C A E A C A E A
  C A E A C A E A C A E A C A E F ~ A E F E A E F E A E F E A E F E A E F E G E F E G E F E G E F ~ G E F E G E F E G E
  F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G E F E G
  E F E G E F E G E F E ~@3
>`.pickRestart({
  A: "~@3 x", B: "~@2 x!2", C: "x ~ x!2", D: "x", E: "~@7 x ~@3 x ~@4", F: "~@11 x ~@3 x", G: "~@11 x ~@4",
})).gain(0.28)

// drums · congas
const congas = s("conga:13").struct(`<
  ~ A B A B A B A B A B ~@3 A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B C ~ A B A B A B A B A B A B A B
  A B A B A B A B A B A B A B D ~@3 D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ D ~ E ~ D ~ D ~ D ~ D ~ D ~
// … 51 more lines

More by Alain Barriere