Strudelify

Living in America

James Brown

KeyC minorTempo121 bpm
0:00/0:00
// Living in America — Brown James
// 121 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 143 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(121/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.

// bass · electric bass pick · "bass"
const bass = note(`<
  A B@7 C B@7 C D C D E F G B@2 H I B@2 J K L A M B@2 C B@4 C B C B@4 C N O P E Q R S B T U B C V W X@2 B Y B Y B Z B AA
  AB AC AD AE AF AG ~@4 AH@2 AI@2 AJ R S B V U B C V W X@2 AK R S B V U B C V W X@2 B Y B Y B Y B AA Q R S B T U B C V W
  X@2 F G B@2 H I B@2 AL K L A
>`.pickRestart({
  A: "c2 ~ c2 ~ c2 ~ c2!2 ~@8", B: "c2 ~ c2@2 bb1 ~ bb1@2 d2 ~ d2@2 c2@2 bb1@2",
  C: "c2 ~ c2@2 bb1 ~ bb1@2 d2 ~ d2@2 c2@2 bb1 ~", D: "f2@2 f3@2 eb2@2 eb3@2 d2@2 d3@2 db2@2 db3 ~",
  E: "[g1,g2] ~ [g1,g2] ~ [g1,g2] ~ [g1,g2] ~ [g1,g2] ~@7", F: "eb1 ~ eb1@2 ~@2 eb1@2 ~@2 eb1@2 eb2 ~ eb1@2",
  G: "f1 ~ f1@2 ~@2 f1@2 ~@2 f1@2 ~@2 f1@2", H: "eb1 ~ eb1@2 eb2 ~ eb1@2 ~@2 eb1@2 ~@2 eb1 ~",
  I: "f1 ~ f1@2 ~@2 f1@2 ~@2 f2 ~ f2 c2 f1@2", J: "eb1 ~ eb1@2 ~@2 eb1@2 eb2 ~ eb1@2 eb2 ~ ab1@2",
  K: "bb1 ~ bb1@2 ~@2 bb1 ~ bb1 ~ bb1@2 ~@2 bb1@2", L: "ab1 ~ ab1@2 ~@2 ab1@2 ~@2 ab1@2 ~@2 ab1@2",
  M: "~@2 c2@2 bb1 ~ bb1@2 d2 ~ d2@2 c2@2 bb1@2", N: "f2 f3 eb2 eb3 d2 d3 c2 c3",
  O: "f2@2 f3@2 eb2 ~ eb3@2 d2@2 d3@2 c2@2 c3@2", P: "f2@2 f3@2 eb2@2 eb3@2 d2@2 d3@2 c2@2 c3 ~",
  Q: "eb1 ~ eb1@3 ~ eb1@3 ~ eb1 ~ eb1 ~ eb1@2", R: "f1 ~ f1@2 ~@2 f1@2 ~@2 f1@3 ~ f1@2",
  S: "c2 ~ c2@2 bb1 ~ bb1@2 ~@2 d2@2 c2@2 bb1@2", T: "eb1 ~ eb1@2 ~@2 eb1@2 ~@2 eb1@3 ~ eb1 ~",
  U: "f1 ~ f1@2 ~@2 f1 ~ f1 ~ f1@2 bb1 ~ b1@2", V: "eb1 ~ eb1@2 ~@2 eb1@2 ~@2 eb1@2 ~@2 eb1 ~",
  W: "f1 ~ f1@2 ~@2 f1 ~ f1 ~ f1@2 ~@2 f1 ~", X: "ab1 ~ ab1@2 ~@2 ab1@2 ~@2 ab1@2 ~@2 ab1 ~",
  Y: "c2 ~ c2@2 bb1 ~ bb1@2 eb2 ~ eb2@2 c2@2 bb1@2", Z: "~@2 c2@2 bb1 ~ bb1@2 eb2 ~ eb2@2 c2@2 bb1@2",
  AA: "c2 ~ c2@2 bb1 ~ bb1@2 e1@2 e2@2 g1@2 g2@2", AB: "a1@2 a2 ~@4 d2 g1@2 g2@2 g1@2 g2@2",
  AC: "a1@2 a2 ~@4 d2 g1@2 g2@2 gb1@2 gb2@2", AD: "a1@2 a2 ~@4 d2 g1@2 g2@2 ab1@2 ab2@2",
  AE: "a1@2 a2 ~@4 e2 a1@2 a2@2 g1@2 g2@2", AF: "f1@2 f2 ~@4 a1 d1@2 d2@2 eb1@2 eb2@2",
  AG: "f1@2 f2 ~@4 d2 g1@2 g2@2 f1@2 f2 ~", AH: "[~@2 e1@2 g1 ~ a1@2 d2@4 c2@3 g1@3 a1@2 ~@12]/2",
  AI: "[~@2 e1@2 g1@2 a1 ~ d2@4 c2@3 g1@3 a1@2 ~@12]/2", AJ: "eb1 ~ eb1@2 ~@2 eb1@3 ~ eb1 ~ eb1 ~ eb1@2",
  AK: "eb1 ~ eb1@3 ~ eb1@2 ~@2 eb1 ~ eb1 ~ eb1@2", AL: "eb1 ~ eb1@2 ~@2 eb1@2 eb2 ~ eb1@2 eb2@2 ab1@2",
})).s("gm_electric_bass_pick").gain(0.4)

