Strudelify
The Tide Is High cover art

Autoamerican

The Tide Is High

Blondie

KeyB majorTempo110 bpm
0:00/0:00
// The Tide Is High — Blondie
// 110 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 100 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// bass · fretless bass · "Bass"
const bass = note(`<
  ~@2 A B C D A E F G A H I J C K C L A M F N F O A P I Q F J C Q R S T U V I W C X I M I Y F M A Z AA V AB AC AD R AE A
  AF F AG C W I AH I H R AI A O R W I AJ AA U AK V U R AG A P C E C Z F S C AL F N C AM I AN I AO ~
>`.pickRestart({
  A: "b1 ~ b1 ~@2 b1 b1@2 ~ b1!2 ~ b1!3 f#1", B: "e2@2 e3 ~ e2 g#2 b2 ~ f#2@2 f#3 ~ f#2 a#2 c#3 ~",
  C: "b2@2 b1 ~ b1!3 ~ f#2 g#2 b2 ~ g#2 f#2 d#2 c#2", D: "~@2 c#2@3 c#2 c#2@2 ~ f#2 f#2@2 a#2@2 c#3 a#2",
  E: "e2@2 e3 ~ e2 g#2 b2 ~@2 f#2 f#2@2 a#2@2 c#3 a#2", F: "~ b1 b1@2 ~ b1 b1@2 ~ b1!3 ~@3 b1",
  G: "c#3@2 c#2 ~ c#2!2 c#2@2 f#3!2 c#3 f#2 ~@2 f#3 ~", H: "e3@2 e2 ~ e2!2 e2@2 f#2@2 f#3 ~ f#2 a#2 c#3 ~",
  I: "b2@2 b1 ~ b1!2 b1@2 ~ b1 b1@2 ~ b1 f#1 ~", J: "e3!2 b2 e2 ~@2 e3 ~ f#3!2 c#3 f#2 ~@2 f#3 ~",
  K: "e2@2 e3 ~ e2 g#2 b2 ~ f#2 ~ f#2 ~ f#2 ~@2 c#3", L: "~@2 e2@3 e2 e2@2 ~ f#2 f#2@2 a#2@2 c#3 a#2",
  M: "~@2 e2@3 e2 e2@2 f#2 ~ f#2 ~ f#2 ~@2 c#3", N: "e2@2 b1 ~ e2 b1 e2 ~ f#2 ~ f#2 ~ f#2 ~@2 c#3",
  O: "e2@2 e3 ~ e2 g#2 b2 ~ f#2@2 c#2 ~ f#2 c#2 f#2 ~", P: "e2@2 b1 ~ e2 b1 e2 ~ f#2@2 f#3 ~ f#2 a#2 c#3 ~",
  Q: "e2 ~ e2 ~ e2 ~@2 b2 ~ f#2 f#2@2 a#2@2 c#3 a#2", R: "b1@2 b1 ~@3 b1@2 ~ b1 b1@2 ~ b1!2 ~",
  S: "e2@2 e3 ~ e2 g#2 b2 ~ f#3!2 c#3 f#2 ~@2 f#3 ~", T: "e2 ~ e2 ~@2 e2 e2@2 ~ e2!2 ~ e2!3 b1",
  U: "f#3@2 f#2 ~ f#2!2 f#2@2 ~ f#2 f#2@2 ~ f#2 c#2 ~", V: "f#2@2 f#2 ~@3 f#2@2 ~ f#2 f#2@2 ~ f#2!2 ~",
  W: "e3@2 e2 ~ e2!2 e2@2 f#3!2 c#3 f#2 ~@2 f#3 ~", X: "e3!2 b2 e2 ~@2 e3 ~ f#2 ~ f#2 ~ f#2 ~@2 c#3",
  Y: "e2@2 b1 ~ e2 b1 e2 ~ f#3!2 c#3 f#2 ~@2 f#3 ~", Z: "e2 ~ e2 ~ e2 ~@2 b2 f#2@2 c#2 ~ f#2 c#2 f#2 ~",
  AA: "e2@2 e2 ~@3 e2@2 ~ e2 e2@2 ~ e2!2 ~", AB: "e3@2 e2 ~ e2!2 e2@2 ~ e2 e2@2 ~ e2 b1 ~",
  AC: "f#2@2 f#2 ~ f#2!2 f#2@2 ~@2 f#2@2 ~ f#2!2 c#2", AD: "f#2@2 f#2 ~@2 f#2 f#2@2 ~@2 f#2@2 ~ f#2!2 c#2",
  AE: "e3@2 e2 ~ e2!2 e2@2 ~ f#2 f#2@2 a#2@2 c#3 a#2", AF: "c#2 ~ c#2 ~ c#2 ~@2 g#2 f#3!2 c#3 f#2 ~@2 f#3 ~",
  AG: "e2 ~ e2 ~ e2 ~@2 b2 f#3!2 c#3 f#2 ~@2 f#3 ~", AH: "~@2 e2@3 e2 e2@2 ~@2 f#2@3 f#2 f#2@2",
  AI: "e3@2 e2 ~ e2!2 e2@2 ~@2 f#2@3 f#2 f#2@2", AJ: "e2 ~ e2 ~ e2 ~@2 b2 f#2@2 f#3 ~ f#2 a#2 c#3 ~",
  AK: "~ e2 e2@2 ~ e2 e2@2 ~ e2!3 ~@3 e2", AL: "e2@2 b1 ~ e2 b1 e2 ~@3 f#2@3 f#2 f#2@2",
  AM: "e2@2 b1 ~ e2 b1 e2 ~ f#2@2 c#2 ~ f#2 c#2 f#2 ~", AN: "e3@2 e2 ~ e2!2 e2@2 f#2 ~ f#2 ~ f#2 ~@2 c#3",
  AO: "~ b1!3 b1@2 b1!2 e2 ~ e2 ~ f#2 ~ b1 ~",
})).s("gm_fretless_bass").gain(0.56)

