Strudelify

Respirando

Battisti

KeyE minorTempo100 bpm
0:00/0:00
// Respirando — Battisti
// 100 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 2 electric bass finger (copy of ch 8 fretless bass)
// note: Full arrangement: all 120 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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 · pad warm
const pad_warm = note(`<
  ~@2 A@4 B@3 C D@2 A@2 B@3 ~@3 A@2 D@2 A@12 E@2 F G H G H G A@2 D@2 I@3 ~@2 J@7 K@4 L@8 M@7 N@5 O@8 P Q@8 R@7 S@8 T ~@3
>`.pickRestart({
  A: "[[c4,e4,a4,c5]@16 ~@16 e5@15 ~ [e4,a4,c5]@16, ~@16 [e4,g#4,b4]@31 ~@17]/2", // Am E
  B: "[[e4,g4,c5]@15 ~@17 d5@15 ~ [g4,c5,e5]@31 ~ [g4,b4,d5,g5]@15 ~, ~@16 [d4,g4,b4]@31 ~@49]/3", // C G
  C: "[g#4,b4,e5]@16 [a4,c5]@15 ~, e4@31 ~", D: "[[c4,e4,a4,c5]@8 ~@8 e5@7 ~ [e4,a4,c5]@8, ~@16 [e4,g#4,b4]@31 ~@17]/2",
  E: "[[e4,g4,c5]@15 ~@17 d5@15 ~ [g4,c5,e5]@16, ~@16 [d4,g4,b4]@31 ~@17]/2", F: "[e4,g4,c5]@15 ~ [d4,g4,b4]@16",
  G: "[e4,g#4,b4,e5]@13 ~@3", H: "[f4,a4,c5,e5]@7 ~",
  I: "[[e4,g4,c5]@15 ~@16 d5@15 ~@2 e5@31 ~ [g4,g5]@15 ~, ~@16 [d4,g4,b4]@31 [g4,c5]@31 ~ [b4,d5]@15 ~@2]/3", // C G C5 Bm
  J: "[~@32 c4@15 ~@17 e5@15 [e4,a4,c5]@16 ~ [e4,a4,c5]@16 ~@15 e5@15 ~ [e4,a4,c5]@16 ~ [e4,a4,c5]@15 ~@17 e5@15 [e4,a4,c5]@16 c5, ~@31 [e4,a4,c5]@16 e4@31 ~@17 c4@16 ~ [e4,g#4,b4]@30 ~@17 c4@16 [e4,g#4,b4]@31 ~@18, ~@48 [g#4,b4]@31 ~@145]/7", // Am E G#m
  K: "[[c4,e4,a4]@15 ~@16 e5@15 ~ [e4,a4,c5]@16 ~ c4@15 ~@17 e5@14 ~ [e4,a4,c5]@16 ~, ~@15 [e4,g#4,b4]@31 ~@17 [e4,a4,c5]@16 [e4,g#4,b4]@31 ~@18]/4", // Am E Am E
  L: "[[c4,e4,a4,c5]@15 ~@16 e5@14 ~@2 [e4,a4,c5]@16 ~ [e4,a4,c5]@15 ~@16 e5@15 ~ [e4,a4,c5]@16 [c4,e4,a4,c5]@16 ~@16 e5@14 ~@2 [e4,a4,c5]@16 [e4,g4,c5]@15 ~@17 d5@15 ~ [g4,c5,e5]@16 c5, ~@15 [e4,g#4,b4]@31 ~@17 c4@16 [e4,g#4,b4]@31 ~@33 [e4,g#4,b4]@31 ~@33 [d4,g4,b4]@31 ~@18]/8", // Am C E G
  M: "[[e4,g4]@15 [d4,g4,b4]@16 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [c4,e4,a4,c5]@16 [e4,g#4,b4]@16 e5]/7", // Em G E Fmaj7 E Fmaj7 E Am …
  N: "[~@15 [e4,a4,c5]@16 [c4,e4,a4,c5]@16 ~@16 e5@15 ~ [e4,a4,c5]@16 [e4,g4,c5]@15 ~@17 d5@15 ~ [g4,c5,e5]@17, ~@47 [e4,g#4,b4]@31 ~@33 [d4,g4,b4]@31 ~@18]/5", // Am C E G
  O: "[~@15 [g4,b4,d5,g5]@15 ~ [g#4,b4,e5]@15 ~ [a4,c5]@15 ~ [c4,e4,a4,c5]@16 ~@16 e5@15 ~ [e4,a4,c5]@16 [c4,e4,a4,c5]@16 ~@16 e5@15 ~ [e4,a4,c5]@16 [e4,g4,c5]@15 ~@17 d5@15 ~ [g4,c5,e5]@17, ~@31 e4@30 ~@18 [e4,g#4,b4]@31 ~@33 [e4,g#4,b4]@31 ~@33 [d4,g4,b4]@31 ~@18]/8", // G E Am C E G
  P: "~@15 [g4,b4,d5,g5]@15 ~ [e4,g#4,b4,e5]", // G E
  Q: "[~@31 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]]/8", // Fmaj7 E Fmaj7 E Fmaj7 E Fmaj7 E
  R: "[~@31 [c4,e4,a4,c5]@16 ~@16 e5@15 ~ [e4,a4,c5]@16 [c4,e4,a4,c5]@16 ~@16 e5@15 ~ [e4,a4,c5]@16 [e4,g4,c5]@15 ~@17 d5@15 ~ [g4,c5,e5]@17, ~@47 [e4,g#4,b4]@31 ~@33 [e4,g#4,b4]@31 ~@33 [d4,g4,b4]@31 ~@18]/7", // Am C E G
  S: "[~@15 [g4,b4,d5,g5]@15 ~ [g#4,b4,e5]@15 ~ [a4,c5]@15 ~ [c4,e4,a4,c5]@16 ~@16 e5@14 ~@2 [e4,a4,c5]@16 [c4,e4,a4,c5]@16 ~@16 e5@15 ~ [e4,a4,c5]@16 [e4,g4,c5]@15 ~@17 d5@15 ~ [g4,c5,e5]@17, ~@31 e4@30 ~@18 [e4,g#4,b4]@31 ~@33 [e4,g#4,b4]@31 ~@33 [d4,g4,b4]@31 ~@18]/8", // G E Am C E G
  T: "~@15 [g4,b4,d5,g5]@15 ~@2", // G
})).s("gm_pad_warm").gain(0.29)

