Strudelify

Looks Like We Made It

Barry Manilow

KeyC majorTempo69 bpm
0:00/0:00
// Looks Like We Made It — Barry Manilow
// 68.5 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 61 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(68.5/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 · "A.PIANO 2"
const piano = note("<A@5 B@4 C@6 D E F G D E H I@7 J@7 K@3 L@7 M N O P@2 Q@4 R@6>".pickRestart({
  A: "[~@33 [d4,e4,g4]@12 ~@31 g3@5 ~ a3@6 ~@25 a3@6 ~@9 c4@3 [c4,e4,g4]@12 ~@31 g3@4 ~@2 [c4,f4,g4]@12 ~@7 a3@6 a3@6 a3@6 ~@9 g4@3 g3@6 g3@5, ~@33 c3@48 ~ c3@49 c3@47 ~@2 c3@49 ~@11, ~@33 c4@18 g3@12 ~ g3@12 ~@12 a3@12 ~ a3@12 ~@6 a3@12 g3@18 ~ g3@12 g3@12 ~@6 a3@18 ~@19 a3@12 ~@11, ~@33 g3@12 [e4,g4]@12 ~ [c4,e4,g4]@12 [c4,e4,g4]@11 ~ [c4,f4,g4]@12 [c4,f4,g4]@12 ~ c4@15 c4@3 d4@6 ~@13 d4@35 ~@26 [f4,g4]@18 f4@6 ~@11, ~@45 d4@35 ~@27 [f4,g4]@24 ~@13 [c4,e4,g4]@12 [c4,e4,g4]@12 [c4,e4,g4]@10 ~@14 [c4,f4,g4]@12 ~ c4@15 c4@9 [d4,e4,g4]@11]/5", // Em7 C Csus4 Em C Csus4 Fsus2 C …
  B: "[~@8 g3@6 ~@18 g3@4 ~@2 [c4,f4,g4]@12 ~@31 a3@5 ~@2 g3@6 ~@12 g3@6 ~@18 g3@4 ~@2 g3@6 ~@13 g3@6 ~@18 g3@5 ~ [a3,c4,f4,g4]@7, ~@2 [d4,e4,g4]@12 [c4,e4,g4]@12 [c4,e4,g4]@10 ~@14 [c4,f4,g4]@12 ~ [c4,f4,g4]@12 [c4,f4,g4]@11 ~@2 [d4,e4,g4]@12 [d4,e4,g4]@12 [c4,e4,g4]@12 [c4,e4,g4]@11 ~ [d4,e4,g4]@12 ~ [d4,e4,g4]@12 [c4,e4,g4]@12 [c4,e4,g4]@11 ~@8, ~@20 g3@12 ~@6 a3@19 a3@12 a3@12 ~@13 g3@12 ~@12 g3@12 ~@12 g3@12 ~@13 g3@12 ~@13]/4", // Csus4 F Em7 C Csus4 Em7 C Em7 …
  C: "[~@18 [c4,f4,g4]@12 ~@6 a3@4 ~@21 g3@6 ~@6 g3@5 ~@7 g3@4 ~@3 [c4,e4]@12 ~@6 g3@5 ~ [g3,c4,e4]@12 ~@7 a3@5 ~ g3@6 ~@6 b3@11 ~ [g3,c4,e4]@12 ~ [g3,c4,e4]@12 [g3,c4,e4]@12 [g3,c4,d4]@12 [f#3,c4,d4]@12 ~ [f#3,c4,d4]@11 ~ [a3,c4,f4]@12 ~@6 f3@6 g3@6 ~ g3@6 g3@6 g3@5 ~, a3@12 a3@24 ~@13 g3@12 ~@31 g3@18 ~@18 [f#3,c4,e4]@11 ~@2 b3@9 a3@14 ~@87 [a3,c4,f4]@12 [b3,d4,g4]@12 ~ [b3,d4,g4]@11 ~, ~@6 [c4,f4,g4]@12 ~@12 [c4,f4,g4]@10 ~@3 [d4,e4,g4]@12 [d4,e4,g4]@12 [c4,e4,g4]@12 [b3,d4,g4]@11 ~@14 [c4,e4]@11 ~@26 d4@23 ~@124, ~@147 g3@17 ~@75 f3@18 ~@31]/6", // Csus4 C Gsus4 D7 F F#m7b5 F G …
  D: "[c4,e4]@12 ~@6 g3@6 [g3,b3,d4]@12 g3@6 g3@5 ~, g3@3 ~@5, ~@12 [c4,e4]@12 ~@12 [b3,d4]@11 ~", // C G C Bm
  E: "[f3,a3,c4,e4]@12 [f3,a3,c4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f3,a3,c4]@11 ~", // Fmaj7 G F
  F: "[e3,g3,b3]@12 g3@6 g3@5 ~ g3@6 g3@6 ~@9 d3@3, ~@12 [e3,b3]@12 e3@18 e3@5 ~, ~@24 [a3,c#4]@12 [g3,a3,c#4]@11 ~", // Em E5 A A7
  G: "[c4,f4,a4]@6 c4@3 [c4,f4,a4]@6 ~@6 c4@2 ~ [c4,f4,a4]@12 [c4,f4,a4]@11 ~, ~@5 c4@2 ~@9, ~@18 [f4,a4]@5 ~@25", // F
  H: "~@6 [b4,d5]@6 ~@6 [e5,g5]@5 ~, [e3,g3,b3]@8 [g3,c4,e4]@7 ~, ~@9 g4@24 c5@13 ~@2", // Bm Em C
  I: "[[c4,f4,a4]@11 ~ [e4,g4,c5]@11 ~ [f4,a4,c5]@11 ~ [c4,f4]@11 [g3,d4,e4,g4]@12 ~@6 c3@6 [g3,c4,e4,g4]@12 ~@6 c3@5 ~ [g3,b3,d4,g4]@12 ~@5 c3@5 ~ [c4,f4]@12 ~@9 g2@3 [d4,e4,g4]@12 ~@6 g3@6 [c4,e4,g4]@11 ~@6 g3@5 ~ [a3,c4,f4]@12 a3@6 a3@6 a3@6 a3@6 a3@6 a3@5 ~ [d4,e4,g4]@11 ~@6 g3@6 g3@6 g3@6 ~@9 d4@2 ~ [d4,e4,g4]@12 ~@5 g3@6 g3@6 ~@12 g3@5 ~ [a3,c4,f4]@5, ~@35 a4@12 c3@18 ~@6 c3@18 ~@6 c3@17 ~@6 [c3,f3,a3]@15 c4@9 ~@12 [d4,e4,g4]@12 ~@11 [c4,e4,g4]@11 ~@13 [c4,f4]@12 [c4,f4]@12 [c4,f4]@11 ~@12 [d4,e4,g4]@12 c4@15 a3@8 ~@53, ~@59 [g3,d4,e4,g4]@12 ~@12 [g3,c4,e4,g4]@11 ~@13 [g3,b3,d4,g4]@11 ~@12 f4@11 ~@119 [e4,g4]@23 ~@13 [d4,e4,g4]@12 ~@28, ~@136 a3@5 ~ g3@18 ~@6 g3@17 ~@54 g3@17 ~@18 g3@11 ~ g3@17 ~@13 g3@11 ~@11, ~@278 c4@5 ~@24 [c4,e4,g4]@12 [c4,e4,g4]@11 ~@6]/7", // F C F F5 Em7 C G F5 …
  J: "[~@7 a3@6 a3@6 [c4,f4]@11 ~@7 a3@5 [d4,e4,g4]@12 ~@9 d4@3 g3@6 g3@5 ~ d4@6 d4@6 [g3,c4,e4]@12 g3@6 g3@4 ~ [g3,c4,e4]@10 ~@8 a3@4 ~@8 g3@6 ~@6 g3@5 ~ [g3,c4,e4]@12 [g3,c4,e4]@10 ~ [c4,e4]@12 ~@6 g3@5 ~ [c4,d4]@12 ~@6 f#3@4 ~@2 [a3,c4,f4]@11 ~@7 f3@4 ~ [b3,d4,g4]@12 ~@6 g3@5 ~ [c4,e4]@12 ~@6 g3@6 [g3,b3,d4]@11 g3@6 g3@5 ~ [f3,a3,c4,e4]@10, ~@7 [c4,f4]@12 a3@17 ~@6 g3@18 g3@5 ~@13 [g3,b3,g4]@11 ~@36 [f#3,c4,d4]@10 ~@2 [a3,d4]@12 [a3,b3,d4]@12 ~@23 g3@18 ~@6 f#3@18 ~@6 f3@18 ~@5 g3@18 ~@6 g3@17 ~@40, ~@31 [c4,f4]@11 ~@12 [d4,e4,g4]@11 ~ [d4,e4,g4]@11 ~@25 [c4,e4]@10 ~@28 b3@9 ~@47 [c4,e4]@11 ~@13 [c4,d4]@10 ~@13 [a3,c4,f4]@11 ~@13 [b3,d4,g4]@12 ~@12 [c4,e4]@11 ~@12 [b3,d4]@11 ~@11]/7", // F5 Em7 C Csus2 F G C G …
  K: "[~@2 [f3,a3,c4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f3,a3,c4]@10 ~@2 [g3,b3]@11 ~@6 e3@4 ~@2 [e3,g3,c#4]@6 e3@3 [e3,g3,c#4]@6 e3@2 ~ e3@5 ~ [c4,f4,a4]@9 [c4,f4,a4]@6 c4@3 [c4,f4,a4]@8 ~@3 c4@3 [c4,f4]@6 ~@3 a3@6 [g3,c4,e4]@12, ~@38 e3@17 ~@68 [c4,f4]@9 ~@12, ~@49 [g3,b3]@10 ~@17 [g3,c#4]@9 ~@26 [f4,a4]@6 a4@12 ~@15]/3", // Fmaj7 G F G C#dim F F5 C …
  L: "[~@6 g3@6 [g3,b3,d4]@12 g3@6 g3@5 [f3,a3,c4,e4]@12 [f3,a3,c4,e4]@11 ~ [g3,b3,d4]@10 ~@2 [f3,a3,c4]@10 ~@14 [b4,d5]@12 ~@11 [e5,g5]@10 ~@2 [c4,f4,a4]@11 ~ [e4,g4,c5]@11 [f4,a4,c5]@12 [c4,f4,a4]@12 [g3,c4,e4]@11 [g3,c4,e4]@12 [g3,c4,e4]@12 [g3,c4,e4]@10 ~ [b3,d4]@9 [b3,d4,f#4,a4]@3 [b3,d4,f#4,a4]@6 [b3,d4,f#4,a4]@3 [b3,d4,f#4,a4]@6 [b3,d4]@3 [b3,d4,f#4,a4]@8 [b3,d4,f#4,a4]@9 [g3,c4,e4]@11 ~ [g3,c4,e4]@11 [g3,c4,e4]@11 ~ [g3,c4,e4]@11 ~ [c4,f4,a4]@2 ~ [c4,f4,a4]@4 ~ [c4,f4,a4]@2 ~ [c4,f4,a4]@5 ~ [c4,f4,a4]@2, [c4,e4]@11 ~@13 [b3,d4]@11 ~@48 [e3,g3,b3]@24 [g3,c4,e4]@21 ~@95 g3@46 ~@67, ~@92 g4@23 c5@13 ~@208]/7", // G Fmaj7 G F Bm Em F C …
  M: "~ [c4,f4,a4]@5 ~ [c4,a4]@2 ~ [c4,f4,a4]@4 ~@2 [c4,f4,a4]@2 [c4,f4,a4]@5 ~ [c4,f4,a4] ~@2 [c4,f4,a4,d5]@5 ~@16, ~@7 f4 ~@40", // F Dm7
  N: "~@26 [c#4,f4]@11 ~@6 g#3@5, ~@26 g#3@17 ~@5, ~@19 [c#4,f4]@5", // C#
  O: "~ [g#3,c4,d#4]@12 g#3@6 g#3@5 ~ [f#3,a#3,c#4,f4]@11 [f#3,a#3,c#4,f4]@11 ~, ~@13 [c4,d#4]@11 ~@24", // G# F#maj7 Cm
  P: "[[g#3,c4,d#4]@10 ~ [f#3,a#3,c#4]@10 ~@2 [g#3,c4]@11 ~@7 f3@4 ~@2 f3@5 f3@3 [f3,g#3,d4]@6 f3@2 ~ f3@5 ~ [f#3,a#3,c#4]@3 ~@3 [g#3,c4,d#4]@10 ~ [a#3,c#4,f4]@6 g#4@2 ~, ~@23 f3@17 ~@56, ~@35 [g#3,c4]@10 ~@2 [g#3,d4]@8 ~@6 [g#3,d4]@9 ~@26]/2", // G# F# G# Ddim F# G# A#m G# …
  Q: "[~@6 g#4@9 ~@6 [c#4,f4]@11 ~@6 g#3@5 ~ [g#3,c4,d#4]@11 g#3@6 g#3@5 ~ [f#3,a#3,c#4,f4]@12 [f#3,a#3,c#4,f4]@11 [g#3,c4,d#4]@10 ~@2 [f#3,a#3,c#4]@10 ~@2 [g#3,c4,d#4]@11 [g#3,c4,d#4]@11 ~ [g#3,c#4,f4]@12 [g#3,c#4,f4]@11 [f#3,a#3,c#4]@11 ~ [d#3,g#3,c4]@11 ~ [f#3,a#3,c#4]@8, g#4@6 ~@26 [c#4,f4]@11 ~@12 [c4,d#4]@11 ~@126, ~@3 [f#3,a#3,c#4]@17 ~ g#3@17 ~@154]/4", // C# G# F#maj7 G# F# G# C# F# …
  R: "[~@3 [f#3,a#3,c#4,f#4]@10 ~@2 [c#4,f4]@11 ~@6 g#3@5 ~ [c4,d#4]@12 ~@6 g#3@4 ~@2 c#4@17 [c#4,f#4,a#4]@3 [c#4,f#4,a#4]@6 [f#4,a#4,c#5]@2 ~ [f#4,a#4,c#5]@9 [a#4,c#5,f#5]@2 ~ a#4@5 [c#4,f4]@12 [c#4,f4]@11 ~ [c4,d#4]@11 ~@6 g#3@5 ~@18 [a#4,c#5,f#5]@3 [a#4,c#5,f#5]@6 [c#5,f#5,a#5]@3 [f#5,a#5]@9 [f#5,a#5,c#6]@3 [f#5,a#5,c#6]@3 ~@3 [g#3,c#4,f4]@46 ~@40, ~@15 g#3@17 ~@6 g#3@17 ~@7 [f#3,a#3]@28 ~@18 g#3@23 ~ g#3@17 ~@6 [f#3,a#3,c#4]@29 ~@104, ~@27 [c#4,f4]@10 ~@13 [c4,d#4]@10 ~@42 [c#5,f#5]@5 ~@36 [c4,d#4]@11 ~@30 c#5@15 ~@89]/6", // F# C# Cm F# C# Cm F# C# …
})).s("gm_piano").gain(0.38)

