Strudelify
Don't Cry for Me Argentina cover art

Don't Cry For Me Argentina

Don't Cry for Me Argentina

Madonna

KeyB majorTempo128 bpm
0:00/0:00
// Don't Cry for Me Argentina — Madonna
// 128 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 142 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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 · synth bass 1 · "Bass"
const bass = note(`<
  ~ A ~@7 B ~@10 C D E F G H F I@2 J@2 K L I@2 G M D E F G H F I@2 N@4 O D N P@2 Q R J@2 K L I S G M D E F G H F I@2 N@4
  O D N@6 O D N P@2 T@2 U V W V U V W V N X Y D O Z AA AB D E F G H F I AC N@4 O D N@6 O D N P@2 ~@2 N X Y D O Z AA AB
>`.pickRestart({
  A: "b1@3 ~@29", B: "b0@13 ~@3", C: "~@8 b1@3 ~ a#1@3 ~", D: "g#1@5 ~ g#1@5 ~ d#1@3 ~ g#1@5 ~ g#1@5 ~ d#1@3 ~",
  E: "g#1@5 ~ g#1@5 ~ d#1@3 ~ g#1@3 ~ d#1@3 ~ g#1@3 ~ d#1@3 ~", F: "c#2@5 ~ c#2@5 ~ c#2@3 ~ c#2@5 ~ c#2@5 ~ c#2@3 ~",
  G: "b1@5 ~ b1@5 ~ b1@3 ~ b1@5 ~ b1@5 ~ b1@3 ~", H: "a#1@5 ~ a#1@5 ~ a#1@3 ~ a#1@5 ~ a#1@5 ~ a#1@3 ~",
  I: "f#1@5 ~ f#1@5 ~ f#1@3 ~ f#1@5 ~ f#1@5 ~ f#1@3 ~", J: "b1@5 ~ b1@5 ~ b1@3 ~ b1@5 ~ f#1@5 ~ g#1@3 ~",
  K: "e1@5 ~ e1@5 ~ e1@3 ~ e1@5 ~ e1@5 ~ e1@3 ~", L: "e1@5 ~ e1@5 ~ e1@3 ~ e1@5 ~ b0@5 ~ c#1@3 ~",
  M: "b1@5 ~ b1@5 ~ b1@3 ~ b1@6 ~@2 a#1@6 ~@2", N: "b1@5 ~ b1@5 ~ f#1@3 ~ b1@5 ~ b1@5 ~ f#1@3 ~",
  O: "f#1@5 ~ f#1@5 ~ c#1@3 ~ f#1@5 ~ f#1@5 ~ c#1@3 ~", P: "[e1@29 ~@3]/2", Q: "e1@13 ~@3",
  R: "e1@13 ~@3 e1@8 e1@4 e1@3 ~", S: "f#1@5 ~ f#1@5 ~ f#1@3 ~ f#1@5 ~ d#1@5 ~ e1@3 ~", T: "[e1@45 ~@3 e1@13 ~@3]/2",
  U: "e1@6 ~@2 e1@6 ~@2 e1@6 ~@2 e1@3 ~ f#1@3 ~", V: "g1@6 ~@2 g1@6 ~@2 g1@4 d1@3 ~ g1@4 d1@4",
  W: "a1@6 ~@2 a1@6 ~@2 a1@6 ~@2 a1@4 a1@3 ~", X: "a#1@5 ~ a#1@5 ~ f#1@3 ~ a#1@5 ~ a#1@5 ~ f#1@3 ~",
  Y: "a1@5 ~ a1@5 ~ f#1@3 ~ a1@5 ~ a1@5 ~ f#1@3 ~", Z: "d1@5 ~ d1@5 ~ a0@3 ~ d1@5 ~ d1@5 ~ a0@3 ~",
  AA: "c#1@5 ~ c#1@5 ~ g#0@3 ~ c#1@5 ~ c#1@5 ~ g#0@3 ~", AB: "[b0,b1]@3 ~ [b0,b1]@3 ~@5 [b0,b1]@3 ~ [b0,b1]@3 ~@13",
  AC: "f#1@5 ~@27",
})).s("gm_synth_bass_1").gain(0.56)

