Strudelify

Thirty-Three

The Smashing Pumpkins

KeyF♯ majorTempo127 bpm
0:00/0:00
// Thirty-Three — The Smashing Pumpkins
// 127 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 127 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(127/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 · electric guitar jazz · "Guitar 1-Electric Jazz"
const electric_guitar_jazz = note(`<
  ~ A@6 B@28 C@2 D@2 B@12 E@8 F@4 B@8 G@2 H@2 I@4 J@2 K@2 J@2 K@2 J@2 K@2 E@8 L@6 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@8
>`.pickRestart({
  A: "[f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 [f#2,c#3,f#3,a#3]@2 ~ f#2, [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 ~@3 [c#3,f#3,a#3]]/2", // F#
  B: "[[b2,f#3]@6 [b2,f#3]@2 [b3,d#4]@4 [b2,f#3] ~ c#3@4 c#3@2 c#3@2 c#3@2 c#3@4 c#3@2 [f#2,f#3] ~@5 f#2@2 f#2@4 f#2@2 [f#2,c#3]@4 [f#2,c#3]@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 [f#2,c#3,f#3,a#3]@2 ~ f#2, b3@8 [b2,f#3]@3 ~@3 [f3,g#3,c#4]@10 [f3,g#3,c#4]@6 c#3@8 [c#3,f#3,a#3]@6 ~@6 [c#3,f#3,a#3]@6 ~@6 [c#3,f#3]@2, ~@31 f#2@5 ~@28, ~@16 a#3@3 ~@3 [f#3,a#3]@3 ~@7]/4", // B5 B B5 F# F#5 F# B5 C# …
  C: "[[b2,f#3]@6 [b2,f#3]@2 [b3,d#4]@4 [b2,f#3] ~ [c#3,f3,g#3,c#4]@16 [f#2,c#3,f#3,a#3] f#2, b3@8 [b2,f#3]@3 ~@21]/2", // B5 B B5 C# F# B5
  D: "[f#2@4 f#2@2 f#2@4 f#2@2 [f#2,c#3]@4 [f#2,c#3]@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 [f#2,c#3,f#3,a#3]@2 ~ f#2, [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [f#3,a#3]@3 [c#3,f#3,a#3]@3 ~@3 [c#3,f#3]]/2", // F#5 F# F#5
  E: "[b2@6 b2@2 b2@4 b2@2 c#3@4 c#3@2 c#3@2 c#3@2 c#3@4 c#3@2 ~@4 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 [b2,f#3,b3,d#4]@2 ~@4 f#2@2 f#2@2 f#2@2 f#2@2 f#2@2 f#2@4 f#2@2 f#2@2 f#2@2 f#2@2 f#2@2 f#2@2 f#3@2 ~@4 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 [b2,d#3,f#3,b3]@4 [b2,d#3,f#3,b3]@2 b2 ~, [f#3,b3,d#4]@8 [f#3,b3,d#4]@6 [f3,g#3,c#4]@10 [f3,g#3,c#4]@6 f#3@8 [f#3,b3,d#4]@6 [f#3,b3,d#4]@6 [f#3,b3,d#4]@6 [f#3,b3,d#4]@4 ~@3 f#2@2 ~@27 [f#2,c#3,a#3]@3 b2@2 ~@31, ~@31 b2@2 ~@29 c#3@2 [f#3,a#3]@6 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@4 ~@2 f#3@8 ~@26, ~@16 [b3,d#4]@3 ~@13 c#4@16 [d#3,b3]@3 [d#3,f#3,b3]@3 [d#3,f#3,b3]@3 [d#3,f#3,b3]@3 ~@4]/8", // B C# B F# B G#m B
  F: "[c#3@6 c#3@2 c#3@4 c#3@2 b2@4 b2@2 b2@2 b2@2 b2@4 ~@4 f#2 ~ f#2@2 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 f#2@2 f#2@2 [f#2,c#3,f#3,a#3]@2 [c#3,f#3] f#2, [f3,g#3,c#4]@4 [f3,g#3,c#4]@3 [d#3,f#3,b3]@5 [d#3,f#3,b3]@4 [f#3,a#3]@3 ~@13, ~@7 b2 ~@8, ~@15 c#3@4 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@2 ~@2]/4", // F# F#5 C# B F#
  G: "[b2@6 b2@2 b2@4 b2@2 c#3@4 c#3@2 c#3@2 c#3@2 c#3@4 c#3@2 ~ b2, [b3,d#4]@4 [f#3,b3,d#4]@3 [f3,g#3,c#4]@5 [f3,g#3,c#4]@3 [f#3,b3]]/2", // B C# B5
  H: "[b2@2 ~@9 f#3 ~@2 b2@2, [f#3,b3,d#4]@4 [f#3,b3,d#4]@5 [b3,d#4]@3 ~@4, ~ b2@2 b2@2 b2@2 ~, ~@9 f#3@2 ~ [f#3,b3,d#4]@4]/2", // B
  I: "[c#3@6 c#3@2 c#3@4 ~@2 [f3,g#3,c#4]@4 ~@20 [a#3,c#4,f4]@4 ~@14 [a#3,c#4]@4 ~@3 b2, [f3,g#3,c#4]@8 [f3,g#3,c#4]@6 ~@4 [f3,g#3,c#4]@6 [f3,g#3,c#4]@7 f#2@12 ~@21, ~@12 c#3@8 c#3@10 c#3@13 ~ [a#3,c#4]@6 [a#3,c#4,g#4]@6 ~@4 [a#3,c#4,f4]@4, ~@31 f#3 [a#3,c#4]@4 f#3@6 f#3@6 f#3@6 f#3@8 f#3@2, ~@32 f#4@11 ~ f#4@12 f#4@8]/4", // C# A#m C# A#m A#m7 A#m
  J: "[b2@6 ~@6 b2@2 c#3@5 c#3@3 c#3@2 [c#3,f3,g#3,c#4]@6 [f#2,c#3] f#2, [b3,d#4]@4 [f#3,b3,d#4]@3 ~@9, ~@3 b2@3 ~@10]/2", // C# F#5 B
  K: "[f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 [f#2,a#3,c#4,g#4]@4 f#2 ~ [f#2,a#3,c#4,f#4]@3 ~ [f#2,a#3,c#4,f4]@2 c#3 f#2, f#4@3 ~@5, [a#3,c#4]@3 [a#3,c#4,f4]@3 [a#3,c#4,f#4]@3 ~@7]/2", // F# F#maj7 A#m F#
  L: "[c#3@3 c#3 c#3@2 c#3 b2@2 b2!3 b2@2 ~ c#3, [f3,g#3,c#4]@4 [f3,g#3,c#4]@3 [d#3,f#3,b3]@5 [d#3,f#3,b3]@4, ~@7 b2]/2", // C# B
  M: "[f#2@4 f#2@2 f#2@3 ~ f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 [f#2,c#3,f#3,a#3]@3 ~, [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 ~@4]/2", // F#
  N: "[b2 ~ b2@2 b2@2 b2@2 [b2,d#3]@4 [b2,d#3]@2 c#3@4 c#3@2 c#3@2 c#3@2 c#3@4 c#3@2 c#3 ~, [d#3,f#3,b3]@8 [f#3,b3]@6 ~@6 [f3,g#3,c#4]@4 [f3,g#3,c#4]@7 ~]/2", // B B5 C#
  O: "[f#2@2 f#2@2 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 [f#2,c#3,f#3,a#3]@2 d#3 ~, [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 ~@4]/2", // F#
  P: "[b2!4 [b2,d#3]@2 [b2,d#3] c#3@2 c#3!3 c#3@2 c#3!2, [d#3,f#3,b3]@4 [f#3,b3]@3 [f3,g#3,c#4]@5 [f3,g#3,c#4]@4]/2", // B B5 C#
  Q: "[f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 [f#2,c#3,f#3,a#3]@3 ~, [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 [c#3,f#3,a#3]@3 ~@4]/2", // F#
  R: "[b2!4 b2@2 b2 c#3@2 c#3!3 c#3@2 ~ f3, [d#3,f#3,b3]@4 [d#3,f#3,b3]@3 [f3,g#3,c#4]@5 [g#3,c#4]@4, ~@12 f3@3 ~, ~@7 c#3]/2", // B C# C#5
  S: "[b2@2 b2@2 b2@2 b2@2 b2@4 b2@2 c#3@4 c#3@2 c#3@2 c#3@2 c#3@4 c#3@2 ~ f#2, [d#3,f#3,b3]@4 [d#3,f#3,b3]@3 [f3,g#3,c#4]@5 [f3,g#3,c#4]@4, ~@15 c#3]/2", // B C#
  T: "[~@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 [f#2,c#3,f#3,a#3]@3 ~@5 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 f#2@4 f#2@2 [f#2,c#3,f#3,a#3]@4 c#3@2 ~@6 f#2@2 f#2@4 f#2@2 f#2@4 ~@8 [c#3,f#3,a#3]@4 c#3@2 ~@2 [f#3,a#3]@17 ~@15, [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 ~@7 c#3@7 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 ~@6 c#3@8 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 [c#3,f#3,a#3]@6 ~@6 c#3@19 ~@15, ~@31 f#2@5 ~@24 [f#2,f#3,a#3]@4 [f#3,a#3]@6 ~@22 [f#3,a#3]@4 ~@32, ~@32 [f#3,a#3]@6 ~@25 f#2@5 ~@12 f#2@6 f#2@9 f#2@18 ~@15]/8", // F#
})).s("gm_electric_guitar_jazz").gain(0.14)

