Strudelify
How Deep Is Your Love cover art

1977

How Deep Is Your Love

Bee Gees

KeyE♭ majorTempo105 bpm
0:00/0:00
// How Deep Is Your Love — Bee Gees
// 105 bpm, 4/4, key D# 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 107 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(105/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 · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
  A B@2 C@2 D@2 E F G H I J K L M N O P Q R S T@2 U V W X Y@2 Z AA F G H I J K L M N O P Q R S T@2 U V W X Y@2 Z AA F G
  H I J K L M N O P Q R S T@2 U V W X Y@2 Z AA AB AC@2 AD@2 U V W X Y@2 Z AA AB AC@2 AD@2 U V W X Y@2 Z AA ~
>`.pickRestart({
  A: "~@5 g5@3, [bb3,eb4,f4,g4], ~ bb4@7, ~ eb5@3, ~@3 f5@5", // Eb
  B: "[~@4 d5@2 f5@4 g5@4 ~@2 c5@4 ~@2 g4@7 ~ bb4@2, [bb3,d4,f4,g4]@15 ~ g5@13 ~@3, ~ bb4@4 ~@2 bb4@3 ~@6, ~@16 eb5@2 ~@2 eb5@9 ~@3]/2", // Gm7
  C: "[~@2 eb4@2 g4@2 c4@2 ~@2 ab3 ~ ab3@2 ~@6 eb5@2 f5@4 [f4,g4,g5]@6, bb4@9 bb4@7, ~@4 eb4@3 bb3@9]/2", // Fsus2
  D: "[~@4 d5@2 f5@3 ~ g5@4 ~@2 [c5,g5]@4 ~@10 bb4@2, [d4,f4,g4]@15 ~ eb5@2 ~@2 eb5@12, ~@2 bb4@8 ~@4 bb4@7 ~ g4@10]/2", // C5 G7
  E: "~ eb4 g4 c4 ~@2 ab3 bb3, bb4, ~ eb4", F: "[bb3,eb4,f4,g4] [bb3,d4,f4]", G: "[ab3,c4,eb4,f4] [c4,e4,g4,bb4]",
  H: "[c4,eb4,f4,ab4]@8 [d4,f4,g4,b4]@7 ~", I: "ab4 ~@4 c5@3, [c4,bb4] eb4, eb4@3 f4@5, ~ ab4@7, ~ eb5@3",
  J: "f4 ~@9 bb4@4 bb4@2, bb3, [eb4,g4]@5 d4@3, ~@2 bb4@3 ~@3, ~ f4", // Eb
  K: "g4!2 [g4,c5] [eb4,g4,c5,eb5]@5, c4, [eb4,bb4,d5]@3 ~@5, ~ eb5@2 ~@5", L: "[eb4,f4,ab4,c5]@15 ~",
  M: "~@2 [g4,ab4,c5] ~@3 f4@2 [g3,ab3,c4,eb4]@7 ~, ~ [g4,ab4,c5] ~@2", N: "[bb3,c4,eb4,g4]@5 [bb3,c4,eb4,g4]@3",
  O: "[d4,f4,g4,bb4]", P: "[c4,eb4,f4,ab4]", Q: "f4@3 f4@2 ~ [f4,f5]@2, db4, [ab4,b4]@4 ~ c5@3",
  R: "[d4,f4,g4,bb4]@15 ~", S: "~@4 [f4,ab4,c5,eb5]@11 ~",
  T: "[~@3 f4@2 ~@6 f4@2 g4@3, g3@15 ~ g3@16, ~@2 bb3@13 ~@3 bb3@14, ~@4 eb4@15 ~ d4@12, ~@5 g4@6 ~@5]/2",
  U: "~@3 f4@2 g4@3, ab3, ~ c4@7, ~ eb4@3", V: "~@5 f4@3, f3, ~ ab3@7, ~ b3@3, ~@3 eb4@5",
  W: "~@3 f4@2 g4@3, g3, ~ bb3@7, ~ eb4@3", X: "~@5 f4@3, f3, ~ ab3@7, ~ bb3@3, ~@3 db4@5",
  Y: "[~@10 e4 ~@2 bb4@3, g3@10 g4@9 ~@3 g4@10, ~ bb3@7 bb3@8, ~@2 c4@6 ~ c4@7, ~@3 e4@6 ~@7]/2",
  Z: "~ [eb4,f4,ab4]@3, c4@15 ~", AA: "~ [eb4,f4,ab4]@3, b3", AB: "[eb4,f4]@3 ~ [d4,f4]@2 ~@2, [bb3,g4]@7 ~",
  AC: "[eb4@14 ~@2 f4 g4 bb4 g4 bb4 eb5 f5 g4 bb4 eb5 f5 g5 bb5 eb6 f6@2, ab3@15 ~, bb4@15 eb4@12 ~@3 eb4 ~, c4@11 ~@3 c4@11 ~@2 c4@3 ~@2]/2",
  AD: "[~@3 f4@2 ~@6 f4@2 g4@3, g3@15 ~ g3@16, eb6@4 ~ g4@6 ~@5, ~@2 bb3@13 ~@3 bb3@14, ~@4 eb4@15 ~ d4@12]/2",
})).s("gm_epiano1").gain(0.33).pan(0.6)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  A B C D E@2 F G H I J K L M N O P Q R S T U V A W X Y Z AA AB AC AD H I AE AF L AG AH AI AJ AK AL S AM AN A AO AP AQ Y
  AR AS AB AT AU H I J AV H AW AX AY AZ BA BB BC BD BE BF@2 BG BH BI S BJ BK BL BM H BN BO BP BF BQ BR BS BT BU BV BW BX
  BY BZ CA BP CB W BR CC BC AA AB BW BX ~
>`.pickRestart({
  A: "eb2@5 bb2@2 bb1", B: "eb2@6 bb2 ~", C: "ab2@15 ~", D: "bb2 f2 bb1 bb1@2 f2 bb2 f2",
  E: "eb2@5 ~ eb2 ~ eb2@6 bb1@2", F: "ab2@5 ~ ab2 ~ ab2@8", G: "bb2 ~ bb2@11 ~ bb2@2", H: "eb2@5 ~ eb2@2 g2@5 ~ g2@2",
  I: "f2@5 ~ f2@2 c2@5 ~ c2@2", J: "f2@5 ~ f2@2 g2@5 ~ g2@2", K: "bb2@2 ~ f2 bb1 bb2@2 f2",
  L: "eb2@5 ~ eb2@2 g1@5 ~ g1@2", M: "c2@6 g2@2 c2@5 ~ c2@2", N: "f2@6 c2@2 f2@5 ~ f2@2",
  O: "bb1@5 ~ bb1@2 f2@2 bb2@4 f2 ~", P: "ab2@9 ~ ab2@2 ~@2 eb2@2", Q: "g2@5 ~ g2@2 d2@4 g2 ~ g2 ~",
  R: "f2@6 f2 ~ f2@2 c2 ~ f2 ~ c2 ~", S: "db2@5 ~ db2 ~ db2@5 ~ db2@2", T: "g1@5 ~ g1@2 d2@4 g1@2 ~@2",
  U: "bb2 ~ bb2@5 ~ bb2@7 ~", V: "eb2@9 ~ bb2@4 bb1@2", W: "ab2@5 ~ ab2@2 eb2@4 f2@3 ~", X: "ab2@5 c2@2 d2",
  Y: "eb2@5 ~ eb2 ~ eb2@5 ~ eb2 d2", Z: "db2@5 ~ db2 ~ db2@6 db2@2", AA: "c2@5 ~ c2@2 g1@4 c2@3 ~",
  AB: "~ bb2@2 g2@2 e2@2 c2", AC: "f2@4 f2@2 f2@2 f2@2 c2@2 f2 ~ g2 ~", AD: "ab2@6 eb2 ~ ab2@8",
  AE: "f2@5 ~ f2@2 g2@4 ~@2 g2@2", AF: "bb1@3 f2 d2 bb2@2 f2", AG: "c2@5 c3@2 g2", AH: "f2@5 ~ f2 eb2 c2@4 f2@2 c2 ~",
  AI: "bb1@5 bb2@2 f2", AJ: "ab2@5 ~ ab2@2 ~@2 ab2@2 ~@2 eb2@2", AK: "g2@2 ~ g2 d2@2 g2 gb2",
  AL: "f2@10 c2 ~ f2@2 c2@2", AM: "g2@5 ~ g2@2 d2@4 g2@2 ~@2", AN: "bb2 bb2@6 f2", AO: "eb2@5 bb2@2 eb2",
  AP: "ab2@5 ~ ab2 ~ eb2@3 ~ f2@2 ~@2", AQ: "ab2@9 ~ b1@4 db2@2", AR: "db2@5 ~ db2 ~ db2@5 ~ db2 ~",
  AS: "c2@5 ~ c2@2 g1@4 c2@2 ~@2", AT: "f2@9 ~ c2@2 f2@2 g2@2", AU: "ab2@3 eb2 ab2@3 ~",
  AV: "bb2 ~ bb2@4 f2 ~ f2@2 bb2@3 ~ f2@2", AW: "c2@3 g2 c2@3 c2", AX: "f2@3 c2 f2 c2 f1 f2",
  AY: "bb2@5 ~ f2@2 bb2@4 f2@2 ~@2", AZ: "ab2@5 ~ ab2 ~ ab2@2 ab2@2 ~@2 eb2 ~", BA: "g2@4 ~@2 g2@2 d2@3 ~ g2 ~ gb2 ~",
  BB: "f2@5 ~ f2 ~ f2@2 c2 ~ f2 ~ c2 ~", BC: "db2@5 ~ db2@2 db2@5 ~ db2@2", BD: "g2@5 ~ g2@2 d2@4 g2 ~ g2@2",
  BE: "bb2 ~ bb2@6 bb2@2 bb2@2 bb2@2 bb2@2", BF: "eb2@5 ~ eb2 ~ eb2@2 bb2@4 bb1@2", BG: "ab2@5 ~ ab2@2 eb2@4 f2@2 ~@2",
  BH: "ab2@2 ab2!2 ~ b1@2 db2", BI: "eb2@5 ~ eb2 ~ eb2@4 bb2@2 eb2@2", BJ: "c2@5 ~ c2@2 g1@4 c2@2 c2 ~",
  BK: "c2 ~ bb2@3 ~ g2@3 ~ e2@4 c2@2", BL: "f2@3 ~ f2@2 f2 ~ f2 ~ c2 ~ f2 ~ g2 ~", BM: "ab2@2 ab2@3 ~ ab2@2 ab2@5 ~@3",
  BN: "bb1 ~ bb1@2 bb1 ~ bb1@2 bb1@8", BO: "bb1@2 bb1@3 ~ bb1@2 bb1@2 bb1@2 bb1@2 bb1@2",
  BP: "eb2@5 ~ eb2 ~ eb2@2 bb2 ~ bb2@2 bb1@2", BQ: "ab2@5 ~ ab2@2 eb2@3 ~ f2@3 ~",
  BR: "ab2@2 ab2 ~ ab2@2 ab2@2 ~@2 b1@2 ~@2 db2@2", BS: "eb2@5 ~ eb2 ~ eb2@2 eb3@2 bb2@2 eb2@2",
  BT: "db2@5 ~ db2@2 db2@6 db2@2", BU: "c2@5 ~ c2@2 g2@4 c2@3 ~", BV: "~@2 bb2@3 ~ g2@2 ~@2 e2@3 ~ c2@2",
  BW: "f2!5 c2 f2 g2", BX: "ab2", BY: "eb2@5 ~ eb2@2 g2@4 ~@2 g2@2",
  BZ: "bb2@2 f2@2 bb1 ~ bb1 ~ bb1@2 f2@2 bb2@2 bb2 ~", CA: "bb2 ~ f2 bb2@3 bb2 ~", CB: "eb2@6 eb2 ~ eb2@2 bb2@4 bb1 ~",
  CC: "eb2@6 eb2 ~ eb2@5 ~ eb2@2",
})).s("gm_acoustic_bass").gain(0.38)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  ~@22 A@2 B C D E F@2 G H I ~@13 J@2 K L M N O@2 P Q R S T U V W X Y Z ~@5 AA@2 AB AC AD AE AF@2 AG AH AI AJ@2 AK AL K
  AM AN AO AP@2 AQ AR AS AT@2 AU AV AW AX AY AZ BA@2 BB BC ~