// chords · pad sweep
const pad_sweep = note("<~@39 A B A B A ~@28 C@6 ~@14 D@7 E@3 ~@18>".pickRestart({
  A: "[e4,g#4,b4,e5]@13 ~@3", B: "[f4,a4,c5,e5]@7 ~",
  C: "[~@31 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@7]/6", // E Fmaj7 E Fmaj7 E
  D: "[~@31 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@6 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]]/7", // E Fmaj7 E Fmaj7 E Fmaj7 E
  E: "[~@31 [f4,a4,c5,e5]@28 ~@4 [e4,g#4,b4,e5]@26 ~@7]/3", // Fmaj7 E
})).s("gm_pad_sweep").gain(0.42)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@2 A B A C D@2 E F A G A B D@2 E H I J ~@8 A K A B ~@12 A L A M N O@2 P Q R ~@8 S@2 T@2 ~@11 U@8 V@8 ~@8 W@6 X@2 Y@8
  Z AA@2
>`.pickRestart({
  A: "a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~", // C E E7
  B: "[g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4@2, e4@4 ~@14 e4@5 ~@9", // G#dim E7 E C
  C: "[g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@2 ~@2 [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4@2, e4@2 ~@16 e4@5 ~@9", // G#dim E7 E C
  D: "[[c5,e5,a5]@2 ~@2 [c5,g5]@2 [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@12 [b4,f5]@2 [g4,b4,f5] ~ [g4,b4,f5] ~ [g4,b4,f5]@2 ~@2 [g4,g5]@2 ~@2 [g4,e5]@2 ~@2 d5@2 c5@3 ~@9, ~@30 g4@4 ~@16 g4@5 ~@9]/2", // Am C5 Am C5 Bm7 G Bdim G7 …
  E: "[c5,e5]@2 [c5,g5] [c5,e5,a5] ~ [c5,g5] ~ [b4,d5,a5] ~ [b4,d5,g5] ~@6, a5 ~@15", // C C5 Am C5 Bm7 G
  F: "[e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5]@2 ~@2 [d4,d5]@2 ~@2 [c4,c5]@2 ~@2 [b3,b4] ~ [a3,a4]@3 ~@9", // E D C B A
  G: "[g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~, e4@2 ~@16 e4@5 ~@9", // G#dim E7 E C
  H: "[e4,e5] ~ [e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5] ~@3 [e4,e5] ~@3 [e4,e5] ~ [e4,e5]@3 ~ [e4,e5]@2 ~@2", // E
  I: "[e4,e5] ~ [e4,e5]@2 ~@2 [e4,e5] ~@3 [e4,e5] ~@3 [e4,e5] ~ [e4,e5]@2 [f4,f5]@2 [d4,d5]@2 [e4,e5]@2 [c4,c5]@2 [d4,d5]@2 [b3,b4]@2 [c4,c5]@2", // E F D E C D B C
  J: "[a3,a4]@2 ~@2 [a3,a4]@3 ~@5 [a3,a4]@2 ~@2 [a3,a4] ~ [a3,a4]@2 ~@12", // A
  K: "[g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~, e4@4 ~@14 e4@5 ~@9", // G#dim E7 E C
  L: "[g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@2 ~@2 [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~, e4@2 ~@16 e4@5 ~@9", // G#dim E7 E C
  M: "[g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@7 e4 ~@2, e4@4 ~@14 e4@5 ~@9", // G#dim E7 E C
  N: "[c5,e5,a5]@3 c5 ~ [c5,e5,a5]@2 ~@3 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@9 g4@3, ~@2 g5 ~@13", // Am C5 Bm7 G
  O: "[[b4,f5] ~ f5 [g4,b4,f5] ~@2 [g4,b4,f5]@2 ~@2 [g4,g5]@2 ~ [g4,e5]@2 ~@4 c5@3 ~@10 [c5,e5]@3 [c5,g5]@2 ~ [c5,e5,a5]@2 ~ [c5,g5]@2 ~@3 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@11 [e4,e5], ~ [g4,b4]@2 ~@15 g4@5 ~@41, ~@18 d5@2 ~@11 a5@2 ~@31]/2", // Bdim G7 G C C5 Am C5 Bm7 …
  P: "~ [e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5] ~@3 [e4,e5] ~@3 e4 e5 ~ [e4,e5]@3 [e4,e5]@2 ~@2 e4", // E
  Q: "e5 ~ [e4,e5]@2 ~ e4 e5 ~@2 [e4,e5] ~@3 [e4,e5] ~ [e4,e5]@2 ~ [f4,f5]@2 ~ [e4,e5]@2 [c4,c5]@2 [d4,d5]@2 ~ [b3,b4]@2 [c4,c5]@2, ~@20 [d4,d5]@3 ~@9", // E F E C D B C D
  R: "[a3,a4]@2 ~@2 [a3,a4]@3 ~@5 a4@2 ~@2 [a3,a4] [a3,a4]@2 ~@13, ~@11 a3@2 ~@19", // A
  S: "[a4@11 [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ g#4 [b4,d5] ~ [g#4,b4,d5] [e4,g#4,b4] d5 [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@3 ~@7 e4 ~@2, ~@31 e4@4 ~@14 e4@5 ~@10]/2", // C E E7 Bm G#dim E E7 E …
  T: "[a4@11 [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@2 ~@2 [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~@2, ~@31 e4@4 ~@14 e4@5 ~@10]/2", // C E E7 G#dim E7 E C
  U: "[~@31 a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~ a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4@2 [c5,e5,a5]@3 ~ [c5,g5] ~ [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@10 g4@2 [b4,f5]@2 [g4,b4,f5] ~ [g4,b4,f5] ~ [g4,b4,f5]@2 ~@2 [g4,g5]@2 ~@2 [g4,e5]@2 ~@2 d5@2 c5@3 ~@9 [c5,e5]@4 [c5,g5]@2 [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@12 [e4,e5], ~@63 e4@4 ~@14 e4@5 ~@41 e4@4 ~@14 e4@5 ~@59 g4@5 ~@9 a5@2 ~@31]/8", // C E E7 G#dim E7 E C E …
  V: "[~ [e4,e5] ~ [e4,e5] ~ [e4,e5]@2 ~@2 [d4,d5]@2 ~@2 [c4,c5]@2 ~@2 [b3,b4] ~ [a3,a4]@3 ~@9 a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4]@4 [e4,e5]@2 ~@2 [e4,c5]@3 ~ b4 ~ a4@2 ~@8 e4@2 a4@12 [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4@2 [c5,e5,a5]@2 ~@2 [c5,g5] ~ [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@10 g4@2 [b4,f5]@2 [g4,b4,f5] ~ [g4,b4,f5] ~ [g4,b4,f5]@2 ~@2 [g4,g5]@2 ~@2 [g4,e5]@2 ~@2 d5@2 c5@3 ~@9 [c5,e5]@4 [c5,g5]@2 [c5,e5,a5]@3 ~ [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@13, ~@63 e4@2 ~@4 d5@2 ~@10 e4@5 ~@41 e4@4 ~@14 e4@5 ~@59 g4@5 ~@9 a5@2 ~@31]/8", // E D C B A C E E7 …
  W: "[~@31 a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@3 ~@7 e4 ~ a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~ [c5,e5,a5]@2 ~@2 [c5,g5] ~ [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@10 g4@2 [b4,f5], ~@63 e4@4 ~@14 e4@5 ~@41 e4@2 ~@16 e4@5 ~@42]/6", // C E E7 G#dim E7 E C E …
  X: "[~ [g4,b4,f5] ~ [g4,b4,f5] ~ [g4,b4,f5]@2 ~@2 [g4,g5]@2 ~@2 [g4,e5]@2 ~@2 d5@2 c5@3 ~@9 [c5,e5,a5]@3 ~ [c5,g5]@2 [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@12 [e4,e5], ~@17 g4@5 ~@42]/2", // G7 G C Am C5 Am C5 Bm7 …
  Y: "[~ [e4,e5] ~ [e4,e5] ~ [e4,e5]@2 ~@2 [d4,d5]@2 ~@2 [c4,c5]@2 ~@2 [b3,b4] ~ [a3,a4]@2 ~@10 a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@2 ~@2 [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~ a4@11 ~ [e4,c5]@2 [e4,e5]@2 ~@2 [e4,g#4,b4,d5]@2 ~@10 e4 ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,g#4,b4,d5] ~ [e4,g#4,b4,d5]@4 [e4,e5]@3 ~ [e4,c5]@2 ~@2 b4 ~ a4@2 ~@8 e4 ~ [c5,e5,a5]@2 ~@2 [c5,g5] ~ [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@10 g4@2 [b4,f5]@2 [g4,b4,f5] ~ [g4,b4,f5] ~ [g4,b4,f5]@2 ~@2 [g4,g5]@2 ~@2 [g4,e5]@2 ~@2 d5@2 c5@3 ~@9 [c5,e5]@4 [c5,g5]@2 [c5,e5,a5]@2 ~@2 [c5,g5]@2 ~@2 [b4,d5,a5]@2 ~@2 [b4,d5,g5]@2 ~@12 [e4,e5], ~@63 e4@4 ~@14 e4@5 ~@41 e4@2 ~@16 e4@5 ~@59 g4@5 ~@9 a5@2 ~@31]/8", // E D C B A C E E7 …
  Z: "~ [e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5]@2 ~@2 [e4,e5] ~@3 [e4,e5] ~@3 [e4,e5] ~ [e4,e5]@3 ~ [e4,e5]@2 ~@2 [e4,e5]", // E
  AA: "[~ [e4,e5]@2 ~@2 [e4,e5] ~@3 [e4,e5] ~@3 [e4,e5] ~ [e4,e5]@2 [f4,f5]@2 [d4,d5]@2 [e4,e5]@2 [c4,c5]@2 [d4,d5]@2 [b3,b4]@2 [c4,c5]@2 [a3,a4]@2 ~@31]/2", // E F D E C D B C …
})).s("gm_acoustic_guitar_nylon").gain(0.52)

// bass · fretless bass
const bass = note(`<
  ~@2 A B C D E F G H C B C B E I G J K L M N C B M B M N C O C O M B C B E I P Q R Q S T U D M O V W X Y Z AA AB AC AD
  AE AF AG AH AI AJ AK AH AI AH AL@2 AM@2 AN AO@7 AP@2 AM@2 AQ@4 AR@2 AM@2 AS AT@3 AU@8 AR@2 AV@2 AQ@4 AR@2 AW@2 AX@2 AY
  AZ@2