// chords · piano
const piano = note(`<
  ~@2 A B C D ~ C E F ~@2 G F ~@6 H I@2 J@2 K L M K ~@8 N O P Q R P S T ~@9 U V W ~@7 N O P Q R P R T X@4 R Y X@6 R Y X
  Z AA U V AB AC AD AE AB AC AD AF B AG AH AI AJ AK AL AM N O P Q R P R AN X@4 R Y X@6 R Y X Z ~@3 AO AP AQ AO AR AS AT
  AU
>`.pickRestart({
  A: "~@24 a#4 b4 c#5 d#5 e5 f#5 g#5 a#5", B: "b5@13 ~@3",
  C: "b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6 b5 c6", D: "b5@3 ~@13",
  E: "b5@13 ~@3 g#3 a#3 c4 c#4 d#4 f4 f#4 g#4 a#4 c5 c#5 d#5 f5 f#5 ~ g#5", F: "b5@3 ~@29",
  G: "~@16 a#3 b3 c#4 d#4 e4 f#4 g#4 a#4 b4 c5 c#5 d#5 e5 f#5 g#5 a#5", H: "~@8 [b3,b4]@3 ~ [a#3,a#4]@3 ~",
  I: "[b3,d#4,g#4]/2", J: "[c#4 b3, [g#3,f4]]/2", K: "[a#3,c#4,f#4]", L: "[g#3,b3,c#4,f4]", M: "[b3,c#4,f#4]",
  N: "[g#3,b3,d#4]@8 ~@4 [g#3,b3,d#4]@3 ~ [g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@3 ~", // G#m
  O: "[g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@3 ~ [g#3,b3,d#4]@5 ~ [g#3,b3,d#4]@5 ~ [b3,d#4,g#4]@3 ~", // G#m
  P: "[c#4,f4,g#4]@6 ~@6 [c#4,f4,g#4]@3 ~ [c#4,f4,g#4]@5 ~ [c#4,f4,g#4]@5 ~ [c#4,f4,g#4]@3 ~", // C#
  Q: "[b3,f4,g#4]@6 ~@6 [b3,f4,g#4]@3 ~ [b3,f4,g#4]@5 ~ [b3,f4,g#4]@5 ~ [b3,f4,g#4]@3 ~", // Fdim
  R: "[a#3,c#4,f#4]@6 ~@6 [a#3,c#4,f#4]@3 ~ [a#3,c#4,f#4]@5 ~ [a#3,c#4,f#4]@5 ~ [a#3,c#4,f#4]@3 ~", // F#
  S: "[b3,c#4,f#4]@6 ~@6 [b3,c#4,f#4]@3 ~ [b3,c#4,f#4]@5 ~ [b3,c#4,f#4]@5 ~ [b3,c#4,f#4]@3 ~", // Bsus2
  T: "~@6 g#4@2 [g#4,b4,g#5]@5 ~ g#4@2 [f#4,a#4,f#5]@5 ~ f#4@2 [e4,g#4,e5]@5 ~ e4@2", // G#m F# E
  U: "[e4,g#5]@10 ~@2 [e4,g#5]@3 ~ [d#4,f#5]@10 ~@2 [d#4,f#5]@3 ~", // E D#m
  V: "[c#4,e5]@10 ~@2 [c#4,e5]@3 ~ [d#4,b4,d#5]@5 ~ [c#4,g#4,c#5]@5 ~ [b3,f#4,b4]@3 ~", W: "[b3,f#4,b4]@3 ~@29",
  X: "[b3,d#4,f#4]@6 ~@6 [b3,d#4,f#4]@3 ~ [b3,d#4,f#4]@5 ~ [b3,d#4,f#4]@5 ~ [b3,d#4,f#4]@3 ~", // B
  Y: "[b3,d#4,g#4]@6 ~@6 [b3,d#4,g#4]@3 ~ [b3,d#4,g#4]@5 ~ [b3,d#4,g#4]@5 ~ [b3,d#4,g#4]@3 ~", // G#m
  Z: "e4@10 ~@2 e4@3 ~ d#4@10 ~@2 d#4@3 ~", AA: "c#4@10 ~@2 c#4@3 ~ b3@10 ~@2 b3@3 ~", AB: "[b3,e4]@13 ~@3",
  AC: "[e4,g4]@13 ~@3", AD: "[e4,a4]@13 ~@3", AE: "[e4,g4,b4]@13 ~@3", AF: "[e4,g4,b4]@13 ~@11 a4 b4 c5 d5 e5 f5 g5 a5",
  AG: "c#6@13 ~@3", AH: "d6@13 ~@3", AI: "f#5@13 ~@3", AJ: "b4@13 ~@3", AK: "d5@13 ~@3", AL: "c#5@13 ~@3 a#4@13 ~@3",
  AM: "[b3,b4]@3 ~ [b3,b4]@3 ~@5 [b3,b4]@3 ~ [b3,b4]@3 ~@13", // B
  AN: "~@6 g#4@2 [c#4,g#4,b4,g#5]@5 ~ g#4@2 [c#4,f#4,a#4,f#5]@5 ~ f#4@2 [c#4,e4,g#4,e5]@5 ~ e4@2", // C#7 F# C#m
  AO: "f#6 b5 f#5 b4 f#6 b5 f#5 b4 f#6 b5 f#5 b4 f#6 b5 f#5 b4",
  AP: "f#6 a#5 f#5 a#4 f#6 a#5 f#5 a#4 f#6 a#5 f#5 a#4 f#6 a#5 f#5 a#4",
  AQ: "f#6 a5 f#5 a4 f#6 a5 f#5 a4 f#6 a5 f#5 a4 f#6 a5 f#5 a4",
  AR: "f#6 b5 f#5 b4 f#6 b5 f#5 b4 f#5 b4 f#4 b3 f#4 b4 f#5 b5",
  AS: "d6 e6 d6 c#6 a5 b5 a5 g#5 f#5 g#5 f#5 e5 d5 e5 d5 c#5", AT: "b4@5 ~ f#4@5 ~ a#4@3 ~ b4@5 ~ f#5@5 ~ a#5@3 ~",
  AU: "[b3,b4,b5]@3 ~ [b3,b4,b5]@3 ~@5 [b3,b4,b5]@3 ~ [b3,b4,b5]@3 ~@13", // B
})).s("gm_piano").gain(0.35)