// bass · fretless bass · "FRETLESS"
const bass = note("<~@4 A B C D@8 E F G H I J K L@8 M@8 N@8 O P Q R@2 S@4 T@2 U@2 V@2>".pickRestart({
  A: "~@37 c3@11", B: "~@11 g2@2 ~ c3@17 ~ g2@3 ~@3 c3@10", C: "~@12 g2@2 ~ c3@17 ~ g2@3 ~@3 c3@9",
  D: "[~@13 g2@2 ~ c3@16 ~@2 g2@3 ~@3 c3@20 ~@2 g2@2 ~ c3@17 ~@2 g2@3 ~@2 c3@19 ~@3 g2@2 ~ c3@17 ~ g2@3 ~@4 c3@19 ~@2 g2@2 ~ c3@10 ~@2 b2@11 ~@2 a2@24 d2@23 ~@2 g2@24 a2@24 ~ d2@18 a2@6 d3@18 ~ d3@6 g2@17 ~ g2@5 ~ g2@11 ~@2 g1@3 a1@2 ~ c2@3 a1@3]/8",
  E: "c2@14 ~@4 c2@3 ~@3 c2@15 ~@3 c2@4 ~@2", F: "f2@15 ~@3 f2@3 ~@3 g2@10 ~@2 f2@9 ~@3",
  G: "e2@15 ~@3 e2@5 ~ a2@11 ~ a1@11 ~", H: "d2@15 ~@3 d2@4 ~@2 g2@10 ~@2 g1@2 ~ a1@2 ~ c2@3 a1@2 ~",
  I: "c2@15 ~@3 c2@4 ~@2 c2@16 ~@2 c2@5 ~", J: "f2@17 ~ f2@4 ~@2 g2@10 ~@2 f2@11 ~", K: "e2@22 ~@2 a2@23 ~",
  L: "[d2@11 ~ e2@11 ~ f2@11 ~ g2@10 ~ c3@46 ~@2 c2@41 ~@6 c2@18 ~@3 g1@3 c2@16 ~ g1@5 ~ c2@19 ~@2 g1@3 c2@16 ~@2 g1@3 ~@3 c2@19 ~ g1@3 c2@15 ~@3 g1@3 ~@3 c2@19 ~ g1@3 ~ c2@17 g1@2 ~@4 c2@19 ~@2 g1@3 c2@16 ~ g1@3 ~@3 c2@6]/8",
  M: "[~@15 g1@3 c2@10 ~@2 b1@10 ~@2 a1@23 d2@15 ~@3 d2@5 ~ g1@15 ~@3 g1@5 ~ a1@15 ~@2 a1@5 ~ d2@17 ~ a1@5 ~ d2@17 ~ d2@6 g2@17 d2@3 e2@3 g2@10 ~@2 g1@3 a1@2 ~ c2@3 a1@3 c2@16 ~@2 c2@4 ~@2 c2@16 ~@2 c2@4 ~ f2@16 ~@2 f2@5 ~ g2@11 ~ f2@11 ~ e2@17 e2@6 a2@23 ~ d2@11]/8",
  N: "[~@7 d2@5 ~ g2@11 g1@9 a1@2 ~ c2@17 ~ c2@3 ~@3 c2@16 ~@2 c2@4 ~@2 f2@16 ~ f2@4 ~@2 g2@11 ~ f2@10 ~@2 e2@22 ~@2 a2@22 ~ d2@10 ~@2 e2@10 ~ f2@10 ~@2 g2@10 ~@2 a2@2 ~@4 a2@8 d2@3 d#2@2 ~ e2@2 ~ a1@2 ~@4 a1@6 ~@3 a1@2 ~ d2@2 d#2@3 ~ e2@3 ~@2 e2@7 ~@2 a2@4 ~@2 b2@3 e3@4 ~ b2@3 ~ e3@4 ~ b2@3 e2@4 ~@2 a1@3 ~@3 a1@7 ~@2 d2@2 d#2@3 e2@3 a2@3 ~@3 a2@11 ~ a2@4 ~@2 g2@3 g2@4 ~@2 g2@2 g2@4 ~@2 g2@2]/8",
  O: "~ g2@4 ~@2 g2@2 ~ g2@3 d2 ~@2 g2@2 g2@4 ~@2 d2@3 g2@6 ~@15", P: "~@26 c#2@15 ~@2 c#2@3 ~@2",
  Q: "~ c#2@15 ~@3 c#2@3 ~@3 f#2@15 ~@2 f#2@3 ~@3",
  R: "[g#2@11 ~ f#2@11 f2@15 ~@3 f2@4 ~@2 a#2@15 ~@2 a#2@4 ~@2 d#2@3 ~@3 f2@10 ~ f#2@9]/2",
  S: "[~@3 g#2@7 ~@2 d#2@2 ~ g#1@4 ~@2 c#2@16 ~ c#2@4 ~@2 c#2@15 ~@2 c#2@4 ~@2 f#2@16 ~@2 f#2@4 ~@2 g#2@10 ~ f#2@10 ~@2 f2@16 ~ f2@4 ~@2 a#2@16 ~@2 a#2@5 d#2@10 ~@2 f2@10 ~@2 f#2@8]/4",
  T: "[~@3 g#2@10 ~@2 c#2@3 ~@3 c#2@5 ~ g#1@3 a#1@2 c#2@2 ~ c#2@2 ~ c#2@16 ~@2 g#1@3 a#1@3 c#2@3 ~@3 c#2@11 g#1@3 a#1@3 c#2@3 ~@3 c#2@5]/2",
  U: "[~ g#1@3 a#1@2 c#2@3 a#1@3 c#2@3 ~@3 c#2@5 ~ g#1@3 a#1@3 c#2@2 ~ c#2@2 ~ c#2@3 ~@3 c#2@11 g#1@3 a#1@3 c#2@3 ~@3 c#2@11 g#1@3 a#1@3 c#2@3 ~@3 c#2@5 ~ g#1@2]/2",
  V: "[~ a#1@3 c#2@3 a#1@3 c#2@47 ~@39]/2",
})).s("gm_fretless_bass").gain(0.44)