>`.pickRestart({
  A: "a2@10 a1@2 d2@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2", B: "e2 ~ b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4",
  C: "a2@10 a1@2 d2@2 d#2 ~ e2@2 ~@2 e2@4 ~@6 b1@2, a1 ~@3", D: "e2 ~ b1 ~ e2@7 ~ b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4",
  E: "c2@8 ~@2 c2@2 a1 ~ g#1 ~ g1@2 ~@2 g1@9 ~ d2 ~", F: "g2 ~ d2 ~ g2@6 d2 ~ g1@2 b1 ~ c2@5 ~ c2@2 ~@2 g1@2 a1 ~ c2 ~",
  G: "c2@9 ~ c2 ~ f2 ~ f#2@2 g2@2 ~@2 g2@8 d2@2 d#2 ~",
  H: "e2@4 ~@2 e2@3 ~ e2 ~ g2@2 a2@2 ~@2 a2@2 ~@2 a2@2 e2@2 ~@2 e2@3 ~",
  I: "g2 ~ d2 ~ g2@6 d2@2 g1@2 b1 ~ c2@5 ~ c2@2 ~@2 g1@2 a1 ~ c2 ~",
  J: "e2 ~ e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2 ~@3 e2 ~@3 e2 ~ e2@3 ~ e2@2 ~@2",
  K: "e2 ~ e2@2 ~@2 e2 ~@3 e2 ~@3 e2 ~ e2@2 f2@2 d2@2 e2@2 c2@2 d2@2 b1@2 c2@2",
  L: "a2@2 ~@2 a2@3 ~@5 a2 ~@3 a2 ~ a2 ~@3 e2 ~ e2@8", M: "a2@10 a1@2 d2@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2, a1 ~@3",
  N: "e2@2 b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4", O: "e2 ~ b1 ~ e2@8 b1 ~ a#1 ~ a1@2 ~@2 a1@5 ~ e2 ~ e2@4",
  P: "c2@8 ~@2 c2 ~ a1 ~ g#1 ~ g1@2 ~@2 g1@9 ~ d2 ~", Q: "e2@19 ~@13", R: "f2@13 ~@3", S: "f2@27 ~@5", T: "e2@5 ~@3",
  U: "a2@10 a1@2 d2 ~ d#2 ~ e2@3 ~ e2@4 ~@6 b1@2, a1 ~@3", V: "c2@8 ~@2 c2@2 a1 ~ g#1 ~ g1@2 ~ g1@9 ~ d2 ~@2",
  W: "g2 ~ d2 ~ g2@6 d2@2 ~ b1 ~@2 c2@5 ~ c2@2 ~ g1@2 ~ a1 ~ c2 ~, ~@6 g1 ~@9",
  X: "c2@9 ~ c2@2 f2 ~ f#2 ~ g2@2 ~ g2@8 d2@2 d#2 ~ e2",
  Y: "~@2 e2@2 ~@2 e2@2 ~ e2@2 ~@3 e2 ~@3 e2 ~@3 e2 ~ e2@3 ~ e2@2 ~@2",
  Z: "e2 ~ e2@2 ~@2 e2 ~@2 e2 ~@3 e2 ~@2 e2@2 f2@2 d2@2 e2@2 ~ d2@2 ~ b1@2 c2@2, ~@12 c2 ~@3",
  AA: "a2@2 ~@2 a2@3 ~@5 a2 ~@3 a2 ~ a2 ~@2 e2 ~@2 e2@8",
  AB: "a1@8 ~ a1@2 d2@2 ~ d#2 ~ e2@3 ~ e2@4 ~@5 b1@2 ~, a2@3 ~@5",
  AC: "e2 ~ b1 e2@8 ~ b1 a#1 ~@2 a1@3 ~ a1@5 e2 ~@2 e2@4", AD: "a2@9 a1@2 d2@2 d#2 ~@2 e2@2 ~ e2@4 ~@6 b1@2 e2, a1 ~@3",
  AE: "~ b1 ~ e2@8 b1 ~ a#1 ~ a1@2 ~@2 a1@5 ~ e2 ~ e2@4 ~",
  AF: "a2@9 a1@2 ~@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2 ~, a1@4 ~@2 d2 ~@9",
  AG: "e2 b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4 ~", AH: "a2@9 a1@2 d2@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2 e2, a1 ~@3",
  AI: "~ b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4 ~", AJ: "a2@9 a1@2 d2 ~ d#2 ~ e2@3 ~ e2@4 ~@6 b1@2 ~, a1 ~@3",
  AK: "e2 ~ b1 ~ e2@7 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4 ~",
  AL: "[~ b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4 a2@10 a1@2 d2@2 d#2 ~@2 e2@2 ~ e2@4 ~@6 b1@2 e2, ~@31 a1@8 ~@25]/2",
  AM: "[~ b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4 c2@8 ~@2 c2@2 a1 ~ g#1 ~ g1@2 ~@2 g1@9 ~ d2 ~ g2]/2",
  AN: "~ d2 ~ g2@6 d2@2 g1@2 b1 ~ c2@5 ~ c2@2 ~@2 g1@2 a1 ~ c2 ~@2",
  AO: "[c2@8 ~ c2@2 a1 ~ g#1 ~ g1@2 ~@2 g1@9 ~ d2 ~ e2@20 ~@12 f2@27 ~@5 e2@19 ~@13 f2@27 ~@5 e2@19 ~@13 a2@10 a1@2 d2@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2 e2, ~@191 a1@8 ~@25]/7",
  AP: "[~ b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4 a2@10 a1@2 d2@2 d#2 ~ e2@2 ~@2 e2@4 ~@6 b1@2 e2, ~@31 a1@8 ~@25]/2",
  AQ: "[~ d2 ~ g2@6 d2@2 g1@2 b1 ~ c2@5 ~ c2@2 ~@2 g1@2 a1 ~ c2 ~ c2@8 ~@2 c2 ~ f2 ~ f#2 ~ g2@2 ~@2 g2@8 d2@2 d#2 ~ e2@4 ~@2 e2@3 ~ e2 ~ g2@2 a2@2 ~@2 a2@2 ~@2 a2@2 e2@2 ~@2 e2@3 ~ a2@10 a1@2 d2@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2 e2, ~@95 a1@8 ~@25]/4",
  AR: "[~ b1 ~ e2@8 b1 ~ a#1 ~ a1@3 ~ a1@5 ~ e2 ~ e2@4 a2@10 a1@2 d2@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2 e2, ~@31 a1@8 ~@25]/2",
  AS: "~ d2 ~ g2@6 d2@2 g1@2 b1 ~ c2@5 ~ c2@2 ~@2 g1@2 a1 ~ c2 ~ c2",
  AT: "[~@9 c2@2 f2 ~ f#2@2 g2@2 ~@2 g2@8 d2@2 d#2 ~ e2@19 ~@13 f2@26 ~@6 e2]/3",
  AU: "[~@31 f2@26 ~@6 e2@20 ~@12 f2@26 ~@6 e2@20 ~@12 f2@26 ~@6 e2@20 ~@12 a2@10 a1@2 d2@2 d#2 ~ e2@3 ~ e2@4 ~@6 b1@2 e2, ~@223 a1@8 ~@25]/8",
  AV: "[~ b1 ~ e2@8 b1 ~ a#1 ~ a1@2 ~@2 a1@5 ~ e2 ~ e2@4 c2@8 ~@2 c2 ~ a1 ~ g#1 ~ g1@2 ~@2 g1@9 ~ d2 ~ g2]/2",
  AW: "[~ b1 ~ e2@8 b1 ~ a#1 ~ a1@2 ~@2 a1@5 ~ e2 ~ e2@4 c2@8 ~@2 c2@2 a1 ~ g#1 ~ g1@2 ~@2 g1@9 ~ d2 ~ g2]/2",
  AX: "[~ d2 ~ g2@6 d2@2 g1@2 b1 ~ c2@5 ~ c2@2 ~@2 g1@2 a1 ~ c2 ~ c2@9 ~ c2@2 f2 ~ f#2 ~ g2@2 ~@2 g2@8 d2@2 d#2 ~ e2]/2",
  AY: "~ e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2 ~@3 e2 ~@3 e2 ~ e2@3 ~ e2@2 ~@2 e2",
  AZ: "[~ e2@2 ~@2 e2 ~@3 e2 ~@3 e2 ~ e2@2 f2@2 d2@2 e2@2 c2@2 d2@2 b1@2 c2@2 a2@2 ~@31]/2",
})).s("gm_fretless_bass").gain(0.34)

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

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

// drums · low tom
const low_tom = s("lt").struct("<~@19 [~@11 x ~@4] ~@33 [~@21 x ~@10] ~@66>").gain(0.46)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@19 [~@12 x!2 ~@2] ~@33 [~@24 x!2 ~@6] ~@66>").gain(0.51)

// drums · high tom
const high_tom = s("ht").struct("<~@19 [~@7 x] ~@33 [~@27 x ~@4] ~@66>").gain(0.51)

// drums · crash
const crash = s("cr").struct(`<
  ~@2 A ~@3 A ~@3 A ~@3 A ~@5 A ~@7 A ~@7 A ~@7 A ~@3 A ~@5 A ~@7 A ~@6 B ~@7 B ~@3 B ~@3 B ~@3 B ~@11 B ~@3 B ~@3 B ~@3
  B ~@4 B ~
>`.pickRestart({
  A: "x", B: "~@31 x",
})).gain(0.51)

// drums · tambourine
const tambourine = s("tb").struct(`<
  A@2 B@15 A@2 ~ B@19 A@5 B@4 C B@2 D@2 ~ C B E F G F G F C@2 G F G H@5 F D@4 I H@14 F D@8 I H@14 F D@2 ~
>`.pickRestart({
  A: "~@3 x ~@3 x", B: "x!2", C: "x ~@14 x ~@16", D: "~@11 x ~@15 x ~@4", E: "x ~@15 x ~@14 x", F: "~@15 x ~@16",
  G: "x ~@14 x ~@15 x", H: "~@15 x ~@15 x", I: "~@11 x ~@15 x ~@3 x",
})).gain(0.25)

stack(
  pad_warm, pad_sweep, acoustic_guitar_nylon, bass, kick, snare, low_tom, hihat, mid_tom, high_tom, crash, tambourine
)

More by Battisti