Strudelify

Duel (Eye to Eye)

Propaganda

KeyF minorTempo145 bpm
0:00/0:00
// Duel (Eye to Eye) — Propaganda
// 145 bpm, 4/4, key F minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 160 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(145/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 · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C B C B C B D E F B E G H I J B@5 K L J M N O P Q N O R S T U V W T U X W T U X W T Y Z B C B D E F B E G H I J
  B@5 K L J M N O P Q N O R S T U V W T U X W T U X W T Y AA AB AC AD AC AD AE AD AF AD AG AH AF AD AI AJ AK AL@6 AM AN
  S T U V W T U X W T U X W T Y AO S T U V W T U X W T U X W T Y AO B@3 AP AQ G@2 AR@3 ~
>`.pickRestart({
  A: "~@7 db2", B: "~ db2 db3 db2 db3 db2 ~ db2", C: "~@2 db2@2 db3@2 ab2@2 db3@2 ab2@3 ~ db2@2",
  D: "~ db2 db3 ab2 db3 ab2 ~ db2", E: "~@2 db2@2 db3@2 db2 ~ db3@2 db2@2 ~@2 db2@2",
  F: "~@2 db2@2 db3@2 db2 ~ db3@2 db2@3 ~ db2@2", G: "~@2 db2@2 db3 ~ db2@2 db3@2 db2@2 ~@2 db2@2",
  H: "~@2 db2@2 db3 ~ db2 ~ db3@2 db2@2 ~@2 gb2@2", I: "~@2 gb2@2 gb3 ~ gb2@2 gb3@2 gb2@2 ~@2 f2@2",
  J: "~ f2 f3 f2 f3 f2 ~ db2", K: "~ db2 db3 db2 db3 db2 ~ gb2", L: "~@2 gb2@2 gb3@2 gb2@2 gb3@2 gb2@3 ~ f2@2",
  M: "~@2 db2@2 db3@2 db2@3 ~ db2@2 ~@2 bb1@2", N: "~ bb1 bb2 bb1 ~ bb1 ~ a1", O: "~ a1 a2 a1 ~ a1 ~ f1",
  P: "~ f1 a1 f1 ~ f1 ~ db2", Q: "~ db2 db3 db2 ~ db2 ~ bb1", R: "~@2 f1@2 a1 ~ f1@2 ~@2 f1@2 ~@4",
  S: "eb2@5 ~ eb2 ~ eb2@4 ~@2 eb2@2", T: "~@2 eb2@2 ~@2 eb2@2 ab1@2 ~@2 ab1@3 ~", U: "db2@4 ~@2 db2 ~ db2@4 ~@2 db2@2",
  V: "~@2 db2@3 ~ db2@2 ab1@2 ~@2 ab1@3 ~", W: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 eb2@2", X: "~ db2 ~ db2 ab1 ~ ab1 ~",
  Y: "f1@4 ~@2 f1 ~ f1@4 ~@2 f1@2", Z: "~@2 f1@2 ~@2 f1 ~ f1@2 ~@2 f1@2 db2@2",
  AA: "~@2 f1@2 ~@2 f1 ~ f1@2 ~@2 f1@2 ~@2", AB: "eb2@2 ~@2 eb2@2 bb1@2 f2@2 ~@2 f2@2 bb1 ~",
  AC: "ab2@2 ~@2 ab2@2 ~@3 bb1 bb2@2 ab2 ~ bb2 ~", AD: "eb2 ~@3 eb2@2 bb1 ~ f2@2 ~@2 f2@2 bb1 ~",
  AE: "ab2@2 ~@2 ab2 ~@5 bb2@2 ab2@2 bb2@2", AF: "ab2 ~@3 ab2 ~@4 bb1 bb2@2 ab2@2 bb2 ~",
  AG: "ab2@2 ~@2 ab2 ~@4 bb2@3 ab2@2 bb2@2", AH: "eb2@2 ~@2 eb2@2 bb1 ~ f2@2 ~@2 f2@2 bb1 ~",
  AI: "ab2 ~@3 ab2 ~@5 bb2@2 ab2@2 bb2@2", AJ: "eb2 ~@3 eb2@2 bb1 ~ f2 ~@3 f2@2 bb1 ~",
  AK: "ab2 ~@3 ab2 ~@4 ab2 bb2@2 ab2 ~ bb2 ~", AL: "db2 ~ db2@2 db3@2 db2@2 ~@2 db2@2 db3@2 db2 ~",
  AM: "db2 ~ db2@2 db3@2 db2@2 ~@2 db2@2 db3 ~ db2 ~", AN: "db2 ~ db2@2 db3@2 db2@2 ~@2 db2@2 db3@2 db2@2",
  AO: "~@2 f1@2 ~@2 f1 ~ f1@2 ~@4 db2 ~", AP: "~ db2 db3 db2 db3 db2 db3 db2",
  AQ: "~@2 db2@2 db3@2 db2@2 db3@2 db2@3 ~ db2@2", AR: "[~@2 db2@2 db3 ~ db2 ~ db3 ~ db2@2 db3 ~ db2@34]/3",
})).s("gm_acoustic_bass").gain(0.54)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~ A B C D A E F D ~@12 G@2 ~ H@8 ~ I@2 J ~ K@2 L M N O ~@2 P Q R@2 A E F D ~@12 S@3 H@8 ~ T@2 J ~ U@2 V@2 W X ~@2 Y Z
  AA@2 ~@9 AB ~ AC ~ AC ~ AC ~@24 AD@2 AE@2 AF@4 AD@2 AG@2 P Z AH@2 ~@11
>`.pickRestart({
  A: "~@4 [bb4,eb5]@3 ~ [ab4,db5]@3 ~@5", B: "~@4 [bb4,eb5] ~ [bb4,eb5] ~ [ab4,db5]@2 ~@6",
  C: "~@2 db4@2 [bb4,eb5]@3 ~ [ab4,db5]@3 ~@5", D: "~@2 db4@2 [bb4,eb5] ~ [bb4,eb5] ~ [ab4,db5]@3 ~@5",
  E: "~@4 [bb4,eb5] ~ [bb4,eb5] ~ [ab4,db5]@3 ~@5", F: "~@2 db4@2 eb5@3 ~ [ab4,db5]@3 ~@5", G: "[~@7 a5@8 ~]/2",
  H: "[~@7 ab4@8 bb4@8 c4@16 ab4@8 bb4@8 ~@9, ~@3 a4@5 ~@56, ~@7 f4@57, ~@7 db4@16 ~@16 db4@16 ~@9]/8",
  I: "[~@8 g5 ~ g5@2 ~@2 g5@5 ~ eb5@3 ~ ab5@3 ~ ab5@3 ~]/2", J: "f5@7 ~",
  K: "[~@6 g5 ~ g5 ~ g5 ~@3 g5@5 ~ eb5@4 ab5@2 ~@2 ab5 ~ ab5@2]/2", L: "~@3 f5@12 ~", M: "~@5 g5@2 ~",
  N: "g5@4 eb5@2 ~@2 eb5@3 ~ bb4@4, f5 ~@15", O: "g5 ~ eb5@2 ~@2 eb5@8 ~@2", P: "g5@5 eb5@3",
  Q: "ab5@5 g5@3 f5@4 eb5@3 ~", R: "[f5@13 ~ f5@15 ~@3]/2", S: "[~@14 a5@16 ~ bb4@17]/3",
  T: "[~@8 g5 ~ g5@2 ~@2 g5@4 ~@2 eb5@3 ~ ab5@2 ~@2 ab5@2 ~@2]/2",
  U: "[~@6 g5 ~ g5 ~ g5@2 ~@2 g5@5 ~ eb5@3 ~ ab5@3 ~ ab5 ~ ab5@2]/2", V: "[~@3 f5@17 ~@8 g5@3 ~]/2",
  W: "g5@3 ~ eb5@2 ~@2 eb5@4 bb4@3 ~", X: "g5 ~ eb5 ~@3 eb5@9 ~", Y: "~ g5@8 ~ eb5@5 ~", Z: "ab5@4 g5@4 f5@4 eb5@3 ~",
  AA: "[f5@12 ~@2 f5@17 ~]/2", AB: "~@2 bb5@2 ab5 ~@3", AC: "~@4 bb5@4 ab5@3 ~@5",
  AD: "[~@6 bb5 ~ bb5 ~ bb5@3 ~ bb5@6 ab5@4 g5@4 eb5@4]/2", AE: "[f5@13 ~@3]/2",
  AF: "[~@6 bb5 ~ bb5 ~ bb5@3 ~ bb5@4 ~@2 bb5@2 ~@2 bb5@2 ~@2 bb5 ~ bb5@4 ab5@25 ~@5]/4", AG: "[f5@23 ~@9]/2",
  AH: "[f5@13 ~ f5@18]/2",
})).s("gm_rock_organ").gain(0.66)

// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note(`<
  A@8 ~ B@5 C@8 ~ D@2 ~ E@3 ~ F@3 ~@15 G@2 ~ H ~ B@5 C@8 I@3 ~ E@3 ~ F@3 ~@83
>`.pickRestart({
  A: "[~@78 db4@4 ~@12 db4@3 ~@19 bb4@3 ~@7 db4@2, ~@7 f5@57]/8", B: "[ab5@7 a5@8 bb5@8 a5@8 ab5@8 a5]/5",
  C: "[~@15 db5@13 ~@2 ab5@32 a5@16 bb5@16 a5@16 ab5@16 ~@2, ~@13 gb5@17 f5@98]/8", D: "[~@7 [c5,f5]@8 ~]/2",
  E: "[~@7 a4@16 ~]/3", F: "[~@7 [c4,a4]@17]/3", G: "[~@7 db4@2 ~@6 db4]/2", H: "~@4 bb4@3 ~@7 db4@2",
  I: "[~@7 [db5,gb5]@8 [c5,f5]@8 ~]/3", // Gb5 F5
})).s("gm_rock_organ").gain(0.37)

// chords · synth brass 2 · "SYNBRASS 2"
const synth_brass_2 = note(`<
  ~@33 A B C D E B C F G B C H@2 ~@31 A B C D E B C F G B C H@2 ~@12 I ~ J ~ J ~ J ~@9 B C D E B C F G B C H@2 ~@3 K B C
  D E B C F L B C M@2 ~@14
