Strudelify

Endless Dream: a) Silent Spring (instrumental) - b) Talk - c) Endless Dream

Yes

KeyD majorTempo134 bpm
0:00/0:00
// Endless Dream: a) Silent Spring (instrumental) - b) Talk - c) Endless Dream — Yes
// 134 bpm, 5/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (5/4 at bar 1, 4/4 at bar 54) are rendered on a constant 5/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 51 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(134/5)

// 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 · electric bass finger · "Squire"
const bass = note("<~@3 A@3 B@6 C@3 D@7 E F@2 G H I J@2 E F@2 K@2 I L E F@2 ~@4 K@2 I L E F@2>".pickRestart({
  A: "[~ e1@47]/3", B: "[~@2 e1@95 ~ d1@94]/6", C: "[~@5 e1@27]/3", D: "[~@2 e1@96 d1@115 ~@11]/7",
  E: "e1@2 ~ e1 ~ f#1@2 ~ f#1@2 g1@2 ~@2 a1@2 ~@3 b1@3 a1@2 g1@2 d1@6, ~@13 g1@2 ~@3 a1@2 ~@12",
  F: "c1@5 ~ c1@2 ~@2 c1 c1@2 ~@3 c1 ~ c1 c1@2 ~ c1 ~@3 c1@2 ~ c1 ~@2", G: "d1@6 e1@6 ~ g1@4 ~ f#1@8 e1@6",
  H: "d1@6 ~ e1@6 g1@4 f#1@8 ~ e1@5 ~", I: "d1@6 ~ e1@6 a1@5 g1@4 b1@6 ~@2 g1 ~, ~@29 a1@2 ~",
  J: "d1@6 e1@6 ~ g1@5 f#1@8 e1@6", K: "d1@6 e1@6 ~ g1@4 f#1@5 ~ e1@3 d1@6", L: "d1@6 e1@6 ~ g1@4 f#1@8 ~ e1@6",
})).s("gm_electric_bass_finger").gain(0.54)

// chords · piano · "Seq. Rabin"
const piano = note("<A@8 B@8 C@6 ~@3 D@15 ~@4 D@7>".pickRestart({
  A: "[~@2 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5, ~@6 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2]/8", // Bm D5 Bm D5 Bm D5 Bm D5 …
  B: "[~ d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5, ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2]/8", // Bm D5 Bm D5 Bm D5 Bm D5 …
  C: "[~ d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 g5 a5 e5 [a5,d6] ~ g5 [a5,d6] g5 ~ [a5,d6], ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 d6@3 ~@7]/6", // Bm D5 Bm D5 Bm D5 Bm D5 …
  D: "[b5,d6] ~ [b5,d6] f#5 ~ [a5,d6] g5 ~ [a5,d6] ~ g5 [a5,d6] ~ [b5,d6] f#5 ~ [a5,d6] ~ f#5 d6@2 a5 e5 ~ [a5,d6] ~ g5 [a5,d6] ~ g5 [a5,d6] ~, ~@19 g5 ~@12", // Bm D5 Bm D5
})).s("gm_piano").gain(0.3)

// chords · overdriven guitar · "Rabin1"
const overdriven_guitar = note(`<
  ~@3 A@3 B@3 C@3 D@3 E@3 F@4 G ~@2 H@2 I H@2 J@2 ~ K@2 I H L@2 ~@5 K@2 I H L@2 ~
>`.pickRestart({
  A: "[~ e4@47]/3", B: "[~@2 e4@93 ~]/3", C: "[~@2 e4@91 ~@3]/3", D: "[~@3 e4@5 ~ e4@5 ~ e4@77 ~@4]/3",
  E: "[~@3 e4@88 ~@5]/3", F: "[~@2 e4@113 ~@3 e4@4 ~ e4@4 ~]/4",
  G: "e3@2 ~ e3@2 f#3@2 ~ f#3 ~ g3@2 ~@2 a3@2 ~@2 a3 b3@3 ~ a3 g3@2 d3@6, ~@13 g3@2 ~@17",
  H: "d3@6 e3@6 ~ g3@5 f#3@8 e3@6", I: "d3@6 e3@6 ~ a3@5 g3@4 b3@6 ~@2 g3@2, ~@29 a3@2 ~",
  J: "[[b3,d4]@2 ~ [d4,f#4]@2 ~ [f#4,a4]@2 [g4,b4]@2 ~ [b4,d5]@2 ~ [d5,f#5]@2 [e5,g5]@2 ~ [g5,b5]@2 ~ [b5,d6]@2 [c6,e6]@2 ~ [a5,c6]@2 ~ [f#5,a5]@14 ~@20, ~@2 [c4,e4]@2 ~ [e4,g4]@2 ~@3 [a4,c5]@2 ~ [c5,e5]@2 ~@3 [f#5,a5]@2 ~ [a5,c6]@2 ~@3 [b5,d6]@2 ~ [g5,b5]@2 ~@33]/2", // Bm D F#m G Bm D Em G …
  K: "d3@6 e3@6 ~ g3@5 f#3@4 e3@3 ~ d3@6",
  L: "[[b3,d4]@2 ~ [d4,f#4]@2 ~ [f#4,a4]@2 [g4,b4]@2 ~ [b4,d5]@2 ~ [d5,f#5]@2 [e5,g5]@2 ~ [g5,b5]@2 ~ [b5,d6]@2 [c6,e6]@2 ~ [a5,c6]@2 ~ [f#5,a5]@8 ~@26, ~@2 [c4,e4]@2 ~ [e4,g4]@2 ~@3 [a4,c5]@2 ~ [c5,e5]@2 ~@3 [f#5,a5]@2 ~ [a5,c6]@2 ~@3 [b5,d6]@2 ~ [g5,b5]@2 ~@33]/2", // Bm D F#m G Bm D Em G …
})).s("gm_overdriven_guitar").gain(0.45)