// other · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
  ~ A B C@2 A B C@2 ~@28 D@2 E F G E H@2 I@4 J K L M N M O P ~@15 I@4 J K Q ~ I@4 J K L M N M O A B C@2 A B C@2 R S T U
  V W X Y D@2 E F G E H Z I@4 J K AA AB I@4 J K L M AC AD AE AF AG AH AI AF AI AJ Y
>`.pickRestart({
  A: "b4@3 ~@9 a4@3 ~@9 g4@3 ~@5", B: "f#4@3 ~@9 g4@3 ~@9 a4@3 ~@5",
  C: "b4@3 ~ f#4@3 ~@5 a4@3 ~ g4@3 ~@5 g4@3 ~ a4@3 ~", D: "g#3@5 ~ g#3@2 g#3@3 ~ d#3@3 ~ g#3@5 ~ g#3@2 g#3@3 ~ d#3@3 ~",
  E: "g#3@5 ~ g#3@2 g#3@3 ~ c#3@3 ~ g#3@5 ~ g#3@2 g#3@3 ~ c#3@3 ~",
  F: "g#3@5 ~ g#3@2 g#3@3 ~ b2@3 ~ g#3@5 ~ g#3@2 g#3@3 ~ b2@3 ~",
  G: "a#3@5 ~ a#3@2 a#3@3 ~ c#3@3 ~ a#3@5 ~ a#3@2 a#3@3 ~ c#3@3 ~",
  H: "f#3@5 ~ f#3@2 f#3@3 ~ c#3@3 ~ f#3@5 ~ f#3@2 f#3@3 ~ c#3@3 ~", I: "b3@5 ~ b3@5 ~ f#3@3 ~ b3@5 ~ b3@5 ~ f#3@3 ~",
  J: "c#4@3 ~ c#4@7 ~ c#4@2 d#4@2 e4@11 ~ e4 f#4 ~ e4", K: "b3@3 ~ b3@7 ~ b3@2 c#4@2 d#4@11 ~ e4 f#4 ~ e4",
  L: "d#4@6 ~@2 f#4@6 ~@2 f#4@10 ~@2 f#4@3 ~", M: "e4@10 ~@2 e4@3 ~ d#4@10 ~@2 d#4@3 ~",
  N: "c#4@10 ~@2 c#4@3 ~ b3@10 ~@2 b3@3 ~",
  O: "c#4@6 ~@4 [a#3,a#4]@2 [b3,b4]@2 [c#4,c#5]@2 [d#4,d#5]@5 ~ [c#4,c#5]@5 ~ [b3,b4]@3 ~", P: "b4@3 ~@29",
  Q: "d#4@3 ~ f#4@3 ~@9", R: "f#4@5 ~ f#4@5 ~ f#4@3 ~ f#4@5 ~ f#4@5 ~ f#4@3 ~",
  S: "f#4@5 ~ b3@5 ~ c#4@3 ~ e4@5 ~ f#4@6 a#4@3 ~", T: "d5@2 ~ c#5@2 b4@2 ~ g4@2 ~ f#4@2 d4@2 ~ f#4@5 ~ d4@5 ~ f#4@3 ~",
  U: "b3@5 ~ d#4@2 e4@3 ~ d#4@3 ~ f#4@13 ~@3", V: "f#3@5 ~ b3@5 ~ c#4@3 ~ b3@13 ~@3",
  W: "a4@5 ~ g#4@5 ~ f#4@3 ~ d4@5 ~ e4@5 ~ f#4@3 ~",
  X: "a#4@5 ~ f#4@5 ~ e4@3 ~ c#4@2 ~ b3@2 f#3@2 ~ e3@2 ~ f#3@2 a#3@2 ~",
  Y: "[b3,b4]@3 ~ [b3,b4]@3 ~@5 [b3,b4]@3 ~ [b3,b4]@3 ~@13", Z: "f#3@5 ~@27",
  AA: "d#4@3 ~ f#4@3 ~ f#4 g#4 f#4 e4 d#4 e4 d#4 c#4", AB: "b3@5 ~ c#4@5 ~ d#4@3 ~ d#4@5 ~ c#4@5 ~ b3@3 ~",
  AC: "f#4@5 ~ e4@6 d#4@3 ~ d#4@13 ~@3", AD: "b3@10 ~@2 c#4@3 ~ d#4@5 ~ e4@5 ~ f#4@3 ~",
  AE: "f#4@15 ~ f#4@5 ~ g#4@5 ~ a#4@3 ~", AF: "[f#4,b4]@3 ~ [f#4,b4]@3 ~ [f#4,b4]@3 ~ [f#4,b4]@3 ~",
  AG: "[f#4,a#4]@6 ~@2 [f#4,a#4]@6 ~@2 [f#4,a#4]@5 ~ [f#4,a#4]@6 [f#4,a#4]@4", // F#
  AH: "[f#4,a4]@3 ~ [f#4,a4]@3 ~ [f#4,a4]@3 ~ [f#4,a4]@3 ~", // F#m
  AI: "[f#4,b4]@6 ~@2 [f#4,b4]@6 ~@2 [f#4,b4]@5 ~ [f#4,b4]@6 [f#4,b4]@4", // B5
  AJ: "[f#4,c#5]@10 ~@2 [f#4,c#5]@3 ~ [f#4,c#5]@5 ~ [f#4,c#5]@5 ~ [f#4,c#5]@3 ~", // F#5
})).s("gm_acoustic_guitar_steel").gain(0.29)

// other · accordion · "Acc."
const accordion = note("<~ A B C@2 A B C@2 ~@82 A B C@2 A B C@2 ~@42 D>".pickRestart({
  A: "b4@3 ~@9 a4@3 ~@9 g4@3 ~@5", B: "f#4@3 ~@9 g4@3 ~@9 a4@3 ~@5",
  C: "b4@3 ~ f#4@3 ~@5 a4@3 ~ g4@3 ~@5 g4@3 ~ a4@3 ~", D: "b3@3 ~ b3@3 ~@5 b3@3 ~ b3@3 ~@13",
})).s("gm_accordion").gain(0.29)

// other · accordion · "Acc." · soft notes
const accordion_soft = note("<~ A@2 B@2 A@2 B@2 ~@82 A@2 B@2 A@2 B@2 ~@43>".pickRestart({
  A: "~@4 b3@3 ~@9 b3@3 ~ b3@3 ~@5 b3@3 ~", B: "~@4 b3@3 ~@9 b3@3 ~ b3@3 ~@9",
})).s("gm_accordion").gain(0.15)

// chords · synth strings 1 · "Strings"
const synth_strings_1 = note(`<
  ~@21 A@2 B A C B@3 D@2 E@2 F@2 D@2 A@2 B A C B@3 G H I J K L M N@2 ~@2 D@2 E@2 F@2 O@2 P@2 Q@2 R S T@2 U H I J K L V@2
  U H I W K L X ~@4 Y Z AA AB Y Z AA AC AD AE AF AG AH AI AJ AK A@2 B A C B@3 U H I J K L V@2 U H I W K L AL AM@2 AN AO
  AD AE AF AG AH AI AP AQ
