Strudelify
Rikki Don't Lose That Number cover art

Pretzel Logic

Rikki Don't Lose That Number

Steely Dan

KeyE majorTempo120 bpm
0:00/0:00
// Rikki Don't Lose That Number — Steely Dan
// 120 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 119 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Overdriven Guitar.
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.

// chords · piano
const piano = note(`<
  A@2 B A B C D E F G H I J K L M N O P Q R S T U V W X Y@2 Z@2 AA@2 Z AB AC A@3 AD D E F G H I J K L M N O P Q R S T U
  V W X Y@2 Z@2 AA@2 Z AB AC A@3 AE Y AF AG@2 Y AF AH@2 AI AJ AK AG Y AF AG@2 AL AM AL AN AO AF R S T U V W X Y@2 Z@2
  AA@2 Z AB AC A@4 AP@3
>`.pickRestart({
  A: "e2@4 ~@2 b2 ~ b2@4 ~@2 e2 ~", B: "e2@4 ~@2 b2 ~ b2@4 ~@2 e2 ~, [f#4,g#4,b4]@11 ~@5",
  C: "e2@4 ~@2 b2 ~ b2@3 ~@3 e2 e4", D: "[d4,f#4,a4]@8 ~@4 [d4,f#4,a4]@3 ~, d3@5 ~@3",
  E: "[c#4,e4,a4]@8 ~@4 [c#4,e4,a4]@3 ~, a2@5 ~@3", F: "[b3,e4,g#4]@8 ~@4 b4 [e4,g#4] b3 ~, e3@5 ~@3",
  G: "[e2,g#3,d4]@4 f#4 ~ [b3,e4]@3 ~ g#4@3 ~ f#4@2, ~@6 e3@6 ~@2 a2 ~", H: "~@2 a3 ~ d4 ~ e4@3 ~ f#4@5 ~, d3@11 ~@5",
  I: "[a3,c#4,e4]@10 e3@3 ~ b2 ~, a2@5 ~@11", J: "[b3,e4,g#4]@8 ~@2 e3@2 [b3,e4,g#4]@2 a2 ~, e2@5 ~@11",
  K: "[c#3,c#4,d#4,f4,g#4]@5 ~@3 [b3,c#4,d#4,f#4]@6 a2 e4, ~@2 b2 ~", L: "[a3,d4,f#4]@8 ~@4 [d4,a4]@3 ~, d3@5 ~@3",
  M: "c#4 ~ e4 ~ a4@5 ~ c#4 ~ e4 ~ a4@2, a2@5 ~@3", N: "~@2 [b3,g#4]@6 e4@3 ~@3 b3 ~, e3@11 ~@5",
  O: "a4 ~ g#4 ~ e4 ~ f#4@3 ~ g#4@3 ~ b3 ~, e2@11 ~@5", P: "[f#2,e3,a3,c#4]@8 ~@4 [f#2,e3,a3,c#4]@3 ~",
  Q: "[e3,a3,b3] ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@5 ~ a2@2 a3 ~, a2@8 ~@4 c#4 ~@3", // Esus4 A
  R: "~@2 d#3 ~ g#3 ~ a3 ~ d4 ~ g#3 ~ a3 ~ e3 ~, b2@13 ~@3",
  S: "[d4,f#4] ~ [d4,f#4] ~ [c#4,e4]@2 b2 ~ [b3,d4]@2 b2 ~ [e3,a3,c#4] ~ [b3,d4]@2, e2@4 ~@10 b2 ~", // D C#m Bm A Bm
  T: "~@2 [b3,d4]@4 b2 ~ [d4,f#4] ~ [b2,c#4,e4] ~ [e3,b3,d4] ~ [b2,c#4,e4] ~, e2 ~@3", // Bm D C#m7 E7 C#m7
  U: "[g2,b3,d4]@4 [a3,c#4] ~ [g3,b3]@3 ~ [d3,a3,c#4] ~ g3 ~ d3 ~, ~@6 d3 ~@5 [b3,d4]@4", // G A G Dmaj7 Bm
  V: "~@2 [a3,d4]@3 ~ [d3,g3] ~ [a3,d4] ~ [d3,g3] ~ [g3,a3,d4] ~ [d3,b3] b3, a2 ~@3", // D5 G5 D5 G5 Gsus2 G
  W: "[a2,a3,c#4,e4]@8 ~@4 [a2,a3,c#4,e4]@3 ~", X: "[g3,b3,d4]@5 ~@7 g2@3 ~, g2@8 ~@2 [g3,b3,d4]@5 ~",
  Y: "[d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~ [d4,f#4,a4]@3 ~", // D
  Z: "[c4,e4,g4]@3 ~ [c4,e4,g4]@3 ~ [c4,e4,g4]@3 ~ [c4,e4,g4]@3 ~", // C
  AA: "[e4,g4,b4]@3 ~ [e4,g4,b4]@3 ~ [e4,g4,b4]@3 ~ [e4,g4,b4]@3 ~", // Em
  AB: "~@2 [a3,c#4,e4]@5 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", AC: "[a3,c#4,e4]@3 ~@13",
  AD: "e2@4 ~@2 b2 ~ b2@3 ~ e2@3 ~", AE: "~@12 [e2,e4,g#4,b4]@3 ~",
  AF: "[c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~", // A
  AG: "[e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~", // E
  AH: "[d4,g4,b4]@3 ~ [d4,g4,b4]@3 ~ [d4,g4,b4]@3 ~ [d4,g4,b4]@3 ~", // G
  AI: "[c4,e4,f4,a4]@3 ~ [c4,e4,f4,a4]@3 ~ [c4,e4,f4,a4]@3 ~ [c4,e4,f4,a4]@3 ~", // Fmaj7
  AJ: "[d4,f4,b4]@3 ~ [d4,f4,b4]@3 ~ [d4,f4,b4]@3 ~ [d4,f4,b4]@3 ~", // Bdim
  AK: "[e4,f4,a4,c5]@3 ~ [e4,f4,a4,c5]@3 ~ [e4,f4,a4,c5]@3 ~ [e4,f4,a4,c5]@3 ~", // Fmaj7
  AL: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", // A
  AM: "[b3,c#4,d#4]@3 ~ [b3,c#4,d#4]@3 ~ [b3,c#4,d#4]@3 ~ [b3,c#4,d#4]@3 ~", // B
  AN: "[c#4,e4,g#4,b4]@3 ~ [c#4,e4,g#4,b4]@3 ~ [c#4,e4,g#4,b4]@3 ~ [c#4,e4,g#4,b4]@3 ~", // C#m7
  AO: "[e4,f#4,a4,c#5]@3 ~ [e4,f#4,a4,c#5]@3 ~ [e4,f#4,a4,c#5]@3 ~ [e4,f#4,a4,c#5]@3 ~", // F#m7
  AP: "[e2@4 ~@2 b2 ~ b2@4 ~@2 e2@21 ~@13]/3",
})).s("gm_piano").gain(0.27).pan(0.2)

