Strudelify

On a Summer Night

Bellamy Brothers

KeyD majorTempo108 bpm
0:00/0:00
// On a Summer Night — Bellamy Brothers
// 108 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 89 bars on a 16-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): ONASUMME*Demixed 12.
setcpm(108/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 · fretless bass · "ONASUMME*Demixed 02"
const bass = note(`<
  A B A B C D E@2 F G H I C D J@2 K L M N O P Q R O S T U O P Q R V W A B C D E@2 F G H I C D J@2 K L M N O P Q R O S T
  U O P Q R V W A X O P Q R O S T U O P Q R V W A B A Y A Z AA
>`.pickRestart({
  A: "d3@3 ~ d3@2 e3@8 a2 b2", B: "d3 a2 b2 e2@4 ~", C: "d3@5 ~ d3 ~ d3@8", D: "e3@5 ~ e3@2 e3@8",
  E: "[f#2@5 ~ f#2@2 f#2@6 g2@7 ~ g2 ~ g2@5 ~ g2 a2]/2", F: "d3@3 d3 d3@2 f#3@2", G: "b2@3 b2 b2@4",
  H: "e2@5 ~ e2@2 e2@3 ~ e2@4", I: "a2@5 ~ a2 ~ a2@2 f#3@2 e3 d3 a2 b2", J: "[f#2@5 ~ f#2@2 f#2@6 g2@7 ~ g#2@8 ~@2]/2",
  K: "a2@4 ~@2 a2 ~ a2@5 ~ b2 d3", L: "e3@3 ~ e2@3 ~ a2@5 ~ a2@2", M: "d3@5 ~ e3@7 ~ d3 e3",
  N: "f#2@2 f#2@2 ~@2 f#2@5 ~ f#2@4", O: "g2 ~ g2@4 e3@4 d3@4 b2 d3", P: "g2 ~ g2@4 e3@4 d3@4 a2 b2",
  Q: "d3 ~ d3@4 b2@4 a2@4 b2 a2, ~@6 a2 ~@9", R: "d3@2 d3@4 b2@4 a2@4 b2 a2, ~@6 a2 ~@9",
  S: "g#2@2 g#2@4 e3@4 d3@4 b2 d3", T: "a2 b2", U: "c#3@6 a3@9 ~", V: "e2 ~ e2@4 e3@8 e2 ~", W: "a2 ~ a2@3 ~ a2@8 ~@2",
  X: "d3 a2 b2 d3@2 d3!3", Y: "d3 a2 b2 e2@3 e2 b2", Z: "d3 a2 b2 e2!3 e3 b2", AA: "d3",
})).s("gm_fretless_bass").gain(0.39)

// chords · distortion guitar · "ONASUMME*Demixed 03"
const distortion_guitar = note(`<
  A@4 B C D@4 C E B C F@2 G H I G J K L M N O P Q J K L M R S A@2 B C D@4 C E B C F@2 G H I G J K L M N O P Q J K L M R
  S A T U K L M N O P Q J K L M R S A@6 G
>`.pickRestart({
  A: "[d3,a3,d4]@3 [e3,b3,e4]@5", B: "[d3,a3,d4]@3 [d3,a3,d4]@5", C: "[e3,b3,d4]@3 [e3,b3,d4]@5",
  D: "[[f#3,a3,d4]@6 [f#3,a3,d4]@7 ~@13 g3@6 [d3,a3]@6 [d3,a3]@10 [f#3,b3]@6 [f#3,b3,d4]@10, ~@14 d4@24 d4@15 ~@11, ~@7 b3@9 ~@16, ~@14 g3@11 ~@39, ~@11 g4@5 ~@16]/4", // D D5 B5 Bm
  E: "[e3,d4]@6 [e3,c#4]@9 ~, a3@15 ~", // E7 C#m
  F: "[[f#3,a3,d4]@6 [f#3,a3,d4]@7 ~@13 g#3@6, ~@7 [b3,d4]@9, ~@14 g3@11 ~@7, ~@11 g#4@5]/2", G: "[d3,a3]",
  H: "[e3,b3] [e3,a3]", I: "[d3,a3]@3 [e3,b3]@5", J: "[g2,d3,g3]", K: "[g2,d3,g3]@15 ~",
  L: "[d3,a3,d4]@13 ~ [d3,a3,d4] [a3,d4]", M: "[d3,a3,d4]@15 ~", N: "[d3,g3]@7 ~, g2", O: "[g#2,d3,g#3]",
  P: "[a2,e3,a3] [b2,f#3,b3]", Q: "[c#3,a3,c#4]@3 [c#3,a3,c#4]@5", R: "[e2,b2,e3]@3 [e2,b2,e3]@5",
  S: "[a2,e3,a3]@6 [a2,e3] ~@9, ~@3 a3@5", T: "[d3,a3,d4]@6 [a3,d4] ~@9, ~@3 d3@5", U: "[g2,g3], d3 ~@15",
})).s("gm_distortion_guitar").gain(0.1)

// chords · epiano2 · "ONASUMME*Demixed 05"
const epiano2 = note(`<
  ~@4 A B C@2 D E F G A B H I@8 J@6 K@4 L M N A B C@2 D E F G A B H I@8 J@6 O@5 ~@2 B P@8 K@4 L M N Q N Q N R
>`.pickRestart({
  A: "[f#3,a3,d4]@3 [f#3,a3,d4]@5", B: "[g3,b3,d4]@3 [g3,b3,d4]@5",
  C: "[[a3,d4]@3 [f#3,a3,d4]@4 b3 ~@3 d4@2 [g3,e4]@3, f#3 ~@13 d4@8 ~@10, ~@14 g3 ~@3 g3@8 ~@6, ~@5 b3@3]/2", // D5 D C
  D: "[f#3,a3,d4,f#4]@3 [f#3,a3,d4,f#4]@5", E: "[f#3,b3,d4]@3 [f#3,b3,d4]@5",
  F: "d4@3 ~@2 g3@3, b3, g3@5 ~@3, ~@3 d4@5", G: "~@10 e3@3 ~@3, d4@6 c#4@7 ~@3, ~ e3@4 ~@3, ~@4 a3@9 ~@3",
  H: "[a3,d4]@3 [f#3,a3,d4]@4 [b3,d4], f#3 ~@13 g3 ~", // D5 D Bm
  I: "[~@3 d4@2 ~@3 [f#3,a3,d4]@3 [f#3,a3]@4 ~@5 a3@4 ~@3 e4@4 ~ [f#3,a3,d4] [f#3,a3,d4]@2 d4@5 [g3,b3,d4]@3 [g3,b3,d4]@5 [g3,b3,d4]@3 d4@5 [f#3,a3,d4]@3 [f#3,a3,d4]@5, ~@4 b3@26 f#3@18 [f#3,a3]@15 e4@32 ~@33, ~@3 g#3@13 [g3,b3,e4]@11 [g3,b3]@13 ~@11 [g3,b3]@13, ~@10 e4@21 a3@9 c#4@32 ~@8 g4@32 ~@16, ~@11 d4@13 d4@7 d4 ~@3 [f#3,a3]@16 ~@13]/8", // D F#m D G D F#m Em G …
  J: "[f#3 ~@2 d4@2 d4@3 [g3,b3,d4]@3 g3@4 ~ [g#3,b3,d4] [g#3,b3,d4]@2 ~@21 [g3,b3,d4]@3 [g3,b3,d4]@5, d4@3 ~@12 g3@13 [b3,d4]@12 ~@8, a3@2 a3@3 ~@6 [b3,d4]@5 ~@3 g#3@16 ~@13, ~ f#3@4 [f#3,a3]@16 ~@3 [a3,c#4,e4]@8 [a3,c#4,e4]@16, ~@19 [b3,d4]@9 f#3@16 ~@4]/6", // G G#dim G Bm F#m A Bm
  K: "[[g3,b3,d4]@6 d4@10 [f#3,a3,d4]@6 [f#3,a3,d4]@10 f#3@2 ~@4 d4@4 ~@6 [g#3,b3,e4]@6 g#3@3 g#3@3 [g#3,b3,e4]@4, ~@3 [g3,b3]@16 ~@13, ~@16 d4@3 ~@13, ~@16 a3@2 a3@3 ~@6 [b3,e4]@3 ~@2, ~@17 f#3@4 [f#3,a3,d4]@6 ~@5]/4", // G D E G E5 D
  L: "[a3,c#4,e4]@3 a3@2 a3 [a3,c#4,e4]@2, ~@3 [c#4,e4]@3 ~@2", // A C#m
  M: "[f#3,a3,d4]@2 [f#3,a3,d4] g3@2 g3!2 [g3,c#4], ~@3 [b3,e4]@3 [b3,e4]@2", // D Gdim E5
  N: "[f#3,a3,d4]@4 [f#3,a3,d4]@2 [g3,b3,e4]@7 ~@3", // D Em
  O: "[[g3,b3,d4]@3 d4@5 [f#3,a3,d4]@3 [f#3,a3,d4]@5 f#3 ~@2 d4@2 [f#3,a3,d4]@16 ~@3, ~@3 [g3,b3]@16 ~@21, ~@16 d4@3 ~@21, ~@16 a3@2 a3@3 ~@19, ~@17 f#3@4 ~@19]/5", // G D G
  P: "[[g3,b3,d4]@3 d4@5 [f#3,a3,d4]@3 [f#3,a3,d4]@5 f#3 ~@2 d4@2 d4@3 [g3,b3,d4]@3 g3@4 ~ [g#3,b3,d4] [g#3,b3,d4]@2 ~@21 [g3,b3,d4]@3 [g3,b3,d4]@5, ~@3 [g3,b3]@16 ~@12 g3@13 [b3,d4]@12 ~@8, ~@16 d4@3 ~@16 [b3,d4]@9 f#3@16 ~@4, ~@16 a3@2 a3@3 ~@6 [b3,d4]@5 ~@3 g#3@16 ~@13, ~@17 f#3@4 [f#3,a3]@16 ~@3 [a3,c#4,e4]@8 [a3,c#4,e4]@16]/8", // G D G G#dim G Bm F#m A
  Q: "~@2 [f#3,a3,d4] g3@2 g3!2 [g3,c#4], ~@3 [b3,e4]@3 [b3,e4]@2", R: "[d3,f#3,a3,d4]",
})).s("gm_epiano2").gain(0.36).pan(0.7)

// chords · synth brass 1 · "ONASUMME*Demixed 06"
const synth_brass_1 = note(`<
  A B A B ~@24 C@2 D ~ E F A B ~@24 C@2 D ~ E F A G ~@8 C@2 D ~ E F A B A B A B H
>`.pickRestart({
  A: "[f#4,a4,d5]@2 ~@2 [f#4,a4,d5]@2 [g4,b4,e5]@3 ~@7", B: "[f#4,a4,d5] ~ [f#4,a4,d5]@2 ~@2 [g4,b4,e5]@2 [e4,f4] ~@7",
  C: "[g4,b4] ~ [g4,b4,d5]@4 [g4,b4,e5]@4 ~@6, d5 ~@7", // G Em
  D: "[f#4,a4,d5] ~ [f#4,a4,d5]@3 ~ [e4,g4,b4]@4 [d4,f#4,a4]@4 ~@2", // D Em D
  E: "[g#4,b4] ~ [g#4,b4,d5]@3 ~ [g#4,b4,e5]@4 ~@6, d5 ~@7", F: "f#5 ~ f#5 ~ f#5 ~ f#5@4 f5@2 e5@2 d5@2",
  G: "[f#4,a4,d5] ~ [f#4,a4,d5]@2 ~@2 [f#4,a4,d5]@2 [e4,f4] ~@7", H: "[a3,d4,f#4]",
})).s("gm_synth_brass_1").gain(0.17)

// chords · synth brass 1 · "ONASUMME*Demixed 06" · soft notes
const synth_brass_1_soft = note("<~ A ~ A ~@31 A ~@31 A ~@15 A ~ A ~ A ~>".pickRestart({
  A: "~@9 [b3,c#4] g3 ~@5", // Bsus2
})).s("gm_synth_brass_1").gain(0.12)

// other · string ensemble 1 · "ONASUMME*Demixed 07"
const string_ensemble_1 = note(`<
  ~@2 A B ~@24 C@2 ~@2 C ~ C D ~@24 C@2 ~@2 C ~ C ~@9 C@2 ~@2 C ~ C D C D C D ~
>`.pickRestart({
  A: "d6 ~ d6 e6 ~@4", B: "d6 ~ d6@2 ~@2 e6@2 ~@8", C: "d6 ~@2 e6 ~@4", D: "d6 ~@5 e6@2 ~@8",
})).s("gm_string_ensemble_1").gain(0.11)

// chords · pad warm · "ONASUMME*Demixed 09"
const pad_warm = note(`<
  ~@2 A B C D@7 C E@3 F G@2 H I@6 J K ~@2 L@2 M N A B C D@7 C E@3 F G@2 H I@6 J K ~@2 L@2 M N ~@4 O@4 J K ~@2 L@2 M N A
  B P B P B ~
>`.pickRestart({
  A: "[f#4,a4,d5]@3 ~ [f#4,a4,d5]@2 [g4,b4,e5]@10", B: "[f#4,a4,d5] ~ [f#4,a4,d5]@4 [g4,b4]@8 ~@2", C: "[a3,d4,f#4]",
  D: "[e4@15 ~ f#4@13 ~ [g4,b4]@17 [f#4,a4]@16 [d4,f#4]@16 ~ [e4,g4]@15 ~ d4@6 c#4@8 ~@2, b3@14 ~ a4@13 ~@2 d4@32 ~ b3@32 e4@15 ~@2]/7", // G F#m D Em
  E: "[e4@15 ~ f#4@13 ~ [d4,g4,b4]@7 ~ [d4,g#4,b4]@8 ~@2, b3@14 ~ a4@13 ~@20]/3", F: "[f#4,a4], d4@7 ~",
  G: "[[b3,e4,g4]@8 [c#4,e4]@7 ~ d4@6 [e4,g4,b4]@10, ~@8 a4@13 ~@11, ~@15 f#4@6 ~@11]/2", H: "[d4,f#4,a4]@15 ~",
  I: "[[g4,b4]@32 [f#4,a4]@31 g4@16 ~ g#4@16, d4@63 [d4,b4]@32 ~]/6", J: "[c#4,e4,a4] [d4,f#4,b4]",
  K: "[e4,a4,c#5]@7 ~", L: "[[f#4,a4]@31 ~]/2", M: "[e4,g#4,b4]@15 ~", N: "[c#4,e4,a4]@7 ~",
  O: "[[f#4,a4]@31 g4@16 ~ g#4@16, ~@31 [d4,b4]@32 ~]/4", P: "~@2 [f#4,a4,d5] [g4,b4,e5]@5",
})).s("gm_pad_warm").gain(0.17).pan(0.4)

// chords · pad warm · "ONASUMME*Demixed 09" · soft notes
const pad_warm_soft = note("<~@3 A ~ B@2 ~@3 C@2 ~ B@2 ~@20 A ~ B@2 ~@3 C@2 ~ B@2 ~@36 A ~ A ~ A ~>".pickRestart({
  A: "~@3 e5@4 ~", B: "[g4@15 d4@13 ~@4]/2", C: "[~@15 a4@15 ~@2]/2",
})).s("gm_pad_warm").gain(0.11).pan(0.4)

// other · pad halo · "ONASUMME*Demixed 11"
const pad_halo = note("<~@8 A B@2 ~@29 A B@2 ~@46>".pickRestart({
  A: "a4 ~ a4 ~ a4@2 a4@4 g4@2 f#4@4", B: "[f#4 ~ f#4@2 f#4@2 f#4@4 e4@2 d4@17 ~@3]/2",
})).s("gm_pad_halo").gain(0.12).pan(0.6)

// chords · acoustic guitar nylon · "ONASUMME*Demixed 13"
const acoustic_guitar_nylon = note(`<
  ~ A ~ B C D E F G H I J C D K@2 L M N O ~@2 P Q ~@6 P Q ~@3 A C D E F G H R J C D E S L M N T ~@2 P Q ~@6 P Q ~@3 A
  ~@2 P Q ~@6 P Q ~@3 A ~ A ~ A ~
>`.pickRestart({
  A: "~@10 f#4@2 e4 d4 b3@2", B: "f#3@3 g3 ~ b3 a3@2", C: "~@2 [f#4,a4,d5]@2 ~@3 [a4,d5] ~ a4 ~@2 [f#4,a4,d5] d5 ~@2",
  D: "~@2 [g4,b4,d5]@2 ~@3 [g4,b4,d5] ~ [b4,d5] ~ [b4,d5] [g4,b4,d5] d5 b4 ~", // G Bm G
  E: "~@2 [f#4,a4,d5]@2 ~@3 [f#4,a4,d5] ~ [a4,d5] ~ [a4,d5] [f#4,a4,d5] ~ [g4,b4,d5]@2", // D D5 D G
  F: "~@2 [g4,d5] b4 ~ b4 ~ [g4,b4,d5] ~ [b4,d5] ~ [b4,d5] [g4,b4,d5] d5 b4 ~", // G5 G Bm G
  G: "~@2 [f#4,a4,d5]@2 a4 ~@2 [f#4,a4,d5] ~ [a4,d5] ~ [a4,d5] [f#4,a4,d5] ~ a4 ~", // D D5 D
  H: "~@2 [f#4,b4,d5]@2 ~@3 [f#4,b4,d5] ~ [b4,d5] ~ [b4,d5] [f#4,b4] d5 ~@2", // Bm B5
  I: "~@2 [g4,b4,d5]@2 ~@3 [g4,b4,d5] ~ [g4,b4,d5] ~ [b4,d5] [g4,b4,d5]@2 ~@2", // G Bm G
  J: "~@2 [g4,a4,d5]@2 ~ d5 ~ [g4,a4,d5] ~ [g4,a4,e5] a4 [a4,e5] ~ e5 ~@2, ~@6 [g4,a4,e5] ~", // Gsus2 A7 A5 A7
  K: "[~@2 [f#4,a4,d5]@2 ~@3 [f#4,a4,d5] ~ [a4,d5] ~ [a4,d5] [f#4,a4,d5] ~ [g4,b4]@4 [g4,d5] b4 ~ b4 ~ [g#4,b4,d5] ~ [b4,d5] ~ [b4,d5] [g#4,b4,d5] d5 b4 ~, ~@14 d5 ~@17]/2", // D D5 D G G5 G#dim Bm G#dim
  L: "~@2 [f#4,a4,d5]@2 a4 ~@2 [f#4,a4,d5] ~ [a4,d5] ~ [a4,d5] [f#4,a4,d5] ~@3", // D D5 D
  M: "~@2 [b4,d5]@2 ~@3 [g4,b4,d5] ~ [b4,d5] ~ [a4,d5] [g4,a4] d5 ~@2", // Bm G Bm D5 Gsus2
  N: "~@2 [f#4,a4,d5]@2 ~@3 [g4,b4,d5] ~@2 f#4@2 e4 d4 b3@2", O: "d4 ~ d4@3 ~ d4@3 ~@7", P: "~@5 [e4,f#4] e4 d4",
  Q: "a3@3 ~", R: "~@2 [g4,b4,d5]@2 ~@3 [g4,b4,d5] ~ [g4,b4,d5] ~ [b4,d5] [g4,b4,d5] ~@3",
  S: "~@2 [g4,d5] b4 ~ b4 ~ [g#4,b4,d5] ~ [b4,d5] ~ [b4,d5] [g#4,b4,d5] d5 b4 ~", T: "d4@2 d4@3 ~ d4@7 ~@3",
})).s("gm_acoustic_guitar_nylon").gain(0.08).pan(0.3)

// chords · acoustic guitar nylon · "ONASUMME*Demixed 13" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~@4 A B C D E F ~@2 A B C D G H ~@18 A B C D E F ~@2 A B C D G H ~@39
>`.pickRestart({
  A: "~@11 [a4,d5] ~@4", B: "~@5 [g4,b4] ~@10", C: "~@10 d5 ~@2 [b4,d5] ~@2", D: "~@2 b4 ~ b4 ~@11", E: "~@13 d5 ~@2",
  F: "~@12 d5 ~@3", G: "~@13 d5 a4 ~", H: "~@2 g4@2 ~@8 d5 ~@3",
})).s("gm_acoustic_guitar_nylon").gain(0.04).pan(0.3)

// drums · kick
const kick = s("bd").struct("<[x!4]!88 x>").gain(0.57)

// drums · clap
const clap = s("cp").struct("<A B A B C@16 A@16 C@16 A@36 ~>".pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@2 x!2 ~", C: "~@3 x",
})).gain(0.25)

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

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

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~ A ~ A ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ C ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~
  B ~ B ~ B ~ B ~ C ~ B ~ B ~ B ~ B ~ B ~ B ~ B ~ C ~ B ~ C ~
>`.pickRestart({
  A: "~@3 x ~@11 x", B: "~@3 x ~@12", C: "~@3 x ~@10 x ~",
})).gain(0.13)