// chords · acoustic guitar steel · "Guitar 1-Acoustic Steel"
const acoustic_guitar_steel = note(`<
  ~ A@6 B@28 C@2 D@2 B@12 E@8 F@4 B@8 G@2 H@2 I@4 J@2 K@2 J@2 K@2 J@2 K@2 E@8 L@6 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@8
>`.pickRestart({
  A: "[f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 [f#3,c#4,f#4,a#4]@2 ~ f#3, [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 ~@3 [c#4,f#4,a#4]]/2", // F#
  B: "[[b3,f#4]@6 [b3,f#4]@2 [b4,d#5]@4 [b3,f#4] ~ c#4@4 c#4@2 c#4@2 c#4@2 c#4@4 c#4@2 [f#3,f#4] ~@5 f#3@2 f#3@4 f#3@2 [f#3,c#4]@4 [f#3,c#4]@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 [f#3,c#4,f#4,a#4]@2 ~ f#3, b4@8 [b3,f#4]@3 ~@3 [f4,g#4,c#5]@10 [f4,g#4,c#5]@6 c#4@8 [c#4,f#4,a#4]@6 ~@6 [c#4,f#4,a#4]@6 ~@6 [c#4,f#4]@2, ~@31 f#3@5 ~@28, ~@16 a#4@3 ~@3 [f#4,a#4]@3 ~@7]/4", // B5 B B5 F# F#5 F# B5 C# …
  C: "[[b3,f#4]@6 [b3,f#4]@2 [b4,d#5]@4 [b3,f#4] ~ [c#4,f4,g#4,c#5]@16 [f#3,c#4,f#4,a#4] f#3, b4@8 [b3,f#4]@3 ~@21]/2", // B5 B B5 C# F# B5
  D: "[f#3@4 f#3@2 f#3@4 f#3@2 [f#3,c#4]@4 [f#3,c#4]@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 [f#3,c#4,f#4,a#4]@2 ~ f#3, [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [f#4,a#4]@3 [c#4,f#4,a#4]@3 ~@3 [c#4,f#4]]/2", // F#5 F# F#5
  E: "[b3@6 b3@2 b3@4 b3@2 c#4@4 c#4@2 c#4@2 c#4@2 c#4@4 c#4@2 ~@4 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 [b3,f#4,b4,d#5]@2 ~@4 f#3@2 f#3@2 f#3@2 f#3@2 f#3@2 f#3@4 f#3@2 f#3@2 f#3@2 f#3@2 f#3@2 f#3@2 f#4@2 ~@4 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 b3@2 [b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4]@2 b3 ~, [f#4,b4,d#5]@8 [f#4,b4,d#5]@6 [f4,g#4,c#5]@10 [f4,g#4,c#5]@6 f#4@8 [f#4,b4,d#5]@6 [f#4,b4,d#5]@6 [f#4,b4,d#5]@6 [f#4,b4,d#5]@4 ~@3 f#3@2 ~@27 [f#3,c#4,a#4]@3 b3@2 ~@31, ~@31 b3@2 ~@29 c#4@2 [f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@4 ~@2 f#4@8 ~@26, ~@16 [b4,d#5]@3 ~@13 c#5@16 [d#4,b4]@3 [d#4,f#4,b4]@3 [d#4,f#4,b4]@3 [d#4,f#4,b4]@3 ~@4]/8", // B C# B F# B G#m B
  F: "[c#4@6 c#4@2 c#4@4 c#4@2 b3@4 b3@2 b3@2 b3@2 b3@4 ~@4 f#3 ~ f#3@2 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 f#3@2 f#3@2 [f#3,c#4,f#4,a#4]@2 [c#4,f#4] f#3, [f4,g#4,c#5]@4 [f4,g#4,c#5]@3 [d#4,f#4,b4]@5 [d#4,f#4,b4]@4 [f#4,a#4]@3 ~@13, ~@7 b3 ~@8, ~@15 c#4@4 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@2 ~@2]/4", // F# F#5 C# B F#
  G: "[b3@6 b3@2 b3@4 b3@2 c#4@4 c#4@2 c#4@2 c#4@2 c#4@4 c#4@2 ~ b3, [b4,d#5]@4 [f#4,b4,d#5]@3 [f4,g#4,c#5]@5 [f4,g#4,c#5]@3 [f#4,b4]]/2", // B C# B5
  H: "[b3@2 ~@9 f#4 ~@2 b3@2, [f#4,b4,d#5]@4 [f#4,b4,d#5]@5 [b4,d#5]@3 ~@4, ~ b3@2 b3@2 b3@2 ~, ~@9 f#4@2 ~ [f#4,b4,d#5]@4]/2", // B
  I: "[c#4@6 c#4@2 c#4@4 ~@2 [f4,g#4,c#5]@4 ~@20 [a#4,c#5,f5]@4 ~@14 [a#4,c#5]@4 ~@3 b3, [f4,g#4,c#5]@8 [f4,g#4,c#5]@6 ~@4 [f4,g#4,c#5]@6 [f4,g#4,c#5]@7 f#3@12 ~@21, ~@12 c#4@8 c#4@10 c#4@13 ~ [a#4,c#5]@6 [a#4,c#5,g#5]@6 ~@4 [a#4,c#5,f5]@4, ~@31 f#4 [a#4,c#5]@4 f#4@6 f#4@6 f#4@6 f#4@8 f#4@2, ~@32 f#5@11 ~ f#5@12 f#5@8]/4", // C# A#m C# A#m A#m7 A#m
  J: "[b3@6 ~@6 b3@2 c#4@5 c#4@3 c#4@2 [c#4,f4,g#4,c#5]@6 [f#3,c#4] f#3, [b4,d#5]@4 [f#4,b4,d#5]@3 ~@9, ~@3 b3@3 ~@10]/2", // C# F#5 B
  K: "[f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 [f#3,a#4,c#5,g#5]@4 f#3 ~ [f#3,a#4,c#5,f#5]@3 ~ [f#3,a#4,c#5,f5]@2 c#4 f#3, f#5@3 ~@5, [a#4,c#5]@3 [a#4,c#5,f5]@3 [a#4,c#5,f#5]@3 ~@7]/2", // F# F#maj7 A#m F#
  L: "[c#4@3 c#4 c#4@2 c#4 b3@2 b3!3 b3@2 ~ c#4, [f4,g#4,c#5]@4 [f4,g#4,c#5]@3 [d#4,f#4,b4]@5 [d#4,f#4,b4]@4, ~@7 b3]/2", // C# B
  M: "[f#3@4 f#3@2 f#3@3 ~ f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 [f#3,c#4,f#4,a#4]@3 ~, [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 ~@4]/2", // F#
  N: "[b3 ~ b3@2 b3@2 b3@2 [b3,d#4]@4 [b3,d#4]@2 c#4@4 c#4@2 c#4@2 c#4@2 c#4@4 c#4@2 c#4 ~, [d#4,f#4,b4]@8 [f#4,b4]@6 ~@6 [f4,g#4,c#5]@4 [f4,g#4,c#5]@7 ~]/2", // B B5 C#
  O: "[f#3@2 f#3@2 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 [f#3,c#4,f#4,a#4]@2 d#4 ~, [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 ~@4]/2", // F#
  P: "[b3!4 [b3,d#4]@2 [b3,d#4] c#4@2 c#4!3 c#4@2 c#4!2, [d#4,f#4,b4]@4 [f#4,b4]@3 [f4,g#4,c#5]@5 [f4,g#4,c#5]@4]/2", // B B5 C#
  Q: "[f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 [f#3,c#4,f#4,a#4]@3 ~, [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@3 ~@4]/2", // F#
  R: "[b3!4 b3@2 b3 c#4@2 c#4!3 c#4@2 ~ f4, [d#4,f#4,b4]@4 [d#4,f#4,b4]@3 [f4,g#4,c#5]@5 [g#4,c#5]@4, ~@12 f4@3 ~, ~@7 c#4]/2", // B C# C#5
  S: "[b3@2 b3@2 b3@2 b3@2 b3@4 b3@2 c#4@4 c#4@2 c#4@2 c#4@2 c#4@4 c#4@2 ~ f#3, [d#4,f#4,b4]@4 [d#4,f#4,b4]@3 [f4,g#4,c#5]@5 [f4,g#4,c#5]@4, ~@15 c#4]/2", // B C#
  T: "[~@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 [f#3,c#4,f#4,a#4]@3 ~@5 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 f#3@4 f#3@2 [f#3,c#4,f#4,a#4]@4 c#4@2 ~@6 f#3@2 f#3@4 f#3@2 f#3@4 ~@8 [c#4,f#4,a#4]@4 c#4@2 ~@2 [f#4,a#4]@17 ~@15, [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 ~@7 c#4@7 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 ~@6 c#4@8 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 [c#4,f#4,a#4]@6 ~@6 c#4@19 ~@15, ~@31 f#3@5 ~@24 [f#3,f#4,a#4]@4 [f#4,a#4]@6 ~@22 [f#4,a#4]@4 ~@32, ~@32 [f#4,a#4]@6 ~@25 f#3@5 ~@12 f#3@6 f#3@9 f#3@18 ~@15]/8", // F#
})).s("gm_acoustic_guitar_steel").gain(0.14)

