Strudelify

Twilight Zone Twilight Tone

The Manhattan Transfer

KeyC majorTempo131 bpm
0:00/0:00
// Twilight Zone   Twilight Tone — The Manhattan Transfer
// 131 bpm, 4/4, key C 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 131 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(131/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 2 · "SYN BASS 2"
const bass = note(`<
  ~@22 A B C D@3 E F G H I D@3 E J K L M N O P@4 D@3 E F G H I D@3 E J K L M N Q R S T@6 D@3 E F G H I D@3 E J K L M N O
  P@4 D@3 E F G H I D@3 E J K L M N Q R U N Q R U N Q V@4 ~@6
>`.pickRestart({
  A: "c#2 ~ c#2@2 ~@4 c#2@2 c#2 ~@5", B: "~ f#2 ~ e2 d#2 c#2 b1 a#1 a1 ~@7", C: "~@4 d2 ~ d2 ~",
  D: "d2 ~ d2 ~ d2 ~ d2 ~", E: "d2@2 ~@2 c2@3 ~ b1@3 ~ a1@3 ~", F: "g1@2 ~@2 g1@3 ~ g1@2 ~@2 g1@2 ~@2",
  G: "g1@2 ~@2 g1 ~@3 g1@6 ~@2", H: "~@4 g1@3 ~ a1@2 ~@2 b1@2 ~@2", I: "c2 ~ c#2 ~ d2 ~ d2 ~",
  J: "g1@2 ~@2 g1@3 ~ g1@6 ~@2", K: "a1@6 d2@2 d1@3 ~ f1@2 ~@2", L: "g1@3 ~ a1@2 ~@2 d2@2 ~@6",
  M: "~@8 a#1@3 ~ a#1@3 ~", N: "a#1@3 ~ a#1@3 ~ a1@3 ~ a1@3 ~", O: "a1@2 ~@2 a1@3 ~ g1@3 ~ a1@3 ~",
  P: "[a#1@2 ~@2 g1@3 ~ a1@2 ~@2 g3@12 d1@31 ~ d2@2 ~@2 d2@2 ~@2]/4", Q: "a1@2 ~@2 a1@3 ~ g#1@3 ~ g#1@3 ~",
  R: "g#1@3 ~ f1@2 f#1@2 g1@2 ~@2 g1@3 ~", S: "g1@3 ~ g1@3 ~ f1@3 ~ f1@3 ~",
  T: "[f1@3 ~ f1@2 ~@2 a1@2 ~@2 g3@12 d1@12 e1@4 f1@12 g1@2 a1@2 c2 ~@3 a#1@12 ~@4 c#1@6 a0@5 ~ d1@2 ~@2 d2@2 ~@2]/6",
  U: "g1@3 ~ g1@3 ~ a#1@3 ~ a#1@3 ~", V: "[a#1@2 ~@2 g1@3 ~ a1@2 ~@2 g3@12 d1@32 ~@8]/4",
})).s("gm_synth_bass_2").gain(0.57)

// bass · synth bass 2 · "SYN BASS 2" · soft notes
const bass_soft = note("<~@8 [g1 g#1 c2 c#2 g1 g#1 c2 c#2]!14 ~@109>").s("gm_synth_bass_2").gain(0.36)

// other · flute · C#maj7 Bm Cmaj7 C
const flute = note("<~@7 [~@2 d6 [c6,c#6] [b5,c#7,d7] [b6,c7] b6 [g#6,a6,a#6,b6] [c7,d7,e7,f7,g7] ~@7] ~@123>")
  .s("gm_flute").gain(0.22)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  A@7 ~@11 B@4 C D E@2 F@8 G@3 H I@2 J@8 K@8 G@3 H I@2 L M@8 N@3 O@3 P@8 H I@2 J@8 K@8 G@3 H I@2 Q@5 R@5 S@2 T@8 ~