>`.pickRestart({
  A: "b5@3 ~@5 b5@3 ~@5 b5@3 ~@5 b5@3 ~@5", B: "c#6@3 ~@5 c#6@3 ~@5 c#6@3 ~@5 c#6@3 ~@5",
  C: "a#5@3 ~@5 a#5@3 ~@5 a#5@3 ~@5 a#5@3 ~@5", D: "[b3,d#4,f#4]/2", E: "[b3,e4,g#4]/2", F: "[a#3,c#4,f#4]/2",
  G: "[b4,d#5]@3 [b4,d#5]@3 [b4,d#5]@2 [b4,d#5]@3 [c#5,e5]@3 [d#5,f#5]@2", // B C#m D#m
  H: "[e5,g#5] [d#5,f#5] [d#5,f#5]@5 [d#5,f#5]", I: "[d#5,g#5]@3 [d#5,g#5]@3 [d#5,f#5]@2 [f#5,b5]@6 [d#5,f#5]@2",
  J: "[c#5,e5] [b4,d#5]@3 ~ [b4,d#5] [c#5,e5] [d#5,f#5]", K: "[a#4,c#5] [a#4,c#5]@4 [a#4,c#5] [b4,d#5] [c#5,e5]",
  L: "[g#4,b4] [g#4,b4]@3 ~ [g#4,b4] [g#4,c#5] [g#4,b4]", M: "[b4,d#5]@3 ~ [d#5,f#5]@12", N: "[[e5,g#5]@29 ~@3]/2",
  O: "[[b3,d#4,f#4]@47 ~ [b3,b4]@6 ~@2 [a#3,a#4]@6 ~@2]/2", P: "[b3,d#4,g#4]/2", Q: "[c#4 b3, [f4,g#4]]/2",
  R: "[a#3,c#4,f#4]", S: "[b3,c#4,f4,g#4]",
  T: "[[a#3,c#4,f#4]@47 ~ a#3 b3 c#4 d#4 e4 f#4 g#4 a#4 b4 c5 c#5 d#5 e5 f#5 g#5 a#5]/2", // F#
  U: "[b4,d#5]@3 [b4,d#5]@3 [b4,d#5]@2 [b4,d#5]@3 [c#5,e5]@3 [d#5,f#5]@2, b5@3 ~@29", // B C#m D#m
  V: "[[b3,d#4,f#4]@47 ~ a#3 b3 c#4 d#4 e4 f#4 g#4 a#4 b4 c5 c#5 d#5 e5 f#5 g#5 a#5]/2", // B
  W: "[c#5,e5]@2 [b4,d#5]@6 ~@2 [b4,d#5]!2 [c#5,e5]@2 [d#5,f#5]@2", X: "[b3,d#4,f#4]", Y: "e3@13 ~@3", Z: "g3@13 ~@3",
  AA: "a3@13 ~@3", AB: "b3@13 ~@3", AC: "b3@13 ~@11 a4 b4 c5 d5 e5 f5 g5 a5", AD: "[b4,b5]", AE: "[c#5,c#6]",
  AF: "[d5,d6]", AG: "[f#5,f#6]", AH: "[b4,b5]@13 ~@3", AI: "[d5,d6]@13 ~@3", AJ: "[c#5,c#6]@15 ~ [a#4,a#5]@13 ~@3",
  AK: "[b4,b5]@3 ~ [b4,b5]@3 ~@5 [b4,b5]@3 ~ [b4,b5]@3 ~@13", AL: "[d#4,f#4,b4]", AM: "[[e4,g#4,b4]@29 ~@3]/2",
  AN: "[g#4,b4,d#5]@13 ~@3", AO: "[g#4,b4,f#5]@13 ~@3", AP: "[c#5,c#6]@13 ~@3 [a#4,a#5]@13 ~@3",
  AQ: "[b0,b1]@3 ~ [b0,b1]@3 ~@5 [b0,b1]@3 ~ [b0,b1]@15 ~", // B
})).s("gm_synth_strings_1").gain(0.29)

// other · orchestra hit · "Orch Hit"
const orchestra_hit = note(`<
  ~ A ~@6 B C ~@2 B A ~@6 D E ~@14 D E ~@25 D E ~@26 A ~@6 F G ~@6 H E ~@26 I ~@6 H