>`.pickRestart({
  A: "[~ [eb4,g4] [g3,bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,eb4,g4] [eb3,g3,bb3,eb4,g4] [eb3,g3,bb3,eb4,g4]@2 [g3,bb3,d4,g4] [eb3,bb3,d4,g4] [bb3,d4,g4]@2 [g3,bb3,d4,g4] [eb3,g3,bb3,d4,g4]!2, ~ eb3@2 ~@5, ~@3 g3@3 ~@4 g3@3 ~@3]/2", // Eb Gm Ebmaj7 Gm Ebmaj7
  B: "~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4,g4]!3, ~ ab3@2 ab3", // Cm
  C: "~ [b3,eb4,ab4] [f3,b3,eb4,ab4] [b3,eb4,ab4]@2 [b3,eb4,ab4] [f3,b3,eb4,ab4]!2, ~@3 f3@3 ~@2", // Abm Fm7b5 Abm Fm7b5
  D: "~ [bb3,eb4,g4]!2 [eb3,g3,bb3,eb4,g4]@2 [g3,bb3,eb4,g4] [eb3,g3,bb3,eb4,g4]!2, ~ g3@2 ~@5", // Eb
  E: "~ [bb3,db4,f4] [f3,bb3,db4,f4] [bb3,db4,f4]@2 [bb3,db4,f4] [f3,bb3,db4,f4]!2, ~@3 f3@3 bb2@2", // Bbm
  F: "[~ [e3,bb3,c4,e4]!2 [e3,bb3,c4,e4]@2 [e3,bb3,c4,e4] [bb3,c4,e4] [bb3,c4,e4]@2 [e3,bb3,c4,e4]!2 [bb3,c4,e4]@2 [bb3,c4,e4]!3, ~@3 c3@2 c3@2 [c3,e3], ~@6 e3@3 ~@2 e3@3 ~@2]/2", // C7 C
  G: "~ [eb3,ab3,c4,f4] [ab3,c4,f4] [ab3,c4,f4]@2 [c3,eb3,ab3,c4,f4]!3, ~@2 [c3,eb3]@3 ~@3", // Fm7 Fm Fm7 Cm
  H: "~ [ab2,f3,b3,eb4,ab4] [f3,b3,eb4,ab4] [f3,b3,eb4,ab4]@2 [ab2,f3,b3,eb4,ab4] [f3,b3,eb4,ab4]!2, ~@2 ab2@3 ~ ab2@2", // Fm7b5
  I: "[g3,bb3,eb4,g4] ~", // Eb
  J: "[~ [bb3,eb4,g4] [eb3,bb3,eb4,g4] [bb3,eb4,g4]@2 [g3,bb3,eb4,g4] [eb3,g3,bb3,eb4,g4] [g3,bb3,eb4,g4]@2 [g3,bb3,d4,g4]!2 [g3,bb3,d4,g4]@2 [g3,bb3,d4,g4]!3, ~@2 g3@3 ~@2 eb3@6 ~@3]/2", // Eb Gm
  K: "~ [c4,eb4,g4]!2 [c4,eb4,g4]@2 [c4,eb4,g4]!3, ~@3 ab3", // Cm
  L: "~ [b3,eb4,ab4] [f3,b3,eb4,ab4] [b3,eb4,ab4]@2 [b3,eb4,ab4]!3, ~@3 f3@3 f3@2", // Abm Fm7b5 Abm
  M: "~ [g3,bb3,eb4,g4]!2 [eb3,bb3,eb4,g4]@2 [bb3,eb4,g4]!3, ~@3 g3@3 g3@2", // Eb
  N: "~ [bb3,db4,f4]!2 [db4,f4]@2 [db4,f4] [bb3,db4,f4] [f3,bb3,db4,f4], ~ f3@2 ~, ~@3 bb3@3 ~@2", // Bbm Db Bbm
  O: "[~ [e3,bb3,c4,e4] [c3,e3,bb3,c4,e4] [bb3,c4,e4]@2 [bb3,c4,e4] [c3,e3,bb3,c4,e4] [c3,e3,bb3,c4,e4]@2 [e3,bb3,c4,e4]!2 [e3,bb3,c4,e4]@2 [e3,bb3,c4,e4] [c3,e3,bb3,c4,e4]!2, ~@3 [c3,e3]@3 ~@10]/2", // C7 C
  P: "~ [eb3,ab3,c4,f4] [ab3,c4,f4] [ab3,c4,f4]@2 [eb3,ab3,c4,f4]!2 [c3,eb3,ab3,c4,f4], ~ c3@2 ~, ~@2 eb3@3 ~@3", // Fm7 Fm Fm7
  Q: "~ [f3,b3,eb4,ab4] [ab2,f3,b3,eb4,ab4] [f3,b3,eb4,ab4]@2 [f3,b3,eb4,ab4]!3, ~@3 ab2@5", // Fm7b5
  R: "~ [g3,bb3,eb4,g4] [bb3,eb4,g4]!2 ~ [f3,bb3,d4,g4]!2 [d3,f3,bb3,d4,g4], ~@2 [eb3,g3]@2 ~ d3@2 ~", // Eb Gm7 Eb
  S: "~ [eb3,ab3,c4,f4]!2 [c3,eb3,ab3,c4,f4] ~ [c3,e3,bb3,c4,e4] [e3,bb3,c4,e4] [c3,e3,bb3,c4,e4]", // Fm7 C7
  T: "~ [c3,eb3,ab3,c4,f4]!3 ~ [d3,f3,b3,d4,g4]!3, ~@10 g2@5 ~", // Fm7 G7
  U: "~ [c4,eb4,ab4] [ab3,c4,eb4,ab4] eb4!2 [ab3,c4,eb4,ab4] [ab3,eb4,ab4]!2, ~@3 [ab3,c4,ab4]@2 ~ c4@2", // Ab Ab5 Ab
  V: "~ [g3,bb3,eb4,g4]!3 ~ [d3,f3,bb3,d4,g4] [g2,d3,f3,bb3,d4,g4]!2, ~ eb3 ~@2", // Eb Gm7
  W: "~ [g3,bb3,eb4,g4] [bb3,eb4,g4] [g3,bb3,eb4,g4]@2 [g3,bb3,eb4,g4] [c3,g3,bb3,eb4,g4]!2, ~ c3@2 c3@3 ~@2", // Eb Cm7
  X: "~ [f2,c3,eb3,ab3,c4,f4] [c3,eb3,ab3,c4,f4] [c3,eb3,ab3,c4,f4]@2 [f2,c3,eb3,ab3,c4,f4] [c3,eb3,ab3,c4,f4]!2, ~@2 f2@3 ~ f2@2", // Fm7
  Y: "~ [ab3,c4,eb4,ab4]!2 [c4,eb4,ab4]@2 [c4,eb4,ab4] [eb4,ab4]!2, ~@3 ab3@3 [ab3,c4]@2", Z: "[ab3,c4,eb4,g4]@11 ~@5",
  AA: "[~ [bb3,eb4,g4] [eb3,bb3,eb4,g4] [eb4,g4]@2 [eb4,g4] [eb3,bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,d4,g4] [eb3,g3,bb3,d4,g4] [bb3,d4,g4]@2 [bb3,d4,g4] [eb3,bb3,d4,g4]!2, ~@2 g3@4 g3@4 ~ g3@3 g3@2, ~@3 bb3@3 ~@10]/2", // Eb Gm Ebmaj7 Gm Ebmaj7
  AB: "~ [ab3,c4,eb4,g4] [eb4,g4] [eb4,g4]@2 [c4,eb4,g4]!3, ~ ab3@2 ab3, ~@2 c4@3 ~@3", // Abmaj7 Eb Cm
  AC: "~ [b3,eb4,ab4]!2 [b3,eb4,ab4]@2 [b3,eb4,ab4] [eb4,ab4]!2, ~ f3@2 [f3,b3]", // Abm Ab5 Fdim
  AD: "~ [g3,bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [bb3,eb4,g4] [eb3,g3,bb3,eb4,g4] [g3,bb3,eb4,g4], ~ eb3@2 [eb3,g3]@3 ~@2", // Eb
  AE: "~ [f3,bb3,db4,f4] [db4,f4] [db4,f4]@2 [bb3,db4,f4] [db4,f4]!2, ~ bb2@3, ~ f3@2 [f3,bb3], ~@2 bb3@3 ~@3", // Bbm Db Bbm Db Bb5
  AF: "[~ [bb3,c4,e4] [e3,bb3,c4,e4] [bb3,c4,e4]@2 [bb3,c4,e4]!2 [bb3,c4,e4]@2 [bb3,c4,e4]!2 [bb3,c4,e4]@2 [bb3,c4,e4] [e3,bb3,c4,e4]!2, ~@2 c3@3 ~ [c3,e3]@4 [c3,e3]@3 ~ c3@2, ~@3 e3@3 ~@10]/2", // C7 C
  AG: "~ [ab3,c4,f4] [c4,f4] [c4,f4]@2 [ab3,c4,f4]!3, ~@2 ab3@3 ~@3, ~@3 f3@3 f3@2", // Fm F5 Fm
  AH: "~ [b3,eb4,ab4] [f3,b3,eb4,ab4] [f3,b3,eb4,ab4]@2 [f3,b3,eb4,ab4]!3", // Abm Fm7b5
  AI: "~ [bb3,eb4,g4] [g3,bb3,eb4,g4] [eb3,bb3,eb4,g4]@2 [bb3,d4,g4] [d4,g4]!2, ~@3 g3@3 [g3,bb3]@2", // Eb Gm G5 Gm
  AJ: "[~ [ab3,c4,eb4,ab4]!2 [c4,eb4,ab4]@2 [c4,eb4,ab4] [ab3,eb4,ab4] [ab3,eb4,ab4]@2 [c4,eb4,ab4]!2 [ab3,c4,eb4,ab4]@2 [ab3,c4,eb4,ab4] [bb2,ab3,eb4,ab4]!2, ~@3 bb2@6 bb2@5 ~@2, ~@3 ab3@3 c4@3 ab3@2 ~@3 c4@2]/2", // Ab Ab5 Ab Ebsus4
  AK: "~ [eb3,g3,eb4] [g3,bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,eb4,g4] [g3,bb3,eb4,g4]!2, ~@3 [eb3,g3]@3 eb3@2", // Eb
  AL: "~ [bb3,d4] [eb3,g3,bb3,d4,g4] [bb3,d4,g4]@2 [bb3,d4,g4] [g3,bb3,d4,g4]!2, ~@3 g3@3 eb3@2", // Bb Ebmaj7 Gm
  AM: "~ [b3,eb4,ab4]!2 [f3,b3,eb4,ab4]@2 [f3,b3,eb4,ab4] [b3,eb4,ab4]!2, ~@3 f3", // Abm Fm7b5 Abm
  AN: "~ [g3,bb3,eb4,g4] [bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,eb4,g4] [g3,bb3,eb4,g4]!2, ~ [eb3,g3]@2 eb3", // Eb
  AO: "~ [f3,bb3,db4,f4]!2 [bb3,db4,f4]@2 [bb3,db4,f4] [bb2,f3,bb3,db4,f4]!2, ~ bb2@5 ~@2, ~@3 f3@3 ~@2", // Bbm
  AP: "[~ [c3,e3,bb3,c4,e4] [e3,bb3,c4,e4] [bb3,c4,e4]@2 [c3,bb3,c4,e4] [c3,e3,bb3,c4,e4] [bb3,c4,e4]@2 [bb3,c4,e4] [e3,bb3,c4,e4] [bb3,c4,e4]@2 [bb3,c4,e4] [c3,e3,bb3,c4,e4]!2, ~@2 c3@3 ~@2 c3@6 ~@3, ~@3 e3@3 ~ e3@3 ~ e3@3 ~@2]/2", // C7
  AQ: "~ [ab3,c4,f4] [f3,ab3,c4,f4] [ab3,c4,f4]@2 [ab3,c4,f4]!2 [f3,ab3,c4,f4], ~@3 f3@4 ~", // Fm
  AR: "~ [f3,b3,eb4,ab4]!2 [f3,b3,eb4,ab4]@2 [ab2,f3,b3,eb4,ab4] [ab2,b3,eb4,ab4]!2, ~@3 f3", // Fm7b5 Abm
  AS: "~ [bb3,eb4,g4] [g3,bb3,eb4,g4] [bb3,eb4,g4] ~ [d4,g4]!2 [d3,f3,bb3,d4,g4], ~@2 eb3@2 ~ [f3,bb3]@2 ~", // Eb G5 Gm7 Bb5
  AT: "[~ [ab3,c4,eb4,ab4] [ab3,eb4,ab4] [bb2,ab3,eb4,ab4]@2 [c4,eb4,ab4] [bb2,c4,eb4,ab4] [ab3,c4,eb4,ab4]@2 [ab3,c4,eb4,ab4]!2 [ab3,c4,eb4,ab4]@2 [ab3,c4,eb4,ab4]!3, ~@2 c4@3 ab3@2 ~@9, ~@10 bb2 ~@3 bb2@12 bb2@6]/2", // Ab Ab5 Ebsus4 Ab
  AU: "~ [bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [eb3,g3,bb3,eb4,g4]!3, ~@2 g3@3 ~@3", // Eb
  AV: "~ [bb3,d4,g4]!2 [eb3,g3,bb3,d4,g4]@2 [eb3,g3,bb3,d4,g4]!3, ~ g3@2 ~@5, ~@2 eb3 ~@13", // Gm Ebmaj7
  AW: "~ [c4,eb4,g4] [ab3,c4,eb4,g4] [c4,eb4,g4]@2 [c4,eb4,g4]!3, ~@3 ab3@3 ab3@2", // Cm Abmaj7 Cm
  AX: "~ [f3,b3,eb4,ab4] [b3,eb4,ab4] [b3,eb4,ab4]@2 [b3,eb4,ab4] [f3,b3,eb4,ab4] [ab2,f3,b3,eb4,ab4], ~ f3@2 ~", // Fm7b5 Abm Fm7b5
  AY: "~ [g3,bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [bb3,eb4,g4] [eb3,g3,bb3,eb4,g4]!2, ~ eb3@5 ~@2, ~@3 g3@3 ~@2", // Eb
  AZ: "~ [bb3,db4,f4]!2 [f3,bb3,db4,f4]@2 [bb2,f3,bb3,db4,f4]!2 [f3,bb3,db4,f4], ~ bb2@4 ~@3, ~ f3@2 ~@5", // Bbm
  BA: "[~ [e3,bb3,c4,e4] [c3,e3,bb3,c4,e4] [e3,bb3,c4,e4]@2 [e3,bb3,c4,e4]!2 [e3,bb3,c4,e4]@2 [e3,bb3,c4,e4]!2 [e3,bb3,c4,e4]@2 [c3,e3,bb3,c4,e4] [c3,bb3,c4,e4]!2, ~@3 c3@6 ~ c3@3 ~ e3@2]/2", // C7
  BB: "~ [eb3,ab3,c4,f4]!2 [eb3,ab3,c4,f4]@2 [f2,c3,eb3,ab3,c4,f4] [c3,ab3,c4,f4]!2, ~@2 c3@3 ~ eb3@2", // Fm7 Fm
  BC: "~ [f3,b3,eb4,ab4]!2 [f3,b3,eb4,ab4]@2 [f3,b3,eb4,ab4]!2 ~, ~@2 ab2@9 ~ ab2@4", // Fm7b5
})).s("gm_acoustic_guitar_steel").gain(0.27).pan(0.4)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@22 A B C D E F G ~ H ~@15 I J K D L M N ~ N O P Q R C B ~@9 S T ~ D U V W X Y Z AA ~@2 AB AC K Y B ~@3 D AD AE AF ~
  AG ~ C AH ~ AI N ~ AJ ~@2
>`.pickRestart({
  A: "~ [g3,bb3] ~@6", B: "~ eb3 ~@6", C: "~ ab3 ~@6", D: "~ f3 ~@6", E: "~ eb3@2 ~@2 eb3 ~@2", F: "~ f3 bb2@4 ~@2",
  G: "~@2 c3@9 ~@5", H: "~@2 c3@2 f2@7 ~ f2@4", I: "~ [eb3,g3] ~ eb3@2 eb3 ~@2", J: "~@5 eb3@2 eb3", K: "~ ab3@5 ~@2",
  L: "~ eb3!2 ~@5", M: "~ f3 ~@4 f3 ~, ~ bb2@3", N: "~ c3 ~@6", O: "~ ab2 ~@6", P: "~ eb3 ~@5 g2",
  Q: "~@2 [f2,c3]@5 ~@3 gb2@2 ~@2 gb2@2", R: "~@2 f2@2 f2@5 ~@7", S: "~ g3 ~@3 eb3 ~@2", T: "~@6 eb3@5 ~@5",
  U: "~@7 eb3", V: "~ bb2 ~@6", W: "~ [c3,e3] ~@3 c3 ~@2", X: "~@5 e3 ~@2", Y: "~ f3@2 ~@5", Z: "~ [ab2,f3] ab2 ab2@5",
  AA: "~ g3 eb3 ~@5", AB: "~ bb3 eb3 ~@5", AC: "~ [g3,g4] ~ eb3@3 ~@2", AD: "~ ab2@4 ~@3",
  AE: "~ [eb3,g3] ~ g3 ~@2 g2@2, ~@5 d3@2 ~", AF: "~@2 bb2 ~@5", AG: "~ [eb3,g3] ~ eb3@2 ~@3", AH: "~ ab2 ab2@5 ~",
  AI: "~@7 bb2", AJ: "~ c3 f2@3 ~ f2@2",
})).s("gm_acoustic_guitar_steel").gain(0.16).pan(0.4)

