Strudelify
Words cover art

Bee Gees: 1967 - 1969

Words

Bee Gees

KeyG majorTempo82 bpm
0:00/0:00
// Words — Bee Gees
// 82 bpm, 4/4, key G 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 66 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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
const piano = note(`<
  A B C@2 D E F G H I J K L M N O P Q R S T D U V W X J Y Z AA AB AC AD AE AF AG AH@2 AI AJ AK AL AM AN AO AP AQ@2 AR AS
  AT AU AV AW AX AY ~@3 AZ@7
>`.pickRestart({
  A: "[g4,g5]@12 [g4,g5]!2 [g4,g5]@2", B: "[g4,g5]@5 [g4,g5] [g4,g5]@2",
  C: "[~@4 g3!2 ~ c4 ~@5 b3 ~ [c4,d4], g3@8 ~@5 g3@3 g3@8 g3@4 ~ g3@3, ~ b3@2 b3@3 [c4,d4] ~@2 b3@2 b3@2 ~ [c4,d4] ~, ~@2 d4@4 ~ d4@3 d4@4 ~@2]/2", // Csus2
  D: "[g3,b3,d4]!4", E: "[g3,b3,d4]@3 [g3,b3,d4] [g3,b3,d4]@2 [g3,b3,d4]@2",
  F: "[a3,c#4,e4]@3 [a3,c#4,e4] [a3,c#4,e4]@3 [a3,c#4,e4]", G: "[a3,c#4,e4]@2 [a3,c#4,e4]!2",
  H: "[d3,f#3,a3]@3 [d3,f#3,a3] [d3,f#3,a3]@2 [d3,f#3,a3]@2", // D
  I: "[d3,f#3,a3]@6 [d3,f#3,a3]@2 [d3,f#3,a3]@4 [d3,f#3,a3]@3 ~", J: "[g3,c4,e4]@6 [g3,b3,d4] ~ [g3,b3,d4]@8",
  K: "~ [b3,d4] [g3,b3,d4]!6, [b3,d4] ~@7, ~ g3@3 ~@4 [g1,g2]@4 [g1,g2]@4", // Bm G Bm G
  L: "[a#3,d4,f4]@2 [d4,f4]@2 ~@3 a#3, [a#1,a#2], ~@2 a#3@3 a#3@2 ~, ~@2 [d4,f4]!2", // A# Dm A# Dm
  M: "[a#3,d4,f4]@2 [d4,f4]@2 ~ a#3 [a#3,d4,f4]@2, [a#1,a#2], ~@2 a#3@3 ~@3, ~@2 [d4,f4] ~", // A# Dm A# Dm
  N: "[f3,a3,c4]@4 [f3,a3,c4]@4 f3@2 f3@2 [f3,a3,c4]@2 [f3,a3,c4]!2, [f1,f2], ~@2 [a3,c4] ~", // F Am
  O: "[f3,a3,c4]!4, [f1,f2]", P: "[b3,d4]@2 ~@5 g3, [g1,g2], g3@3 g3@2 g3@2 ~, ~ [b3,d4]!3",
  Q: "[b3,d4]@2 [b3,d4]@2 ~@3 g3, [g1,g2], g3@5 g3@2 ~, ~@2 [b3,d4]!2", // Bm G Bm
  R: "[a3,c#4,e4]@4 [a3,c#4,e4]@4 [a3,c#4,e4]@4 [a3,c#4,e4]@3 ~, [a1,a2]@15 ~", // A
  S: "f#3 ~@6 d4, [d1,d2,d3]@3 f#4, a3 a3@3, ~ f#3@7, ~@3 d4 f#4 a4@3", // D
  T: "[g3,b3,d4]@2 [g3,b3,d4]@2 g3 ~ [b3,d4] g3, ~@2 [b3,d4] ~, ~@5 g3@2 ~", // G Bm
  U: "[c#4,e4,a4]@4 [c#4,e4,a4]@4 [c#4,e4,a4]@2 [e4,a4]@2 [e4,a4,c#5]@2 [c#4,e4,a4] ~, ~@5 c#4@2 ~", // A A5 A
  V: "[a4,c#5,e5]!2 [a4,c#5,e5]@2 [a4,c#5,e5]@4 [a4,c#5,e5]@4 [e4,a4,c#5]@4", // A
  W: "[d3,f#3,a3]@2 d3 ~@2 d3!3, [d1,d2], ~ [f#3,a3]!3, ~@3 d3@2 ~@3", // D F#m
  X: "d3 ~@2 d3!2 ~@2 d3, [d1,d2], [f#3,a3]!4, ~ d3@2 ~@2 d3@2 ~", Y: "[g3,b3,d4]@2 [g3,b3,d4]!14",
  Z: "[a#3,d4,f4]@2 a#3!6, [a#1,a#2], ~ [d4,f4]!3", // A# Dm
  AA: "[d4,f4]@2 ~@5 a#3, [a#1,a#2], a#3@3 a#3@2 a#3@2 ~, ~ [d4,f4]!3", // Dm A# Dm
  AB: "[f#3,a3,d4]@4 ~@8 [f#3,a3,d4]@2 [d2,d3] ~, [d1,d2]@15 ~, d3@3 d3@2 d3@2 ~, ~ [f#3,a3,d4]!2 ~", // D
  AC: "[d3,f#3,a3,d4] ~@7, [d1,d2]@7 ~", AD: "[g3,b3,d4]@6 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@3 ~",
  AE: "[f#3,a3,d4]@4 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@4 [f#3,a3,d4]@3 ~", // D
  AF: "[g3,b3,d4]@4 [g3,b3,d4]@3 ~ [g3,c4,d4]!2 [g3,c4,d4]@2 g3@2 g3@2, ~@3 [b3,d4]", // G Gsus4 Bm
  AG: "[f#3,a3,d4]@4 [f#3,a3,d4]@4 f#3@2 ~@4 f#3 ~, ~@2 [a3,d4]!2, ~@5 f#3@2 ~", // D D5
  AH: "[~@3 [b4,d5,g5] ~@7 [b4,d5,g5] ~@7 [b4,d5,g5] ~@7 [b4,d5,g5] [b4,d5,g5]@4, [g3,b3,d4,g4]!2 [g3,b3,d4,g4]!2, ~@4 [b4,d5,g5]@7 ~ [b4,d5,g5]@6 ~@2 [b4,d5,g5]@7 ~@5]/2", // G
  AI: "~@3 [a4,c#5,e5] [a4,c#5,e5]@4 ~@3 [a4,c#5,e5] [a4,c#5,e5]@3 ~, [a3,c#4,e4]@8 [a3,c#4,e4]@7 ~", // A
  AJ: "[e3,a3,c#4] ~@2 [c#4,e4,a4] [c#4,e4,a4]@3 [e4,a4,c#5] [e4,a4,c#5]@3 [c#4,e4,a4] [c#4,e4,a4]@4, [a1,a2]", // A
  AK: "~@3 [f#4,a4,d5] [f#4,a4,d5]@4 ~@3 [f#4,a4,d5] [a4,d5]@4, [d3,f#3,a3]!2", // D D5 D
  AL: "~@3 [f#4,a4,d5] ~@7 [f#4,a4,d5] [a4,d5]@3 ~, [d3,f#3,a3]@8 [d3,f#3,a3]@7 ~, ~@4 [f#4,a4,d5]@7 ~@5", // D D5 D
  AM: "~@3 [b4,d5,g5] g5@3 [g5,b5,d6] g5@3 [b4,d5,g5] [b4,d5,g5]@4, [g2,g3,b3,d4,g4], ~@4 [b4,d5]@7 ~@5, ~ [b5,d6]", // G Bm
  AN: "[g1,g2,b3,d4]@3 ~@2 [g1,g2] ~ [g1,g2] ~@7 [g1,g2], g4@3 ~@5, ~@3 [g1,g2]@2 ~@4 [g1,g2]@2 [g1,g2]@2 [g1,g2]@2 ~, ~@2 [g3,b3,d4]!6", // G
  AO: "[a#3,d4,f4]@4 [a#3,d4,f4]@3 [a#3,d4,f4] ~@6 a#2@2, a#1, a#2@5 a#2@2 ~, ~@2 [a#3,d4,f4]!2", // A#
  AP: "a#3!8, [a#1,a#2], [d4,f4]!4", // A# Dm
  AQ: "[~@3 [a4,d5,f#5] [d5,f#5]@3 [d5,f#5,a5] [f#5,a5]@3 [f#5,a5,d6] [f#5,a5,d6]@3 ~ [a3,d4,f#4]@15 ~, [d2,d3,a3,d4,f#4]@15 [d1,d2]@15 ~@2, ~@4 a4@11 ~@17, ~@8 d5@7 ~@17]/2", // D F#m D
  AR: "[g3,b3,d4]@6 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@3 ~, [g1,g2]@15 ~", // G
  AS: "[f#3,a3,d4]@4 [f#3,a3,d4]@4 [f#3,a3,d4]@4 [f#3,a3,d4]@3 ~, [d1,d2]@15 ~", // D
  AT: "[g3,b3,d4]@6 [g3,b3,d4] ~ [g3,c4,d4]!2 [g3,c4,d4]@2 [g3,b3,d4]@4, [g1,g2]", AU: "[d1,d2,f#3,a3,d4]@7 ~",
  AV: "[g3,b3,d4]@6 [g3,b3,d4]@2 [g3,c4,d4] ~@3 g2@4, g1, g2@5 [g3,b3,d4]@3", // G Gsus4 G
  AW: "[f#3,a3,d4]@2 ~@2 [a3,d4]@2 ~ f#3, d1, d2@3 d2@5, ~@2 [f#3,a3,d4]@2 f#3@3 ~, ~@3 [a3,d4]", // D D5 D D5
  AX: "[g3,b3,d4]@3 [g3,b3,d4] [g3,c4,d4]@3 [g3,b3,d4], [g1,g2]@15 ~", AY: "[d2,f#3,a3,d4]@15 ~, d1@13 ~@3",
  AZ: "[~@10 c4@2 c4@2 ~ c4@2 ~@11 [g3,c4,d4]@2 ~@2 [c4,d4]@2 [g3,b3,d4]@11 [g3,b3,d4]@3 [g3,b3,d4]@5 b3@3 ~@23 g5@17 ~@16, ~@17 b3@17 ~@22 b3@7 g4@7 d5@25 ~@17, ~@27 [g1,g2]@24 ~@2 [g1,g2]@44 ~@15, ~@30 [c4,d4]@2 ~@21 d4@6 ~ d4@36 ~@16, ~@31 g3@3 ~@19 g3@13 b4@30 ~@16]/7", // Gsus4 Csus2 G Csus2
})).s("gm_piano").gain(0.44).pan(0.4)