// chords · pad sweep · "brass"
const pad_sweep = note(`<
  A ~@4 B C@2 D ~@8 E F G H I J K L I J K L M N O A ~@16 P Q ~ R S T U V W X Y Z W AA AB@2 AC AD AE ~ AF AD AE ~@15 AG T
  AH V W AI Y Z W AA AB@2 AJ T U V W AK Y Z W AI AB@2 AC AD AE ~ AF AD AE ~ AJ T U V W AK AL Z W X AB@2 I J K L I J K L
  M AM O A
>`.pickRestart({
  A: "[c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6]!2 ~@8", B: "[c5,c6]@13 ~ [a5,c6]@2",
  C: "[[g5,bb5] ~@11 [f5,f6] [eb5,eb6] [c5,c6] [bb4,bb5]@3 [c5,c6] ~@3 bb3 b3 c4 ~@7]/2", // Gm F Eb C Bb C
  D: "~@2 [g5,bb5,c6] ~@3 [g5,bb5,c6] ~@3 [g5,bb5,c6] ~@5", E: "~@2 g4 ~ c5 ~ d5@4 eb5 ~@5",
  F: "~@8 [c5,g5,bb5] ~@2 [c5,g5,bb5] ~@4", G: "~@2 g4 ~ c5 ~ d5 ~ [bb4,e5,ab5]@2 ~ [c5,f5,a5] ~@4",
  H: "[c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6] ~@7", I: "[eb5,eb6]@7 ~",
  J: "~@8 [eb5,eb6] ~ [c5,eb5] [b4,d5] [c5,eb5]!2 ~@2", K: "~@8 [c5,g5,c6]!2 ~ [c5,g5,c6] ~@4",
  L: "~@12 [c5,g5,c6] ~@3", M: "[eb5,eb6]@13 ~@3", N: "[bb3,bb4]@4 [d4,d5]@3 ~ [f4,f5]@4 [bb4,bb5]@4",
  O: "[c5,eb5,gb5]@7 ~", P: "~@2 f4@2 c5@2 d5@6 [c5,eb5,a5] ~@3", Q: "~@2 f4 ~ c5@2 d5@5 ~ [c5,eb5,a5] ~@3",
  R: "[g4,g5,d6,g6] ~ [g4,g5,d6,g6] ~ [g4,g5,d6,g6] ~ [g4,g5,d6,g6] ~ [g4,g5,d6,g6] ~@7", // G5
  S: "[bb4,eb5,g5] ~ [bb4,eb5,g5] ~ [c5,eb5,ab5]@2 [bb4,eb5,g5] ~@9", // Eb Ab Eb
  T: "[c5,f5,a5] ~ [c5,f5,a5] ~ [d5,g5,bb5] ~ [c5,f5,a5] ~@9", U: "c5@2 bb4 ~ [eb5,g5] ~ [d5,f5]@7 ~@3, eb5 ~@15",
  V: "[bb4,bb5] ~ [c5,c6] ~@3 [eb5,eb6] ~@3 [f5,f6]@2 ~@4", // Bb C Eb F
  W: "[bb4,eb5,g5] ~ [bb4,eb5,g5] ~ [c5,eb5,ab5] ~ [bb4,eb5,g5] ~@9", // Eb Ab Eb
  X: "[c5,f5,a5] ~ [c5,f5,a5] ~ [d5,f5]@2 [c5,f5,a5] ~@9, ~@4 bb5 ~@11", // F Dm F
  Y: "[c5,eb5] ~ bb4 ~ eb5@2 [d5,f5]@6 ~@2 [bb4,bb5] ~, ~@4 g5 ~@11", Z: "~@2 [c5,c6] ~@3 [eb5,eb6] ~@3 [f5,f6]@3 ~@3",
  AA: "[c5,f5,a5] ~ [c5,f5,a5] ~ [d5,f5]@2 [c5,e5,f5,a5] ~@9, ~@4 bb5 ~@11", // F Dm Fmaj7
  AB: "[[ab4,c5,d5,f5]@23 ~@5 [bb5,f6,bb6] ~@3]/2", AC: "~@2 [c5,c6] ~@5", AD: "~@12 [c5,c6]!2 ~ [c5,c6]",
  AE: "~@12 [bb4,bb5] [c5,c6] ~ [c5,c6]", AF: "~@4 [c5,c6]@3 ~@9",
  AG: "[bb4,eb5,g5] ~ [bb4,eb5,g5] ~ [eb5,ab5]@2 [bb4,eb5,g5] ~@9, ~@4 c5 ~@11", // Eb Ab5 Eb
  AH: "[c5,eb5] ~ bb4 ~ [eb5,g5] ~ [d5,f5]@7 ~@3", AI: "[c5,f5,a5] ~ [c5,f5,a5] ~ [d5,f5,bb5] ~ [c5,f5,a5] ~@9",
  AJ: "[bb4,eb5,g5] ~ [bb4,eb5,g5] ~ [c5,ab5] ~ [bb4,eb5,g5] ~@9, ~@2 eb5 ~@5", // Eb Fm Eb
  AK: "[c5,f5,a5] ~ [c5,f5,a5] ~ [f5,bb5] ~ [c5,f5,a5] ~@9, ~@2 d5 ~@5", // F Bb5 F
  AL: "[c5,eb5] ~ bb4 ~ [eb5,g5] ~ [d5,f5]@6 ~@2 [bb4,bb5] ~", AM: "[bb3,bb4]@3 ~ [d4,d5]@3 ~ [f4,f5]@4 [bb4,bb5]@4",
})).s("gm_pad_sweep").gain(0.4).pan(0.6)