>`.pickRestart({
  A: "[eb4,g4] ~@15", B: "~@8 [ab3,c4] ~@7", C: "[db4,f4] ~@15", D: "~@6 db5!3 ~ c5@2 bb4@2 ab4@2",
  E: "[eb4,g4] ~@15, bb4 ~@3", F: "~@6 db5!3 ~ c5@2 bb4 ~ ab4@2", G: "[eb4,g4] ~@15, bb4 ~@7",
  H: "[~@8 g4 ~ ab4@2 bb4 ~@3 [eb4,g4] ~@15, ~@7 eb5@2 ~@7]/2", I: "~@2 bb3@2 ab3 ~@3", J: "~@4 bb3@4 ab3@3 ~@5",
  K: "g4 ~@15", L: "[eb4,g4] ~@15, bb4@3 ~@13", M: "[~@9 g4 ab4@2 bb4 ~@3 [eb4,g4] ~@15, ~@7 eb5@2 ~@7]/2",
})).s("gm_synth_brass_2").gain(0.55)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  A B@8 C@5 D@8 ~ E@5 F@4 ~@17 G@4 H@8 I@6 E@5 F@4 ~@25 J K J K J K J K L M N O L P Q R ~@32 S@7 T@4
>`.pickRestart({
  A: "~@7 [db4,f4,ab4]", // Db
  B: "[~@14 [db4,f4,a4]@15 ~ [db4,f4,bb4]@15 ~ [db4,f4,a4]@14 ~@2 [db4,f4,ab4]@14 ~@2 [db4,f4,a4]@15 ~ [db4,f4,bb4]@14 ~@2 [db4,f4,a4]@14 ~@4]/8", // Dbaug Bbm Dbaug Db Dbaug Bbm Dbaug
  C: "[[db4,f4,ab4]@12 ~@2 [db4,f4,a4]@15 ~ [db4,f4,bb4]@15 ~ [db4,f4,a4]@15 ~ [db4,f4,ab4]@15 ~ [db4,f4,a4]@2]/5", // Db Dbaug Bbm Dbaug Db Dbaug
  D: "[~@14 [bb3,db4,gb4]@15 ~ [f4,ab4,c5]@16 [db4,f4,ab4]@16 [db4,f4,a4]@15 ~ [db4,f4,bb4]@15 ~ [db4,f4,a4]@15 ~ [db4,f4,ab4]@15 ~ [db4,f4,a4]@2]/8", // Gb Fm Db Dbaug Bbm Dbaug Db Dbaug
  E: "[[bb3,db4,gb4]@12 ~@2 [a3,c4,f4]@15 ~ [db4,f4,ab4]@15 ~ [db4,f4,bb4]@15 ~ [c4,f4,a4]@18]/5", // Gb F Db Bbm F
  F: "[~@7 [db4,f4,ab4]@7 ~ [db4,f4,bb4]@7 ~ [c4,f4,a4]@9]/4", // Db Bbm F
  G: "[[db4,f4,ab4]@11 ~@3 [db4,f4,a4]@15 ~ [db4,f4,bb4]@14 ~@2 [db4,f4,a4]@14 ~@4]/4", // Db Dbaug Bbm Dbaug
  H: "[[db4,f4,ab4]@12 ~@2 [db4,f4,a4]@15 ~ [db4,f4,bb4]@15 ~ [db4,f4,a4]@15 ~ [db4,f4,ab4]@15 ~ [db4,f4,a4]@14 ~@2 [bb3,db4,gb4]@15 ~ [f4,ab4,c5]@16 ~@2]/8", // Db Dbaug Bbm Dbaug Db Dbaug Gb Fm
  I: "[[db4,f4,ab4]@13 ~ [db4,f4,a4]@15 ~ [db4,f4,bb4]@15 ~ [db4,f4,a4]@15 ~ [db4,f4,ab4]@15 ~ [db4,f4,a4]@14 ~@4]/6", // Db Dbaug Bbm Dbaug Db Dbaug
  J: "[bb3,eb4] ~ [bb3,eb4] ~@5 [c4,f4] ~ [c4,f4] ~@5", K: "[eb4,ab4] ~@15",
  L: "ab3!16, [f4,f5]@3 [gb4,gb5]@3 [ab4,ab5]@2 [f4,f5]@3 [gb4,gb5]@3 [ab4,ab5]@2", // F Gb Ab F Gb Ab
  M: "a3!14 [a3,c6] a3, [a4,a5]@3 [bb4,bb5]@3 [c5,c6]@2 [a4,a5]@3 [bb4,bb5]@3 c5@2", // Am A Bb C A Bb
  N: "bb3!14 [bb3,f5] bb3, db5@3 [eb5,eb6]@3 [f5,f6]@2 [db5,db6]@3 [eb5,eb6]@3 ~@2, ~ db6@2 ~@11 f6@2", // Bb5 Eb F Db Eb
  O: "a3!14 [a3,gb6] ab3, [f5,f6]@3 [gb5,gb6]@3 [ab5,ab6]@2 [f5,a6]@3 [gb5,ab6]@3 ab5@2", // D F Gb Ab F Gbsus2
  P: "a3!16, [a4,a5]@3 [bb4,bb5]@3 [c5,c6]@2 [a4,a5]@3 [bb4,bb5]@3 [c5,c6]@2", // A Bb C A Bb C
  Q: "bb3!14 [bb3,f5] bb3, [db5,db6]@3 [eb5,eb6]@3 [f5,f6]@2 [db5,db6]@3 [eb5,eb6]@2 f6@2 ~", // Bb5 Db Eb F Db Eb
  R: "a3!14 [a3,gb5,gb6] ~, [f5,f6]@3 [gb5,gb6]@3 [ab5,ab6]@2 [a5,a6]@3 [ab5,ab6]@3 ~@2", // D F Gb Ab A Ab
  S: "[[db4,f4,ab4]@12 ~@2 [db4,f4,a4]@14 ~@2 [db4,f4,bb4]@14 ~@2 [db4,f4,a4]@14 ~@2 [db4,f4,ab4]@14 ~@2 [db4,f4,a4]@15 ~ [db4,f4,bb4]@14 ~@2 [db4,f4,a4]@2]/7", // Db Dbaug Bbm Dbaug Db Dbaug Bbm Dbaug
  T: "[~@14 [db4,f4,ab4]@39 ~@11]/4", // Db
})).s("gm_piano").gain(0.7)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@33 A@2 B@2 C@2 B@2 A@2 D@2 E@4 ~@28 A@2 B@2 C@2 B@2 A@2 D@2 E@4 ~@16 F G H I J K H L A@2 B@2 C@2 B@2 A@2 D@2 E@4 A@2
  B@2 C@2 B@2 A@2 D@2 E@4 ~@11