// drums · low tom
const low_tom = s("lt").struct("<~@19 A ~@7 B ~@23 A ~@7 B ~@15 B ~@9 C ~@3>".pickRestart({
  A: "~@10 x!2 ~@4", B: "~@10 x!2 ~ x ~@2", C: "~@14 x!2",
})).gain(0.25)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@19 A ~@4 B ~@26 A ~@4 B ~@15 B ~@12 C ~@3>".pickRestart({
  A: "~@3 x!2 ~@3", B: "~@7 x", C: "~@13 x ~@2",
})).gain(0.25)

// drums · crash
const crash = s("cr").struct(`<
  ~@20 A ~@2 B A ~@3 A ~@2 B A ~@3 A ~@15 A ~@2 B A ~@3 A ~@2 B A ~@3 A ~@2 B A ~@3 A ~@2 B A ~@3 A ~ A ~ A
>`.pickRestart({
  A: "x", B: "~@3 x",
})).gain(0.32)

stack(
  bass, distortion_guitar, epiano2, synth_brass_1, synth_brass_1_soft, string_ensemble_1, pad_warm, pad_warm_soft,
  pad_halo, acoustic_guitar_nylon, acoustic_guitar_nylon_2, kick, clap, snare, hihat, hihat_soft, low_tom, open_hat,
// … 2 more lines

More by Bellamy Brothers