>`.pickRestart({
  A: "[g#5,a#5] [a5,a#5] a#5 [e5,a#5] a#5 [a5,a#5] a#5 [e5,a#5], ~@4 g#5 ~@3 g#5 ~@3 g#5 ~@3", // G#sus2 A#maj7 Edim A#maj7 Edim
  B: "g2 g#2 c3 c#3 g2 g#2 c3 c#3", C: "[c4,e4] ~ [c4,e4,g#4] ~@5 [c4,e4,g#4] ~ [c4,e4,g#4] ~@5, g#4 ~@7",
  D: "~ [f#2,f#3] ~ [e2,e3] [d#2,d#3] [c#2,c#3] [b1,b2] [a#1,a#2] [a1,a2] ~@7", // F# E D# C# B A# A
  E: "[~@8 d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~, ~ [a3,c4,f4]@3]/2", // F
  F: "[d2 ~ [d3,a3,c4,f4] ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ c2 ~ c3 ~ b1 ~ b2 ~ a1 ~ a2 ~ g1 ~ g2 ~ g1 ~ g2 ~ [a3,b3,d4,g4]@2 g2 [a3,b3,e4,g4] g1 ~ g2 ~ g1 ~ g2 ~ [b3,e4,g4]@2 g2 ~ g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2@2 g1 ~ g2 ~ a1 ~ a2 ~ b1 ~ a#2 ~ c2 ~ c3 ~ c#2 ~ c#3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3@2, ~@6 [a3,c#4,f4]@16 a3@14 ~@4 g3@16 g1 ~@11 g1 ~@59, ~@22 [c4,f4]@12 ~@6 [b3,f4,g4]@4 [b3,e4,g4]@4 a3@7 ~@7 a3@8 [a#3,d4,f4,g4]@17 ~ [a3,c#4,f4]@6 [g3,c#4,e4]@10 [a3,c4,f4]@15 ~ [a3,c4,f4]@8, ~@24 [b3,d4,g4]@2 [b3,e4,g4]@2 ~@3 [b3,d4,g4]@3 ~@30]/8", // Dm7 G Em Aaug F5 G7 Em Gm7 …
  G: "[[c4,c5]@2 [d4,d5]@2 [d2,f4] ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ c2 ~ c3 ~ b1 ~ [b2,a3,b3,f4] ~ a1 [a3,b3,e4] a2 ~, d2 ~ d3 ~ f5@2 [a3,c#4,f4,a4,c#5]@16 [e4,c5]@14 ~@12, ~@11 [a3,f4,a4]@6 ~@7]/3", // C D Dm Bm7b5 Asus2 Aaug C Dm
  H: "~@2 g2@2 g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2 ~, [g1,a3,b3,d4]@4 [a3,b3,e4]@4 [g3,a#3,d4,f4]@7 ~", // G Asus2 Gm7
  I: "[g1 ~ g2 ~ g1 ~ [a3,c4,f4]@18 d2@2 ~@6, [g3,c#4,f4]@3 d2 ~@12]/2", // F Gm7b5
  J: "[~@8 a#1@2 a#2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~ a1@2 a2 ~ a1@2 a2 ~ a1@2 a2 ~ a1@2 a2 ~ [g3,a#3,d4,f4]@16 ~@4 [c#4,f4]@12 [c4,e4,g4,a4]@32 d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~, ~@8 [g#3,d4,g4]@15 ~ [g3,c#4,g4]@5 ~ [g3,c4,d4,g4]@10 ~@20 a3@11 ~@33 [a3,c4,f4]@24]/8", // Gm7 C# Am7 G Gdim Gsus4 F
  K: "[d2 ~ [d3,a3,c4,f4] ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ c2 ~ c3 ~ b1 ~ b2 ~ a1 ~ a2 ~ g1 ~ g2 ~ g1 ~ g2 ~ [a3,b3,d4,g4]@2 g2 [a3,b3,e4,g4] g1 ~ g2 ~ g1 ~ g2 ~ [b3,e4,g4]@2 g2 ~ g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2@2 g1 ~ g2 ~ a1 ~ a2 ~ b1 ~ a#2 ~ [c2,a3,c4,a4,c5] ~ [c3,d4,d5] ~ [c#2,f4,f5] [g4,g5] c#3 f4 [d2,f4] ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3@2, ~@6 [a3,c#4,f4]@16 a3@14 ~@4 g3@16 g1 ~@11 g1 ~@59, ~@22 [c4,f4]@12 ~@6 [b3,f4,g4]@4 [b3,e4,g4]@4 a3@7 ~@7 a3@8 [a#3,d4,f4,g4]@17 ~ [a3,c#4,f4]@6 [g3,c#4,e4]@10 [a3,c4]@15 ~ [a3,c4,f4]@8, ~@48 [b3,d4,g4]@4 [b3,e4,g4]@4 ~@6 [b3,d4,g4]@6 ~@35 f5@2 ~@23]/8", // Dm7 G Em F Csus2 C# G Dm …
  L: "~@8 a#1@2 a#2 ~ a#1@2 a#2 ~, ~ [g#3,d4,g4]", // G
  M: "[a#1@2 a#2 ~ a#1@2 a#2 ~ a1@2 a2 ~ a1@2 c4@2 a1@2 a2 ~ a1@2 a2 ~ g#1@2 g#2@2 g#1@2 g#2@2 g#1@2 f1@2 f2@2 f#1@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2 ~ f1@2 f2@2 f1@2 f2@2 f1@2 f2@2 f1@2 g1 ~@5 [c#4,f4]@12 d2@12 e2@4 f2@12 g2@2 a2@2 c3 ~@3 a#2@4, ~@8 [g3,c#4,g4]@5 ~ [g3,d4,g4]@10 [a#3,c4,d#4,g4]@15 ~ [g3,c4,f4,g4]@5 ~ [g3,b3,f4,g4]@10 [g#3,c4,d4,g4]@5 ~ [g#3,c4,d4,f4]@10 ~@4 a3@11 ~ [c4,e4,g4,a4]@32 ~@8, ~@14 a2 ~@113]/8", // C# Gdim G5 Cm7 Csus4 G7 G#maj7 Dm7b5 …
  N: "[~@12 c#2@6 a1@5 ~@3 d3 ~@3 d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~, ~ [a3,c4,f4], ~@3 d2 ~@2]/3", // F
  O: "[d2 ~ [d3,a3,c4,f4] ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ c2 ~ c3 ~ b1 ~ b2 ~ a1 ~ a2 ~, ~@3 [a3,c#4,f4]@8 a3@7 ~@2 g3@4, ~@11 [c4,f4]@6 ~@3 [b3,f4,g4]@2 [b3,e4,g4]@2]/3", // Dm7 Aaug F5 G7 Em
  P: "[g1 ~ g2 ~ g1 ~ g2 ~ [a3,b3,d4,g4]@2 g2 [a3,b3,e4,g4] g1 ~ g2 ~ g1 ~ g2 ~ [b3,e4,g4]@2 g2 ~ g1 ~ g2 ~ g1 ~ g2 ~ g1 ~ g2@2 g1 ~ g2 ~ a1 ~ a2 ~ b1 ~ a#2 ~ c2 ~ c3 ~ c#2 ~ c#3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~@3 [d2,c5]@2 d5@2 f5@2 d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ d2 ~ d3 ~ c2 ~ c3 ~ b1 ~ [b2,a3,b3,f4] ~ a1 [a3,b3,e4] a2 ~, a3@7 ~ g1 ~@5 [b3,d4,g4]@6 g1 ~@57 d3@4 d3 ~ d2 ~@17 [a3,f4,a4]@12 ~@14, [b3,d4,g4]@4 [b3,e4,g4]@4 ~@6 a3@8 [a#3,d4,f4,g4]@17 ~ [a3,c#4,f4]@6 [g3,c#4,e4]@10 [a3,c4,f4]@15 ~ [a3,c4,f4]@11 ~@3 [a3,f4,a4]@16 [e4,c5]@14 ~@12]/8", // G Em D7 Bm7b5 Asus2 G Dm G …
  Q: "[~@8 a#1@2 a#2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~ a1@2 a2 ~ a1@2 c4@2 a1@2 a2 ~ a1@2 a2 ~ g#1@2 g#2@2 g#1@2 g#2@2 g#1@2 f1@2 f2@2 f#1@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~, ~@8 [g#3,d4,g4]@15 ~ [g3,c#4,g4]@5 ~ [g3,d4,g4]@10 [a#3,c4,d#4,g4]@15 ~ [g3,c4,f4,g4]@5 ~ [g3,b3,f4,g4]@8 [g#3,d4,g4]@10, ~@30 a2 ~@49]/5", // G Gdim G5 Cm7 Csus4 G7 G
  R: "[a#1@2 a#2 ~ a#1@2 a#2 ~ a1@2 a2 ~ a1@2 c4@2 a1@2 a2 ~ a1@2 a2 ~ g#1@2 g#2@2 g#1@2 g#2@2 g#1@2 f1@2 f2@2 f#1@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2@2 g1@2 g2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~ a#1@2 a#2 ~ a1@2 a2 ~ a1@2 [g3,c4,d4,g4]@2, ~@8 [g3,c#4,g4]@5 ~ [g3,d4,g4]@10 [a#3,c4,d#4,g4]@15 ~ [g3,c4,f4,g4]@5 ~ [g3,b3,f4,g4]@8 [g#3,d4,g4]@18 [g3,c#4,g4]@5 ~@3, ~@14 a2 ~@63 a2 ~]/5", // Gsus4 Gdim G5 Cm7 Csus4 G7 G Gdim
  S: "[a1@2 a2 ~ a1@2 a2 ~ g#1@2 g#2@2 g#1@2 g#2@2 ~@12 [a3,c#4,f4]@4, ~@8 [a#3,c4,d#4,g4]@15 ~@9]/2", // Aaug Cm7
  T: "[~ [e4,g4,a4]@15, ~ c4@6 ~@9]/8", // A7
})).s("gm_piano").gain(0.41)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note("<~@8 [g2 g#2 c3 c#3 g2 g#2 c3 c#3]!10 ~@113>").s("gm_piano").gain(0.24)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@72 A@2 B C D E F G@2 H I J@2 K@2 L ~@43>".pickRestart({
  A: "[~@12 g5@7 f5 g5 ~ f5 ~ e5 ~ f5 ~ e5 ~ f5 ~]/2", B: "e5@2 d5 c#5@5", C: "~ a4!2 a4@5",
  D: "~@2 a4 a#4 b4 d5 c5 a4 c5 b4 g4 b4 a#4 f#4 a#4 a4", E: "a4@2 d4@2 ~@2 e4 f4 a#3 b3 f#3 g3 c#3 d3 g3 d3",
  F: "f3@6 ~@4 a4 ~ a#4 ~ a#4 ~", G: "[a4@4 g4 ~ g4@8 c#4@9 ~@9]/2",
  H: "a2 c3 d3 c3 d3 c3 d3 f3 d3 f3 g3 a3 g3 a3 c4 a3", I: "a3 c4 e4 c4 e4 c4 e4 f4 a4@8",
  J: "[c#5 ~ d5 ~ e5 ~ e5@8 ~ a4@7 g5 ~ g#5 ~@2 a5 ~ a5 ~ a#5]/2",
  K: "[~ a5@3 d5@3 ~ a#5@6 a5@5 g5 f5 d5 f5@4 f5 g5 g#5 a5 g5 f5]/2", L: "g5 f5 d5 e5!2 d5 c#5 e5 d5@2 ~@6",
})).s("gm_overdriven_guitar").gain(0.25)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note("<~@72 A@2 B C D E F ~ G H I J@2 K L M ~@43>".pickRestart({
  A: "[~@12 a#5@7 a5 a#5 ~ a5 ~ g5 ~ a5 ~ g5 ~ a5 ~]/2", B: "g5@2 f5 e5@5", C: "~@2 c#5@2 c#5 ~ c5@10",
  D: "~@2 c5 c#5 d5 f5 e5 c5 e5 d#5 b4 d#5 d5 a#4 c#5 c5", E: "c5@2 d4 ~@3 a#4 b4 c#4 d4 a#3 b3 f#3 g3 b4 g3",
  F: "b3@3 ~@5", G: "~@8 a2 c3 d3 c3 d3 c3 d3 f3", H: "d3 f3 g3 f3 g3 f3 g3 a3 f3 g3 c4 d4 c4 d4 e4 d4",
  I: "d4 e4 g4 e4 g4 e4 g4 a4 c#5@8", J: "[e5 ~ f5 ~ g5 ~ g5@8 c5@6 ~@2 b5 ~@2 c6 ~ c6 ~ c#6 ~ c#6]/2",
  K: "~ c6@3 f5@3 ~@9", L: "~@10 a5 a#5 c#6 d6 a#5 a5", M: "a#5 a5 f5!2 g5 f5 e5 g5 f5 ~@7",
})).s("gm_overdriven_guitar").gain(0.25)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_3 = note(`<
  ~@24 A B C D E ~ F G H B C D E ~ I J ~@3 K@2 L M B C D E ~ F G H B C D E ~ I J ~@5 K@2 ~@3 A B C D E ~@3 N B C D E ~ I
  J ~@3 K@2 L M B C D E ~ F G H B C D E ~ I J ~@11 K@2 ~@8