// chords · rock organ · "ORGAN 3"
const rock_organ = note("<~@15 A B C D E F G ~@12 H@8 ~@5 I J K@2 L@4 M@6>".pickRestart({
  A: "[c5,e5,g5] [b4,d5,g5]", B: "[a4,c5,e5]@2 [g4,b4,d5] [f4,a4,c5]", C: "[g4,b4,d5] [g4,a4,c#5]",
  D: "[f4,a4,c5] [a4,c5,f5]", E: "[e5,g5,c6] [d5,g5,b5]", F: "[c5,e5,a5]@2 [b4,d5] [a4,c5,f5], ~@24 g5@23 ~",
  G: "[g4,b4,d5,e5] ~", // Em7
  H: "[~@39 [c5,e5,g5]@24 [b4,d5,g5]@23 [a4,c5,e5]@23 ~ [g4,b4,d5]@12 [f4,a4,c5]@11 ~ [g4,b4,d5]@23 [g4,a4,c#5]@23 ~ [f4,a4,c5]@23 [a4,c5,f5]@24 [e5,g5,c6]@24 [d5,g5,b5]@23 ~ [c5,e5,a5]@23 [b4,d5]@12 [a4,c5,f5]@12 [g4,b4,d5,e5]@24 ~@37, ~@299 g5@23 ~@62]/8", // C G Am G F G A7 F …
  I: "~@13 [c#5,f5,g#5]@11", J: "~ [c5,d#5,g#5]@23 ~ [a#4,c#5,f5,g#5]@23",
  K: "[[c5,d#5]@12 [a#4,c#5]@11 [g#4,c5,d#5,g#5]@24 g#4@11 a#4@12 ~@26, [g#4,g#5]@23 ~@24 [d5,f5,g#5]@24 ~@25]/2", // Cm A#m G# Ddim
  L: "[~@21 [c#5,f5,g#5]@23 [c5,d#5,g#5]@23 [a#4,c#5,f5,g#5]@23 ~ [c5,d#5,g#5]@11 [a#4,c#5,d#5,f#5]@12 [g#4,c5,d#5,g#5]@23 [a#4,c#5,f5,g#5]@23 ~ f#4@11 [g#4,c5,d#5,g#5]@11 ~ a#5@8, ~@160 [a#4,c#5,f#5]@12 ~@11 [a#4,c#5,f5]@9]/4", // C# G# A#m7 G# D#m7 G# A#m7 G# …
  M: "[~@3 [a#4,d#5,f#5,g#5]@12 [c#5,f5]@23 [c5,d#5]@23 ~ [a#4,c#5,f#5,g#5]@46 [c#5,f5]@23 [c5,d#5]@24 [a#4,c#5,f#5,g#5]@46 ~ f5@46 ~@40, ~@15 g#5@46 ~@47 g#5@46 ~@47 [c#5,g#5]@47 ~@40]/6", // D#m C# Cm F# C# Cm F# C#5
})).s("gm_rock_organ").gain(0.3)