// bass · fretless bass · "Bass" · soft notes
const bass_soft = note(`<
  ~@5 A ~@2 B C ~@3 D ~ E ~ F ~ G B E B ~@4 H B D ~ H I C ~@2 J ~ C ~ K ~ G ~ C B G ~ H L J ~ M@2 I ~@2 N B O ~ C ~ P
  ~@2 I M ~@2 I C ~ H L ~ Q J ~ I O ~@5 H B C ~ M B E ~@3 E ~@3
>`.pickRestart({
  A: "~ c#2 ~@14", B: "~@13 b1!2 ~", C: "~@13 c#3 ~@2", D: "~@5 b2 ~@7 c#3 ~@2", E: "~@14 a#2 ~", F: "~ e2 ~@14",
  G: "~ e2 ~@12 a#2 ~", H: "~@6 g#2 ~@9", I: "~@5 b1 ~@10", J: "~@5 f#2 ~@10", K: "~@5 b2 ~@8 a#2 ~", L: "~@5 e2 ~@10",
  M: "~@9 f#2 ~@6", N: "~@6 e2 ~@6 c#3 ~@2", O: "~@6 g#2 ~@6 c#3 ~@2", P: "~ e2 ~@7 f#2 ~@6", Q: "~@13 e2!2 ~",
})).s("gm_fretless_bass").gain(0.32)