>`.pickRestart({
  A: "~@11 [d5,f5] ~ [d5,f5] ~@2", B: "~ a5 ~ [f4,a4] ~@3 d5 [c4,g4]@2 [f4,a4]!2 ~ [d5,f5] ~@2",
  C: "~ a5 [d4,f4] [f4,a4] ~@7 [d5,f5] ~ [d5,f5] ~@2", D: "~ a5 ~ [f4,a4] ~@3 d5 ~@5 [d5,f5] ~@2",
  E: "~ a5 [d4,f4] [f4,a4] ~@2 [d4,f4]!2 ~@2 [a3,d4] [b3,d4] ~ a3 b3 ~", // Dm F Dm D5 Bm
  F: "~ [f3,a3] d3!2 d4 d3 ~@3 [d4,f4] ~@2 [d4,f4]@2 [d4,a#4] ~", G: "~ [f4,a4] ~ g3 ~@5 c#5 ~@3 a3!2 ~",
  H: "e3!2 g4 ~ a4 g4 ~ [f4,a4] ~@3 [d5,f5] ~ [d5,f5] ~@2", I: "~ [f3,a3] d3!2 d4 d3 ~@4 f3!2 ~@2 g3 f3",
  J: "~ a4 g3!2 a4@2 a3 [a3,a4] [c4,d4,d5] [a3,b3] [d3,e3,f3,g3] ~@5", K: "[~@3 c5@3 ~@2]/2",
  L: "~@8 f2 g2 a2 g2 a2 c3 a2 c3", M: "d3 c3 d3 f3 a3 f3 g3 a3@2 ~@2 [d5,f5] ~ [d5,f5] ~@2",
  N: "~@4 a4 g4 ~ [f4,a4] ~@3 [d5,f5] ~ [d5,f5] ~@2", // F Dm
})).s("gm_overdriven_guitar").gain(0.22).pan(0.7)

// other · french horn · "FR.HORN"
const french_horn = note("<~@22 g#3 [~ f#3 ~ e3 d#3 c#3 b2 a#2 a2 ~@7] ~@107>").s("gm_french_horn").gain(0.72)

// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
  ~@40 A@6 B C D@3 C E@3 C F@3 G H@2 I@8 J@2 K@7 L@4 M@5 A@6 B C D@3 C E@3 C F@3 G H@2 N@8 O@7 ~@6
>`.pickRestart({
  A: "[~@8 [g#3,d4,g4]@15 ~ [g3,c#4,g4]@5 ~ [g3,c4,d4,g4]@10 [g3,a#3,d4,f4]@16 a1 ~@3 [a3,c#4,f4,c5]@12 [c4,e4,g4]@16 a2 c3 d3 c3 d3 f3 d3 f3, ~@24 d2@7 ~]/6", // G Gdim Gsus4 Gm7 F C
  B: "g3 f3 g3 a3 c4 a3 c4 d4 e4@8", C: "d4 e4", D: "[d4@3 a3@16 ~ e4@4]/3", E: "[d4@3 a#3@8 c#4@4 g4@4 ~ e4@4]/3",
  F: "[d4@6 a3@33 ~ e4@8]/3", G: "d4 a#3", H: "[c#4@3 c4@9 ~@4]/2",
  I: "[~@8 [g#3,d4,g4]@16 [g3,c#4,g4]@5 ~ [g3,c4,d4,g4]@10 [a#3,c4,d#4,g4]@16 [g3,c4,f4,g4]@5 ~ [g3,b3,f4,g4]@10 [g#3,c4,d4,g4]@5 ~ [g#3,c4,d4,f4]@10 a1 ~@3 a3@12 ~@12 e2@4 f2@8, ~@92 [c#4,f4,c5]@27 ~@9, ~@104 [d2,c4,e4,g4]@15 ~@9]/8", // G Gdim Gsus4 Cm7 Csus4 G7 G#maj7 Dm7b5 …
  J: "[~@4 g2@2 a2@2 c3 ~@3 a#2@13 ~@3 c#2@4]/2",
  K: "[~@2 a1@5 ~ [a3,d4,f4]@30 [a3,c#4,f4]@16 [a3,c4,f4]@18 [g3,d4,f4]@30 [a#3,d4,f4]@10]/7", // Dm Aaug F G7 A#
  L: "[~@6 f4@8 e4@9 ~ [a3,d4,f4]@32 [a3,c#4,f4]@8, ~@6 [g3,c#4]@17 ~@41]/4", // Dm Aaug Gdim
  M: "[~@6 [a3,c4,f4]@17 ~ [g3,d4,f4]@15 ~ [a#3,d4,f4]@6 [g3,c#4,f4]@8 [a3,d4,f4]@17 ~ [f3,a3,d4] ~@7]/5", // F G7 A# Gm7b5 Dm
  N: "[~@8 [g#3,d4,g4]@16 [g3,c#4,g4]@5 ~ [g3,c4,d4,g4]@10 [a#3,c4,d#4,g4]@16 [g3,c4,f4,g4]@5 ~ [g3,b3,f4,g4]@10 [g#3,d4,f4,g4]@16 [g3,c#4,g4]@5 ~ [g3,c4,d4,g4]@10 [a#3,c4,d#4,g4]@15 ~ [g3,c4,f4,g4]@5 ~ [g3,b3,f4,g4]@2]/8", // G Gdim Gsus4 Cm7 Csus4 G7 Ddim Gdim …
  O: "[~@6 [g#3,d4,g4]@17 ~ [g3,c#4,g4]@5 ~ [g3,c4,d4,g4]@10 [a#3,c4,d#4,g4]@15 ~ a1 ~@3 [a3,c#4,f4,c5]@12 [d2,c4,e4,g4]@32 ~@8]/7", // G Gdim Gsus4 Cm7 F C
})).s("gm_synth_brass_1").gain(0.4).pan(0.7)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@8 A@14 B ~ C D@3 E F@2 G H D@3 E F I J ~@2 K L ~@2 C D@3 E F@2 G C D@3 E F I J ~@10 C D@3 E F@2 G H D@3 E F I J ~@2
  K L ~@2 C D@3 E F@2 G C D@3 E F I J ~@11 L ~@9