>`.pickRestart({
  A: "[[eb4,g4]@24 [ab3,c4]@7 ~]/2", B: "[[db4,f4]@31 ~]/2", C: "[[eb4,g4]@23 [ab3,c4]@8 ~]/2", D: "[db4,f4]/2",
  E: "[[eb4,g4]@31 [c4,f4]@29 ~@4]/4", F: "ab5", G: "a5@15 ~", H: "[db5,bb5]", I: "a5", J: "[db5,ab5]",
  K: "[db5,a5]@15 ~", L: "db5@15 ~",
})).s("gm_string_ensemble_2").gain(0.64)

// chords · string ensemble 2 · "SLOWSTRING" · soft notes
const string_ensemble_2_soft = note("<~@109 A@2 B@2 C@3 ~@44>".pickRestart({
  A: "[db5@14 ~@2 db5@15 ~, f5@31 ~]/2", B: "[~ db5, f5]/2", C: "f5",
})).s("gm_string_ensemble_2").gain(0.36)

// other · shakuhachi
const shakuhachi = note("<~@53 A@2 B C D E@3 F@2 B G D H I@3 J K L M@2 N O P ~@82>".pickRestart({
  A: "[~@8 f5@3 ~ db5 ~ f5@6 ~@2 f5 ~ f5@2 eb5 db5 ~@2 ab5 ~]/2", B: "~ f5 ~ f5 ~@4", C: "~@8 eb5@4 db5 ~ eb5 ~",
  D: "~@2 f5@3 ~@11", E: "[~@8 db5 ~ db5@3 ~ db5@14 ~@2 c5@14 ~@4]/3",
  F: "[~@8 f5@4 db5 ~ f5@5 ~@3 f5 ~ f5@2 ~ db5 ~@2 ab5@2, ~@13 eb5 ~@2]/2", G: "~@4 eb5@2 db5 eb5",
  H: "~@4 db5 ~ db5 ~", I: "[db5@2 ~@2 db5@2 ~@2 db5@2 eb5@2 ~@2 c5@10 ~@2 f5@4 db5 f5@5 db5 ~ f5@7 ~ f5@2]/3",
  J: "bb5@2 f5@2 ~@2 f5@4 eb5@3 ~ db5 ~", K: "eb5 ~ f5@2 ~@2 f5@7 ~ f5@2", L: "eb5 ~ f5 ~@3 f5@2 ~@2 f5@4 eb5 ~",
  M: "[db5@2 eb5@3 ~ db5@18 ~@2 db5 ~ db5 ~ db5 ~]/2", N: "c5@9 ~ f5 ~ f5 ~ f5@2", O: "a5@4 f5@3 ~ f5@3 ~ f5@4",
  P: "eb5",
})).s("gm_shakuhachi").gain(0.61)

// chords · orchestral harp · "HARP"
const orchestral_harp = note(`<
  ~@33 A B C D E B F G H B F I J ~@31 A B C G E B F D H B F I J ~@27 A B C D E B F G H B F I J ~@3 A B C D E B F D H B F
  I J ~@14