// chords · overdriven guitar · "Rabin2"
const overdriven_guitar_2 = note("<~@14 A B@3 C@4 ~ D E ~@6 F@2 ~@5 F@2 ~@9 F@2>".pickRestart({
  A: "~@6 e4 ~@25", B: "[~@15 e4@13 b4@14 g4@13 a4@17 e4@24]/3", C: "[~@15 e4@14 b4@13 ~ g4@12 a4@19 d4@24 g6@30]/4",
  D: "[d4,f#4]!2 ~ [d4,f#4]@3 [c4,e4]@3 ~ [d4,f#4] [e4,g4]@2 ~ [e4,g4]@2 [d4,f#4]@3 [e4,g4]@2 ~ [d4,f#4]@2 ~@2 [c4,e4]@2 ~ [d4,f#4]@2 ~", // D C D Em D Em D C …
  E: "[d4,f#4]!2 ~ [d4,f#4]@3 [c4,e4]@3 ~ [d4,f#4] [e4,g4]@2 ~ [e4,g4]@3 ~@2 [d4,f#4]@2 ~ [c4,e4]@2 ~@2 [d4,f#4]@2 ~ [c4,e4]@2 ~, ~@9 [e4,g4] ~@6", // D C D Em D C D C …
  F: "[d4,f#4,a4] ~ [d4,f#4,a4]!2 ~ [d4,f#4,a4] [c4,f#4,a4]@3 ~ [d4,f#4,b4] [e4,g4,c5]@2 ~ [e4,g4,c5]@2 [d4,f#4,b4]@3 [c4,e4,a4]@2 ~ [d4,f#4,b4]@2 ~@2 [e4,g4,c5]@2 ~ [d4,f#4,b4]@2 ~", // D F#dim Bm C Bm Am Bm C …
})).s("gm_overdriven_guitar").gain(0.4)

// other · acoustic guitar steel · "Rabin3"
const acoustic_guitar_steel = note(`<
  ~@40
  [b4@2 ~ g5@2 ~ e5@2 b4@2 ~ d5@3 b4@2 g4@2 ~ d5@2 ~ b4@2 d4@2 ~ a4@2 ~ g4@2, ~@2 d5@2 ~ d5@2 ~@11 a4@2 ~ a4@2 ~@3 e4@2 ~ d4@2 ~]!4
  ~@7
>`).s("gm_acoustic_guitar_steel").gain(0.35)