// other · pan flute
const pan_flute = note("<~@14 A B C@2 A D@2 E ~@12 F@4 G@3 H@5 ~ I@3 ~ J@2 K@2 L@2 M@4>".pickRestart({
  A: "~@5 e4 d4 c4", B: "g4@3 e4@19 ~@14 e4@6 e4@6", C: "[e4@3 d4@3 d4@12 c4@6 d4@6 g3@3 a3@3 b3@3 c4@3 d4@31 ~@23]/2",
  D: "[g4@3 e4@29 ~@4 e4@3 e4@6 e4@6 d4@9 d4@6 c4@3 d4@9 ~ g3@5 a3@4 b3@4 c4@4]/2", E: "d4@5 ~@19",
  F: "[~@21 e4@6 d4@6 c4@6 g4@3 e4@23 ~@9 e4@6 e4@6 e4@3 d4@3 d4@12 c4@6 d4@6 g3@3 a3@3 b3@3 c4@3 d4@27 ~@37]/4",
  G: "[~@18 e4@5 ~ d4@6 c4@6 g4@3 e4@30 ~@3 e4@3 e4@6 e4@6 f4@5 d4@9 c4@3 d4@9 g3@6 a3@4 b3@4 c4@4 d4@13]/3",
  H: "[~@3 b3@3 g3@4 c4@20 e3@4 f3@6 f3@3 e3@3 f3@6 e3@2 f3@9 g3@3 a3@9 c4@3 b3@14 c4@21 ~@9 [c4,e4]@5 [b3,d4]@44 [c4,e4]@3 [b3,d4]@12 [c4,e4]@35 ~@19]/5", // C Bm C Bm C
  I: "[~@8 f4@6 d#4@6 c#4@3 g#4@6 f4@29 ~@3 f4@6 f4@6 f4@4 d#4@4 d#4@9 c#4@3 d#4@9 g#3@3 a#3@3 c4@4 c#4@4 d#4@23 ~@5]/3",
  J: "[~@3 f4@6 d#4@6 c#4@3 g#4@8 f4@26 ~@3 f4@3 ~ f4@5 f4@6 f#4@6 d#4@9 c#4@2 d#4@9]/2",
  K: "[~@3 g#3@3 a#3@4 c4@4 c#4@3 d#4@18 f4@3 d#4@3 c#4@19 ~ f3@3 ~ f#3@5 f#3@3 f3@3 f#3@6 f3@3 f#3@8 g#3@3]/2",
  L: "[a#3@9 c#4@3 g#4@9 f4@9 f4@7 d4 d#4@3 ~ c#4@21 ~@28 f4@5]/2",
  M: "[~ d#4@5 c#4@3 d#4@6 f4@13 f4@4 f4@3 d4 d#4@3 ~ c#4@21 ~@27 f4@6 d#4@5 c#4@3 ~ d#4@7 f4@44 ~@38]/4",
})).s("gm_pan_flute").gain(0.16).pan(0.4)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@5 A@6 ~@14 B@6 ~@11 C@2 D@2 ~@15>".pickRestart({
  A: "[~@26 g4@3 ~@3 c5@3 ~@4 f4@26 ~@23 d4@24 c4@18 ~@6 c4@25 ~@12 g4@3 a4@4 c5@3 ~@2 f4@39 ~@12 d4@21 ~@31, ~@29 a4@7 a3@29 ~@21 g3@26 ~@23 g3@26 ~@22 a3@42 ~@9 g3@21 ~@33, ~@38 c4@27 ~@22 c4@23 ~@74 c4@41 ~@10 c4@20 ~@33]/6",
  B: "[~@34 g4@2 ~@4 c5@3 ~@3 f4@25 ~@22 d4@23 c4@18 ~@5 c4@24 ~@12 g4@3 a4@3 c5@3 ~@3 f4@38 ~@11 d4@20 ~@32, ~@36 a4@7 a3@28 ~@20 g3@25 ~@22 g3@26 ~@20 a3@41 ~@8 g3@20 ~@35, ~@44 c4@26 ~@22 c4@22 ~@72 c4@39 ~@10 c4@19 ~@34]/6",
  C: "[~@39 a3@13 ~ a3@2 ~ c4@3 ~@3 e4@12 ~@6 d4@3 ~@2 d4@3 ~@3 d4@5]/2",
  D: "[~ c4@10 ~ d4@3 ~ a3@2 c4@3 ~ a3@2 g3@4 ~@2 a3@3 ~@3 e4@3 g4@2 ~ a4@26 ~@28]/2",
})).s("gm_electric_guitar_jazz").gain(0.22).pan(0.3)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@12 A@3 B C D E F G H I@3 ~@5 J@5 K@4 L@8 M N O P@3 Q@4 R@2 S@2>".pickRestart({
  A: "[~@21 e4@48 ~ f#4@24 g4@25 ~ d4@24, ~@119 g5@25]/3", B: "g5@12 c6@12 b5@11 g5@13", C: "a5@4 g5@3 f5",
  D: "g5@6 e5 f5 g5@5 e5 f5 g5", E: "f5", F: "c6@6 b5 c6 b5@8", G: "a5@4 g5@3 b5", H: "g5",
  I: "[f5@12 e5@5 d5@6 c5@12 a4@12 ~@48 d4@24 c4@24 ~, ~@47 g4@94 ~@3]/3",
  J: "[~@30 g4@12 e4@35 d4@6 c4@6 d4@18 b3@6 c4@35 g4@6 a4@6 f#4@24 g4@23 g5@12 f5@12 g5@9]/5",
  K: "[~@3 c6@12 b5@11 g5@12 a5@24 g5@18 f5@6 g5@17 e5@3 f5@3 g5@15 e5@3 f5@3 g5@3 f5@47 c6@12]/4",
  L: "[~@6 b5@3 c6@3 b5@23 a5@24 g5@18 b5@6 g5@24 e5@23 [f4,f6]@11 ~ e6@11 c6@12 a5@5 g5@6 ~ a5@34 b5@6 c6@5 ~ b5@47 [a6,c7]@6 [d#6,g#6]@5 [e6,a6]@6 [b5,d#6]@5 ~@7 b5@5 ~ c6@5 ~ g#5@5 [f5,a5]@47 [f5,d6]@4 ~@17, ~@141 g4@12 a4@25 ~@115 [c6,e6]@9 ~@82, ~@149 g#5@3 a5@3 e5@3 ~@34]/8", // F Am G#5 A5 B F Dm C
  M: "~@13 g#5@6 c#6@5", N: "~ c6@18 g#5@5 a#5@23 ~", O: "c6@11 a#5@12 g#5@25",
  P: "[~@4 f5@3 f#5@3 g#5@11 ~ f#5@3 ~@3 g#5@10 ~@2 a#5@20 ~@3 f#5 g#5 ~ a#5 c6@2 c#6@17 c6@3 c#6@3 c6@14 c#6@3 c6@3 g#5@3 a#5@24 ~@5]/3",
  Q: "[g#5@3 f6@3 d#6@6 c6@6 g#5@43 ~@3 f#6@11 ~ f6@11 ~ c#6@11 f#5 ~ g#5 a#5 ~ c6 c#6 ~ d6 d#6 ~ e6 [g#5,f6]@23 [g#5,d#6]@23 [g#5,c#6]@17 ~ [g#5,g#6]@2 ~ [g#5,g#6]@2 ~ [g#5,g#6]@3 ~@3 [g#5,g#6]@2 ~ [g#5,g#6]@2]/4", // C# G#5 C#5 G#
  R: "[~@4 [g#5,g#6]@2 ~ g#5@3 ~@2 [g#5,f6]@23 ~ g#5@21 ~@2 g#5@15 ~@3 g#6@2 ~ g#6@2 [g#5,g#6]@3 ~@3 [g#5,g#6]@2 ~ [g#5,g#6]@3 ~@2, ~@6 g#6@4 ~@25 d#6@23 c#6@17 ~ g#5@2 ~ g#5@2 ~@15]/2", // G# C# G#
  S: "[~ [g#5,g#6]@2 ~ [g#5,g#6]@4 ~@2 [g#5,f6]@47 ~@39]/2", // G# C#
})).s("gm_string_ensemble_1").gain(0.33).pan(0.3)