// chords · rock organ · "Organ"
const rock_organ = note(`<
  ~@2 A B C D C E F G F H A I F J K J A L A M N O P Q C J K R K I K L S T U N V N W P M A W K I C X Y T Z AA AB A L F AC
  F AD N L P E F Q K AE C E A R P AE Y AF Z T U N AG C AG C AH C X C M C I F W N X A AI P AJ ~
>`.pickRestart({
  A: "[f#4,b4]@3 b3, d#5", B: "~ [g#4,e5] [g#4,b4,e5]@3 [b4,e5] [g#4,b4,e5]@2 [a#4,f#5]@6 [g#4,a#4,b4] ~",
  C: "[b4,d#5]@9 b4 ~ [b4,d#5] ~ f#4 [b4,d#5] ~, b3@13 ~@3", // B
  D: "[c#4,b4,e5]@7 ~ [c#5,f#5]@5 ~ f#5 ~, ~@8 a#5@7 ~, ~@13 c#5@2 ~", E: "[g#4,e5]@6 [g#4,b4,e5] ~ [c#4,c#5,f#5]@7 ~",
  F: "~@4 [b4,d#5,f#5]@6 f#4 [b4,d#5] ~ f#4 [b4,d#5,f#5] ~", G: "[c#4,b4,e5]@7 ~ [a#4,f#5]@6 [g#4,a#4,b4] ~",
  H: "[b3,b4,e5]@7 ~ [a#4,f#5]@6 [a#4,c#5,f#5] ~", I: "[b3,b4,e5]@7 ~ [c#4,c#5,f#5]@7 ~",
  J: "~ [g#4,e5] [g#4,b4,e5]@3 [b4,e5] [g#4,b4,e5]@2 [a#4,f#5]@6 [a#4,c#5,f#5] ~", K: "~@12 f#4@3 ~, [b4,d#5,f#5]@15 ~",
  L: "[g#4,e5]@6 [g#4,b4,e5] ~ [c#5,f#5]@5 ~ f#5 ~, ~@8 a#5@7 ~, ~@13 c#5@2 ~", // C#m E F#5
  M: "[b3,b4,e5]@7 ~@2 [a#4,f#5] [a#4,c#5,f#5]@3 [c#5,f#5] [a#4,c#5,f#5]@2", // E5 D#m F# F#5 F#
  N: "[d#5,f#5]@2 [b4,e5] ~@6 [f#4,b4] b4@3 b4 [f#4,b4] ~, [b4,b5] ~@15", // D#m E5 B5 B
  O: "[g#4,e5]@6 [g#4,b4,e5] ~@2 [a#4,f#5] [a#4,c#5,f#5]@3 [c#5,f#5] [a#4,c#5,f#5]@2", // C#m E D#m F# F#5 F#
  P: "[f#4,b4]@10 ~@3 b4!2 ~, d#5@15 ~, ~@10 b3@5 ~, ~@11 f#4@4 ~", // B5
  Q: "[g#4,e5]@6 [g#4,b4,e5] ~ [a#4,f#5]@6 [a#4,c#5,f#5] ~", // C#m E D#m F#
  R: "~ [g#4,e5] [g#4,b4,e5]@3 [b4,e5] [g#4,b4,e5]@2 ~ [a#4,f#5] [a#4,c#5,f#5]@3 [c#5,f#5] [a#4,c#5,f#5]@2", // C#m E E5 E D#m F# F#5 F#
  S: "[g#4,b4]@10 ~@3 b4!2 ~, e5@15 ~, ~@10 b3@5 ~, ~@11 g#4@4 ~", // G#m
  T: "[a#4,c#5]@10 ~@3 c#5!2 ~, f#5@15 ~, ~@10 c#4@5 ~, ~@11 a#4@4 ~", // A#m
  U: "~@4 [c#5,f#5,a#5]@6 a#4 [c#5,f#5] ~ a#4 [c#5,f#5,a#5] ~", V: "[b3,b4,e5]@7 ~ [a#4,f#5]@6 [g#4,a#4,b4] ~",
  W: "~ [g#4,e5] [g#4,b4,e5]@3 [b4,e5] [g#4,b4,e5]@2 [c#4,c#5,f#5]@7 ~", // C#m E E5 E F#5
  X: "[g#4,e5]@6 [f#4,g#4,a4] ~ [c#4,c#5,f#5]@7 ~", Y: "~@12 g#4@3 ~, [b4,e5,g#5]@15 ~",
  Z: "~@4 [b4,e5,g#5]@6 g#4 [b4,e5] ~ g#4 [b4,e5,g#5] ~", AA: "[f#5,a#5]",
  AB: "~ [c#5,f#5] ~ f#5 ~@2 [c#5,f#5]@5 ~ c#5 f#5 a#5 c#5, ~@11 a#4@2 ~@3", // F#5
  AC: "[g#4,e5]@6 [g#4,b4,e5] ~ [a#4,f#5]@6 [g#4,a#4,b4] ~", // C#m E D#m G#m
  AD: "[b4,e5]@5 ~ e5 ~ [c#4,c#5,f#5]@7 ~, g#5@7 ~@9, ~@5 b4@2 ~@9", // E5 F#5
  AE: "[g#4,e5]@6 [f#4,g#4,a4] ~@2 [a#4,f#5] [a#4,c#5,f#5]@3 [c#5,f#5] [a#4,c#5,f#5]@2", AF: "[a#4,c#5]@3 c#4, f#5",
  AG: "[b4,e5]@5 ~ e5 ~ [a#4,f#5]@6 [g#4,a#4,b4] ~, g#5@7 ~@9, ~@5 b4@2 ~@9", // E5 D#m G#m
  AH: "[b3,b4,e5]@7 ~ [c#5,f#5]@5 ~ f#5 ~, ~@8 a#5@7 ~, ~@13 c#5@2 ~", // E5 F#5
  AI: "[b4,e5]@5 ~ e5 ~@2 [a#4,f#5] [a#4,c#5,f#5]@3 [c#5,f#5] [a#4,c#5,f#5]@2, g#5@7 ~@9, ~@5 b4@2 ~@9", // E5 D#m F# F#5 F#
  AJ: "~ b3 [f#4,b4,d#5] b3 ~ b3 [f#4,b4,d#5] b3 [b4,e5] ~ [f#4,b4,d#5] b3 [g#4,b4,e5] ~ [b3,f#4,b4,d#5] ~", // B E5 B E B
})).s("gm_rock_organ").gain(0.16).pan(0.9)