// chords · drawbar organ · "organ"
const drawbar_organ = note(`<
  A B@8 C@8 D ~@2 E F G H@2 I J K@2 F L M N O@8 ~@8 P@3 Q F R S@2 T R U@2 ~ G V@2 W ~@3 X ~@3 Y@4 Z@2 ~@8 F AA AB@2 AC
  AD AE@3 G AF@2 ~ AG@3 AH AI AJ@3 AK AL@2 X ~@3 AM ~@3 AN R AO@3 AI AP@3 G AQ@2 F AR@4 R ~@2 AS AT AU AV
>`.pickRestart({
  A: "[c5,g5] ~ [c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6] [g5,c6] ~@8", B: "[c5,g5,c6]/8", C: "[eb5@63 ~]/8", D: "a5",
  E: "d6 ~ [f5,b5,d6] ~ d6 ~ [f5,d6] ~ [b5,d6] ~@7", F: "[bb4,eb5,g5]@15 ~", G: "[c5,f5,a5]@7 ~",
  H: "[[c5,g5,c6]@15 ~]/2", I: "[bb4,g5]@13 ~@3", J: "c5@7 ~", K: "[[c5,g5,c6]@7 ~]/2", L: "[ab4,d5]", M: "c5@3 ~",
  N: "[c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6]!2 ~@8", O: "[~ eb5, [c5,g5,c6]]/8", P: "[a5@15 ~]/3",
  Q: "b5 ~ [f5,b5,d6] ~ [f5,d6] ~ [f5,b5,d6] ~ [f5,b5,d6] ~@7", R: "[c5,f5,a5]@15 ~", S: "g5/2", T: "bb4@15 ~",
  U: "[[c5,g5], c6@15 ~]/2", V: "[[ab4,c5]@26 ~@2 [ab4,c5,d5] ~@3]/2", W: "~@2 [g5,c6] ~@5", X: "~@2 [c5,g5,c6] ~@5",
  Y: "[[a4,c5,e5]@63 ~]/4", Z: "[[a4,c5,eb5,g5]@31 ~]/2", AA: "[c5,a5]@15 ~", AB: "[[g5,c6]@31 ~]/2", AC: "bb4@7 ~",
  AD: "c5@15 ~", AE: "[[c5,c6]@31 ~ bb4@15 ~, g5@23 ~]/3", AF: "[[ab4,d5,f5]@26 ~@2 [ab4,d5] ~@3]/2",
  AG: "[[f5,a5]@15 ~ [g5,c6]@29 ~@3, c5@23 ~]/3", AH: "[bb4,eb5]@15 ~", AI: "[c5,f5]@15 ~",
  AJ: "[~@32 eb5@15 ~, g5@15 ~]/3", AK: "[f5,a5]@13 ~@3, c5@15 ~", AL: "[[ab4,c5,d5]@25 ~@3 [ab4,c5,d5,f5] ~@3]/2",
  AM: "~@4 [c5,g5,c6]@3 ~@9", AN: "[eb5,g5]@15 ~", AO: "[c6@30 ~@2 bb4@15 ~, g5@23 ~]/3",
  AP: "[[c5,c6]@31 ~ eb5@15 ~, g5@23 ~]/3", AQ: "[[ab4,d5]@27 ~ [c5,d5,f5] ~@3]/2",
  AR: "[[f5,a5]@15 ~ c6@31 ~ bb4@14 ~@2, c5@47 ~@17, ~@8 g5@23 ~]/4", AS: "bb4@15 ~, g5@3 ~", AT: "[ab4,c5,d5]",
  AU: "[gb4,eb5]@3 ~", AV: "[c5,g5] ~ [c5,g5,c6] ~ [c5,g5,c6] ~ [c5,g5,c6] [c5,g5] ~@8",
})).s("gm_drawbar_organ").gain(0.24)