>`.pickRestart({
  A: "[b3,b4]@3 ~@29", B: "~@16 a#3 b3 c#4 d#4 e4 f#4 g#4 a#4 b4 c5 c#5 d#5 e5 f#5 g#5 a#5", C: "[b4,b5]@3 ~@29",
  D: "~@8 [b3,b4]@3 ~ [a#3,a#4]@3 ~", E: "[g#3,g#4]@3 ~@13", F: "~@24 a4 b4 c5 d5 e5 f5 g5 a5", G: "b5@3 ~@29",
  H: "[b3,b4]@3 ~ [b3,b4]@3 ~@5 [b3,b4]@3 ~ [b3,b4]@3 ~@13", I: "b4@3 ~@29",
})).s("gm_orchestra_hit").gain(0.29)

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

// drums · rim
const rim = s("rim").struct("<[x!4] [x ~@3 x!2 ~ x!2 ~@3 x ~@7 x ~@3 x!2 ~ x!2 ~@3]!140 [x ~@3 x!2 ~ x!2 ~@3 x ~@19]>")
  .gain(0.42)

// drums · snare
const snare = s("sd").struct("<~@21 A@34 B C A@30 ~@3 B C A@14 D A@26 B A@7 E>".pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@3 x ~@2 x ~@2 x ~", C: "x!2 ~ x", D: "x!2 ~ x!2 ~ x ~", E: "x!2 ~ x!2 ~@3",
})).gain(0.56)

// drums · clap
const clap = s("cp").struct("<~@99 [~ x ~ x]!7 [x!2 ~ x!2 ~@3] ~@27 [~ x ~ x]!7 [x!2 ~ x!2 ~@3]>").gain(0.56)

// drums · low tom
const low_tom = s("lt").struct("<~ A ~@11 A ~@41 B A ~@33 B A ~@14 C ~@26 B ~@7 C>".pickRestart({
  A: "x", B: "~@11 x ~@2 x ~", C: "~@3 x!2 ~@3",
})).gain(0.56)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@55 A ~@34 A ~@15 B ~@26 A ~@7 B>".pickRestart({
  A: "~ x!2 ~", B: "x!2 ~@6",
})).gain(0.56)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@24 A ~@7 A ~@3 A ~@3 A ~@7 A ~@3 A ~@6 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@2 A ~@3 A ~@3 A ~@7 A ~@7
  A ~@3 A ~@3 A ~@3 A ~@6 A ~@4
>`.pickRestart({
  A: "~@7 x",
})).gain(0.42)

// drums · crash
const crash = s("cr").struct("<~ A ~@7 A ~@3 A ~@40 A@3 ~@34 A ~@14 B ~@34 B>".pickRestart({
  A: "x", B: "~ x",
})).gain(0.42)

// drums · cowbell
const cowbell = s("cb").struct("<~@99 [~@2 x ~ x ~@2 x]!7 [x!2 ~ x!2 ~@3] ~@35>").gain(0.28)

// drums · congas
const congas = s("conga:13").struct("<~@5 [~@2 x ~@2 x!2 ~]!136 [~ x ~@2]>").gain(0.9)

// drums · congas
const congas_2 = s("conga:18").struct("<~@5 [~@4 x!2 ~ x ~@8 x ~ x ~@13]!136 [~@4 x!2 ~ x ~@24]>").gain(0.9)
// … 11 more lines

More by Madonna