// chords · rock organ · "Organ" · soft notes
const rock_organ_soft = note(`<
  ~@3 A B ~ B C D E D F ~@2 D G H G ~ C ~ I J K ~ L B G H M H ~ H C ~@2 N J E J O ~ I ~ O H ~ B P H ~ D Q R ~ C D S D ~
  J C ~ C D L H T B C ~ M ~ T H ~ D ~ N J E B E B ~ B P B I B ~ D O J P ~ I ~@3
>`.pickRestart({
  A: "~ b4 ~@3 g#4 ~@2 c#5@5 c5 ~@2", B: "~@9 d#5 ~@6", C: "b4@3 ~@5", D: "~@3 b3 ~@12", E: "~@8 c#5@5 c5 ~@2",
  F: "~@4 c#5@3 ~", G: "~ b4 ~@3 g#4 ~@2 c#5@6 ~@2", H: "b5@15 ~", I: "~@9 c#5 ~@3 a#4 ~@2",
  J: "~@2 c#5 e4 ~@6 f#4@3 f#4 ~@2", K: "b4@6 ~@3 c#5 ~@3 a#4 ~@2", L: "b4@3 ~ c#5@3 ~",
  M: "~ b4 ~@3 g#4 ~@3 c#5 ~@3 a#4 ~@2", N: "~@3 c#4 ~@12", O: "~ b4 ~@3 g#4 ~@10", P: "b4@5 a#4 ~@10", Q: "c#5",
  R: "~@3 c#5 ~ c#5 ~@10", S: "b4@6 ~@2 c#5@5 c5 ~@2", T: "b4@5 a#4 ~@3 c#5 ~@3 a#4 ~@2",
})).s("gm_rock_organ").gain(0.08).pan(0.9)