// chords · drawbar organ · "organ" · soft notes
const drawbar_organ_soft = note(`<
  A ~@16 B@3 C ~@4 D E ~@3 F G ~@17 H@3 I ~@2 J@2 K ~@3 L ~ M@2 N ~@7 O@4 ~@11 P Q@2 R E ~@2 S ~ T@2 U ~@3 V W J@2 X ~
  Y@2 ~@8 Z ~ AA@2 AB AC ~@2 X ~ AD@2 ~@2 AE ~ S ~ AF@2 D P AG AH
>`.pickRestart({
  A: "c6 ~@6 c5 ~@8", B: "[~@16 g5@16 a5@13 ~@3, [eb5,c6]@15 ~]/3", C: "[f5,b5] ~@3 [f5,b5] ~ b5 ~ f5 ~@7",
  D: "eb5@13 ~@3", E: "[f5,a5]@7 ~", F: "f5", G: "[gb4,eb5]@3 ~", H: "[[eb5,g5,c6]@23 ~]/3", I: "[f5,d6] ~@3 b5 ~@11",
  J: "[[c5,c6]@31 ~]/2", K: "[eb5,g5]@15 ~", L: "[bb4,eb5,g5]", M: "[[d5,f5]@26 ~@2 f5 ~@3]/2", N: "~@2 c5 ~@5",
  O: "[g5@63 ~]/4", P: "f5@15 ~", Q: "[c5@15 ~]/2", R: "eb5, g5@7 ~", S: "eb5@15 ~", T: "[c5@26 ~@2 [c5,f5] ~@3]/2",
  U: "[bb4,eb5,g5]@15 ~", V: "g5@15 ~", W: "a5@15 ~", X: "bb4@7 ~", Y: "[f5@25 ~@7]/2", Z: "bb4@15 ~",
  AA: "[c5@31 ~]/2", AB: "eb5", AC: "a5@7 ~", AD: "[[c5,f5]@27 ~ ab4 ~@3]/2", AE: "b5 ~@15", AF: "[[c5,g5,c6]@15 ~]/2",
  AG: "c5@3 ~", AH: "c6 ~@6 c6 ~@8",
})).s("gm_drawbar_organ").gain(0.16)