// other · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note("<~@8 A@7 ~@9 B@5 ~@32>".pickRestart({
  A: "[~@42 c4@79 g4@18 ~ [c4,e4]@49 [b3,d4]@24 c4@73 ~ c4@25 ~@24]/7", B: "[~@46 e6@47 f6@47 g6@47 ~ g6@44 ~@8]/5",
})).s("gm_string_ensemble_1").gain(0.16).pan(0.3)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1_2 = note("<~@10 A@5 ~@4 B C D E@3 ~@7 F@3 ~@3 G H@8 I@3 J@7 K@2 L@2>".pickRestart({
  A: "[~@44 g3@36 f#3@12 g3@24 ~@2 g3@48 f#3@25 f3@24 ~ g3@24]/5", B: "e5@9 d5 e5@2 d5@12", C: "c5 d5",
  D: "b4@23 c5@24 ~",
  E: "[a4@11 g4@6 f4@5 ~ f4@24 ~@24 c4@23 [g3,b3]@24 ~ a3@22 ~@3, ~@47 d4@24 ~@47 f3@22 ~@4, ~@48 e4@47 ~@49]/3", // G
  F: "[~@17 [e3,g3]@46 [f#3,a3]@24 [a3,c4]@24 [g3,b3]@24 ~@9]/3", G: "~@3 e5",
  H: "[~@6 d5@2 e5@4 d5@23 c5@24 d5@24 b4@24 g4@23 a3@11 ~ e4@11 f4@24 [g3,c4,e4]@46 [g3,b3,d4,f#4]@46 ~ g3@46 ~ [a3,f4]@52 ~@15, ~@130 c4@47 ~@92 [c4,e4]@47 c4@52 ~@16]/8", // C Gmaj7 Dm C
  I: "[~@26 g#6@46 ~ g#6@45 ~@2 g#6@23 ~]/3",
  J: "[~@4 d5@2 ~ d#5@2 ~ f5@9 ~@3 a#4@2 ~@3 c5@9 ~@3 c#5@23 ~ c#6 d#6 ~ f6 f#6 ~ g#6@46 g#6@46 ~ g#6@46 ~ f#4@11 [f4,g#4]@12 [f#4,a#4]@11 f#5 ~ g#5 a#5 ~ c6 c#6 ~ d6 d#6 ~ e6 [f4,g#4]@23 ~ d#4@21 ~@2 [c#4,f#4]@16 ~ [c#4,f#4]@2 ~ [c#4,f#4]@2 ~ [c#4,f#4]@4 ~@2 [c#4,f#4]@2 ~ [c#4,f#4]@2, ~@208 d#4@11 ~@59 g#4@22 ~@36]/7", // Fm F# Fm F#5
  K: "[~@4 [c#4,f#4]@2 [c#4,f#4]@3 ~@3 [f4,g#4]@23 ~ [d#4,g#4]@22 ~ [c#4,f#4]@16 ~@2 c#4@2 ~ c#4@2 [c#4,f#4]@4 ~@2 [c#4,f#4]@2 ~ [c#4,f#4]@4 ~, ~@76 f#4@2 ~ f#4@2 ~@15]/2", // F#5 Fm G#5 F#5
  L: "[~ [c#4,f#4]@2 ~ [c#4,f#4]@3 ~@3 [f4,c#5]@46 ~@40]/2", // F#5 C#
})).s("gm_string_ensemble_1").gain(0.33).pan(0.7)

