Strudelify
Blue Kiss From Brazil cover art

Rolling With Bolling 1973-1983 (Intégrale Claude Bolling Big Band)

Blue Kiss From Brazil

Claude Bolling

KeyE♭ majorTempo84 bpm
0:00/0:00
// Blue Kiss From Brazil — Claude Bolling
// 84 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 151 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 22 ms behind the beat; the grid follows it, so its parts stay together.
setcpm(84/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 · "A.PIANO 2"
const piano = note(`<
  A B C D E F G H I J K L M N O P Q R S@2 T R U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL F E F AM@2 AN AO AP AQ AR
  AS AT AU AV@2 AW AX AY AZ BA BB BC BD AU BE BF BG BH BI BJ BK BL BM BN BO AM@2 AN AO AP AQ AR AS AT AU AV@2 AW AX AY
  AZ BA BB BC BD AU BE BF BG BH BI BJ BK BL BM BN BO AL F E F BP BQ BR BS BT BU BV BW Q R BX@2 Q R BY BZ CA CB CC CD CE
  CF CG CH CI CJ CK@2 CL CM CN BA CO CP CN BA CQ CR CS CT
>`.pickRestart({
  A: "[eb2,bb2] ~@3 [eb2,bb2] ~@2 [eb2,bb2] ~@2 [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~", // Eb5
  B: "[bb1,bb2]@2 ~@2 [bb1,bb2] ~@2 [bb1,bb2] ~ [bb1,bb2] ~@2 [bb1,bb2] ~ [bb1,bb2] ~", // Bb
  C: "[eb2,bb2] ~@2 [eb2,bb2] ~@2 [eb2,bb2] ~@2 [eb2,bb2] ~ [eb2,bb2] ~ [eb2,bb2] ~@2", // Eb5
  D: "[eb2,bb2] ~@2 [eb2,bb2] ~@2 [eb2,bb2] ~ [bb1,bb2] ~ [bb1,bb2] ~ [bb1,bb2] ~ [bb1,bb2] ~", // Eb5 Bb
  E: "~@3 eb2 bb2 c3@2 db3@2 c3@2 bb2@2 c3 bb2@2", F: "~@3 e2 b2 db3@2 d3@2 db3@2 b2 db3@2 b2@2",
  G: "~@3 eb2 bb2 c3@2 db3!2 c3@2 bb2@2 c3 bb2@2", H: "~@3 e2 b2 db3@2 d3!2 db3@2 b2 db3@2 b2@2",
  I: "~ [eb3,g3,bb3,d4] ~@4 [eb3,g3,bb3,d4]@2 [eb3,g3,bb3,d4]@8", // Ebmaj7
  J: "~ [ab3,c4,d4,gb4] ~@4 [ab3,c4,d4,gb4]@2 [ab3,c4,d4,gb4]@8", // Ab7
  K: "~ [g3,bb3,db4,f4] ~@4 [g3,bb3,db4,f4]@2 [g3,bb3,db4,f4]@8", L: "~ [c3,bb3,e4] ~@7 c3 db3 b2 c3 ab3 e3 g3",
  M: "~ f2 c3@2, f3", N: "[f2,db3]@3 [f2,db3]", O: "[f2,d3]!2",
  P: "~@5 [g3,bb3,d4,f4]@3 [f3,a3,c4,e4]@4 [f3,ab3,b3,eb4]@4", Q: "~ [eb3,g3,a3,d4]@7",
  R: "f2 c3 f3 g3 ab3 bb3 c4 eb4 d4@8", S: "~ [c3,eb3,g3] ~@2 [c3,eb3,g3]@4 [ab2,c3,gb3]@8", T: "g3 ab3 a3 bb3, c3!2",
  U: "~ [g3,bb3,d4,f4]@3 ~@4 [c3,bb3,e4]@8", V: "~ [f3,ab3,c4,eb4]@3 ~@4 [bb2,ab3,d4]@8",
  W: "~ [eb3,g3,bb3,d4] ~@2 [eb3,g3,bb3,d4] ~@3 [eb3,g3,bb3,d4]@8", // Ebmaj7
  X: "~ [ab3,c4,d4,gb4] ~@2 [ab3,c4,d4,gb4] ~@3 [ab3,c4,d4,gb4]@8", // Ab7
  Y: "~ [g3,bb3,db4,f4] ~@2 [g3,bb3,db4,f4] ~@3 [g3,bb3,db4,f4]@8", // Gm7b5
  Z: "~ [g3,bb3,c4,e4] ~@2 [g3,bb3,c4,e4]@3 ~@2 c3 db3 b2 c3 ab3 e3 g3", AA: "~ c4@3, f3@15 ~", AB: "~@4 db4@11 ~, f3",
  AC: "~ d4@3, f3", AD: "~@5 [g3,bb3,d4,f4]@3 [ab3,bb3,db4,f4]@3 ~ [g3,bb3,db4,e4]@4",
  AE: "~ [g3,ab3,c4,eb4]@7 [ab3,c4]@2 ~@6, ~@8 [g3,eb4] ~@7", // Abmaj7 Ab Cm
  AF: "[f3,ab3,b3,eb4] ~@2 [f3,b3,eb4] ~@2 [f3,ab3,b3,eb4]@2 ~ [f3,ab3,eb4] ~@2 [f3,ab3,b3]@2 ~@2, ~@3 ab3@2 ~@4 b3@2 ~ eb4 ~@3", // Fm7b5 Fm7 Fdim
  AG: "~ [eb3,g3,bb3,d4]@7 [eb3,bb3,d4] ~@7, ~@4 g3 ~@3", // Ebmaj7
  AH: "[eb3,gb3,a3,d4] ~@2 [eb3,gb3,a3,d4] ~@2 [eb3,gb3,a3,d4]@2 ~ [gb3,a3,d4] ~@2 [eb3,a3,d4] ~@3, ~@9 eb3@2 ~ gb3@2 ~@2", // D
  AI: "~ [f2,c3,ab3] ~@4 [f2,c3,ab3]@2 [f2,c3,ab3]@8", AJ: "~ [ab2,gb3,b3] ~@4 [ab2,b3]@2 [ab2,gb3,b3]@8, ~@6 gb3 ~@9",
  AK: "~ [g2,bb3] ~@2 [gb2,a3]@3 ~ [f2,ab3]@3 ~ [bb2,ab3]@4", // Gm Gbm Fm Bb7
  AL: "[eb3,g3,bb3] ~@2 eb2 bb2 c3 ~ db3@2 c3@2 bb2@2 c3 bb2 ~", // Eb
  AM: "[bb2 ~@2 ab2 g2 f2 ~ eb2@2 db2@2 c2 ~ b1@2 bb1@9 bb1@7 ~]/2", AN: "[g2,f3]@8 [g2,f3]@7 ~", AO: "[c2,e3]@15 ~",
  AP: "[f2,ab3] ~ [f2,ab3] ~ [f2,ab3] ~ f2 ~, ~@12 ab3 ~@3", // Fm
  AQ: "[db3,f3,ab3] ~ [db3,f3,ab3] ~ [db3,ab3] ~ [db3,f3,ab3] ~, ~@8 f3 ~@7", AR: "[bb2,d3,ab3] ~@7",
  AS: "[bb2,eb3,g3]@2 d3 g2", AT: "~@4 g2@4 ~ g3 a3 b3 ~@4, eb3@8 c2@7 ~", AU: "f2",
  AV: "[c3,eb3,g3] ~@3 [ab2,c3,gb3]@4", AW: "~ c2 ~@2 g3 gb3 f3 eb3 c3 eb3 f3 gb3 f3 eb3 c3 d3",
  AX: "eb3 f3 g3 bb3 f3 ab3 c4 eb4 [c3,ab3]@8, f2", AY: "[g2,d3,bb3] [c3,e3,ab3]", AZ: "[f2,c3,ab3] [bb2,d3,ab3]",
  BA: "[eb2,bb2,g3] ~@7", BB: "[bb2,d3,ab3]", BC: "[g2,f3]",
  BD: "g3 [ab3,a3] bb3 ab3 g3 bb3 f3 bb3 e3 bb3 db3 bb3 c3 bb2 ab2 g2, [c2,e3] ~", // Amaj7 C
  BE: "~ db2@2 ~ [ab3,db4,f4]@2 ~@2 db2@2 ~ [ab3,d4,f4] ~@4", // Db Ddim
  BF: "[bb2,d3,ab3]@2 ~ [bb2,d3,ab3]@2 ~ [bb2,d3,ab3]@2 ~ [bb2,d3,ab3]@2 ~ [bb2,ab3]@2 [d3,ab3] ~, ~@12 d3 ~ bb2@2", // Bb7 Ddim
  BG: "[bb2,eb3,g3]@2 ~@6 eb2@7 ~", BH: "~ [ab2,c3,eb3,g3]@2 ~@13",
  BI: "[ab2,f3,b3]@8 [ab2,f3,b3]@2 ~@2 [ab2,f3,b3]@3 ~", BJ: "[g2,d3,bb3] ~@7",
  BK: "[gb2,eb3,a3]@8 [gb2,eb3,a3]@2 ~ [gb2,eb3,a3] ~@2 [gb2,eb3,a3] ~", // Ebdim
  BL: "[f2,c3,ab3]@8 ~ [f2,c3,ab3] ~ [f2,c3,ab3] ~@4", BM: "[ab2,gb3,b3]@4 [ab2,gb3,b3] ~@3",
  BN: "[g2,f3] ~ [gb2,e3] ~ [f2,eb3] ~ [e2,d3] ~", BO: "[eb2,d3] ~@7",
  BP: "[eb2,g3]@4 [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 ~ [bb3,eb4,g4]@3 [eb2,g3]@2", // Eb
  BQ: "[d2,gb3]@4 [ab3,d4,gb4]@2 ~ [ab3,d4,gb4]@5 [d2,gb3]@4", // D Abm7b5 D
  BR: "[db2,f3]@4 [g3,db4,f4]@2 ~@2 [g3,db4,f4]@2 ~ [g3,db4,f4]@3 [db2,f3]@2", // Db Gm7b5 Db
  BS: "[c2,e3]@4 [g3,bb3,c4,e4]@2 ~ [g3,bb3,c4,e4]@5 [c2,c3] [db2,db3] [d2,d3] [e2,e3]", // C C7 C Db D E
  BT: "[f2,f3]@4 [ab3,c4,f4]@2 ~@2 [ab3,c4,f4]@2 ~ [ab3,c4,f4]@2 [e2,e3] [eb2,eb3] [d2,d3]", // F Fm E Eb D
  BU: "[db2,db3]@4 [ab3,db4,f4]@2 ~ [ab3,db4,f4]@4 [db2,db3]@2 [c2,c3]@2 [b1,b2]", // Db C B
  BV: "[bb1,bb2]@4 [ab3,d4,f4]@2 ~@2 [ab3,d4,f4]@2 ~ [ab3,d4,f4]@5", // Bb Ddim
  BW: "[eb2,bb2]@4 ~ [g3,bb3,d4,f4]@3 [f3,a3,c4,e4]@3 [f3,ab3,b3,eb4]@5", // Eb5 Gm7 Fmaj7 Fm7b5
  BX: "~@2 [c3,eb3,g3]@2 ~@2 [c3,eb3,g3]@2 ~ [ab2,gb3]@7", BY: "~ [g2,d3,bb3] ~@6 [c3,e3,bb3]@8",
  BZ: "~ [f2,c3,ab3] ~@6 [bb2,d3,ab3]@8", // Fm Bb7
  CA: "[bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 ~ [bb3,eb4,g4]@4 [bb3,eb4,g4]@3 [bb3,eb4,g4]@2", // Eb
  CB: "[ab3,d4,gb4]@2 ~@2 [ab3,d4,gb4]@2 ~ [ab3,d4,gb4]@4 [ab3,d4,gb4]@3 [ab3,d4,gb4]@2", // Abm7b5
  CC: "[g3,db4,f4]@2 ~@2 [g3,db4,f4]@2 ~ [g3,db4,f4]@4 [g3,db4,f4]@3 [g3,db4,f4]@2", // Gm7b5
  CD: "[c3,bb3,e4]@2 ~@2 [c3,bb3,e4]@2 ~ [c3,bb3,e4] ~ c3 db3 b2 c3 ab3 e3 g3", CE: "f3 c3 f2 c3",
  CF: "db3@6 ~ [ab3,db4,f4]@9", CG: "d3@6 ~ [ab3,d4,f4]@9", CH: "~@8 [eb3,d4] db4 ~ [eb3,g3,db4]@5",
  CI: "[ab2,eb3,c4] ~@2 [ab2,eb3,c4]@3 [ab2,eb3,c4]@2 [ab2,eb3,c4]@2 [ab2,eb3,c4]@2 [ab2,eb3,c4]!2 ~ [ab2,eb3,b3]", // Ab Abm
  CJ: "~@2 [ab2,f3,b3]@4 [ab2,eb3,b3] [ab2,eb3,b3]@9", // Fdim Abm
  CK: "[[g2,eb3,bb3] ~@2 [g2,eb3,bb3]@3 [g2,eb3,bb3]@2 [g2,eb3,bb3]@2 [g2,eb3,bb3]@2 [g2,eb3,bb3]!2 ~ [gb2,eb3,a3]@3 [gb2,eb3,a3]@2 ~ [gb2,eb3,a3]@2 ~ [eb3,a3] ~@2 [gb2,eb3,a3]@2 ~ [gb2,a3] ~, ~@12 gb2 ~@2 eb3]/2", // Eb Ebdim Gbm
  CL: "[f2,eb3,ab3] ~@3 [f2,eb3,ab3] ~@2 [f2,eb3,ab3]@3 ~ [f2,eb3,ab3]@3 [f2,eb3,ab3] ~", // Fm7
  CM: "[ab2,gb3,b3] ~@3 [ab2,gb3,b3] ~@2 [ab2,gb3,b3]@3 ~ [ab2,gb3,b3]@3 [ab2,gb3] ~, ~@7 b3", // Abm7 Ab7
  CN: "[g2,bb3]@3 ~ [gb2,a3]@3 ~ [f2,ab3]@3 ~ [bb2,d3,ab3]@4", // Gm Gbm Fm Bb7
  CO: "[f2,c3]@2 ~@2 [f2,c3,ab3] ~@2 [f2,c3,ab3]@3 ~ [f2,c3,ab3]@3 [f2,c3,ab3] ~, ab3 ~@15", // F5 Fm
  CP: "[eb3,gb3,b3] ~@3 [ab2,eb3,gb3,b3] ~@2 [ab2,eb3,gb3,b3]@3 ~ [ab2,eb3,gb3,b3]@2 ~ [eb3,gb3,b3] ~, ab2 ~@6 ab2", // B Abm7 B
  CQ: "f3 ~@3 f3 ~@2 f3@3 ~ f3@2 ~ f3 ~", CR: "ab3@2 ~@2 ab3 ~@2 ab3@4 ab3@2 ~ ab3 ~",
  CS: "g3@3 ~ f3@3 ~ f3@3 ~ bb3@3 ~", CT: "eb3 [f3,g3] [eb3,bb3]@13 ~, ~@2 ab3 ~@13",
})).s("gm_piano").gain(0.39).pan(0.2)

// bass · fretless bass · "ACOU BASS"
const bass = note(`<
  ~@4 A B C D E F G H I J K L H M N@2 H M O P E F G H I J K Q R S T U V W X Y B Y B Z AA AB AC AD AB AE AF AC AD AG@2 AC
  AD AH AI Z AA AB AC AD AB AE AJ AK AL AM AN AD AO AP Z@2 AA AB AC AD AB AE AF AC AD AG@2 AC AD AH AI Z AA AB AC AD AB
  AE AJ AK AL AM AN AD AO AP Z Y B Y B AQ AR AS AT AU AV AW L H M N@2 H M O P E F AX H I J K Q AY AZ BA@2 V W BB Z V W
  BB Z V W BB BC
>`.pickRestart({
  A: "~@3 eb2 bb2 c3@2 db3@2 c3@2 bb2@2 c3 bb2@2", B: "~@3 e2 b2 db3@2 d3@2 db3@2 b2 db3@2 b2@2",
  C: "~@3 eb2 bb2 c3@2 db3!2 c3@2 bb2@2 c3 bb2@2", D: "~@3 e2 b2 db3@2 d3!2 db3@2 b2 db3@2 b2@2",
  E: "eb2@3 bb2 eb3@4 eb2@3 bb2 eb3@4", F: "d2@3 bb2 d3@4 d2@3 bb2 d3@4", G: "db2@2 g2 db3@4 ~ db2@2 g2 db3@4 ~",
  H: "c2@3 g2 c3@4 c2@3 g2 c3@4", I: "f2@3 c3 f3@4 f2@3 c3 f3@4", J: "db2@3 ab2 db3@4 db2@3 ab2 db3@4",
  K: "bb1@3 f2 bb2@4 bb1@3 f2 bb2@4", L: "eb2@3 g2 bb2@2 eb2@2 d2@4 g2@4", M: "f1@3 c2 f2@4 f1@3 c2 f2@4",
  N: "c2@3 g2 c3@2 g2@2 ab1@3 eb2 ab2@2 eb2@2", O: "g1@3 d2 g2@4 c2@3 g2 c3@4", P: "f1@3 c2 f2@4 bb1@3 f2 bb2@4",
  Q: "eb2@3 g2 bb2 ~ eb2 ~ bb1@3 ~ eb2@4", R: "ab1@3 eb2 ab2@3 ~ ab1@2 ~ eb2 ab2@4",
  S: "ab1@2 ~ eb2 ab2@4 db2@2 ~ ab2 db3@3 ~", T: "g2@2 ~ eb3 g2@3 ~ g2@2 ~ eb3 g2@3 ~",
  U: "gb2@2 ~ eb3 gb2@4 gb2@2 ~ eb3 gb2@3 ~", V: "f2@2 ~ c3 f2@3 ~ f2@3 c3 f2@4",
  W: "ab2@2 ~ eb3 ab2@3 ~ ab2@3 eb3 ab2@4", X: "g2@2 ~ g2 gb2@2 ~ gb2 f2@2 ~ f2 bb2@2 ~ bb2",
  Y: "eb2@2 ~ eb2 bb2 c3@2 db3@2 c3@2 bb2@2 c3 bb2@2", Z: "eb2 ~@7", AA: "d2 ~@15", AB: "db2 ~@7", AC: "c2 ~@15",
  AD: "f2 ~@7", AE: "bb1 ~@7", AF: "eb2 ~@7 d2@2 ~@2 g2@2 ~@2", AG: "c2 ~@3 ab1 ~@3", AH: "g2 ~@7 c2@2 ~@6",
  AI: "f2 ~@3 bb1 ~@3", AJ: "eb2 ~@3 bb2 ~ eb2 ~", AK: "ab1 ~@7", AL: "ab2 ~@3 db2 ~@3", AM: "g2 ~@7", AN: "gb2 ~@15",
  AO: "ab2 ~@7", AP: "g2 ~ gb2 ~ f2 ~ bb1 ~", AQ: "eb2@3 bb2 eb3@4 eb2@3 bb2 eb3@2 eb2@2",
  AR: "d2@3 bb2 d3@3 ~ bb2@3 gb2 d2@4", AS: "db2@3 g2 db3@4 db2@3 g2 db3@2 db2@2", AT: "c2@3 g2 c3@3 ~ g2@3 e2 c2@4",
  AU: "f2@3 c3 f3@4 f2@3 f2@2 e2 eb2 d2", AV: "db2@3 ab2 db3@3 ~ db2@3 db2@2 c2 b1@2",
  AW: "bb1@3 f2 bb2@4 bb1@3 f2 bb2@2 bb1@2", AX: "db2@3 g2 db3@3 ~ db2@3 g2 db3@4",
  AY: "ab2 ~@2 ab2@3 ab2@2 ab2@2 ab2@2 ab2!2 ~ ab2", AZ: "~@2 db2@4 ab2 db2@3 ab2@2 f2@2 db2@2",
  BA: "[g2 ~@2 g2@3 g2@2 g2@2 g2@2 g2!2 ~ gb2@2 ~ gb2@2 ~ gb2@3 gb2 ~@2 gb2@2 ~ gb2@2]/2",
  BB: "g2@2 ~ g2 gb2@2 ~ gb2 f2@2 ~ f2 bb1@2 ~ bb2", BC: "~@2 eb2@13 ~",
})).s("gm_fretless_bass").gain(0.24).pan(0.2)

// other · drawbar organ · "ORGAN"
const drawbar_organ = note("<~@4 A B C D ~@31 A B A B ~@64 A B A B ~@40>".pickRestart({
  A: "~@3 eb2 bb2 c3@2 db3@2 c3@2 bb2@2 c3 bb2@2", B: "~@3 e2 b2 db3@2 d3@2 db3@2 b2 db3@2 b2@2",
  C: "~@3 eb2 bb2 c3@2 db3!2 c3@2 bb2@2 c3 bb2@2", D: "~@3 e2 b2 db3@2 d3!2 db3@2 b2 db3@2 b2@2",
})).s("gm_drawbar_organ").gain(0.23).pan(0)

// chords · electric guitar jazz · "A.GUITAR"
const electric_guitar_jazz = note(`<
  ~@43 A B C D E F G H I E J@2 I E K L A B C D E F G M N O A P Q R S A@2 B C D E F G H I E J@2 I E K L A B C D E F G M N
  O A P Q R S A ~@44
>`.pickRestart({
  A: "[g3,bb3,eb4] ~@7", B: "[gb3,ab3,bb3,d4] ~@7", C: "[g3,b3,db4,f4] ~@7", D: "[g3,bb3,c4,e4] ~@7",
  E: "[ab3,c4,f4] ~@7", F: "[ab3,db4,f4] ~@7", G: "[ab3,bb3,d4,f4] ~@7",
  H: "[g3,bb3,eb4] ~@3 [f3,a3,c4,d4] ~ [g3,b3,d4,f4] ~", I: "[g3,c4,eb4] ~@7",
  J: "[g3,c4,eb4] ~@3 [gb3,ab3,c4,eb4] ~@3", K: "[g3,bb3,d4,f4] ~@3 [g3,bb3,c4,e4] ~@3",
  L: "[ab3,c4,eb4,f4] ~@3 [ab3,bb3,d4,f4] ~@3", M: "[g3,bb3,eb4] ~@3 [ab3,bb3,db4,f4] ~ [g3,bb3,db4,eb4] ~",
  N: "[ab3,c4,eb4] ~@7", O: "[ab3,b3,eb4,f4] ~@3 [f3,ab3,b3,eb4] ~@3", P: "[gb3,a3,c4,eb4] ~@7",
  Q: "[ab3,c4,eb4,f4] ~@7", R: "[gb3,ab3,b3,eb4] ~@7",
  S: "[g3,bb3,d4,f4] ~ [gb3,a3,db4,e4] ~ [ab3,c4,eb4,f4] ~ [ab3,bb3,d4,f4] ~", // Gm7 Gbm7 Fm7 Bb7
})).s("gm_electric_guitar_jazz").gain(0.11).pan(0.1)

// drums · snare
const snare = s("sd").struct("<A@59 B@4 A@28 B@4 A@16 B@4 A@4 B@8 A@4 B@4 C D C E A@3 F A@3 G A@3 ~>".pickRestart({
  A: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@3", B: "x ~@2 x ~@5 x ~@2 x ~@3", C: "x ~@2 x ~@2 x ~ x ~ x ~ x!2 ~ x",
  D: "~@3 x ~@4", E: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", F: "x ~@6 x ~@6 x ~", G: "~ x ~ x",
})).gain(0.06).pan(0.1)

// drums · hihat
const hihat = s("hh").struct("<A@135 ~ B ~@2 A@3 C A@3 ~ A@3 ~>".pickRestart({
  A: "x!16", B: "~@8 x!8", C: "x!8",
})).gain(0.06).pan(0.1)

// drums · low tom
const low_tom = s("lt").struct("<~@142 [~@3 x ~@7 x ~@4] ~@3 [~@3 x ~ x ~@5 x ~ x ~@2] ~@3 [~ x ~@6]>")
  .gain(0.12).pan(0.1)

// drums · mid tom
const mid_tom = s("mt").struct("<~@142 [~ x ~@4 x ~ x ~@4 x ~@2] ~@8>").gain(0.12).pan(0.1)

// drums · crash
const crash = s("cr").struct("<~@146 [x!4] ~@3 [~ x ~@2 x ~@3]>").gain(0.12).pan(0.1)

// drums · high tom
const high_tom = s("ht").struct("<A@135 B C D E A@3 F A@3 G A@3 ~>".pickRestart({
  A: "x ~@2 x!2 ~@3 x ~@2 x!2 ~@3", B: "x ~@2 x ~@2 x ~ x ~@3 x ~@3", C: "~@2 x ~@5 x ~@2 x!2 ~@3",
  D: "x ~@2 x ~@2 x ~ x ~ x ~ x!2 ~ x", E: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", F: "~@2 x ~@2 x ~@4 x ~ x ~@3", G: "x!8",
})).gain(0.07).pan(0.1)

// drums · ride
const ride = s("rd").struct("<~@136 [~ x ~@6] ~@14>").gain(0.12).pan(0.1)

// drums · congas
const congas = s("conga:13").struct("<~@142 [~@3 x ~@7 x ~@4] ~@3 [~ x ~@5 x ~ x ~@5 x] ~@4>").gain(0.4).pan(0.1)

stack(piano, bass, drawbar_organ, electric_guitar_jazz, snare, hihat, low_tom, mid_tom, crash, high_tom, ride, congas)

More by Claude Bolling