// chords · overdriven guitar · "guitar"
const overdriven_guitar = note(`<
  A B@7 C B@8 D E D F G H B@2 G H B@2 G I J A B@16 D E D F G H B@2 G H B@2 G H J K B@8 L M L@2 N O ~@4 P@4 G H B@2 G H
  B@2 G H J K G H B@2 G H B@2 G H J K B@8 G H B@2 G H B@2 G H J K G H B@2 G H B@2 G I J A
>`.pickRestart({
  A: "[c3,e3,bb3,d4,g4] ~ [c3,e3,bb3,d4,g4] ~ [c3,e3,bb3,d4,g4] ~ [c3,e3,bb3,d4,g4]!2 ~@8", B: "~@8 [f4,g4,d5]!4 ~@4",
  C: "~@2 [f4,g4,d5] ~@3 [f4,g4,d5] ~@3 [f4,g4,d5] ~@5", // G7
  D: "~@2 [c4,eb4,a4] ~ [b3,d4,ab4] ~ [c4,eb4,a4] ~@3 [b3,d4,ab4] [c4,eb4,a4] ~@4", // Adim Abdim Adim Abdim Adim
  E: "~@2 [c4,eb4,a4] ~ [b3,d4,ab4] ~ [c4,eb4,a4] ~@3 [eb4,f4,c5]!2 ~@4", // Adim Abdim Adim F7
  F: "[g3,b3,f4,a4,d5] ~ [g3,b3,f4,a4,d5] ~ [g3,b3,f4,a4,d5] ~ [g3,b3,f4,a4,d5] ~ [g3,b3,f4,a4,d5] ~@7", // G7
  G: "[eb3,g3,db4,f4,bb4] ~ [eb3,g3,db4,f4,bb4]@2 ~@2 [eb3,g3,db4,f4,bb4]@2 ~@2 [eb3,g3,db4,f4,bb4]@2 ~@2 [eb3,g3,db4,f4,bb4] ~", // Eb7
  H: "[f3,a3,eb4,g4,c5] ~ [f3,a3,eb4,g4,c5]@2 ~@2 [f3,a3,eb4,g4,c5]@2 ~@2 [f3,a3,eb4,g4,c5]@2 ~@2 [f3,a3,eb4,g4,c5] ~", // F7
  I: "~@2 [ab3,d4,g4,bb4]@2 ~@2 [ab3,d4,g4,bb4]@2 ~@2 [ab3,d4,g4,bb4]@2 ~@2 [ab3,d4,g4,bb4] ~", // Gm
  J: "[gb3,c4,f4,ab4]@15 ~", K: "~ [gb3,c4,f4,ab4] ~ [gb3,c4,f4,ab4] ~ [gb3,c4,f4,ab4] ~ [gb3,c4,f4,ab4]",
  L: "[g3,c4,e4] ~ [g3,c4,e4]@13 ~", M: "[g3,bb3,c4,e4] ~ [g3,c4,e4]@13 ~",
  N: "[f3,a3,eb4,g4,c5] ~ [f3,a3,eb4,g4,c5]@13 ~", O: "[f3,a3,eb4,g4,c5] ~ [f3,a3,eb4,g4,c5]@14",
  P: "[~@2 e2@2 g2@2 a2@2 d3@4 c3@3 g2@3 a2@2 ~@12]/2",
})).s("gm_overdriven_guitar").gain(0.32).pan(0.6)