// chords · electric guitar muted · "Guitar"
const electric_guitar_muted = note(`<
  ~@2 A B C D E F A G E H A I A J E K E J C L C M C L E N C F E N A J O P Q A L E R E S E L E N E T U V W X Y E T Z AA E
  AB A T A J C F E L C AC A L E R O V U Q AD A N A N A L A AE A N C N A H C K A AF C AG AH
>`.pickRestart({
  A: "~@2 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@2 b2 [f#3,b3,d#4] ~", // B
  B: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ b3 e4 g#4 ~ [c#4,f#4,a#4] [c#4,f#4,a#4]@2 ~ c#4 f#4 a#4", // E F#
  C: "~@2 [b3,d#4] ~@2 b2 [b3,d#4] ~@3 [b3,d#4] ~@2 f#3 b3 [b3,d#4]", // B
  D: "~ [b3,c#4,e4,g#4] [b3,c#4,e4,g#4]@2 ~ [b3,c#4,e4,g#4]!2 ~@3 [f#3,a#3,c#4] ~@3 [f#3,a#3,c#4] ~", // C#m7 F#
  E: "d#4 ~ d#4 ~@3 [b3,d#4] ~@2 b2 d#4 ~@2 b2 ~ [b3,d#4]", // B
  F: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@2 [a#3,c#4,f#4] [a#3,c#4,f#4]@2 ~ [a#3,c#4,f#4]!2 ~", // E F#
  G: "~ [b3,c#4,e4,g#4] [b3,c#4,e4,g#4]@2 ~ [b3,c#4,e4,g#4]!2 ~@2 [a#3,c#4,f#4] [a#3,c#4,f#4]@2 ~ [a#3,c#4,f#4]!2 ~", // C#m7 F#
  H: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ b3 e4 g#4 ~@2 [a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~", // E F#
  I: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@2 [c#4,f#4,a#4] [c#4,f#4,a#4]@2 ~ c#4 f#4 a#4", // E F#
  J: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@3 [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~", // E F#
  K: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@2 [a#3,c#4,f#4] [a#3,c#4,f#4]@2 ~ c#4 f#4 a#4", // E F#
  L: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@3 [f#3,a#3,c#4] ~@3 [f#3,a#3,c#4] ~", // E F#
  M: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ b3 e4 g#4 ~ [a#3,c#4,f#4] [a#3,c#4,f#4]@2 ~ c#4 f#4 a#4", // E F#
  N: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@3 [a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~", // E F#
  O: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@2 e3 [g#3,b3,e4] ~", // E
  P: "~@2 [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~@2 f#2 [c#4,f#4,a#4] ~", // F#
  Q: "~@2 [c#4,f#4] ~@2 f#2 [c#4,f#4] ~@3 [c#4,f#4] ~@2 a#3 c#4 [c#4,f#4]", // F#5
  R: "~@2 [g#3,b3,e4] ~@3 [g#3,b3,e4] ~@2 [c#4,f#4,a#4] [c#4,f#4,a#4]@2 ~ [c#4,f#4,a#4]!2 ~", // E F#
  S: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ [g#3,b3,e4]!2 ~@2 [c#4,f#4,a#4] [c#4,f#4,a#4]@2 ~ [c#4,f#4,a#4]!2 ~", // E F#
  T: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ b3 e4 g#4 ~@2 [f#3,a#3,c#4] ~@3 [f#3,a#3,c#4] ~", // E F#
  U: "~@2 [b3,e4] ~@2 e2 [b3,e4] ~@3 [b3,e4] ~@2 g#3 b3 [b3,e4]", // E5
  V: "f#4 ~ f#4 ~@3 [c#4,f#4] ~@2 f#2 f#4 ~@2 f#2 ~ [c#4,f#4]", W: "e4 ~ e4 ~@3 [b3,e4] ~@2 e2 e4 ~@2 e2 ~ [b3,e4]",
  X: "~@2 [a#3,c#4,f#4] ~@2 f#2 [a#3,f#4,a#4] ~@2 f#2 [c#4,f#4] ~@2 a#3 c#4 [c#4,f#4]", // F# D#m F#5
  Y: "~@2 [a#3,c#4,f#4] ~@2 a#3 [c#4,f#4,a#4] ~@2 a#3 [c#4,f#4] ~@3 [a#3,c#4,f#4] ~", // F# F#5 F#
  Z: "~@2 [b3,d#4,f#4] ~@3 [b3,d#4,f#4] ~@3 [b3,d#4,f#4] ~@2 b2 [b3,d#4,f#4] ~", // B
  AA: "~@2 [b3,c#4,e4,g#4] ~@3 [b3,c#4,e4,g#4] ~@2 [f#3,a#3,c#4] [f#3,a#3,c#4]@2 ~ c#4 f#4 a#4", // C#m7 F#
  AB: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ [g#3,b3,e4]!2 ~@2 [f#3,a#3,c#4] [f#3,a#3,c#4]@2 ~ c#4 f#4 a#4", // E F#
  AC: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ [g#3,b3,e4]!2 ~@3 [a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~", // E F#
  AD: "~@2 [a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 f#2 [a#3,c#4,f#4] ~", // F#
  AE: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ b3 e4 g#4 ~ [f#3,a#3,c#4] [f#3,a#3,c#4]@2 ~ [f#3,a#3,c#4]!2 ~", // E F#
  AF: "~ [g#3,b3,e4] [g#3,b3,e4]@2 ~ [g#3,b3,e4]!2 ~@2 [f#3,a#3,c#4] [f#3,a#3,c#4]@2 ~ [f#3,a#3,c#4]!2 ~", // E F#
  AG: "~@2 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~", // B
  AH: "~ b2 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~@3 [f#3,b3,d#4] ~ b3 d#4 f#4 b4", // B
})).s("gm_electric_guitar_muted").gain(0.18).pan(0.1)

// chords · electric guitar muted · "Guitar" · soft notes
const electric_guitar_muted_2 = note(`<
  ~@6 A B ~@2 A C ~@3 C A ~ A D ~ B ~@3 B A B ~ B A D ~@7 A B A ~ A D A D A C ~ E A F ~ A C ~@2 A ~@4 B ~@2 A B ~@3 C A
  B ~ E ~@8 D ~@3 B ~ C ~ C ~ B ~@5
>`.pickRestart({
  A: "b3 ~ b3 ~@7 b3 ~@3 b3 ~", B: "~@5 e2 ~@10", C: "~@13 f#2 ~@2", D: "~@5 e2 ~@7 f#2 ~@2",
  E: "c#4 ~ c#4 ~@7 c#4 ~@3 c#4 ~", F: "~@6 c#4 ~@9",
})).s("gm_electric_guitar_muted").gain(0.11).pan(0.1)

// chords · brass section · "Brass Fills"
const brass_section = note("<~@6 A B C D E F G H ~@40 A B C D E F G H ~@38>".pickRestart({
  A: "[d#5,f#5]@3 ~ [b4,d#5]@3 ~ [d#4,f#4]@6 ~@2", B: "g#5 f#5!2 e5 d#5 c#5 b4 c#5",
  C: "[b4,d#5]@3 ~ [f#4,b4]@3 ~ [d#4,f#4]@6 ~@2", D: "[e4,c#5]@3 ~ e5@5 ~ d#5@2 d#5@2 c#5@2",
  E: "c#5!2 [b4,c#5] c#5 [b4,c#5]@2 f#4@2 [d#4,f#4]@6 ~@2", F: "e4@3 ~ c#5@5 ~ c#5@2 d#5@2 c#5@2",
  G: "c#5!2 [b4,c#5] c#5 [b4,c#5]@2 f#4@2 [d#4,f#4]@8", H: "~ e4 f#4 b4 [f#4,d#5] c#5 a#4 f#4",
})).s("gm_brass_section").gain(0.38)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A@15 B C D C D C D C E A@7 B A@2 B C D C D F D C E A@16 E C D C D C D C B@2 A@6 G B A@7 E C D C A C D C A@4 H ~
>`.pickRestart({
  A: "x!2", B: "x ~@3 x ~@2 x", C: "x ~@5 x ~ x ~@6 x", D: "x ~@2 x!3 ~@2", E: "x ~@7 x ~@4 x ~@2",
  F: "x ~ x ~@3 x ~ x ~@6 x", G: "x ~@6 x!2 ~ x ~@5", H: "x ~@3 x ~@2 x ~@2 x ~@3 x ~",
})).gain(0.25)

// drums · rim
const rim = s("rim").struct("<[x!2] [x!4] ~@98>").gain(0.22)

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

// drums · low tom
const low_tom = s("lt").struct("<~@45 A ~@7 A ~@28 A ~@7 B ~@3 A ~@2 B ~@2>".pickRestart({
  A: "~@7 x", B: "~@13 x ~@2",
})).gain(0.29)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@25 A ~@18 A B ~@7 B ~@7 A ~@20 B ~@3 A ~@3 C ~@3 B ~@2 C ~@2>".pickRestart({
  A: "~@14 x!2", B: "~@3 x", C: "~@11 x!2 ~@3",
})).gain(0.25)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@3 A ~@7 A ~@3 B ~ C ~@15 C ~@2 C ~@15 A ~@6 A ~@6 D ~ D C@2 ~@3 E ~@2 F C ~@9 G ~ C ~@6 C H ~
>`.pickRestart({
  A: "~@3 x ~@12", B: "~@9 x ~@6", C: "~@7 x", D: "~@11 x ~@4", E: "~@8 x ~@2 x!2 ~@3", F: "~@5 x ~@2", G: "~@15 x",
  H: "~@2 x ~@2 x ~@2",
})).gain(0.25)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~@3 A ~@13 B ~@7 C ~@7 B ~@2 B ~@7 C D ~@3 A ~@3 D ~@7 C ~@7 B@2 ~@6 E B ~@3 D ~@3 C ~@3 F ~@3 D ~@2 F ~@2
// … 30 more lines

More by Blondie