// other · french horn · "FR.HORN"
const french_horn = note("<~@2 A B C@2 ~@13 D E F ~@8 G ~@8 H@3 I@2 ~@17>".pickRestart({
  A: "~@35 e4@2 ~@4 g4@7", B: "~@5 b4@2 ~@5 g4@11 ~ c5@2 ~@4 g4@10 ~@2 a4@3 ~@3",
  C: "[g4@3 ~@4 b4@12 g4@2 ~@4 d5@12 ~ c5@49 ~@9]/2", D: "~@12 c4@12 d4@11 ~ e4@11 ~", E: "e4@11 f4@12 ~ g4@12 a4@11 ~",
  F: "b3@12 c4@11 ~", G: "~@6 c4@35 ~@7", H: "[c4@12 d4@12 e4@12 e4@11 f4@11 ~ g4@12 a4@11 b4@25 c5@23 ~@14]/3",
  I: "[~@12 a4@2 ~ b4@2 ~ c5@5 ~ a4@2 ~ c5@2 ~ d5@8 c5@2 ~ d5@2 ~ e5@26 ~@26]/2",
})).s("gm_french_horn").gain(0.33).pan(0.4)

// other · oboe
const oboe = note("<~@10 A@5 ~@13 B@2 ~@31>".pickRestart({
  A: "[~@31 g4@13 a4@48 b4@18 ~ b4@6 c5@49 d5@18 ~ b4@6 a4@24 ~ g4@23 ~]/5", B: "[~@32 e5@3 f5@2 g5@3 c5@50 ~@6]/2",
})).s("gm_oboe").gain(0.22).pan(0.7)