// other · overdriven guitar · "solo git"
const overdriven_guitar_2 = note("<~@98 A B C@2 D@2 E@2 F G H@2 I ~@32>".pickRestart({
  A: "~@10 eb4 ~ f4 ~ f4@2", B: "~@4 f4 ~@3 eb4@3 ~ c4 ~@3",
  C: "[g4@2 ~@2 g4 ~@3 f4 ~@3 eb4 ~ eb4@4 ~@2 eb4 ~ eb4@4 ~@6]/2",
  D: "[~@2 bb4@2 bb4@2 bb4@5 ~ bb4 g4 bb4@6 g4 ~ c5@4 g4 ~@5]/2", E: "[eb5@3 ~ c5 ~@3 c5@4 f5@6 ~@2 eb5@5 ~ c5@5 ~]/2",
  F: "eb5@3 ~ c5@3 ~ c5@4 eb5 ~@3", G: "~@2 f5@3 ~@3 f5 ~ c5 ~ bb5 ~@3",
  H: "[bb5@2 ~@2 bb5@3 ~ bb5@2 ~@2 bb5 ~ bb5@10 ~@2 f5@6]/2", I: "~ f5 f5@6 ~@2 f5 eb5 c5 ~ c5@2",
})).s("gm_overdriven_guitar").gain(0.64).pan(0.9)

// other · overdriven guitar · "solo git" · soft notes
const overdriven_guitar_soft = note("<~@98 A B C D E F ~ G H ~@3 I ~@32>".pickRestart({
  A: "~@8 c4 ~@7", B: "~@2 eb4 ~@3 c4 ~@9", C: "~@2 f4 ~@3 eb4 ~@3 c4 ~@5", D: "~@2 c4 ~@7 c4 ~@5", E: "~@11 g4 ~@4",
  F: "~@14 g4 ~", G: "~@2 c5 g4 ~@5 g4 ~@5 g4", H: "~@3 g4 ~@3 g4 ~@8", I: "eb5 ~@7 eb5 c5 ~@6",
})).s("gm_overdriven_guitar").gain(0.4).pan(0.9)

// drums · kick
const kick = s("bd").struct("<A B@7 C B@11 D B@11 A B@3 E B@15 D B@19 E B@13 C B@31 E B@11 C B@11 A>".pickRestart({
  A: "x ~ x ~ x ~ x!2 ~@8", B: "x ~@3 x!2 ~@2", C: "x!2", D: "x!5 ~@3", E: "x ~@2 x!2 ~@3",
})).gain(0.56)

// drums · snare
const snare = s("sd").struct("<A B@7 C B@11 D B@11 A B@3 E B@15 D B@19 E B@13 C B@31 E B@11 C B@11 F>".pickRestart({
  A: "x ~ x ~ x ~ x!2 ~@4 x ~@3", B: "~ x ~ x", C: "~@2 x ~ x!2 ~@2", D: "x!5 ~ x ~", E: "~@4 x ~@5 x ~ x!3 ~",
  F: "x ~ x ~ x ~ x!2 ~@8",
})).gain(0.56)

// drums · clap
const clap = s("cp").struct("<A B@7 C B@11 A B@11 A B@3 C B@15 A B@19 C B@13 C B@31 C B@11 C B@11 ~>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2",
})).gain(0.56)

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

// drums · hihat
const hihat = s("hh").struct(`<
  A B C@3 B C@2 D B C@7 B C@2 E B C@3 B C@3 B C@2 A C@3 D B C@14 E B C@3 B C@3 B C@10 D B C@3 B C@8 D B C@5 B C@5 B C@18
  D B C@10 D B C@10 A
>`.pickRestart({
  A: "x ~ x ~ x ~ x!2 ~@8", B: "~ x!7", C: "x!8", D: "x!3 ~ x ~ x ~", E: "x!5 ~@3",
})).gain(0.48)

// drums · open hat
const open_hat = s("oh").struct("<~@8 A ~@27 A ~@35 A ~@13 A ~@31 A ~@11 A ~@12>".pickRestart({
  A: "~@3 x ~@4",
})).gain(0.56)

// drums · crash
const crash = s("cr").struct(`<
  ~ A ~@3 A ~@3 A ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@15 A ~@3 A ~@3 A ~@11 A ~@3 A ~@9 A ~@5 A ~@5 A ~@19 A ~@11 A ~@11
>`.pickRestart({
  A: "x",
})).gain(0.56)

stack(
  bass, pad_sweep, drawbar_organ, drawbar_organ_soft, overdriven_guitar, overdriven_guitar_2, overdriven_guitar_soft,
  kick, snare, clap, low_tom, hihat, open_hat, crash
)

More by James Brown