>`.pickRestart({
  A: "g2 ~ g#2 ~ c3 ~ c#3 ~ g2 ~ g#2 ~ c3 ~ c#3 ~", B: "g#4@2 g#4 ~@5 g#4@2 g#4 ~@5", C: "~@10 d3 ~@3 d3 ~",
  D: "~@2 d3 ~@3 d3 ~@3 d3 ~@3 d3 ~", E: "~@2 d3 ~@7 b2 ~@3 a2 ~", F: "~@2 g2 ~@3 g2 ~@3 g2 ~@3 g2 ~",
  G: "~@2 g2 ~@3 g2 ~@3 g3!2 ~ g3!2 ~", H: "~@3 g3 ~ g3!2 ~@3 d3 ~@3 d3 ~", I: "~@2 a2 ~@7 d2 ~@3 f2 ~",
  J: "~@2 g2 ~@3 a2 ~ d3@2 ~@6", K: "~@10 g2 ~@3 a2 ~", L: "~@2 a#2 ~@3 g2 ~@9",
})).s("gm_electric_guitar_muted").gain(0.29).pan(0.4)

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

// drums · clap
const clap = s("cp").struct("<~@8 [~ x ~ x]!14 ~@109>").gain(0.29)

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

// drums · low tom
const low_tom = s("lt").struct("<~@40 A ~@2 B C ~@17 A ~@4 D C ~@19 A ~@2 B C ~@17 A ~@10 B C ~@8>".pickRestart({
  A: "~ x ~@2", B: "~@7 x!2 ~@7", C: "~@3 x ~@4", D: "~@4 x!5 ~@7",
})).gain(0.35)

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

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~@8 A@14 ~@2 B@5 C B@7 C B ~ C@3 ~@3 B@5 C B@7 C B ~ C@4 ~ C ~ D ~@2 B@5 C B@7 C B ~ C@3 ~@3 B@5 C B@7 C B ~ C@11 ~@10
>`.pickRestart({
  A: "~ x ~ x ~ x ~@2", B: "~@13 x!2 ~", C: "~@7 x", D: "~@2 x ~@2 x ~@10",
})).gain(0.12)

