Strudelify

Black Suit

Super Junior

KeyF majorTempo120 bpm
0:00/0:00
// Black Suit — Super Junior
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (5/4 at bar 1, 4/4 at bar 3) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 3 "Tenor Sax 1" named as a reed, played on tenor sax (its piano patch is not one); ch 4 "Tenor Sax 2" named as a reed, played on tenor sax (its acoustic bass patch is not one); ch 5 "Bari Sax" named as a reed, played on baritone sax (its contrabass patch is not one); ch 6 "Trumpet 1" named as a brass, played on trumpet (its tremolo strings patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/4823901; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 72 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.

// other · trombone · "Alto Sax 2"
const trombone = note("<~@2 A B C@2 D E F G H I J I J K L M N ~ O ~ P Q R S T U V W ~ X Y Z AA AB ~@36>".pickRestart({
  A: "~@3 f4!3 bb4@2", B: "c5@2 c3 ~ ab2 ~ g2 ~, f2 ~@7",
  C: "[f5@4 [c3,c5]@2 c5@2 [ab2,bb4]@2 ab4@2 [g2,bb4]@3 ~ f2@2 ~@2 c3@2 ~@2 ab2@2 ~ bb4 [g2,bb4]@2 c5@2, f2@2 ~@13 c5@12 ~@5]/2", // C Absus2 Gm
  D: "f2@2 ~@2 c3@2 ab4!2 [ab2,ab4]@2 f4@2 bb4@4, f5@3 ~@3 g2 ~", E: "e2 ~ c3 f4 [g2,g4] ab4 [e2,g4] ab4, g4@3 ~@5",
  F: "g4@4 ~ f4!3 [g2,g4]@2 ab4 ~ e2@2 ab4@2, e2@2 ~@2 c3@2 ~@5 g4@3 ~@2", // G
  G: "e2!2 [e2,c5] [e2,db5] [e2,c5] ~ ab4 [e2,f4], bb4@2 ~@3 bb4 ~@2, ~@11 e2@3 ~@2", // C Dbm C Fmaj7
  H: "eb5@2 e2 ~ e2 e2@2 e2 e2@2 e2@2 [e2,c5] e2 ~ e2, e2 ~@13 c5@2", I: "[f2,c5]@8 [f2,c5]!2 ~@6",
  J: "f2 ~ c3 ~ ab2 ~ g2 ~", K: "g4@4 ab4@4 g4!2 f4!2 eb4!2 db4!2, e3 ~ c3 ~ g2 ~ e3 ~", L: "e3 ~ c3 ~ g2 ~ e3 ~",
  M: "e2 ~ e2 ~ e2 ~@3 g4!2 [e2,f4] f4 eb4!2 db4!2, g4 ab4 ~@2, ~@6 e2@4 ~ e2@3 e2@2", // Fmaj7
  N: "e2 ~ e2 ~ e2 e2@2 e2 e2@2 e2@2 e2 e2@2 e2", O: "g4@3 f4 eb4@3 g4 ab4@8", P: "ab4@3 f4 eb4@3 ab4 c5@4 ~@4",
  Q: "c5@2 c5!5 f4", R: "db4 g4 ab4!5 f4", S: "c5@2 c5 db5 c5 db5 c5@2", T: "~ bb4 ab4 g4 ab4 g4 f4@2",
  U: "f2 ab2, f4 ~@7", V: "db3 bb4 [db3,ab4] g4 [c3,ab4] g4 [c3,f4] e4", W: "f2@4 ~@3 c4, f4 ~ ab2@2",
  X: "f2 ~ f3 ~ f2 ~ bb2 ~", Y: "db3 ~ [c4,f4]@2 [c4,e4]@2 c2 eb2, ~@2 db3 ~ c3 ~@3", Z: "f2 ~ c3 ~ ab2 ~ f2 ~",
  AA: "~ bb4 ab4 g4 ab4 g4 f4 e4, db2 c2", AB: "[f2,f4] ~@7",
})).s("gm_trombone").gain(0.3)

// other · trombone · "Alto Sax 2" · soft notes
const trombone_soft = note(`<
  ~@25 A ~@10 B ~ C D ~@2 E@2 ~ B ~ C D ~@2 E@2 ~ F G H@2 ~@2 I J K L M N O P Q ~@3
>`.pickRestart({
  A: "c2", B: "f2@8 f2@2 f2 ~@5", C: "db2@8 db2@2 db2 ~@3 db2@2", D: "eb2@4 eb2!2 ~@2",
  E: "[db2@8 db2@2 db2 ~@3 eb2@16 ~@2]/2", F: "[c3,f4]", G: "[eb2,eb4]", H: "[[ab1,ab2] db3, ab4]/2", I: "g3",
  J: "~ bb4 ab4 g4 ab4 g4 f4@2", K: "f2 ab2, f4 ~@7", L: "~ bb4 ab4 g4 ab4 g4 f4 e4, db3 c3",
  M: "f2@4 ~@3 c4, f4 ~ ab2@2", N: "c4!2 eb4 f4 g4@2 f4@2, db3 c3", O: "c4@2 c4@2 f4@2 ~@2 c4@2 c4 c4@2 c4 c4@2, f2!2",
  P: "c4!2 f4 g4 c4@3 c4, f2 c2", Q: "[bb2,c4] c4 [bb2,bb3] bb3 [bb2,ab3] ab3 [bb2,g3] g3",
})).s("gm_trombone").gain(0.2)

// chords · tenor sax · "Tenor Sax 1"
const tenor_sax = note(`<
  A@2 ~@2 B C D E F G H I ~ I ~ J ~ J ~ K L M N O P Q R S T U ~@2 V ~ W X ~@33 Y Z@2
>`.pickRestart({
  A: "[~@31 f7, ~@12 f1@6 f3 [ab3,c4] f3 [ab3,c4] f4 [ab4,c5] f4 [ab4,c5] f5 [ab5,c6] f6 ab6 c7@2, ~@13 [ab1,c2]@19, ~@7 f2 f2@8, ~@15 [ab2,c3]@2 [ab2,c3]@15]/2", // Ab
  B: "f4@4 c4@2 c4@2 bb3@2 ab3@2 bb3@3 c4", C: "f3@11 bb3 bb3@2 c4@2", D: "f4@6 ab3!2 ab3@2 f3@2 bb3@4",
  E: "c4@3 bb3 c4 db4 c4 db4", F: "c4@5 bb3!3 c4@2 db4 c4@3 db4@2", G: "bb3@2 c4 db4 c4 bb3 ab3 f3",
  H: "bb4@2 ~@10 f4 ~ f4@2", I: "ab3@8 ab3!2 ~@6", J: "c4@4 db4@4 c4!2 bb3!2 ab3!2 g3!2",
  K: "bb1@3 bb1@3 eb4 ~@3 bb1@4 bb1@2, bb2@15 ~, [c4,f4,ab4]@3 bb1@2 ~@3, ~@7 ab4@9", // Fm
  L: "eb2@3 eb2@3 eb2@4 eb2@4 eb2@2, [eb3,bb3,eb4,g4]@15 ~", M: "ab1@3 ab1@3 ab1@4 ab1@4 ab1@2, [ab2,c4,eb4,ab4]@15 ~",
  N: "db2@3 db2@3 ~@2 ab4 db5 f5 ab5!2 f5 db5 ab4, db3@15 ~, [db4,f4,ab4] ~, ~@3 db2@2 db2@2 db2", // Db
  O: "[bb1,bb2,f4]@3 ~ f4@2 [bb1,bb2,f4]@2 [bb1,bb2,f4]@2 ~@2 f4@2 [bb1,bb2,c4]@2, [db4,ab4]@15 ~, ~@3 [bb1,bb2]@3 ~@4 f4@2 ~@4, ~@11 [bb1,bb2]@3 ~@2", // Bb5 Bbsus2 Db5 Bb
  P: "[bb1,bb2,g4,ab4]@3 ~ ab4@2 [bb1,bb2,ab4]@2 [bb1,bb2,ab4]@2 ~@2 ab4@2 [bb1,bb2,f4]@2, [db4,f4]@15 ~, ~@3 [bb1,bb2]@3 ~@4 ab4@2 ~@4, ~@11 [bb1,bb2]@3 ~@2", // Eb Bb7 Bb5 Db Bb
  Q: "[c2,c3]@3 c3 c3@2 [c2,c3,db3]@2 [c2,c3]@2 ~ c3 c3@2 [c2,c3]@2, [db4,f4,ab4]@15 ~, ~@3 c2@3 ~@4 db3@2 ~@4, ~@11 c2@3 ~@2", // C Dbmaj7 C Db
  R: "~ bb4 ab4 g4 ab4 g4 f4@2", S: "f4 ~@7", T: "~ bb4 ab4 g4 ab4 g4 f4 e4", U: "f4@2 ~@5 c4",
  V: "~ [c4,f4] [c4,e4] ~", W: "~ bb3 ab3 g3 ab3 g3 f3 e3", X: "f3 ~@7", Y: "c5!2 bb4!2 ab4!2 g4!2, [g3,bb3,c4]@15 ~",
  Z: "[~@8 f7@3 ~@5, f4@8 ab4@2 g4@2 f4 [ab4,c5] f5 [ab5,c6]@7 ~@10, ~ db4@10 ~@5, ~@2 c4@9 ~@5, ~@3 bb4@8 ~@5]/2", // Ab
})).s("gm_tenor_sax").gain(0.3)

// chords · tenor sax · "Tenor Sax 1" · soft notes
const tenor_sax_soft = note("<~@54 A B C@2 ~@2 D E F G H I J K L ~@3>".pickRestart({
  A: "c4", B: "bb3", C: "eb4/2", D: "g3", E: "~ bb3 ab3 g3 ab3 g3 f3@2", F: "f3 ~@7", G: "~ bb3 ab3 g3 ab3 g3 f3 e3",
  H: "f3@2 ~@5 c4", I: "c4!2 eb4 f4 g4@2 f4@2", J: "f4@2 f4@2 f4@2 ~@2 c4@2 c4 c4@2 c4 c4@2", K: "c4!2 f4 g4 e4@3 c4",
  L: "c4!2 bb3!2 ab3!2 g3!2",
})).s("gm_tenor_sax").gain(0.15)

// other · tenor sax · "Tenor Sax 2"
const tenor_sax_2 = note(`<
  ~@3 A B C A D E F G H A H A I J K L M N O P Q@2 R S T U V W ~@2 X Y Z AA@2 AB AC AD@2 AE AF AG AA@2 AB AC AD@2 AE AF
  AG M N O P Q@2 AH ~ AI W AI W AJ AK AL AM ~@2
>`.pickRestart({
  A: "f1 ~ c2 ~ ab1 ~ g1 ~", B: "f4@4 [c2,c4]@2 c4@2 [ab1,bb3]@2 ab3@2 [g1,bb3]@3 c4, f1 ~@7",
  C: "f1@2 ~@2 c2@2 ~@2 ab1@2 ~ bb3 [g1,bb3]@2 c4@2, ab3@11 ~@5", D: "e2 ~ c2 ~ g2 ~ e2 ~", E: "e2 ~ c2 ~ g1 ~ e2 ~",
  F: "e2@2 e2@2 e2@2 e2@2 e2@3 e2@3 e2@2", G: "[e2,c5]@2 e2@2 e2 e2@2 e2 e2@2 e2@2 [e2,g4] ~@2 e2, ~@13 e2@2 ~, ~@7 g4",
  H: "f1@2 ~@2 c2@2 ~@2 g3!2 ~@2 g1@2 ~@2, g3@4 ab1 ~@3", I: "g3@4 ab3@4 g3!2 f3!2 eb3!2 db3!2, e2 ~ c2 ~ g1 ~ e2 ~",
  J: "e2 ~ c2 ~ [g1,g2] ~ e2 ~", K: "e2@2 e2@2 e2@2 e2@2 g3!2 f3!2 eb3!2 db3!2, g3@4 ab3@4 e2@3 e2@3 e2@2",
  L: "e2@2 e2@2 e2 e2@2 e2 e2@2 e2@2 e2 e2@2 e2", M: "bb1@2 bb1 bb2", N: "eb2 eb3", O: "ab2@2 ab2 c2",
  P: "db2@2 db2 ab1", Q: "bb1!4", R: "[c2,c3]@2 c3 db3 c3 db3 [c2,c3]@2, ~ c2!2 ~", S: "~ bb4 ab4 g4 ab4 g4 f4@2",
  T: "[f2,f4] ~ f2 ~ ab1 ~ ab1 ~", U: "db2 bb4 [db2,ab4] g4 [c2,ab4] g4 [c2,f4] e4",
  V: "f4@2 f2 ~ ab1 ~ ab1 c4, f2 ~@7", W: "db2 ~ db2 ~ c2 ~ c2 ~", X: "f2 ~ f1 ~ f2 ~ f2 ~",
  Y: "~ bb3 ab3 g3 ab3 g3 f3 e3, db2 c2", Z: "f3 ~@7", AA: "f2 ab2 g2 c2", AB: "db2!2 ab2 db2", AC: "db2 ab2 g2 c2",
  AD: "f2 f1 db2 f2", AE: "db2 bb1 db2 f2", AF: "eb2!4", AG: "f2@2 c2@2 eb2@3 f2@2 ab2@2 g2@2 f2@2 c2", AH: "c2!4",
  AI: "f2 ~ f2 ~ ab1 ~ ab1 ~", AJ: "f2 ~ f2 ~ f2 ~ f2 ~", AK: "f2 ~ f2 ~ c2 ~ c2 ~", AL: "bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  AM: "c2",
})).s("gm_tenor_sax").gain(0.3)

// other · tenor sax · "Tenor Sax 2" · soft notes
const tenor_sax_soft_2 = note("<~@54 A B C@2 ~@2 D E F G H I J K L ~@3>".pickRestart({
  A: "c4", B: "eb3 ~", C: "ab3/2", D: "c3", E: "~ bb3 ab3 g3 ab3 g3 f3@2", F: "f3 ~@7", G: "~ bb3 ab3 g3 ab3 g3 f3 e3",
  H: "ab3@2 ~@5 c4", I: "c4!2 eb4 f4 g4@2 f4@2", J: "f4@2 f4@2 f4@2 ~@2 c4@2 c4 c4@2 c4 c4@2", K: "c4!2 f4 g4 bb3@3 c4",
  L: "c4!2 bb3!2 ab3!2 g3!2",
})).s("gm_tenor_sax").gain(0.15)

// other · baritone sax · "Bari Sax"
const baritone_sax = note("<~@4 A@3 B@2 C ~ D ~ D ~ E ~ E ~@4 F ~@2 G ~ H I H ~ J K L M N ~@36>".pickRestart({
  A: "f2 ~ c3 ~ ab2 ~ g2 ~", B: "e2 ~ c3 ~ g2 ~ e2 ~", C: "e2@2 e2@2 e2@2 e2@2 e2@3 e2@3 e2@2", D: "f2@8 f2!2 ~@6",
  E: "g2@4 ab2@4 g2!2 f2!2 eb2!2 db2!2", F: "ab2@3 eb3 eb2@3 ab2 ab2@4 ~@4", G: "c3@2 c3 db3 c3 db3 c2@2",
  H: "f2 ~ f2 ~ ab2 ~ ab2 ~", I: "db3 ~ db2 ~ c3 ~ c2 ~", J: "f2 ~ bb2 ~ f3 ~ c3 ~ f3 ~ f2 ~ bb2 ~ c3 ~",
  K: "db3 ~ ab2 ~ db2 ~ bb2 ~ c3 ~ g2 ~ c2 ~ eb2 ~", L: "f2 ~ f3 ~ f2 ~ f2 ~", M: "db2 c2", N: "f2 ~@7",
})).s("gm_baritone_sax").gain(0.3)

// other · baritone sax · "Bari Sax" · soft notes
const baritone_sax_soft = note("<~@54 A B C@2 ~@2 A D E F G H I J K ~@3>".pickRestart({
  A: "c3", B: "eb2", C: "ab2/2", D: "~ bb2 ab2 g2 ab2 g2 f2@2", E: "f2 ~@7", F: "~ bb3 ab3 g3 ab3 g3 f3 e3",
  G: "f2@2 ~@5 c3", H: "c3!2 eb3 f3 g3@2 f3@2", I: "f2@2 f2@2 f2@2 ~@2 f2@2 f2 f2@2 f2 f2@2", J: "c3!2 f3 g3 c2@3 c3",
  K: "c3!2 bb2!2 ab2!2 g2!2",
})).s("gm_baritone_sax").gain(0.2)

// other · trumpet · "Trumpet 1"
const trumpet = note("<~@10 A B C B D E F E G ~@8 H ~ H ~@4 I J ~@22 K L M ~ H ~ H ~ N O ~@4>".pickRestart({
  A: "eb5@2 ~@10 c6 ~ c6@2", B: "g5@6 f5@2 g5@3 g5@3 f5@2", C: "g5@3 g5@2 ~ c5@2 c5@2 c5@2 e5@2 f5@2",
  D: "g5@3 g5@2 ~ c5@2 c5@2 c5@2 db5@2 db5@2", E: "c5!2 g5!2 e5!2 c5!2", F: "bb5!2 db6 eb6 c6@2 ~@2",
  G: "c5@2 db5@2 c5 db5 c5 db5", H: "~@2 c6 ~@3 c6 ~ bb5 c6@2 bb5@3 ab5 f5", I: "~ bb5 ab5 g5 ab5 g5 f5 e5",
  J: "f5 ~@7", K: "f5@2 f5!5 c5", L: "c5@2 ab5!4 bb5 g5", M: "g5@2 g5 ab5 g5 ab5 g5@2",
  N: "~@4 [c5,f5]@4 ~@2 c5 f5 ~ c5!2 ~", O: "f5!4 ab5!2 f5!2 [e5,c6]@8",
})).s("gm_trumpet").gain(0.3)

// other · trumpet · "Trumpet 2"
const trumpet_2 = note("<~@10 A B C B D E F E G ~@8 H ~ H ~@4 I J ~@22 K L M ~ H ~ H ~ N O ~@4>".pickRestart({
  A: "bb4@2 ~@10 f5 ~ f5@2", B: "g5@6 f5@2 g5@3 g5@3 f5@2", C: "g5@3 g5@2 ~ c5@2 c5@2 c5@2 e5@2 f5@2",
  D: "g5@3 g5@2 ~ c5@2 c5@2 c5@2 db5@2 db5@2", E: "c5!2 g5!2 e5!2 c5!2", F: "bb4!2 db5 eb5 c5@2 ~@2",
  G: "c5@2 db5@2 c5 db5 c5 db5", H: "~@2 c5 ~@3 c5 ~ bb4 c5@2 bb4@3 ab4!2", I: "~ bb4 ab4 g4 ab4 g4 f4 e4", J: "f5 ~@7",
  K: "f4@2 f4!5 c4", L: "c4@2 ab4!4 bb4 g4", M: "g4@2 g4 ab4 g4 ab4 g4@2", N: "~@4 ab5@4 ~@2 eb5 ab5 ~ f5!2 ~",
  O: "f4!4 ab4!2 f4!2 e4@8",
})).s("gm_trumpet").gain(0.3)

// other · trumpet · "Trumpet 3"
const trumpet_3 = note("<~@10 A B C B D E F G H ~@8 I ~ I ~@4 J K ~@26 I ~ I ~@7>".pickRestart({
  A: "c5@2 ~@10 g5 ~ g5@2", B: "g4@6 f4@2 g4@3 g4@3 f4@2", C: "g4@3 g4@2 ~ c4@2 c4@2 c4@2 e4@2 f4@2",
  D: "g4@3 g4@2 ~ c4@2 c4@2 c4@2 db4@2 db4@2", E: "c5!2 e5!2 g5!2 c5!2", F: "bb4!2 db5 eb5 c5@2 ~@2",
  G: "c4!2 g4!2 e4!2 c4!2", H: "c4@2 db4@2 c4 db4 c4 db4", I: "~@2 f4 ~@3 f4@2 ab4 ab4@2 f4@3 ab4 db4", J: "db4 c4",
  K: "f4 ~@7",
})).s("gm_trumpet").gain(0.3)

// other · trumpet · "Trumpet 4"
const trumpet_4 = note("<~@11 A B A C D E F G ~@8 H ~ H ~@4 I J ~@26 K ~ K ~@7>".pickRestart({
  A: "g4@6 f4@2 g4@3 g4@3 f4@2", B: "g4@3 g4@2 ~ c4@2 c4@2 c4@2 e4@2 f4@2", C: "g4@3 g4@2 ~ c4@2 c4@2 c4@2 db4@2 db4@2",
  D: "ab4!2 db5!2 c5!2 bb4!2", E: "bb4!2 db5 eb5 c5@2 ~@2", F: "c4!2 g4!2 e4!2 c4!2", G: "c4@2 db4@2 c4 db4 c4 db4",
  H: "~@2 f4 ~@3 f4 ~ bb4 c5@2 bb4@3 ab4 db4", I: "ab3 g3", J: "f4 ~@7", K: "~@2 f4 ~@3 f4 ~ bb4 c5@2 bb4@3 ab4!2",
})).s("gm_trumpet").gain(0.3)

// other · trombone · "Trombone 1"
const trombone_2 = note(`<
  ~@3 A B@2 ~@4 C A B@3 D@2 E F ~@9 G ~ G H I ~ J K ~@18 L M L N O P Q ~ R S T U V W ~@4
>`.pickRestart({
  A: "~@3 c4@2 ~ bb3@2 ~ ab3@2 ~ ab3@2 g3@2", B: "f3@2 ~ c4@2 ~ bb3@2 ~ ab3@2 ~ ab3@2 g3@2",
  C: "f4 ~ f4 ~ f4 f4@2 f4 f4@2 f4@2 f4!2 ~ f4", D: "e3@2 ~ g3@2 ~ f3@2 ~ e3@2 ~ ab3@2 ~ bb3",
  E: "bb3 ~ bb3 ~ bb3 ~ bb3@4 bb3 bb3@3 bb3@2", F: "bb3 ~ bb3 ~ bb3@2 bb3@2 bb3@3 bb3@3 bb3@2", G: "~@2 c4 e4",
  H: "f3 ~ c4 ~ f4 ~ eb3 ~", I: "db3@2 ~@2 ab3@2 ~@2 g3@2 ~@2 c3 ~ g3@2", J: "db4 c4", K: "f3 ~@7",
  L: "eb4@2 eb4@2 eb4 c4 f4 c4", M: "c4@3 bb3 ab3@3 bb3 c4@8", N: "c4@3 bb3 ab3@3 bb3 ab3@8", O: "f4@2 f4!5 c4",
  P: "c4@2 f4!4 g4 e4", Q: "e4@2 e4 f4 e4 f4 e4@2", R: "f4!2", S: "f4 c4", T: "f4@2 ab4 g4", U: "f4@2 g4 f4", V: "c4!2",
  W: "c4 f4 db4 bb3 g3@4",
})).s("gm_trombone").gain(0.3)

// other · trombone · "Trombone 1" · soft notes
const trombone_soft_2 = note("<~@25 A ~@10 B ~ C D ~@2 E@2 ~ B ~ C D ~@2 E@2 ~@19>".pickRestart({
  A: "c4", B: "g3@8 g3@2 g3 ~@5", C: "db3@8 db3@2 db3 ~@3 f3@2", D: "eb3@4 eb3!2 ~@2",
  E: "[db3@8 db3@2 db3 ~@3 f3@16 ~@2]/2",
})).s("gm_trombone").gain(0.2)

// other · trombone · "Trombone 2"
const trombone_3 = note("<~@3 A B@3 C@2 ~ D A B E B F C G H ~@9 I ~ I ~@3 J K ~@36>".pickRestart({
  A: "~@3 c4@2 ~ bb3@2 ~ ab3@2 ~ ab3@2 g3@2", B: "f3@2 ~ c4@2 ~ bb3@2 ~ ab3@2 ~ ab3@2 g3@2",
  C: "e3@2 ~ g3@2 ~ f3@2 ~ e3@2 ~ ab3@2 ~ bb3", D: "gb3 ~ gb3 ~ gb3 gb3@2 gb3 gb3@2 gb3@2 gb3!2 ~ gb3",
  E: "bb3@2 ~ f4@2 ~ db4@2 ~ db4@2 ~ db4@2 c4@2", F: "e3@2 ~ c3@2 ~ f3@2 ~ c3@2 ~ ab3@2 ~ bb3",
  G: "ab3 ~ ab3 ~ ab3 ~ ab3@4 ab3 ab3@3 ab3@2", H: "ab3 ~ ab3 ~ ab3@2 ab3@2 ab3@3 ab3@3 ab3@2", I: "~@2 g3!2",
  J: "ab3 g3", K: "f3 ~@7",
})).s("gm_trombone").gain(0.3)

// other · trombone · "Trombone 2" · soft notes
const trombone_soft_3 = note("<~@25 A ~@10 B ~ C D ~@2 E@2 ~ B ~ C D ~@2 E@2 ~@9 F G F H I J ~@4>".pickRestart({
  A: "g3", B: "f3@8 f3@2 f3 ~@5", C: "ab3@8 ab3@2 ab3 ~@3 bb3@2", D: "g3@4 g3!2 ~@2",
  E: "[ab3@8 ab3@2 ab3 ~@3 bb3@16 ~@2]/2", F: "ab3 c4", G: "f3 e3", H: "~@2 c4!2", I: "ab3!2", J: "db3 f2 c3@2",
})).s("gm_trombone").gain(0.2)

// drums · kick
const kick = s("bd").struct("<~@3 A@7 B A@8 C@2 A C A@3 ~ D@4 ~@41>".pickRestart({
  A: "x!4", B: "x!3 ~", C: "x", D: "x ~ x!3 ~ x ~",
})).gain(0.3)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@43 A B ~@7 A B C@3 ~ D@3 ~ E@6 ~@4>".pickRestart({
  A: "x!2", B: "x!2 ~@2", C: "x", D: "x!4", E: "x ~ x!3 ~ x ~",
})).gain(0.2)

// drums · rim
const rim = s("rim").struct("<~@40 [~@2 x!2 ~@2 x!2]!3 ~@6 [~@2 x!2 ~@2 x!2]!3 ~@20>").gain(0.2)

// drums · snare
const snare = s("sd").struct("<~@10 A B@6 C@2 ~@6 B ~ D E D E ~@41>".pickRestart({
  A: "x!2", B: "x ~@2 x!2 ~ x ~ x ~@2 x!3 ~@2", C: "x ~ x!2", D: "x ~ x ~ x!4 ~ x ~@3 x!3", E: "x ~ x ~ x!4 ~ x ~@6",
})).gain(0.3)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@35 A ~@3 B ~@3 C D ~@3 B ~@3 C D ~@6 E ~ F@6 ~@4>".pickRestart({
  A: "x", B: "~@4 x!3 ~", C: "x!4", D: "~@7 x ~@8", E: "x ~@2 x!2 ~ x ~ x ~@2 x!3 ~@2", F: "x ~ x ~ x!4 ~ x ~@3 x!3",
})).gain(0.2)

// drums · low tom
// … 36 more lines