// chords · pan flute
const pan_flute = note(`<
  ~ A@5 B ~@4 C@2 D E F@5 G H I@2 J K L@2 M@2 N@2 O P@2 Q@3 R S@4 T@2 H U@2 J K V@2 M@2 N@2 W X@6 Y@5 G H Z@2 J K AA@2
  M@2 AB@2 AC@2 AD AE@2 J K AF@2 M@2 AG@2 AH@2 AD AE@2 J K AI@2 M@2 AJ@2 ~
>`.pickRestart({
  A: "[~@78 bb4 ab4, ~@5 g4@34 ~, ~@5 eb4@27 d4@8, ~@3 bb3@2]/5", B: "[ab3,c4,g4]",
  C: "[~@5 g3 ab3 bb3@2 bb3!2 g3 bb3 c4@2 bb3]/2", D: "~@2 g3@2 f3@2 g3 f3 eb3@2 eb3@2 f3@2 g3@2",
  E: "ab3@2 ab3@2 ab3@2 ab3@2 bb3@4 g3@2 ab3 g3",
  F: "[f3@4 ~@6 eb3@2 eb3@2 c4@4 c4@4 c4@4 eb4@2 c4@2 f4@4 d4@2 c4@2 d4 c4 bb3@2 bb3@2 c4@2 eb4@4 c4@2 bb3@2 c4@4 bb3@2 g3@2 bb3@4 g3@2 f3@2 g3 f3 eb3@2 ~@2 eb3@2 f3@2]/5",
  G: "g3 bb3@2 c4@2 eb4 [bb3,c4,eb4,g4]@2", H: "~@3 [bb3,eb4,g4]!5",
  I: "[~@2 bb3@2 eb4@2 d4@4 c4@4 bb3@4 eb4@4 d4@4 c4@5 ~]/2", J: "bb3 c4 eb4 g4@3 ab4 g4",
  K: "f4 ~ [g3,eb4,g4] [ab3,f4,ab4]", // Cm Db
  L: "[[bb3,g4,bb4]@2 [g4,bb4]@2 [g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [c4,ab4,c5]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@4 ~@6 [bb3,g4,bb4]@2 [c4,ab4,c5]@3 [db4,bb4,db5]@3, ~@2 bb3 ~ bb3 ~@27]/2", // Eb Gm Eb Fm Eb Fm Gb
  M: "[[bb3,g4,bb4]@4 ~@6 [bb3,g4,bb4]@2 [c4,ab4,c5]@2 [db4,bb4,db5]@6 [db4,bb4,db5]@4 [c4,ab4,c5]@2 [bb3,g4,bb4]@4 [c4,ab4,c5] [bb3,g4,bb4]]/2", // Eb Fm Gb Fm Eb Fm Eb
  N: "[[ab3,f4,ab4]@2 ~@3 [ab3,f4,ab4] [bb3,g4,bb4] [b3,ab4,b4]@3 [b3,ab4,b4] [bb3,g4,bb4]@2 [bb3,g4,bb4] [ab3,f4,ab4]!2]/2", // Db Eb E Eb Db
  O: "[g3,eb4,g4]@4 g3@2 eb3@2 f3@4 g3@2 g3 f3", P: "[eb3@3 ~@5 e3@2 f3@2 g3@2 ab3@4 ab3@2 c3@2 g3@6 ab3@2 ab3 g3]/2",
  Q: "[f3@3 ~@7 g3@2 ab3@2 bb3@4 bb3@2 g3@2 bb3@4 bb3 c4 bb3@2 bb3@4 g3@2 f3@2 g3 f3 eb3@2 f3@2 g3@2 ab3@2]/3",
  R: "~ ab3 bb3@3 ~ ab3 bb3 ab3@4 g3@2 ab3 g3",
  S: "[f3@2 ~@8 eb3@2 eb3@2 c4@4 c4@4 c4@4 eb4@4 f4@4 d4@2 c4@2 d4 c4 bb3@2 bb3@2 c4@2 eb4@4 c4@2 bb3@2 c4@4 bb3@2 g3@2 bb3@2]/4",
  T: "[g3@2 g3 f3 eb3@2 ~@4 eb3@2 f3@2 g3@4 bb3@4 c4@4 eb4@2 [bb3,c4,eb4,g4]@4]/2", // Cm7
  U: "[~ bb3 eb4 d4@2 c4@2 bb3@2 eb4@2 d4@2 c4@2 ~]/2",
  V: "[[bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [c4,ab4,c5]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@4 ~@6 [bb3,g4,bb4]@3 [c4,ab4,c5]@2 [db4,bb4,db5]@2 ~]/2", // Eb Fm Eb Fm Gb
  W: "[g3,eb4,g4]@2 ~@2 g4@2 eb4@2 f4@4 g4@2 g4 f4", // Cm
  X: "[eb4@2 ~@6 e4@2 f4@2 g4@2 ab4@6 ab4@2 c4@2 g4@4 ab4@2 f4@4 ~@8 g4@2 ab4@2 bb4@6 bb4@2 g4@2 bb4@2 bb4@2 c5@2 bb4@4 g4@2 f4@2 g4 f4 eb4 ~ f4@2 g4@2 ab4@6 bb4@2 ab4@4 g4@2 f4@2 g4@2]/6",
  Y: "[f4@4 ~@6 eb3@2 eb3@2 c4@4 c4@4 c4@4 eb4@2 c4@2 f4@4 d4@2 c4@2 d4 c4 bb3@2 bb3@2 c4@2 eb4@4 c4@2 bb3@2 c4@4 bb3@2 g3@2 bb3@4 g3@2 f3@2 g3@2 f3@2 ~@2 eb3@2 f3@2]/5",
  Z: "[~@2 bb3@2 eb4@2 d4@6 c4@2 bb3@4 eb4@4 d4@4 c4@3 ~@3]/2",
  AA: "[[bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [c4,ab4,c5]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@5 ~@5 [bb3,g4,bb4]@3 [c4,ab4,c5]@2 [db4,bb4,db5]@2 ~]/2", // Eb Fm Eb Fm Gb
  AB: "[[ab3,f4,ab4]@5 ~@5 [ab3,f4,ab4]@2 [g4,bb4]@2 [b3,ab4,b4]@6 [b3,ab4,b4]@2 [bb3,g4,bb4]@4 [bb3,g4,bb4]@2 [ab3,f4,ab4]@2 [ab3,f4,ab4]@2, ~@12 bb3 ~@19]/2", // Db Gm E Eb Db
  AC: "[[g3,eb4,g4] ~ g4 eb4 f4@2 g4 bb3@5 ~@4]/2", AD: "~@6 c4!2",
  AE: "[bb3@2 bb3@2 eb4@2 d4@6 c4@2 bb3@4 eb4@4 d4@4 c4@3 ~@3]/2",
  AF: "[[bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [c4,ab4,c5]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@4 ~@6 [bb3,g4,bb4]@3 [c4,ab4,c5]@2 [db4,bb4,db5]@3]/2", // Eb Fm Eb Fm Gb
  AG: "[[ab3,f4,ab4]@2 ~@3 [ab3,f4,ab4] [g4,bb4] [b3,ab4,b4]@3 [b3,ab4,b4] [bb3,g4,bb4]@2 [bb3,g4,bb4] [ab3,f4,ab4]!2, ~@12 bb3 ~@19]/2", // Db Gm E Eb Db
  AH: "[[g3,eb4,g4]@2 ~@2 g4@2 eb4@2 f4@4 g4@2 bb3@11 ~@7]/2", // Cm
  AI: "[[bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@2 [c4,ab4,c5]@2 [bb3,g4,bb4]@2 [bb3,g4,bb4]@4 ~@6 [bb3,g4,bb4]@2 ~ c4@2 [db4,bb4,db5]@3, ~@26 [ab4,c5]@3 ~@3]/2", // Eb Fm Eb Gb Ab
  AJ: "[[ab3,f4,ab4]@2 ~@3 [ab3,f4,ab4] [g4,bb4] [b3,ab4,b4]@3 [b3,ab4,b4] [bb3,g4,bb4]@2 [bb3,g4,bb4] ~@2, ~@12 bb3 ~@19]/2", // Db Gm E Eb
})).s("gm_pan_flute").gain(0.25)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@4 A B C ~@2 D@2 ~ E F D ~@7 E B F G E H I@2 D J ~ D@2 ~ E C D K ~@6 E L F M E N I C D G E D@2 O A F D K ~@6 E B F G
  E N C I P G ~@3 E L C G E N I@2 D G ~@3 E L F G E N I@2 D G ~