// bass · fretless bass
const bass = note(`<
  ~@21 A@2 B@2 C@2 D@2 E@2 F@2 C@2 G@2 C@2 H@2 I@2 J@2 K@2 J@2 K@2 L@2 M@2 N@2 M@2 O@2 N@2 P@2 N@2 P@2 I@2 Q@2 M@2 R@2
  C@2 S@2 K@2 D@2 K@2 D@2 K@2 T@2 U V W X Y V Z@2 AA@2 Z@2 AB@2 H@2 AC@2 P@2 AD@2 D@2 AE@2 I@2 K@4 AF ~
>`.pickRestart({
  A: "f#1/2", B: "[b1@7 g#1@9]/2", C: "[f#1@31 ~]/2", D: "[b1@6 ~ g#1@8 ~]/2", E: "[f#1@27 ~@5]/2",
  F: "[b1@6 ~ g#1@9]/2", G: "[b1@12 ~@2 g#1@9 ~@9]/2", H: "[b1@13 ~ g#1@17 ~]/2", I: "[f#1@29 ~@3]/2",
  J: "[b1@12 ~@2 g#1@17 ~]/2", K: "[f#1@15 ~]/2", L: "[b1@14 ~ c#2@16 ~]/2", M: "[b1@15 ~]/2", N: "[f#1@7 ~]/2",
  O: "[c#2@6 ~ b1@8 ~]/2", P: "[b1@13 ~ g#1@16 ~@2]/2", Q: "[b1@13 ~@2 g#1@15 ~@2]/2", R: "[c#2@29 ~@3]/2",
  S: "[b1@11 ~@3 g#1@11 ~@7]/2", T: "[b1@13 ~ c#2@16 ~@2]/2", U: "b1@11 ~ b1@4", V: "~@2 b1@5 ~ b1@3 ~ b1@3 ~",
  W: "f#1", X: "~@2 f#1@4 ~@2 f#1@3 ~ f#1@3 ~", Y: "b1", Z: "[c#2@13 ~ b1@16 ~@2]/2", AA: "[c#2@13 ~ b1@17 ~]/2",
  AB: "[f#1@23 ~ f#1@3 ~ f#1@2 ~@2]/2", AC: "[f#1@11 ~ f#1@11 ~ f#1@6 ~@2]/2", AD: "[f#1@11 ~ f#1@3 ~]/2",
  AE: "[b1@12 ~@2 g#1@15 ~@3]/2", AF: "f#1@15 ~",
})).s("gm_fretless_bass").gain(0.56)