// chords · rock organ · "Kaye"
const rock_organ = note("<~@6 A@6 B@8 ~@5 C@8 D@4 E@6 F G@4 ~@3>".pickRestart({
  A: "[~@2 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5, ~@6 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2]/6", // Bm D5 Bm D5 Bm D5 Bm D5 …
  B: "[~ d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 [a5,d6]@242, ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@245]/8", // Bm D5
  C: "[d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 d6@2 d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 d6@2 d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 d6@2 d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 d6@2 d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 [a5,d6]@98, b5 ~ d6@3 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@6 a5@7 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@6 a5@7 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@6 a5@7 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@6 a5@7 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@104, ~@13 d6@3 ~@3 d6@5 ~@8 b5 ~ d6@3 ~@8 d6@3 ~@3 d6@5 ~@8 b5 ~ d6@3 ~@8 d6@3 ~@3 d6@5 ~@8 b5 ~ d6@3 ~@8 d6@3 ~@3 d6@5 ~@8 b5 ~ d6@3 ~@8 d6@3 ~@3 d6@5 ~@104]/8", // D5
  D: "[d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 d6@2 d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 d6@2 d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 d6@2 d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 [a5,d6]@2 g5 [a5,d6]@2, b5 ~ d6@3 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@6 a5@7 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@6 a5@7 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@6 a5@7 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@8, ~@13 d6@3 ~@3 d6@5 ~@8 b5 ~ d6@3 ~@8 d6@3 ~@3 d6@5 ~@8 b5 ~ d6@3 ~@8 d6@3 ~@3 d6@5 ~@8 b5 ~ d6@3 ~@8 d6@3 ~@3 d6@5 ~@8]/4", // D5
  E: "[d6@2 b5 f#5 ~@2 g5 ~ [a5,d6]@2 g5 d6@2 b5 f#5 ~ d6@2 f#5 g5 ~@2 e5 ~ [a5,d6]@2 g5 ~@2 g5 ~@130 [e6,g6]@3 ~@2 [e6,g6]@3 ~@2 [f#6,g6]@3 ~@2 f#6@3 ~ g6@3 ~@2 g6@3 ~@2 [f#6,g6]@3, b5 ~ d6@3 [a5,d6]@3 ~@3 a5@5 a5@5 a5@3 ~@3 [a5,d6]@4 ~@143 g6@3 ~@15, ~@13 d6@3 ~@3 d6@5 ~@6 d6@149 d6@8 ~@5]/6", // D5 Em Gmaj7 D5
  F: "~@2 [f#6,g6]@3 ~ [e6,g6]@3 ~@2 [e6,g6]@3 ~@2 [f#6,g6]@3 ~@2 [f#6,g6]@3 ~@2 [e6,g6]@5 ~", // Gmaj7 Em Gmaj7 Em
  G: "[~@23 b6@6 [e6,b6]@79 ~@20]/4", // E5
})).s("gm_rock_organ").gain(0.15)

// chords · synth strings 1 · "Kaye"
const synth_strings_1 = note("<~@12 A@8 B@2 C@2 ~@27>".pickRestart({
  A: "[~@15 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5, ~@17 f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2]/8", // Bm D5 Bm D5 Bm D5 Bm D5 …
  B: "[~ d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 ~ a5@2 ~ [a5,d6]@2 g5@2 ~ g5@2 d6 [b5,d6]@2 [b5,d6]@2 ~ [a5,d6]@2 ~ [a5,d6]@2 g5@2 d6 [b5,d6]@2 ~ [a5,d6]@2 f#5@2 g5 a5 e5 [a5,d6] ~ g5 [a5,d6] g5 ~ [a5,d6], ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 [g5,d6]@3 e5@2 ~@3 [a5,d6]@2 ~ a5@2 ~@3 f#5@2 ~ g5@2 ~@3 a5@2 ~ f#5@2 ~@3 d6@3 ~@7]/2", // Bm D5 Bm D5 Bm D5 Bm D5 …
  C: "[d4@2 ~ f#4@2 ~ a4@2 b4@2 ~ d5@2 ~ f#5@2 g5@2 ~ b5@2 ~ d6@2 e6@2 ~ c6@2 ~ a5@7 ~@27, ~@2 e4@2 ~ g4@2 ~@3 c5@2 ~ e5@2 ~@3 a5@2 ~ c6@2 ~@3 d6@2 ~ b5@2 ~@33]/2",
})).s("gm_synth_strings_1").gain(0.15)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A ~@2 A ~@2 A ~@2 B ~@2 A ~@2 A ~@2 C D E F G H I J K D E@2 G@2 L H D E@2 M N E O G H P H D E Q
>`.pickRestart({
  A: "~ x ~@14", B: "~@2 x ~@6 x ~@5 x ~@16", C: "~@22 x ~@4 x ~@4", D: "x ~@4 x ~@4 x ~@3 x ~@4 x ~@6 x ~@5",
  E: "x ~@10 x ~@2 x ~ x ~@5 x ~@3 x!2 ~@4", F: "x ~@10 x ~@2 x ~ x ~@5 x ~@3 x ~@5", G: "x ~@12 x ~@12 x ~@3 x ~",
  H: "x ~@12 x ~@12 x ~@5", I: "~@2 x ~@10 x ~@8 x ~@4 x ~ x!2 ~", J: "x ~@10 x ~ x ~@12 x ~@5",
  K: "~@6 x ~@9 x ~@5 x ~@6 x ~@2", L: "x ~@12 x ~@8 x ~@6 x ~@2", M: "x ~@4 x ~@4 x ~@3 x ~@3 x!2 ~@6 x ~@3 x ~",
  N: "x ~@10 x ~@2 x ~ x ~@5 x ~@4 x ~ x!2 ~", O: "x ~@2 x ~ x ~@5 x ~ x ~@12 x ~@5", P: "~@2 x ~@10 x ~@8 x ~@6 x ~@2",
  Q: "x ~@10 x ~@2 x ~ x ~@5 x ~@3 x ~@2 x ~@2",
})).gain(0.4)

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

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@4 A ~@2 B ~@2 C D ~@10 E F G H I J K L E F@2 H@2 M I E F@2 N O F P H I Q I E F R
>`.pickRestart({
  A: "~@17 x ~@11 x ~@2", B: "~@16 x ~@10 x ~@4", C: "~@31 x", D: "~@11 x ~@20",
  E: "x ~@4 x ~@4 x ~@3 x ~@4 x ~@6 x ~@5", F: "x ~@10 x ~@2 x ~ x ~@5 x ~@3 x!2 ~@4",
  G: "x ~@10 x ~@2 x ~ x ~@5 x ~@3 x ~@5", H: "x ~@12 x ~@12 x ~@3 x ~", I: "x ~@12 x ~@12 x ~@5",
  J: "~@2 x ~@10 x ~@8 x ~@4 x ~ x!2 ~", K: "x ~@10 x ~ x ~@12 x ~@5", L: "~@6 x ~@9 x ~@5 x ~@6 x ~@2",
  M: "x ~@12 x ~@8 x ~@6 x ~@2", N: "x ~@4 x ~@4 x ~@3 x ~@3 x!2 ~@6 x ~@3 x ~",
  O: "x ~@10 x ~@2 x ~ x ~@5 x ~@4 x ~ x!2 ~", P: "x ~@2 x ~ x ~@5 x ~ x ~@12 x ~@5", Q: "~@2 x ~@10 x ~@8 x ~@6 x ~@2",
  R: "x ~@10 x ~@2 x ~ x ~@5 x ~@3 x ~@2 x ~@2",
})).gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@12 [~@2 x ~@6 x ~@22] ~@8 [~@22 x ~@4 x ~@4] ~@29>").gain(0.5)