>`.pickRestart({
  A: "~@4 [bb4,eb5] ~@11", B: "~@4 [bb4,d5] ~@11", C: "~@4 [g4,c5] ~@11", D: "~@4 [eb4,ab4,c5] ~@11",
  E: "~@4 [g4,bb4,eb5] ~@11", F: "~@4 [eb4,g4,c5] ~@11", G: "~@4 [eb4,ab4,b4] ~@11", H: "~@4 [f4,bb4,db5] ~@11",
  I: "~@4 [e4,g4,c5] ~@11", J: "~@4 [eb4,ab4,b4] ~@7 [eb4,ab4,b4] ~@3", K: "~@4 [c4,eb4,bb4] ~@11",
  L: "~@4 [g4,bb4,d5] ~@11", M: "~@4 [ab4,b4] ~@11", N: "~@4 [f4,ab4,db5] ~@11",
  O: "~@4 [c4,eb4,bb4] ~@7 [c4,eb4,bb4] ~@3", P: "~@4 [c4,ab4,c5] ~@11",
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.4)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@4 A@2 B C ~@42 D E F@2 G@3 ~@2 H I@2 J@2 K E L M ~@6 N O P@2 Q@2 R@2 S ~@4 N O P@2 Q@2 R@2 T ~@4 N O P@2 Q@2 ~
>`.pickRestart({
// … 64 more lines

More by Bee Gees