// other · piano · "Acoustic  Grand Piano"
const piano = note(`<
  ~ A@2 B@2 C@2 D ~ E@2 D ~ F@2 G ~ H I J ~ H K G ~ H L D ~ H L J ~ H K D ~@5 M@2 N@2 H I O ~ H L D ~ H I H K H P Q@2
  R@2 D ~ H S G ~ H L G ~ T@2 U@2 V ~@15 W X Y Z Y AA AB@2 AC@2 AD@2 H AE AF ~ H AE AG ~ H AE AH@3 ~@9
>`.pickRestart({
  A: "[f#5@3 f5@3 f#5@3 g#5@2 ~ f#5@2 f5@2]/2", B: "[f#5@3 f5@3 f#5@3 g#5@3 a#5@2 g#5@2]/2",
  C: "[f#5@3 f5@3 f#5@3 g#5@3 f#5@2 f5@2]/2", D: "f#5@3 ~@5", E: "[f#5@3 f5@2 ~ f#5@3 g#5@3 f#5@2 f5@2]/2",
  F: "[f#5@3 f5@3 f#5@3 g#5@2 ~ f#5 ~ f5@2]/2", G: "f#5 ~", H: "f#5@2 ~ f5@2 ~ f#5@2", I: "~ g#5@2 ~ f#5@2 f5 ~",
  J: "f#5 ~@3", K: "~ g#5@2 ~ a#5 ~ g#5 ~", L: "~ g#5@2 ~ f#5 ~ f5 ~", M: "[f#5@2 ~ f5@3 f#5@3 g#5@2 ~ f#5@2 f5@2]/2",
  N: "[f#5@3 ~]/2", O: "f#5@5 ~@3", P: "~ g#5@2 ~ f#5@2 ~@2", Q: "[g#5@3 ~ g#5@2 ~ f#5@4 ~@5]/2",
  R: "[f#5@2 ~ f5@2 ~ f#5@3 g#5@2 ~ f#5 ~ f5 ~]/2", S: "~ g#5@3 f#5@2 f5 ~",
  T: "[[b4,f#5]@6 ~@2 f#5@4 ~@2 f#5@4 g#5@4 a#5@7 ~@3, ~@6 b4@4 ~@2 b4@17 ~@3]/2", // B5
  U: "[[c#5,g#5]@6 ~@2 g#5@4 c#5 ~ [c#5,g#5]@9 ~ c#5@3 ~ c#5@2 ~@2, ~@4 c#5 ~@7 g#5@3 ~]/2", V: "f#5",
  W: "f#5@5 ~ f5@5 ~ f#5@4", X: "~@2 g#5@6 f#5@3 ~ f5@3 ~", Y: "f#5@5 ~ f5@4 ~@2 f#5@4",
  Z: "~@2 g#5@4 ~@2 a#5@3 ~ g#5@3 ~", AA: "~@2 g#5@5 ~ a#5@3 ~ f#5@3 ~",
  AB: "[[c#5,g#5]@6 ~@2 [c#5,g#5]@5 ~ [b4,f#5]@14 ~@4]/2", AC: "[[c#5,g#5]@6 ~@2 [c#5,g#5]@5 ~ [b4,f#5]@16 ~@2]/2",
  AD: "[[c#5,g#5]@6 ~@2 [c#5,g#5]@4 ~@2 [b4,f#5]@15 ~@3]/2", AE: "~@2 g#5@4 ~@2 f#5@3 ~ f5@3 ~", AF: "f#5@11 ~@5",
  AG: "f#5@13 ~@3", AH: "[f#5@17 ~@7]/3",
})).s("gm_piano").gain(0.56)