// other · french horn · "FR.HORN"
const french_horn_2 = note("<A B C@2 D@2 ~@55>".pickRestart({
  A: "~@33 e4 ~@5 g4@9", B: "~@3 b4@2 ~@4 g4@11 ~@2 c5@2 ~@4 g4@9 ~@3 c5@2 ~@4 g4@2",
  C: "[~@4 d5@12 ~ g4@4 ~@2 f5@11 ~ e5@51 ~@4 c5@6]/2", D: "[~@6 d5@18 ~ f5@12 e5@49 ~@10]/2",
})).s("gm_french_horn").gain(0.27).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@15 A B A C A D ~ E ~ F G H I J K L M N O P Q R S T U V W X Y Z AA ~ AB AC AD AE AF AG AH AI AJ AK AL AM AN ~
>`.pickRestart({
  A: "x ~@6 x!2 ~@7", B: "x ~@6 x!2 ~@5 x ~", C: "x ~@2 x!2 ~@3", D: "x ~@6 x!2 ~ x ~@3 x ~", E: "x ~@46 x",
  F: "~@23 x", G: "~@19 x ~@2 x ~@16 x ~@5 x ~@2", H: "~@6 x!2 ~@5 x ~ x", I: "~@17 x ~@2 x ~@17 x ~@5 x ~@3",
  J: "~@17 x ~@2 x ~@16 x ~@5 x ~@4", K: "~@16 x ~@2 x ~@17 x ~@4 x ~@5", L: "~@5 x!2 ~@5 x ~ x ~",
  M: "~@14 x ~@2 x ~@17 x ~@5 x ~@6", N: "~@14 x ~@2 x ~@16 x ~@5 x ~@7", O: "~@13 x ~@2 x ~@17 x ~@5 x ~@7",
  P: "~@3 x ~@7 x ~ x ~@2", Q: "~@12 x ~@2 x ~@19 x ~@2 x ~@9", R: "~@11 x ~@2 x ~@17 x ~@5 x ~@9",
  S: "~@10 x ~@2 x ~@20 x ~@2 x ~@5 x ~@4", T: "~@7 x ~@28 x ~@11", U: "~@3 x!2 ~@6 x!2 ~@3",
  V: "~@8 x ~@2 x ~@5 x ~@17 x ~@12", W: "~@17 x ~@5 x", X: "~@3 x ~@3 x ~@3 x ~@2 x ~",
  Y: "~@5 x ~@2 x ~@8 x ~@11 x ~ x ~@8 x ~@7", Z: "~@4 x ~@2 x ~@8 x ~@10 x ~@2 x ~@8 x ~@8",
  AA: "~@2 x ~@2 x ~@8 x ~@11 x ~@21", AB: "~@13 x ~@9 x", AC: "~ x ~@20 x ~@2 x ~@19 x ~@2",
  AD: "x ~@19 x ~@2 x ~@20 x ~@2 x", AE: "~@28 x ~@10 x ~@8", AF: "~@21 x ~@19 x ~@2 x ~@3",
  AG: "~@16 x ~@2 x ~@20 x ~@2 x ~@4", AH: "~@18 x ~@19 x ~@2 x ~@6", AI: "~@4 x ~@2 x ~@4",
  AJ: "~@15 x ~@20 x ~ x ~@9", AK: "~@8 x ~@5 x ~@19 x ~@2 x ~@5 x ~@4", AL: "~@4 x ~@6 x!2 ~@3",
  AM: "~@5 x ~@5 x ~@17 x ~@10 x ~@7", AN: "~@5 x ~@18",
})).gain(0.33)

// drums · rim
const rim = s("rim").struct(`<
  ~@25
  [~@10 x ~@22 x ~@14]
  [~@3 x ~@7 x ~@4]
  [~ x ~@2 x ~]
  [~@8 x ~@22 x ~@16]
  [~@7 x ~@23 x ~@16]
  [~ x ~@6]
  ~@30