// chords · acoustic guitar steel · "AcouGuitar"
const acoustic_guitar_steel = note(`<
  ~@2 A@2 B C D E F@2 D E F G H I J K L I M N@2 O@2 P O ~@13 D E Q R S E F G H I J K L I M N@2 O@2 P O ~@36 N@2 O@2 P O
  ~@16
>`.pickRestart({
  A: "[d5,f#5] ~ [d5,f#5] ~ [c#5,e5]@3 ~ [b4,d5]@3 ~ [a4,c#5]@3 ~", // D C#m Bm A
  B: "[d5,f#5] ~ [d5,f#5] ~ [c#5,e5]@3 ~ [b4,d5]@3 ~ [a4,c#5] ~ [b4,d5] ~", C: "~@2 [b4,d5]@11 ~@3",
  D: "[d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~", // D
  E: "[c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~", // A
  F: "[b3,e4,g#4]@3 ~ [b3,e4,g#4]@3 ~ [b3,e4,g#4]@3 ~ [b3,e4,g#4]@3 ~", // E
  G: "[c#4,d#4,f4,g#4]@3 ~ [c#4,d#4,f4,g#4]@3 ~ [b3,d#4,f#4]@3 ~ [b3,d#4,f#4]@3 ~", // C# B
  H: "[a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~", // D
  I: "[c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~", // A
  J: "[e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4] ~ b3 ~", K: "a4 ~ g#4 ~ e4 ~ f#4@3 ~ g#4@5 ~",
  L: "[e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~", M: "~@2 d#4 ~ g#4 ~ a4 ~ d5 ~ g#4 ~ a4 ~ e4 ~",
  N: "[e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~ [e4,g#4,b4]@3 ~", // E
  O: "[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", // G
  P: "[a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4]@3 ~", Q: "~@10 e5 f#5 g#5 a5 g#5@2",
  R: "~@2 b4 ~ e5 ~ g#5 ~@3 f#5 ~@3 e5 ~", S: "~ d5@5 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.31)

// bass · electric bass finger · "Bass"
const bass = note(`<
  A B@4 C D E F G D E H I D E J K L M N O@2 P Q R S T U V W X Y Z AA AB A@3 AC D E F G D E H I D E J K L M N O@2 P Q R S
  T U V W X Y Z AA AB A@3 AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS M AT M AU L M AV O@2 P Q R S T U V W X Y Z
  AA AB A@4 AW@3
>`.pickRestart({
  A: "e2@4 ~@2 b2 ~ b2@4 ~@2 e2 ~", B: "e2@4 ~@2 b2 ~ b2@4 ~@2 g#2 ~", C: "e2@4 ~@2 b2 ~ b2@2 ~@2 e2@2 ~@2",
  D: "d2@13 ~ e2 ~", E: "a1@4 ~@2 a1 ~ c#2 ~ e2@3 ~ e2 ~", F: "e1@5 ~@5 e2@3 ~ b1 ~",
  G: "e2@4 ~@2 e2 ~ b1 ~ e2@3 ~ a1 ~", H: "e1@13 ~ g#1 ~", I: "c#2@4 ~@2 f#1 ~ b1@4 ~@2 a1 ~", J: "e1@13 ~ b1 ~",
  K: "e2@4 ~@2 e2 ~ b1 ~ e2@3 ~ e1 ~", L: "f#1@4 ~@2 f#1 ~ f#1@5 ~@3", M: "a1@4 ~@2 a1 ~ a1@5 ~@3", N: "b2@11 ~@5",
  O: "e2@4 ~@2 b2 ~@3 b2 ~ e3 ~ b2 ~", P: "g2@4 ~@2 d3 ~@3 d3 ~ g3 ~ d3 ~", Q: "g2@4 ~@2 d3 ~ d2 ~ d3 ~ g2 ~ d3 ~",
  R: "a2@4 ~@2 a2 ~ e2 ~ a2@3 ~ d2 ~", S: "g2@4 ~@2 g2 ~ d2 ~ g2@3 ~ a2 ~", T: "d2 ~ d2 ~ b1 ~ a1 ~@3 d2 ~ b1 ~ a1 ~",
  U: "~@2 d2 ~ b1 ~ a1 ~ d2 ~ d2 ~ b1 ~ a1 ~", V: "c2@4 ~@2 g2 ~ c3@4 ~@2 g2 ~", W: "c2@4 ~@2 g2 ~ c3 ~ g2 ~ c2 ~ b1 ~",
  X: "e2@4 ~@2 b2 ~ b1@3 ~ b2 ~ b1 ~", Y: "e2@4 ~@2 b1 ~ e1 ~ f#1 ~ g1 ~ b1 ~", Z: "c2@5 ~@3 c3 ~ g2 ~ c2@3 ~",
  AA: "~@2 a1@3 ~ e2 ~ e2 ~ e2 ~ e2 ~ e2 ~", AB: "a2@4 ~@6 b2 ~ d3 ~ e3 ~", AC: "e2@4 ~@2 b2 ~ b2@3 ~ e2@3 ~",
  AD: "d2@4 ~@2 a2 ~ a1 ~ a1 ~ b1 ~ d2 ~", AE: "a1@4 ~@2 e2 ~ a2 ~ e2 ~ a2 ~ b2 ~",
  AF: "e2@4 ~@2 b1 ~ e2 ~ e2 ~ c#2 ~ b1 ~", AG: "e1 ~ b1 ~ c#2 ~ b1 ~ e2 ~ e2 ~ c#2 ~ b1 ~",
  AH: "d2@4 ~@2 a2 ~ d3 ~ a2 ~ d2 ~ e2 ~", AI: "a1 ~ e2 ~ a2 ~ e2 ~ a2 ~ e2 ~ a1 ~ e2 ~",
  AJ: "g2@4 ~@2 d2 ~ g2 ~ g2 ~ d3 ~ d2 ~", AK: "g2 ~ g2 ~ e2 ~ d2 ~ g2 ~ g2 ~ d2 ~ c2 ~",
  AL: "f2@4 ~@2 f2 ~ f2@4 c2 ~ f2 ~", AM: "g2@4 ~@2 g2 ~ g2 ~ e2 d2 g2 ~ d2 ~", AN: "f2@4 ~@2 f2 ~ f2@3 ~ c2 ~ f2 ~",
  AO: "e2 ~ e2 ~ b2 ~ e3 ~ b2 ~ b1 ~ e2 ~ b1 ~", AP: "d2@4 ~@2 a2 ~ d3 ~ a2 ~ d3 ~ e2 ~",
  AQ: "a1@3 ~ a2 ~ e2 ~ a2 ~ e2 ~ c#2 ~ a1 ~", AR: "e2@4 ~@2 b2 ~ e3 ~ b2 ~ e2@3 ~",
  AS: "a2@4 ~@2 g#2 ~@3 f#2 ~@3 e2 ~", AT: "g#1@4 ~@2 g#1 ~ g#1@5 ~@3", AU: "c#2@4 ~@2 c#2 ~ c#2@5 ~@3",
  AV: "b1@11 ~@5", AW: "[e2@4 ~@2 b2 ~ b2@4 ~@2 e2@21 ~@13]/3",
})).s("gm_electric_bass_finger").gain(0.35)

// other · marimba
const marimba = note("<A@2 B@2 ~@32 A@2 C@2 ~@30 A@2 D ~@39 A@2 ~@5>".pickRestart({
  A: "[e3@4 ~@2 f#3 g3 f#3@19 ~@5]/2", B: "[~@4 b3 ~ d4 b3@2 ~ a3 g3 e3@8 ~@2 g3 f#3 e3@5 ~@3]/2",
  C: "[~@3 a3 b3 ~ d4 b3@2 ~ a3 g3 e3@8 ~@2 g3 f#3 e3@5 ~@3]/2", D: "~@3 a3 b3 ~ d4 b3@2 ~ a3 g3 e3@4",
})).s("gm_marimba").gain(0.43).pan(0.9)

// chords · distortion guitar · "ElecGuitar"
const distortion_guitar = note(`<
  ~@27 A B C D E F C G H ~@25 A B C D E F C G H ~@3 I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF ~@6 A B C D E
  F C G H ~@2 AG@2 AH AI@2
>`.pickRestart({
  A: "~@6 [f#4,a4]@2 [e4,a4] ~ [d4,a4] ~ [e4,a4] ~ [d4,a4] ~", B: "b3 ~ [d4,a4] ~ a3 ~ [a3,d4]@3 e4@2 ~ d4 ~ a3 ~",
  C: "[c4,g4]@4 ~@2 [c4,g4] ~ [c4,g4]@4 ~@2 [c4,g4] ~", D: "[c4,g4] ~ e4 ~ g4 ~ e4 ~ g4 [g4,a4] e4 ~ g4 ~ e4 ~",
  E: "[e4,b4,e5]@4 ~@2 [e4,b4,e5] ~ [e4,b4,e5]@4 ~@2 [e4,b4,e5] ~", // E5
  F: "~@2 [b4,e5] ~ [a4,d5] ~ [f#4,b4] ~ [b4,e5] ~ [a4,d5]@5 ~", G: "~@2 [a3,e4]@5 ~ [a3,e4]@3 ~ [a3,e4]@3 ~",
  H: "[a3,e4]@3 ~@13", I: "~@12 e6 d6 b5 d6", J: "e6@8 ~@4 a#5 a5 g5 a5", K: "b5@8 ~@4 g5 f#5 e5 f#5",
  L: "g#5@8 ~@4 a5 b5!2 a5", M: "d6 e6 g#6 ~ e6 ~ a#5 [g5,a5] a5 g5!2 ~ e5@3 ~", N: "b5@5 ~@3 e5@5 ~@3",
  O: "~@2 b5 ~ d6 b5 d6 b5 d6 b5 e6 d6 b5 a5 g5 ~", P: "~@2 d5@5 ~ f5 ~ g5 ~ d5@3 ~", Q: "d5@3 ~ d5 ~@3 b4 ~@3 f4 ~@3",
  R: "~@4 b4 c5 [c5,e5]!3 [c5,e5,g5]!4 a5 ~@2", S: "b4 ~ d5 ~ e5 ~ b4@5 ~ b4 a4 g4 ~",
  T: "a4 ~ e4 ~ g4 ~ g4 ~ a4 ~ g4 ~ a4 ~ d4 ~", U: "e4 ~ e3 ~@3 d#5@2 d5@5 ~@3",
  V: "~@2 [a5,d6] [b5,e6] ~@2 [e5,a5] [f#5,b5] ~@2 a4 b4 [a4,d5]@3 ~", // D5 E5 A5 B5 D5
  W: "~@2 [e5,a5] f#5 [e5,a5] ~ b4 ~ b4 c#5 [e5,a5] ~ [f#5,a5] e5@2 ~", // A5 F#m
  X: "[g#5,e6] ~ [a5,e6] ~@3 [b5,e6] ~@3 [g#5,e6] ~@3 [b5,e6] ~", Y: "~@2 [b5,e6] ~@3 [g#5,e6] ~@3 [f#5,e6] ~@3 e6@2",
  Z: "~ g#5 a5@11 ~@3", AA: "~@8 [g#4,b4] f#4 ~@6", AB: "[g#4,b4] f#4 e4@11 ~@3",
  AC: "[c#4,e4,g#4,b4]@3 ~ [c#4,e4,g#4,b4]@3 ~ [c#4,e4,g#4,b4]@3 ~ [c#4,e4,g#4,b4]@3 ~", // C#m7
  AD: "[e4,a4,c#5] [f#4,b4,d5] [e4,a4,c#5] [f#4,b4,d5] [e4,a4,c#5]@9 ~@3", // A Bm A Bm A
  AE: "[c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~ [c#4,e4,a4]@3 ~", // A
  AF: "~@2 d#4 ~ g#4 ~ a4 ~ d5 ~ g#4 ~ a4 ~ e4 ~", AG: "[d5,f#5] ~ [d5,f#5] ~ [c#5,e5]@3 ~ [b4,d5]@3 ~ [a4,c#5]@3 ~",
  AH: "[d5,f#5] ~ [d5,f#5] ~ [c#5,e5]@3 ~ [b4,d5]@3 ~ [a4,c#5] ~ [b4,d5] ~", AI: "[~@2 [b4,d5]@17 ~@13]/2",
})).s("gm_distortion_guitar").gain(0.28)

// other · overdriven guitar
const overdriven_guitar = note("<~@77 A ~@3 B ~ C ~ D ~@2 E ~@30>".pickRestart({
  A: "c5 d#5 ~@14", B: "~@12 f#3 ~@3", C: "~@4 d5 ~@11", D: "~@7 d4 d#4 d4 d#4 d4 d#4 d4 d#4 d4", E: "~@7 a4",
})).s("gm_overdriven_guitar").gain(0.29).pan(0.8)

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

// drums · rim
const rim = s("rim").struct("<[~ x ~ x]!5 ~@114>").gain(0.37)

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

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

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@5 A ~@13 B A ~@7 C ~@5 D E ~@17 B A ~@7 C ~@5 D E ~@18 D ~@7 A ~@7 C ~@5 D E ~@7
>`.pickRestart({
  A: "~@5 x!2 ~", B: "~@7 x", C: "~ x!5 ~ x", D: "~@10 x!3 ~ x ~", E: "~@6 x!3 ~ x ~@5",
})).gain(0.37)

// drums · mid tom
const mid_tom = s("mt").struct("<~@35 A ~@33 A ~@18 B ~@7 C ~@14 A ~@7>".pickRestart({
  A: "~@7 x", B: "~ x", C: "~@5 x!2 ~",
})).gain(0.37)

// drums · crash
const crash = s("cr").struct("<~@69 A ~@26 A ~@14 A ~@4 B ~@2>".pickRestart({
  A: "x", B: "~@7 x",
})).gain(0.32)

// drums · high tom
const high_tom = s("ht").struct("<~@19 A B ~@13 C ~@18 A B ~@13 C ~@41 C ~@8>".pickRestart({
  A: "~@10 x!3 ~@3", B: "~@5 x!2 ~", C: "~ x",
})).gain(0.37)

// drums · bell tree
const bell_tree = s("marktrees:0").struct("<~@2 x ~@35 x ~@33 x ~@46>").gain(2.18)

stack(
  piano, acoustic_guitar_steel, bass, marimba, distortion_guitar, overdriven_guitar, kick, rim, snare, hihat, low_tom,
  mid_tom, crash, high_tom, bell_tree
)

More by Steely Dan