// chords · rock organ
const rock_organ = note(`<
  ~@37 A B C D B@2 C D B@2 C D B@2 C D E F B@2 G@2 H G B@2 G D B@2 G D B@2 G D G@2 I D B@2 J D B@2 G D B@2 G D B@2 G D K
  G B@2 G@2 H L H G H G B@2 M D N B O D B@2 C D J D P B@5 Q ~
>`.pickRestart({
  A: "[f#4,c#5] [f#4,g#4,c#5] [f#4,c#5]!6", B: "[f#4,c#5]!8", C: "[b4,f#5]!8", D: "[g#4,c#5]!8",
  E: "[f#4,b4]!4 [f#4,b4,c#5] [f#4,b4]!3", F: "[f#4,g#4,b4] [f#4,b4]!7", G: "[f#4,b4]!8", H: "[g#4,c#5]!7 [f#4,b4]",
  I: "[f#4,c#5]!2 [f#4,c#5,d#5] [g#4,c#5]!5", J: "[f#4,b4]!7 [g#4,c#5]", K: "[f#4,c#5]!2 [f#4,b4]!6",
  L: "[f#4,b4]!3 ~ [f#4,b4]!4", M: "[b4,f#5]!2 [b4,f#5,g#5] [b4,f#5]!5", N: "[f#4,b4] [f#4,c#5]!7",
  O: "[b4,f#5]!7 [g#4,c#5]", P: "[f#4,b4] f#4!2 [f#4,c#5]!5", Q: "[f#4,c#5] ~@7",
})).s("gm_rock_organ").gain(0.12)