>`).gain(0.38)

// drums · snare
const snare = s("sd").struct(`<
  ~@15 A@3 B A@2 ~ B ~@8 C D E F G H I J K L ~ M N O P Q R S T U V W C X Y Z AA AB ~@2
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@2 x!2 ~@7", C: "~@6 x ~@22 x ~@18", D: "~@5 x ~@23 x ~@18", E: "~ x ~@5 x ~@4",
  F: "~@4 x ~@7 x ~@2 x ~@32", G: "~@3 x ~@22 x ~@21", H: "~ x ~@11 x ~@10", I: "~ x ~@23 x ~@22",
  J: "~ x ~@11 x ~@2 x ~@31", K: "x ~@23 x ~@22 x", L: "~@23 x ~@2 x ~@21", M: "~@15 x ~@28 x ~@3",
  N: "~@20 x ~@22 x ~@4", O: "~@3 x ~@3 x", P: "~@17 x ~@11 x ~@2 x ~@4 x ~@2 x ~@5 x ~",
  Q: "~ x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@4 x ~@20", R: "~@11 x ~@26 x ~@9", S: "~@13 x ~@22 x ~@11",
  T: "~@12 x ~@22 x ~@12", U: "~@5 x ~@5 x ~@12", V: "~@2 x!2 ~@28 x ~@15", W: "~@8 x ~@22 x ~@16",
  X: "~@5 x ~@2 x ~@25 x ~@2 x ~@2 x ~@7", Y: "~ x ~@7 x ~@6", Z: "~@2 x ~@22 x ~@11 x ~@5 x ~@2 x ~",
  AA: "~@4 x ~@19 x ~@22 x", AB: "~@23 x ~@10 x ~@2 x ~@10",
})).gain(0.49)

// drums · low tom
const low_tom = s("lt").struct("<~@14 A ~@3 B ~@3 C ~@11 D ~@3 E ~@3 F ~@2 G H I ~@2 J ~@6 K ~ L ~>".pickRestart({
  A: "~@7 x", B: "~@12 x!3 ~", C: "~@38 x ~@2 x ~@6", D: "~@11 x!2 ~@3", E: "~@30 x ~@2 x ~ x ~@12", F: "~@8 x!3 ~@5",
  G: "~@29 x ~@2 x ~@4 x ~@2 x ~@5 x ~", H: "~ x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@13 x ~@8 x ~@2",
  I: "~@17 x ~@2 x ~@27", J: "~ x ~", K: "~@3 x ~@12", L: "~@4 x ~@2 x ~@40",
})).gain(0.44)

// drums · low tom · soft notes
const low_tom_soft = s("lt").struct("<~@14 A ~@7 B ~ C ~@9 D ~@26>".pickRestart({
  A: "~@13 x ~@2", B: "~@35 x ~@12", C: "~@5 x", D: "~@9 x!2 ~@5",
})).gain(0.27)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@15 A B@2 C A B ~ C ~@2 D E F G H I J K L M N O P Q R S ~ T U V W T X Y Z AA AB AC AD ~ AE AF AG AH ~@2
>`.pickRestart({
  A: "~ x!3", B: "x!4", C: "x ~ x!2 ~@4", D: "~@10 x ~@11 x ~@10 x ~@11 x ~@2", E: "~@3 x ~@3 x ~@3 x ~@3 x",
// … 50 more lines

More by Barry Manilow