>`.pickRestart({
  A: "[eb4,g4]@7 ~@9", B: "~@8 [ab3,c4]@3 ~@5", C: "[db4,f4] ~@3", D: "~@7 db5!2 ~ c5 ~ bb4 ~ ab4 ~",
  E: "[eb4,g4,bb4] ~@3", F: "[db4,f4]@3 ~@13", G: "~@6 db5!3 ~ c5 ~ bb4 ~ ab4 ~", H: "[eb4,g4] ~@3, bb4 ~@15",
  I: "~@8 g4@2 ab4 ~ bb4 ~ eb5@2", J: "[eb4,g4]@3 ~@13",
})).s("gm_orchestral_harp").gain(0.64)

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

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

// drums · clap
const clap = s("cp").struct("<~@96 A ~@3 B C@3 D E C@2 D F@8 ~@43>".pickRestart({
  A: "~@5 x ~ x", B: "~@9 x!2 ~ x ~ x ~", C: "~ x ~ x", D: "~@4 x ~@5 x ~ x!3 ~", E: "x!2 ~ x", F: "x!16",
})).gain(0.54)

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~@5 A@35 B A@3 B A@3 C A@35 B A@3 B A@4 D E D@3 E D@3 E D@3 E D@2 A@4 C A C A@8 B A@3 B A@3 C A@7 B A@3 B A@3 C F C@6
  G H ~@2
>`.pickRestart({
  A: "x!8", B: "x!5 ~ x!2", C: "x!7 ~", D: "x!16", E: "x!10 ~ x!3 ~ x", F: "~ x!2 ~ x ~ x ~ x ~ x ~ x ~@3",
  G: "x!5 ~ x ~", H: "x",
})).gain(0.78)

// drums · mid tom
const mid_tom = s("mt").struct("<~@156 [~@5 x ~@2] ~@3>").gain(0.7)

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

// drums · high tom
const high_tom = s("ht").struct("<~@156 [~ x!4 ~@3] ~@3>").gain(0.7)

// drums · crash
const crash = s("cr").struct("<~@9 A ~@43 A ~@55 A ~@7 A ~@15 A ~@22 B ~@3>".pickRestart({
  A: "x", B: "~@7 x",
})).gain(0.78)

// drums · ride bell
const ride_bell = s("rd").struct("<~@96 [~@9 x!2 ~@3 x ~] ~@7 [~@5 x ~ x] ~@3 [~@10 x ~ x!2 ~@2] ~@51>").gain(0.78)

stack(
  bass, rock_organ, rock_organ_soft, synth_brass_2, piano, string_ensemble_2, string_ensemble_2_soft, shakuhachi,
  orchestral_harp, kick, snare, clap, low_tom, hihat, mid_tom, open_hat, high_tom, crash, ride_bell
)