// drums · crash
const crash = s("cr").struct(`<
  ~@3 A ~@2 A ~@2 A ~@2 B ~@2 A ~@2 A ~@3 C D@4 A D ~ C D@6 C D@2 E@4 D@2 F D C D@2
>`.pickRestart({
  A: "~ x ~@14", B: "~@15 x ~@16", C: "x ~@4 x ~@4 x ~@3 x ~@4 x ~@6 x ~@5", D: "x",
  E: "x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2", F: "~@3 x ~@28",
})).gain(0.35)

// drums · ride
const ride = s("rd").struct("<~@23 A@2 B C D E F ~ G@2 B@2 H B ~ G@2 ~@4 B@2 D B ~ G I>".pickRestart({
  A: "~@3 x ~@2 x ~@3 x ~@3 x ~@4 x ~@2 x ~ x ~ x ~@2 x!2 ~",
  B: "~@3 x ~@2 x ~ x ~ x ~@2 x ~@2 x ~ x!2 ~@2 x ~@3 x ~@2 x!2 ~",
  C: "~@3 x ~@2 x ~@3 x!2 ~ x ~@2 x ~@2 x ~@2 x ~ x ~ x ~@2 x ~@2",
  D: "~@6 x ~@3 x ~@2 x!2 ~ x ~@2 x ~@2 x ~ x ~ x ~@2 x!2 ~",
  E: "~@3 x ~@2 x ~@3 x!2 ~ x ~@2 x ~@2 x ~ x!2 ~@3 x ~@2 x ~@2",
  F: "x ~@2 x ~@2 x ~@3 x!2 ~ x!2 ~ x ~@2 x ~@2 x ~ x ~ x ~@2 x!2 ~",
  G: "~@6 x ~ x ~@2 x ~@2 x ~@4 x ~@2 x ~ x ~ x ~@2 x!2 ~",
  H: "~@3 x ~@2 x ~@3 x ~@2 x!2 ~ x ~@2 x ~@2 x ~ x ~ x ~@2 x!2 ~",
  I: "~@6 x ~ x ~@2 x ~@2 x ~@4 x ~@2 x ~ x ~ x ~@2 x ~@2",
})).gain(0.3)

// drums · shaker
const shaker = s("sh").struct("<~@4 [~@17 x ~@11 x ~@2] ~@2 [~@16 x ~@10 x ~@4] ~@2 [~@31 x] [~@11 x ~@20] ~@39>")
  .gain(0.25)

stack(
  bass, piano, overdriven_guitar, overdriven_guitar_2, acoustic_guitar_steel, rock_organ, synth_strings_1, kick, snare,
  low_tom, mid_tom, crash, ride, shaker
)

More by Yes