// chords · tremolo strings · "Strings 1,2,&3-Tremolo"
const tremolo_strings = note(`<
  ~ A@2 B@2 C@2 D@2 E@2 F@2 G@2 F@2 E@2 F@2 H@2 F@2 I@2 F@2 J@2 K@2 L@2 M@2 ~@2 N@4 O@2 P@2 Q@4 R@3 S@4 T@7 U@3 ~ V W
  X@6 Y@2 Z@4 AA@4 AB@4 AC@8 AD@4 AE@4 AF@8 AG@2 AH@8 ~@2
>`.pickRestart({
  A: "[f#4@2 ~ f4@2 ~ f#4@2 ~ f#4@3 f#4@2 f4@2, f#3@31 ~]/2",
  B: "[f#4@3 f4@2 ~ f#4@2 ~ g#4@2 ~ g#4@2 g#4@2, f#3@15 ~]/2", C: "[f#4@3 f4@2 ~ f#4@2 ~ f#4@3 f#4@2 f4@2, f#3]/2",
  D: "[d#4@14 c#4@17 ~, f#4 ~@7]/2", E: "[f#4@2 ~ f4@2 ~ f#4@2 ~ f#4@3 f#4@2 f4@2, f#3@15 ~]/2",
  F: "[d#4@7 c#4@9, f#4 ~@7]/2", G: "[f#4@2 ~ f4@2 ~ f#4@2 ~ f#4@3 f#4@2 f4 ~, f#3@31 ~]/2",
  H: "[f#4@2 ~ f4@2 ~ f#4@2 ~ f#4@2 ~ g#4@2 g#4 ~, a#3@15 ~]/2",
  I: "[f#4@2 ~ f4@2 ~ f#4@2 ~ f#4@2 ~ f#4@2 f4@2, a#3]/2", J: "[f#4@2 ~ f4@2 ~ f#4@2 ~ f#4@3 f#4@2 f4@2, a#3@3 ~]/2",
  K: "[d#4@7 c#4@8 ~, f#4 ~@7]/2", L: "[f#4@2 ~ f4@2 ~ f#4@2 ~ f#4@2 ~ g#4@2 ~ f#4, a#3@29 ~@3]/2",
  M: "[d#4@7 c#4@8 ~, f#4@3 ~@13]/2",
  N: "[[b3,d#4]@14 [c#4,f4,g#4]@16 ~ f#4 f#4@4 ~@2 f4@4 ~@2 f#4@4 ~@2 g#4@6 f#4@4 f4@4, f#4@12 ~@19 [c#4,a#4]@31 ~@2, ~@8 a#3@7 ~]/4", // B C# F#
  O: "[[f#3,d#4,f#4,b4]@13 ~ [c#3,g#4]@16 ~@2, ~@13 f4@16 ~@3]/2", // B C#5
  P: "[~@3 f4@2 ~ f#4@2 ~ g#4@2 ~ f#4@2 f4@2, [c#4,a#4]@31 ~, f#3@27 ~@5, f#4@3 ~@5]/2", // F#
  Q: "[[d#4,f#4,b4]@13 ~ [c#4,f4,g#4]@16 ~@8 f4@4 ~@2 f#4@4 ~@2 g#4@6 f#4@4 f4@2 ~ d#4, ~@31 a#3@29 ~@4, ~@32 [c#4,a#4]@29 ~@3, ~@8 f#4@3 ~@5]/4", // B C# F#
  R: "[f#4@4 ~@10 g#4@15 ~@9 f4@6 f#4@4, f#3, ~@2 d#4, ~@8 f#4@3 ~]/3",
  S: "[~@2 g#4@4 ~@2 f#4@4 f4@4 ~@6 f4@4 ~@2 f#4@4 ~@2 g#4@4 ~@2 a#4@4 g#4@3 ~ f#4@4 ~@2 f4@4 ~@2 f#4@4, c#4@3 b3, ~@16 f#5@30 ~ d#5@17, ~@4 f#4@3 ~@9]/4",
  T: "[~@2 g#4@4 ~@2 f#4@4 f4@3 ~ [g#3,f4]@13 ~ [f#3,d#4]@16 ~@2 f#4@4 ~@2 f4@4 ~@2 f#4@4 ~@2 g#4@6 f#4@4 f4@2 ~@2 b3@14 [g#4,c#5]@18, ~@15 c#5@64 d#5@15 ~@18, ~@15 g#4@13 ~ f#5@83, ~@15 f#4@9 c#4@16 f#4@3 ~@13, ~@24 [f#3,a#3]@15 ~@17]/7", // C# D#m C#5 F#
  U: "[~@6 f4@4 ~@2 f#4@4 ~@4 g#4@4 f#4@4 f4@3 ~ b3@16, a#3@29 ~@3 f#4@8 ~@8, f#4@11 c#6@16 ~@4 d#5@14 ~@3]/3",
  V: "~@3 f4@2 ~ f#4@2, f#4@3 ~", W: "~ g#4@3 f#4@2 f4@2",
  X: "[d#4@13 ~@2 g#4@17 [f#4,b4]@30 ~@18 c#3@13 ~@3, [f#4,d#5]@15 c#5@22 ~@41 g#5@14 ~@4, ~@14 [c#4,f4]@17 ~ a#4@7 ~@24 [c#4,f4,g#4,c#5,f5]@29 ~@4]/6", // B5 D#m C#
  Y: "[f#2@29 ~@3]/2",
  Z: "[f#4@8 [f#4,b4]@6 [c#4,f4,g#4,c#5]@17 ~ [c#4,a#4]@29 ~@2 [b3,d#4], d#4@13 ~ g#3@16 ~ f#4@29 ~@4]/4", // B5 C# F# B
  AA: "[[d#4,f#4,b4]@13 ~ g#4@18 [f#4,a#4]@29 ~@2 [b3,d#4], ~@13 c#5@19 ~@32, ~@7 c#4@23 ~@2]/4", // B F# B
  AB: "[[b4,d#5]@14 [g#3,g#4,c#5]@17 f#4 a#4@31 [f#4,b4], ~@7 c#4@24 ~, ~@16 f#4@11 ~@5]/4", // B C#5 B5
  AC: "[[b3,d#4]@14 g#4@16 ~@2 a#4@3 ~@29 a#5@30 ~@2 d#5@29 ~@2 [g#3,c#4], ~@14 c#5@79 ~@35, ~@14 c#4@51 ~@30 [b3,d#4]@29 ~@4, ~ f#4@2 ~, ~@28 f#5@35 ~]/8", // B C#5 B
  AD: "[[g#4,f5]@12 ~@2 [b4,d#5,f#5]@15 ~@3 [g#3,c#4,c#5]@13 ~ [f#3,b3]@16 ~@2, c#5@14 [f#3,b3]@17 [g#4,f5]@12 ~@2 [b4,f#5]@15 ~@4]/4", // C# B C#5 B5 C# B5
  AE: "[[g#3,c#4,c#5,f5]@13 ~ [f#3,b3,b4,d#5,f#5]@16 ~@2 [a#4,c#5,f#5]@31 ~, g#4@11 ~@20 [f#3,a#3]@31 ~@2]/4", // C# B F#
  AF: "[[f#3,b3,b4,d#5]@14 [g#3,g#4]@17 ~ f#4@4 ~@2 f4@4 ~@2 f#4@4 ~@2 g#4@4 ~@2 f#4@2 ~@2 f4@2 ~@2 b3@14 [g#3,c#4,g#4]@17 ~ f#4@4 ~@2 f4@4 ~@2 f#4@4 ~@2 g#4@4 ~@2 f#4@2 ~@2 f4@2 ~@2, ~@14 c#5@47 ~@3 f#4@8 ~@24 a#4@25 ~@7, ~@14 c#4@18 a#3@32 ~@31 a#3@32 ~, ~@31 a#4@28 ~@4 [b4,d#5]@15 c#5@44 ~@6, ~@32 f#3@46 ~@17 f#3@30 ~@3]/8", // B G# C#5 B
  AG: "[[f#3,b3,f#4,b4]@14 ~ g#4@16 ~, ~@14 [g#3,c#4]@15 ~@3]/2", // B5 C#5
  AH: "[[f#3,b3,f#4,b4,d#5]@13 ~ [g#3,c#4,g#4]@17 ~ f#4@11 f#4@85, ~@7 c#5@57, ~ [f#3,a#3,a#4]@3]/8", // B C#5 F#
})).s("gm_tremolo_strings").gain(0.34)