// bass · fretless bass
const bass = note(`<
  ~@2 A B@2 C D E F G H I J@2 K L B 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 AO AP AQ AR AS
  AT AQ AU AV AW AX ~@2 AY@4 AZ@3 ~
>`.pickRestart({
  A: "g2@12 d2@3 ~", B: "g2@11 ~ d2@3 ~", C: "g2@11 ~ d2@4", D: "a2@11 ~ e2@3 ~", E: "a2@9 ~ a2@2 e2@2 d#2@2",
  F: "d2@11 ~ a1@3 ~", G: "d2@12 a1@3 ~", H: "g2@5 ~ g2@2 g2@7 ~", I: "g2@5 ~ g2 ~ g2@3 ~ g2@4", J: "a#1@11 ~ a#1@3 ~",
  K: "f2@7 ~ f2@3 ~ f2@3 ~", L: "f2@5 ~ f2 ~ f2@3 ~ f2@2 f#2 ~", M: "g2@5 ~ g2 ~ d2@2 g2@3 ~ g2 ~",
  N: "a2@7 ~ e2 ~ e2@2 a2@2 e2@2", O: "d2@3 ~ d2@3 ~ d2@3 ~ d2@4", P: "g1@7 ~ g1 ~ g1@5 ~",
  Q: "g1@7 ~ g1 ~ g1@2 g1@2 g#1@2", R: "a1@7 ~ a2@4 a2@2 d2 e2", S: "a1@7 ~ a1@2 a1@2 a1 ~ a1 b1",
  T: "d2@5 ~ d2 ~ a1 ~ a1@4 b1 ~", U: "d2@5 ~ d2@2 a1 ~ a1@2 d2@2 a1 ~", V: "g2@5 ~ g2@2 d2 ~ d2@4 e2@2",
  W: "g2@3 ~ g2@2 g2!3 ~ g2 ~ g2@2 g2 ~", X: "a#1@3 ~ a#1@3 ~ a#1@3 ~ a#1 ~ a#1 ~",
  Y: "a#1@3 ~ a#1@2 a#1!3 ~ a#1 ~ a#1 ~ a#1 ~", Z: "d2@4 d2@4 d2 ~ c2 ~ d2@3 ~", AA: "d2@7 ~",
  AB: "g1@6 ~@2 g1 ~ g1 ~ g1@2 b1@2", AC: "d2@7 ~ d2 ~ d2 ~ d2@2 e2@2", AD: "g2@5 ~ g2@2 d2 ~ d2 ~ g2 ~ g#2 a2",
  AE: "d2@3 ~ d2!3 ~ d2@3 ~ d2@2 e2 ~", AF: "g2@5 ~ g2@2 d2 ~ d2@3 ~ e2@2", AG: "g2@5 ~ g2@2 d2 ~ d2@2 g2@2 g#2@2",
  AH: "a2@6 e2 ~ a2@5 ~ e2 ~", AI: "a2@5 ~ e2 ~ a2@2 e2 ~ a2@2 e2@2", AJ: "d2@5 ~ a1 ~ d2@5 ~ a1 ~",
  AK: "d2@5 ~ a1 ~ d2@3 ~ d2@2 e2@2", AL: "g2@3 ~ g2@4 g2@3 ~ g2@2 g2@2", AM: "g2 ~ g2!3 ~ g2!2 g2@2 g2 ~ g2@2 g2 ~",
  AN: "a#1@3 ~ a#1@3 ~ a#1@2 a#1 ~ a#1@2 a#1 ~", AO: "a#1 ~ a#1 ~ a#1@3 ~ a#1@2 a#1 ~ a#1 ~ a#1 c2",
  AP: "d2@4 d2@3 ~ d3!3 ~ d3@2 a2@2", AQ: "d2@15 ~", AR: "g2@5 ~ g2@2 d2@2 d2 ~ g2@2 a2@2",
  AS: "d2@5 ~ d2@2 a1 ~ a1 ~ a1 b1 d2 ~", AT: "g2@5 ~ g2@2 d2 ~ d2 ~ g2@2 a2@2", AU: "g2@5 ~ g2@2 d2@2 d2@2 g2@2 a2@2",
  AV: "d2@7 ~ d2@2 d2 ~ d2@2 e2@2", AW: "g2@5 ~ g2@2 [c#3,d3] ~ d3@3 d3 g2@2, ~@10 c#3 ~@5", AX: "d2",
  AY: "[~@15 g2@10 ~ g3@3 g3 ~ g3@2 g2@12 ~ d2@4 g2@14]/4", AZ: "[d2@5 g1@41 ~@2]/3",
})).s("gm_fretless_bass").gain(0.44)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<A B C D E F G H I J K L M N O@2 P Q R S ~@36 T@2 ~ U@6 ~>".pickRestart({
  A: "[b3,d4,g4]@2 [d4,g4] g4 [d4,g4]!2 [b3,d4,g4]!2, ~ b3 ~@2", // G G5 G
  B: "[b3,d4,g4] [d4,g4] [b3,d4,g4] [d4,g4] [b3,d4,g4] [d4,g4] [b3,d4,g4]!2", // G G5 G G5 G G5 G
  C: "[b3,d4,g4] [d4,g4] [b3,d4,g4] [d4,g4]!2 [b3,d4,g4] [c4,d4,g4]!2", // G G5 G G5 G Csus2
  D: "[b3,d4,g4]@2 [b3,d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4] ~ [c4,d4,g4]@4, ~ b3 ~@2", // G G5 Csus2
  E: "[b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2 [d4,g4]@2 [d4,g4]@2 d4@2 [b3,d4,g4]@2 [d4,g4] ~", // G G5 G G5
  F: "[b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2 d4@2 d4@2 ~@2 [b3,d4,g4]@2 [b3,d4,g4] ~, ~@3 g4@3 ~@2", // G
  G: "[c#4,e4,a4]@2 [e4,a4]@2 [c#4,e4,a4]@2 e4@2 e4@2 e4@2 [c#4,e4,a4]@2 [e4,a4] ~, ~@3 a4@3 ~@2", // A A5 A A5
  H: "[c#4,e4,a4]!2 [c#4,e4] e4 ~ e4 [c#4,e4,a4] [e4,a4], ~@2 a4@3 ~@3", // A C#m A A5
  I: "[a3,c4,d4]@2 [a3,c4,d4]@2 [a3,c4,d4]@2 [a3,c4,d4]@2 [a3,c4,d4]@2 [a3,c4,d4]@2 [a3,c4,d4]@2 [a3,c4,d4] ~", // D7
  J: "[c4,d4] ~ [a3,c4,d4]!6, a3 ~@3", // Csus2 D7
  K: "[c4,e4]@2 c4@2 [c4,e4,g4]@2 [b3,d4,g4] ~ [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2, g4 ~@3", // C G
  L: "[b3,g4]@4 [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4] [b3,d4] [b3,d4,g4] [b3,d4] [b3,d4,g4]!2, d4 ~@7", // Em G Bm G Bm G
  M: "[d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 [d4,f4]@2 ~ d4 [d4,f4,a#4]@2 [d4,f4,a#4]@2, a#4!3 ~, ~@5 [d4,f4] ~@2", // Dm A# Dm
  N: "[d4,f4,a#4]@2 [d4,f4,a#4]@2 [d4,f4,a#4]@2 ~ d4 [d4,f4,a#4]@2 [d4,f4,a#4]@2 [d4,f4,a#4] [d4,f4] [d4,f4,a#4] ~, ~@3 [d4,f4,a#4] ~@4", // A# Dm A#
  O: "[[f3,a3,c4]@4 [f3,a3,c4]@4 [f3,a3,c4]@4 [f3,a3,c4]@2 [f3,a3,c4] a3 [a3,c4]@4 [f3,a3,c4]@2 [f3,a3,c4] [f3,a3] [f3,a3,c4]@2 [f3,a3] [f3,a3,c4]@2 [f3,a3] [f3,a3,c4]@2, ~@15 f3@5 ~@12]/2", // F Am F
  P: "[b3,d4,g4] ~ d4@2 [b3,d4,g4]@2 [d4,g4]@2 [d4,g4]@2 d4@2 [b3,d4,g4]@2 ~ [b3,d4], ~@4 b3@2 ~ [d4,g4]", // G G5 G Bm G5
  Q: "[b3,d4]@2 [b3,d4]@2 [b3,d4,g4]@2 [b3,d4,g4] [b3,d4] [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4] [b3,d4], g4 ~@3", // Bm G Bm G Bm
  R: "[c#4,e4]@2 e4@2 [c#4,e4,a4]@2 [c#4,e4] [c#4,e4]@2 c#4 c#4@2 [c#4,e4]@2 [c#4,e4]@2, a4@4 ~@2 a4@3 [e4,a4]@3 a4@4", // C#m A C#m A5
  S: "[a3,c4,d4]@4 [a3,c4,d4]@2 [a3,c4] [a3,c4,d4] [a3,c4]!2 [a3,c4]@2 [a3,c4]@2 [a3,c4]@2, ~@9 d4@3 d4@4", // D7 Am D7 Am
  T: "[~@3 d4@2 [b3,d4,g4]@2 [b3,d4,g4]@2 ~@3 [d4,g4]@2 [b3,d4,g4]@2 [b3,d4,g4]@2 ~ [a3,d4]@13, ~ g3@8 g3@9 ~@14]/2", // G G5 G D5
  U: "[g3@2 ~@2 [b3,d4,g4]@2 [b3,d4,g4]@4 ~ [b3,d4,g4] ~@4 [g3,b3] [b3,d4,g4]@2 b3@2 b3@2 [d4,g4]@4 ~@6 [g3,c4] [b3,d4,g4]@2 b3@2 b3@2 ~ [b3,d4,g4]@4 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@2 ~@3 d5@39 ~, [b3,d4,g4]@4 ~@9 [b3,g4]@2 [b3,d4,g4]@2 ~@2 [d4,g4]@4 b3@11 ~@62, ~@2 g3@10 [g3,b3,d4]@2 [g3,b3]@2 ~ g3@4 g3@7 [c4,d4,g4]@2 [c4,d4,g4]@2 [c4,d4,g4]@2 ~@2 [d4,g4]@4 ~@15 [g4,b4]@40 ~, ~@29 c4@2 [g3,c4]@2 ~@5 g3@15 ~ [g3,d4]@41 ~]/6", // G G5 C5 G Em G G5 G …
})).s("gm_acoustic_guitar_steel").gain(0.19).pan(0.6)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note("<A B C D E F G H ~ I J K ~@4 L ~ M ~@37 N O ~@2 P ~@5>".pickRestart({
  A: "~@3 d4 b3!2 ~@2", B: "~ b3 ~ b3 ~ b3 ~@2", C: "~ b3 ~ b3!2 ~@3", D: "~@8 b3@2 b3 ~@5",
  E: "~@6 b3@2 ~@2 g4@2 ~@2 b3 ~, ~@2 b3 ~", F: "~@5 d4 ~@2, ~@3 b3@3 ~@2", G: "~@2 c#4@2 ~@2 c#4@6 ~@2 c#4 ~",
  H: "~@4 e4 a4 ~ c#4, ~@3 c#4@3 ~@2", I: "~ [c4,d4] ~@6", J: "~ e4 ~@6", K: "~ d4 ~@6", L: "~@3 b3 ~ g4 ~@2",
  M: "~ c#4 ~@6", N: "~@3 [b3,g4]@2 ~@7 b3@2 ~@2", O: "~@2 [d2,f#3]@13 ~", P: "~@13 g3@2 ~",
})).s("gm_acoustic_guitar_steel").gain(0.1).pan(0.6)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@20 A@2 B C D@2 E F G@2 H ~@3 I J K@2 L@2 M@2 N O P@2 Q@2 R S T U ~@2 V ~@11
>`.pickRestart({
  A: "d4/2", B: "c#4@3 e4", C: "a4@3 e4 d4 c#4 b3 a3", D: "d3/2", E: "c5@3 b4 b4@4", F: "c5@2 b4 c5 b4@2 g4@2 d5@8",
  G: "[[d5,f5]@7 [a#4,d5]]/2", H: "[f#4,a4,d5]", I: "~@2 c4 b3, ~ d4",
  J: "[a3,f#4]@2 ~ e4 d4 c4 b3 a3, [a4,d5], ~ f#4@3", K: "[b3@3 b3 c4 b3 a3 g3 b3@3 b3 c4 b3 a3 g3, [d4,g4]]/2",
  L: "[a3@3 e3 b5@4 d6 c#6 b5 a5 c#6@4, [a4,c#5,e5], a5@4 e3@11 ~]/2", // A
  M: "[a3@3 a3 b3 a3 g3 f#3 a3@3 a3 b3 a3 g3 f#3, [d5,f#5,c6]]/2", N: "e3@3 d3 d3@4, [g4,b4,e6]", O: "[d3,g4,b4,d6]",
  P: "[[a#4,d5,f5]@31 ~]/2", Q: "[[a4,d5,f#5]@7 ~]/2", R: "d4 e4 f#4 g4, [d5,g5,b5]", S: "[f#4,c5,f#5,a5]",
  T: "b5@2 c6 b5, [d4,d5,g5]", U: "[d5,f#5,a5]", V: "b3@2 c4 ~, g4",
})).s("gm_string_ensemble_1").gain(0.33).pan(0.7)

// chords · string ensemble 1 · soft notes
const string_ensemble_1_soft = note("<~@50 A ~@3 B C ~@3 D E@5 ~>".pickRestart({
  A: "b4", B: "~@3 b3, d4", C: "[a3,d4,f#4]", D: "~ c7", E: "[~ b6@8 c7@9 b6@9 c7@10 b6@43]/5",
})).s("gm_string_ensemble_1").gain(0.16).pan(0.7)

// other · french horn
const french_horn = note("<~@32 A B C ~@8 D E@2 F G ~@4 H B I J ~@10>".pickRestart({
  A: "~@2 d4 e4 f#4@2 g4@2", B: "a4", C: "g4", D: "c5@2 b4 g4 d5@4", E: "d5/2", F: "~@4 a4@7 ~ f#4@3 ~", G: "d4@7 ~",
  H: "d4@6 e4@2 f#4@3 ~ g4@4", I: "g4@15 ~", J: "~ e4 f#4 a4@11 ~@2",
})).s("gm_french_horn").gain(0.33).pan(0.9)

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

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

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@20 A@2 B ~@26 C B ~@2 D ~@12>".pickRestart({
  A: "~@9 x ~@6", B: "~@7 x ~@8", C: "~@7 x ~@3 x ~@3 x", D: "~@11 x ~@4",
})).gain(0.22)

// drums · low tom
const low_tom = s("lt").struct("<~@35 [~@14 x!2] ~@7 [~@13 x!2 ~] ~@22>").gain(0.33)

// drums · mid tom
const mid_tom = s("mt").struct("<~@35 [~@13 x ~@2] ~@7 [~@13 x ~@2] ~@22>").gain(0.38)

// drums · crash
const crash = s("cr").struct("<~@46 [~@9 x ~@6] x ~@18>").gain(0.27)

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

// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@21 A ~@5 A B A ~@18 C D E ~ D F@2 ~@11>".pickRestart({
  A: "~@5 x ~@2", B: "~@7 x", C: "~ x ~ x ~ x ~@2", D: "~ x ~ x ~@4", E: "~@3 x ~ x ~ x", F: "~ x ~ x ~ x ~ x",
})).gain(0.16)

stack(
  piano, bass, acoustic_guitar_steel, acoustic_guitar_steel_2, string_ensemble_1, string_ensemble_1_soft, french_horn,
  kick, snare, snare_soft, low_tom, mid_tom, crash, ride, ride_soft
)

More by Bee Gees