// drums · mid tom
const mid_tom = s("mt").struct("<~@24 A ~@19 A ~@22 B A ~@23 A ~@29 A ~@8>".pickRestart({
  A: "~@3 x ~@4", B: "~@2 x!2 ~@12",
})).gain(0.41)

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

// drums · crash
const crash = s("cr").struct(`<
  ~@24 A ~@7 A ~@7 A ~@2 B ~@2 A ~@7 A ~@7 A ~ A ~ A B C ~@3 A ~@7 A ~@7 A ~@2 B ~@2 A ~@7 A ~@7 A ~ A ~ A ~ A ~ A ~ A B
  A ~@8
>`.pickRestart({
  A: "~ x", B: "~@3 x", C: "~@7 x",
})).gain(0.24)

// drums · ride bell
const ride_bell = s("rd").struct("<~@70 [~ x] ~@60>").gain(0.35)

// drums · cowbell
const cowbell = s("cb").struct("<~@69 [~@7 x] ~@61>").gain(0.35)

// drums · bongos
const bongos = s("bongo:18").struct("<~@7 [~@5 x!11] x ~@13 [~@5 x!11] x ~@107>").gain(0.93)

// drums · congas
const congas = s("conga:13").struct("<~@45 [~@7 x] ~@23 [~@7 x] ~@23 [~@7 x] ~@37>").gain(1.32)
// … 23 more lines

More by The Manhattan Transfer