// chords · tremolo strings · "Strings 1,2,&3-Tremolo" · soft notes
const tremolo_strings_soft = note(`<
  ~@39 A ~@10 B@3 C@2 D@4 E@6 F@6 G ~ H@4 ~@2 I J ~@2 K ~@13 L@2 ~@2 M@2 ~@7 K ~@4 N@2 ~@3 O@6 ~
>`.pickRestart({
  A: "~ b4@12 ~@3", B: "[~@15 b4@13 ~@2 f4@15 ~@3, ~@15 f#4 ~@32]/3", C: "[~@4 [c#5,f#5]@3 ~, b4@7 ~]/2",
  D: "[c#5@29 ~@2 b4@30 ~@2 f4, a#4@24 ~@7 f#4 ~@32]/4", E: "[c#4@14 b4@17 a#4@32 b4@15 g#3@18, ~@14 b3@15 ~@67]/6",
  F: "[a#4@26 ~@5 b4@11 ~@4 f4@18 a#4@30 ~@2, ~@15 g#4@6 ~@11, ~@23 c#5@24 ~]/6", G: "b4@15 ~, b3@13 ~@3",
  H: "[f#5@14 ~ f#5@14 ~@2 g#3@29 ~@4, d#4@15 ~@17]/4", I: "b3@3 ~", J: "~@15 a#4", K: "~@15 f#4", L: "[b4@29 ~@3]/2",
  M: "[~@13 d#5@15 ~@4]/2", N: "[d#5@7 c#5@8 ~]/2", O: "[~@2 c#4@89 ~@5]/6",
})).s("gm_tremolo_strings").gain(0.17)

// other · string ensemble 1 · "Strings 4-Ensemble"
const string_ensemble_1 = note(`<
  ~ A@4 B@2 C@2 A@2 D@2 A@2 E@2 A@2 F@2 A@2 F@2 B@2 E@2 B@2 D@2 A@2 G@2 A@2 ~@88
>`.pickRestart({
  A: "[f#1@15 ~]/2", B: "[f#1@29 ~@3]/2", C: "[b1@13 ~ g#1@18]/2", D: "[b1@13 ~ g#1@16 ~@2]/2",
  E: "[b1@12 ~@2 g#1@17 ~]/2", F: "[b1@6 ~ g#1@8 ~]/2", G: "[b1@11 ~@3 g#1@11 ~@7]/2",
})).s("gm_string_ensemble_1").gain(0.15)

// other · pad warm · "Pad-Warm"
const pad_warm = note("<A@7 B@2 ~@2 C@2 ~@2 D@2 ~@2 E@2 F@3 ~@2 G@3 ~@2 H@2 I@4 ~@90>".pickRestart({
  A: "[~@15 f#4@96 d#5]/7", B: "[~@7 c#5@9]/2", C: "[~@7 c#5@8 ~]/2", D: "[d#5@7 c#5@8 ~]/2", E: "[d#5@14 c#5@17 ~]/2",
  F: "[a#4@30 ~ d#5@15 ~@2]/3", G: "[~@15 d#5@13 ~@2 c#5@16 ~@2]/3", H: "[d#5@12 ~ c#5@17 ~@2]/2",
  I: "[a#4@25 ~@6 d#5@12 ~@3 c#5@10 ~@8]/4",
})).s("gm_pad_warm").gain(0.07)

// other · pad warm · "Pad-Warm" · soft notes
const pad_warm_soft = note("<~@10 A@2 ~@11 B@2 C@2 ~ D@3 ~@96>".pickRestart({
  A: "[~@15 d#5@15 ~@2]/2", B: "[~@14 c#5@17 ~]/2", C: "[a#4@7 ~]/2", D: "[~@15 a#4@26 ~@7]/3",
})).s("gm_pad_warm").gain(0.02)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@37 [x!8]!88 ~@2>").gain(2.43)

// drums · shaker
const shaker = s("sh").struct("<~@37 [x!8]!88 ~@2>").gain(0.56)

stack(
  electric_guitar_jazz, acoustic_guitar_steel, bass, piano, rock_organ, tremolo_strings, tremolo_strings_soft,
  string_ensemble_1, pad_warm, pad_warm_soft, cabasa, shaker
)

More by The Smashing Pumpkins