Strudelify
Pretty Maids All in a Row cover art

Hotel California

Pretty Maids All in a Row

Eagles

KeyE♭ majorTempo64 bpm
0:00/0:00
// Pretty Maids All in a Row — Eagles
// 64 bpm, 6/8, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/8 at bar 3) are rendered on a constant 6/8 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 66 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(64/3)

// 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 · lead 3 calliope
const lead_3_calliope = note("<~@22 A B C D ~@4 E F ~@8 G H I J K L M N O ~@4 P Q R S T U V W T U V W ~>".pickRestart({
  A: "[c5,eb5]@16 [bb4,d5]@5 [c5,eb5]@5 ~ [d5,f5]@5", B: "[d5,f5]@2 [eb5,g5]@7 ~@23", C: "[bb4,eb5,g5] [a4,eb5,f5]",
  D: "[ab4,eb5,f5]@11 [d5,f5]@2 ~@19", E: "[eb5,ab5,c6]@16 bb5@12 g5 bb5 ~ eb6, ~ [f5,d6]",
  F: "[ab5,c6,f6]@5 [g5,bb5,eb6]@14 ~@13", // Fm Eb
  G: "c5@2 ~@2 bb4 c5@2 ~@2 bb4 ~ c5@2 ~ bb4 ~ [f4,c5] ~ [g4,d5]@2 ~ [ab4,eb5]@4 ~@2 [bb4,f5]@4 ~", // F5 G5 Ab5 Bb5
  H: "[c5,g5]@4 ~ [c5,g5]@4 ~@2 [c5,g5]@4 ~ [ab4,eb5]@2 [bb4,f5]@2 ~ [ab4,eb5]@4 [g4,d5] ~ [g4,d5]@4 ~", // C5 Ab5 Bb5 Ab5 G5
  I: "[g4,d5] [ab4,eb5]@4 ~@3", // G5 Ab5
  J: "[bb4,g5]@4 ~ [bb4,g5]@8 ~ [bb4,g5] ~ [bb4,g5]@2 ~@3 f5@4 ~@2 a4@2 [ab4,d5]@2 ~, ~@20 a4@5 ~@7, ~@20 eb5@2 ~@5 eb5@4 ~", // Eb Abdim
  K: "f5@2 [ab4,eb5]@2 [ab4,d5]@9 ~@19, bb4 ~@31", // Ab5 Abdim
  L: "[c5,g5]@4 ~ [c5,g5]@8 ~ [d5,bb5] ~ eb5@4 [bb4,f5] eb5@4 [g4,d5] ~@6, ~@16 ab4@2 ~@3 ab4@2 ~@9", // C5 Gm Bb5 G5
  M: "d5@2 [ab4,eb5]@2 ~ [g4,d5]@8 ~ [ab4,eb5] ~ g4@4 [f4,ab4]@5 ~@7, g4 ~@15 bb4@2 ~@14", // Ab5 G5 Ab5 Fm
  N: "[bb4,g5]@4 ~ [bb4,g5]@4 ~@2 [bb4,g5]@4 ~ [a4,g5]@4 ~ [a4,f5]@4 eb5@2 eb5@3 [ab4,d5] ~, ~@27 a4@2 ~@3", // Eb A7 Dm Abdim
  O: "f5@2 eb5@2 d5@9 ~@19, ab4@3 ~@5", P: "bb5", Q: "bb5@11 ab5@5 g5@11 f5@4 ~",
  R: "bb4@4 ~ eb5@4 ~@2 g5@4 ~ f5@7 ~@4 c5@4 ~, g5@11 ~@21", S: "eb5@11 ~@5 d5@7 ~@9, f5@23 ~@9", T: "d6, bb5@21 ~@11",
  U: "d6@11 [ab5,c6]@5 bb5@11 [f5,ab5]@4 ~, bb5@7 ~@9 g5@7 ~@9", // Ab Fm
  V: "bb4@4 ~ eb5@4 ~@2 g5@4 ~ g5@11 c5@4 ~, bb5 a5, g5@11 ~@5 f5@7 ~@9", W: "eb5@11 ~@5 d5@7 ~@9, [f5,ab5]@23 ~@9",
})).s("gm_lead_3_calliope").gain(0.27)

// other · lead 8 bass lead
const lead_8_bass_lead = note(`<
  ~@31
  [~@8 g5 bb5 ~ eb6@2 ~@3 eb6@4 ~ bb5@2 ~@5 bb5 ~ g5 ~, ~@27 c6@2 ~@3]
  [bb5@11 ~@5 gb5@4 g5 bb5@4 ~@2 g5@3 f5 ~]
  [eb5@4 ~@5 g6 ~ g6@2 ~ g6 ~ g6@2 ab6@2 ~ g6@2 ~@4 f6@3 eb6 ~]
  [bb5@21 ~@11]
  ~@31
>`).s("gm_lead_8_bass_lead").gain(0.52)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@9 A B C D E D F G H I H I J K L M N K O P Q R S E T F G H G H G U V W X Y Z L AA Y K L AB AC AD AE AF AC K L AG AH K
  L AG AH ~
>`.pickRestart({
  A: "~@29 eb4@3", B: "f4@10 ~@6 eb4@10 ~@3 eb4@3", C: "f4@11 ~@5 eb4@10 ~@6",
  D: "[eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~ [eb4,g4,bb4,eb5,g5]@11 ~@5", // Eb
  E: "[eb4,f4,bb4,d5,bb5]@11 ~@5 [ab4,c5,eb5,ab5]@4 ~ [f4,c5,eb5,ab5]@4 ~@2 [bb3,d4,f4,bb4,d5,bb5]@4 ~", // Bb Ab Fm7 Bb
  F: "[eb4,f4,bb4,d5,bb5]@11 ~@21", G: "[ab4,bb4,eb5,g5]@11 ~@5 [g4,bb4,d5,g5]@11 ~@5", H: "[f4,c5,eb5,ab5]@21 ~@11",
  I: "[ab4,bb4,eb5,g5]@5 ~@3 [g4,bb4,d5,g5]@5 ~@3", J: "[db4,ab4,db5,eb5,ab5]@11 ~@5 [ab4,c5,eb5,ab5]@11 ~@5",
  K: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@2 ~ [c4,g4,bb4,eb5,g5] ~ [g3,d4,g4,bb4,d5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~@2 [g3,d4,g4,bb4,d5,g5]@2 ~ [g3,d4,g4,bb4,d5,g5] ~", // Cm7 Gm
  L: "[c4,ab4,bb4,eb5,g5]@4 ~ [c4,ab4,bb4,eb5,g5]@4 ~@2 [c4,ab4,bb4,eb5,g5]@2 ~ [c4,ab4,bb4,eb5,g5] ~ [c4,ab4,bb4,eb5,g5]@11 ~@5", // Cm7
  M: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,g4,bb4,eb5,g5]@4 ~ [a3,g4,bb4,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
  N: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@10 ~@6", // Bbsus4 Bb
  O: "[ab4,bb4,eb5,g5]@4 ~ [ab4,bb4,eb5,g5]@4 ~@2 [ab4,bb4,eb5,g5]@2 ~ [ab4,bb4,eb5,g5] ~ [ab4,bb4,eb5,g5]@10 ~@6", // Eb
  P: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [ab3,f4,c5,eb5,g5]@4 ~ [ab3,f4,c5,eb5,g5]@4 ~@2 [ab3,f4,c5,eb5,g5]@2 ~ [ab3,f4,c5,eb5,g5] ~", // Eb Abmaj7
  Q: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@7 ~@4 [bb3,d4,f4,bb4,d5,bb5]@2 ~ [bb3,d4,f4,bb4,d5,bb5] ~", // Bbsus4 Bb
  R: "[bb3,f4,c5,eb5,ab5]@4 ~ [bb3,f4,c5,eb5,ab5]@8 ~ [bb3,f4,c5,eb5,ab5] ~ [bb3,d4,f4,bb4,d5,bb5]@7 ~@4 [bb3,d4,f4,bb4,d5,bb5]@4 ~", // Fm7 Bb
  S: "[eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~ [eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~", // Eb
  T: "[eb4,g4,bb4,eb5,g5]@13 ~ [eb4,g4,bb4,eb5,g5] ~ [eb4,g4,bb4,eb5,g5]@11 bb4@2 ~ [eb4,g4,bb4,eb5,g5] ~", // Eb
  U: "[f4,c5,eb5,ab5]@11 ~@5 [bb3,f4,c5,eb5,ab5]@11 ~@5", // Fm7
  V: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@2 ~ [c4,g4,bb4,eb5,g5] ~ [g3,d4,g4,bb4,d5,g5]@11 ~@5", // Cm7 Gm
  W: "[c4,ab4,bb4,eb5,g5]@4 ~ [c4,ab4,bb4,eb5,g5]@4 ~@2 [c4,ab4,bb4,eb5,g5]@2 ~ [c4,ab4,bb4,eb5,g5] ~ [ab4,bb4,eb5,g5]@11 ~@5, ~@16 c4@7 ~@9", // Cm7 Eb
  X: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,f4,c5,eb5,g5]@7 ~@4 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5]@2", // Eb Am7b5
  Y: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@11 ~@5", // Bbsus4 Bb
  Z: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~@2 [g3,d4,g4,bb4,d5,g5]@2 ~ [g3,d4,g4,bb4,d5,g5] ~", // Cm7 Gm
  AA: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
  AB: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,f4,c5,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
  AC: "[bb3,f4,bb4,eb5,bb5]@4 ~ [bb3,f4,bb4,eb5,bb5]@4 ~@2 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@4 ~ [bb3,d4,f4,bb4,d5,bb5]@4 ~@2 [bb3,d4,f4,bb4,d5,bb5]@4 ~", // Bbsus4 Bb
  AD: "[c4,g4,bb4,eb5,g5]@4 ~ [c4,g4,bb4,eb5,g5]@4 ~@2 [c4,g4,bb4,eb5,g5]@2 ~ [c4,g4,bb4,eb5,g5] ~ [g3,d4,g4,bb4,d5,g5]@4 ~ [g3,d4,g4,bb4,d5,g5]@4 ~@2 [g3,d4,g4,bb4,d5,g5]@4 ~", // Cm7 Gm
  AE: "[ab4,bb4,eb5,g5]@4 ~ [ab4,bb4,eb5,g5]@4 ~@2 [ab4,bb4,eb5,g5]@2 ~ [ab4,bb4,eb5,g5] ~ [ab4,bb4,eb5,g5]@11 ~@5", // Eb
  AF: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~ [a3,f4,c5,eb5,g5]@4 ~@2 [a3,f4,c5,eb5,g5]@4 ~", // Eb Am7b5
  AG: "[bb3,g4,bb4,eb5,g5]@4 ~ [bb3,g4,bb4,eb5,g5]@4 ~@2 [bb3,g4,bb4,eb5,g5]@2 ~ [bb3,g4,bb4,eb5,g5] ~ [a3,f4,c5,eb5,g5]@3 ~@2 [a3,f4,c5,eb5,g5]@3 ~@3 [a3,f4,c5,eb5,g5]@2 ~ [a3,f4,c5,eb5,g5] ~", // Eb Am7b5
  AH: "[bb3,f4,bb4,eb5,bb5]@3 ~@2 [bb3,f4,bb4,eb5,bb5]@3 ~@3 [bb3,f4,bb4,eb5,bb5]@2 ~ [bb3,f4,bb4,eb5,bb5] ~ [bb3,d4,f4,bb4,d5,bb5]@3 ~@2 [bb3,d4,f4,bb4,d5,bb5]@3 ~@3 [bb3,d4,f4,bb4,d5,bb5]@3 ~@2", // Bbsus4 Bb
})).s("gm_acoustic_guitar_steel").gain(0.18).pan(0.9)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  A@2 B@2 A C D@2 E F B G H I H J K@2 ~@8 L M N O P H I H J K@2 ~@4 Q R S P T R S P U V W X U V W X U V W X U V W X ~
>`.pickRestart({
  A: "eb5@11 ~@5 d5@11 ~@5", B: "eb5@11 ~@5 c5@11 ~@5", C: "eb5@10 ~@6 f5@7 ~@4 d5@3 ~@2", D: "eb5@5 ~@3 c5@5 ~@3",
  E: "eb5@5 ~@3 d5@5 ~@3", F: "eb5@11 ~@5 f5@7 ~@4 d5@4 ~", G: "eb5@11 ~@5 bb4@11 ~@5", H: "[bb5,eb6,g6]@21 ~@11",
  I: "[bb5,d6,f6]@11 ~@5 [ab5,c6,eb6]@11 ~@5", J: "[bb5,d6,f6]@11 ~@5 [bb5,db6,f6]@11 ~@5", K: "[eb6@13 ~@3]/2",
  L: "eb5@10 ~@6 d5@7 ~@4 eb5@4 ~", M: "c5@21 ~@11", N: "eb5@20 ~ d5@4 ~@2 c5@4 ~", O: "bb4@21 ~@11", P: "bb5@21 ~@11",
  Q: "eb6@4 ~ d6@4 ~@2 f6@4 ~ d6@7 ~@4 eb6@4 ~", R: "c6@21 ~@11", S: "eb6@20 ~ d6@4 ~@2 c6@4 ~",
  T: "d6@7 ~@4 eb6@4 ~ d6@7 ~@4 eb6@4 ~", U: "[d6,f6]@7 ~@4 [eb6,g6]@4 ~ [d6,f6]@7 ~@4 [eb6,g6]@4 ~",
  V: "[c6,eb6]@21 ~@11", W: "[d6,f6]@7 ~@4 [eb6,g6]@4 ~ [d6,f6]@7 ~@4 [a5,c6]@4 ~", X: "[d6,f6]@21 ~@11",
})).s("gm_string_ensemble_1").gain(0.27)

// bass · synth bass 1
const bass = note("<~@3 [~@27 ab1@4 ~] [bb1@21 ~@11] ~@2 [~@27 ab1@3 ~@2] [bb1@5 ~@3] ~@57>")
  .s("gm_synth_bass_1").gain(0.27)

// other · synth bass 2
const synth_bass_2 = note(`<
  ~@2
  [ab3@11 ~@5 eb3@11 ~@5]!2
  ~@2
  [ab3@5 ~@3 eb3@5 ~@3]!2
  ~@2
  [ab3@11 ~@5 eb3@11 ~@5]!2
  ~@54
>`).s("gm_synth_bass_2").gain(0.27)

// chords · piano
const piano = note(`<
  A@2 B C D@2 E F G@2 B H I@2 J@2 K L M L N O P Q R S T U V W X Y@2 Z@2 AA L AA L AB AC AD Q AE AF AG AH AI AJ AK AL AM
  AJ AN AO AM AJ AP AO AQ AR AS AO AM AT ~
>`.pickRestart({
  A: "[g3@5 g3@4 ~@2 c4@4 ~ [f3,bb3,d4]@11 bb3@4 ~ [ab3,c4,eb4]@7 ~@4 [g3,c4,eb4]@4 ~ [eb3,bb3,d4]@10 ~@6, [bb1,bb2]@53 ~@11, [c4,eb4]@11 ~@53]/2", // Bb Ab Cm Ebmaj7 Bb Cm
  B: "[db2,db3,ab3,c4,eb4]@10 ~ ab3@4 ~ [ab1,ab2,eb3,ab3,c4]@10 ~@6, f3@7 ~@25", // Ab
  C: "[db2,db3,f3,ab3,c4,eb4]@7 ~@4 [db2,db3,f3,ab3,c4,eb4]@3 ~@2 [ab1,ab2,eb3,ab3,c4]@10 ~@6", // Dbmaj7 Ab
  D: "[[g3,c4,eb4]@10 ~@6 [f3,bb3,d4]@10 ~@6 [ab3,c4,eb4]@7 ~@4 [g3,c4,eb4]@4 ~ [eb3,bb3,d4]@10 ~@6, [bb1,bb2]@53 ~@11]/2", // Cm Bb Ab Cm Ebmaj7 Bb
  E: "f3@4 ~ f3@4 ~@2 ab3@4 ~ [ab1,ab2,eb3,ab3,c4]@11 ~@5, [db2,db3,ab3,c4,eb4]@11 ~@21", // Ab
  F: "[db2,db3,f3,ab3,c4,eb4]@7 ~@4 [db2,db3,f3,ab3,c4,eb4]@4 ~ [ab1,ab2,eb3,ab3,c4]@11 ~@5", // Dbmaj7 Ab
  G: "[g3@4 ~ g3@4 ~@2 c4@4 ~ [f3,c4,d4]@11 ~@5 [ab3,c4,eb4]@7 ~@4 [g3,c4,eb4]@4 ~ [f3,bb3,d4]@10 ~@6, [bb1,bb2]@53 ~@11, [c4,eb4]@11 ~@53]/2", // Dm7 Ab Cm Bb Cm
  H: "[f3,ab3,c4,eb4]@7 ~@4 [f3,ab3,c4,eb4]@4 ~ [bb1,bb2]@4 ~ [bb1,bb2]@2 ~@2 [c2,c3] ~ [eb2,eb3]@2 ~ [c2,c3] ~, [db2,db3]@5 ~@3 [eb3,ab3,c4,eb4]@5 ~@3", // Fm7 Bb C Eb C Db Ab
  I: "[[bb3,eb4,g4]@11 ~@5 [bb4,eb5,g5]@4 ~ [c5,eb5,ab5]@4 ~@2 [ab4,c5,eb5]@4 ~ [bb4,d5,f5]@11 ~@5 [ab1,ab2,eb3,ab3,c4]@4 ~ [f1,f2,bb3]@4 ~@2 [bb1,bb2,bb3]@4 ~, [eb2,eb3]@43 ~@21]/2", // Eb Ab Bb Ab Bb5 Bb Eb
  J: "[[bb3,eb4,g4]@13 ~ [c5,eb5,ab5] ~ [c5,eb5,ab5]@4 ~ [bb4,eb5,g5]@4 ~@2 [f4,ab4,c5]@4 ~ [f4,bb4,d5]@10 ~@6 [f4,bb4,db5]@10 ~@6, [eb2,eb3]@53 ~@11]/2", // Eb Ab Eb Fm Bb Bbm Eb
  K: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [g1,g2,f3,bb3,d4]@10 ~@6, [ab1,ab2]@5 ~@11", // Cm7 Gm7 Ab
  L: "[f1,f2,g3,ab3,c4,eb4]@21 ~@11", // Fm7
  M: "[ab1,ab2,g3,bb3,c4,eb4]@7 ~@4 [ab1,ab2,g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [f3,bb3,d4]@4 ~, ~@8 [g1,g2]@5 ~@3", // Abmaj7 Bb G
  N: "[ab1,ab2,g3,bb3,c4,eb4]@5 ~@3 [g1,g2,f3,bb3,d4]@5 ~@3", // Abmaj7 Gm7
  O: "[f3,ab3,c4,eb4]@5 [c2,c3]@4 ~@2 [bb1,bb2,f3,ab3,c4,eb4]@4 ~ [ab1,ab2,eb3,ab3,c4]@11 ~@5, [db2,db3] ~@7", // Fm7 C Fm7 Ab Db
  P: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [f3,bb3,d4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Cm7 Bb C G
  Q: "[ab1,ab2,ab3,bb3,c4,eb4]@21 ~@11", // Ab
  R: "[g3,bb3,c4,eb4]@4 ~ g3@4 ~@2 [eb2,bb3]@4 ~ [f3,a3,c4,eb4]@11 [c2,c3]@4 ~, [bb1,bb2]@5 ~@11 f2@7 ~@9", // Cm7 Eb5 F7 C Bb
  S: "[bb1,bb2,eb4]@11 ~@5 [bb1,bb2,d4]@11 ~@5, [ab3,c4]@21 ~@11", // Eb5 Bb Ab
  T: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@5 ~@3 [g1,g2]@5 ~@3", // Cm7 Bb Eb C G
  U: "[g3,bb3,c4,eb4]@5 ~@3 [f3,ab3,c4,eb4]@5 ~@3, [ab1,ab2]@21 ~@11", // Cm7 Fm7 Ab
  V: "[bb1,bb2,g3,bb3,c4,eb4]@7 ~@4 [eb2,g3,bb3,c4,eb4]@4 ~ [f3,a3,c4,eb4]@11 [c2,c3]@4 ~, ~@16 f2@7 ~@9", // Cm7 F7 C
  W: "[g3,g4]@11 ~@5 [g3,g4]@11 ~@3 bb2 ~, bb2@15 ~", // G
  X: "bb2@11 ~@5 bb2@4 ~ [bb2,g3,g4]@2 ~@2 [c3,ab3,ab4] ~ [eb3,c4,c5]@2 ~ [c3,ab3,ab4] ~, [g3,g4]@5 ~@3", // Eb Fm Cm Fm G
  Y: "[[c4,eb4,g4]@13 ~ bb4 ~ [bb4,eb5,g5]@4 ~ [c5,eb5,ab5]@4 ~@2 [ab4,c5,eb5]@4 ~ [bb4,d5,f5]@11 ~@5 [ab1,ab2,ab3,bb3]@4 ~ [f1,f2,f3]@4 ~@2 [bb1,bb2,bb3]@4 ~, [eb2,eb3]@43 ~@21]/2", // Cm Eb Ab Bb Absus2 F Bb Eb
  Z: "[[g3,bb3,eb4]@13 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@4 ~ [g4,bb4,eb5]@4 ~@2 [f4,ab4,c5]@4 ~ [f4,bb4,d5]@11 ~@5 [f4,bb4,db5]@11 ~@5, [eb2,eb3]@53 ~@11]/2", // Eb Ab Eb Fm Bb Bbm Eb
  AA: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [g1,g2,f3,bb3,d4]@11 ~@5, [ab1,ab2]@11 ~@21", // Cm7 Gm7 Ab
  AB: "[ab1,ab2,g3,bb3,c4,eb4]@11 ~@5 [g1,g2,f3,bb3,d4]@11 ~@5", // Abmaj7 Gm7
  AC: "[f1,f2,g3,ab3,c4,eb4]@7 ~@4 [db2,db3,f3,ab3,c4,eb4]@4 ~ [bb1,bb2,g3,ab3,c4,eb4]@7 ~@4 [bb1,bb2,f3,ab3,c4,eb4]@4 ~", // Fm7 Dbmaj7 Cm7 Fm7
  AD: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [g3,bb3,d4,f4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Cm7 Gm7 Eb C G
  AE: "[bb1,bb2,g3,bb3,c4,eb4]@7 ~@4 [eb2,g3,bb3,c4,eb4]@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [c2,c3,a3,c4,eb4]@4 ~", // Cm7 F7 Adim
  AF: "[bb1,bb2,ab3,c4,eb4]@11 ~@5 [bb1,bb2,ab3,c4,d4]@11 ~@5", // Ab Bb7
  AG: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [g3,bb3,c4,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Cm7 Bb Eb C G
  AH: "[ab1,ab2,g3,bb3,c4,eb4]@11 ~@5 [ab1,ab2,c4,eb4]@11 [f3,ab3]@4 ~, ~@16 [g3,bb3]@7 ~@9", // Abmaj7 Ab Fm Gm
  AI: "[bb1,bb2,g3,bb3,c4,eb4]@7 ~@4 [eb2,g3,bb3,c4,g4]@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [c2,c3,a3,c4,eb4]@4 ~", // Cm7 F7 Adim
  AJ: "~@5 f3@4 ~@2 ab3@4 ~ [bb1,bb2,ab3,c4,d4]@11 ~@5, [bb1,bb2,ab3,c4,eb4]@11 ~@21", // Bb7 Ab
  AK: "[g3,bb3,eb4]@4 ~ [g3,bb3,eb4]@4 ~@2 [g3,bb3,eb4]@4 ~ [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Eb Bb Eb C G
  AL: "[g3,bb3,c4,eb4]@11 ~@5 [ab3,bb3,c4,eb4]@11 ~@5, [ab1,ab2]@21 ~@11", // Cm7 Ab
  AM: "[g3,bb3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@4 ~@2 [eb2,g3,bb3,c4,eb4]@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [c2,c3,a3,c4,eb4]@4 ~, [bb1,bb2]@5 ~@27", // Cm7 F7 Adim Bb
  AN: "[g3,bb3,eb4]@4 ~ [g3,bb3,eb4]@7 ~@4 [f3,bb3,d4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Eb Bb Eb C G
  AO: "[g3,bb3,c4,eb4]@7 ~@4 [f3,ab3,c4,eb4]@4 ~ [g3,bb3,c4,eb4]@7 ~@4 [f3,ab3,c4,eb4]@4 ~, [ab1,ab2]@11 ~@5 [ab1,ab2]@11 ~@5", // Cm7 Fm7 Cm7 Fm7 Ab
  AP: "[bb3,eb4,g4]@5 g3@4 ~@2 [g3,bb3,eb4,g4]@4 ~ [f3,bb3,d4,f4]@7 ~@4 [g3,bb3,eb4]@4 ~, [c2,c3]@11 ~@5 [g1,g2]@11 ~@5", // Eb Bb Eb C G
  AQ: "[g3,bb3,c4,eb4]@11 eb2@4 ~ [f2,f3,a3,c4,eb4]@7 ~@4 [a3,c4,eb4]@3 [b1,b2] ~, [bb1,bb2]@7 ~@20 [c2,c3]@2 ~@3", // Cm7 F7 Adim B Bb C
  AR: "~@5 f3@4 ~@2 ab3@4 ~@6 f3@4 ~@2 ab3@4 ~, [bb1,bb2,ab3,c4,eb4]@11 ~@5 [bb1,bb2,ab3,c4,d4]@11 ~@5", // Ab Bb7
  AS: "[c2,c3,bb3,eb4,g4]@11 ~@5 [g1,g2,f3,bb3,d4,f4]@11 ~@5", // Cm7 Gm7
  AT: "~@5 f3@4 ~@2 ab3@4 ~ [bb1,bb2,ab3,c4,d4]@13 ~ c4 ~, [bb1,bb2,ab3,c4,eb4]@11 ~@21", // Bb7 Ab
})).s("gm_piano").gain(0.27).pan(0.1)

// bass · electric bass finger
const bass_2 = note(`<
  ~@6 A B C@2 A D E F E G H I J I J K L M N O L P N Q R S T S U V W V W V X L Y N O L Y N Z L Y N Q L Y N AA L Y N AB AC
  AD N O ~
>`.pickRestart({
  A: "db2@11 ~@5 ab1@11 ~@5", B: "db2@7 ~@4 db2@4 ~ ab1@11 ~@5", C: "[bb1@53 ~@11]/2",
  D: "db2@7 ~@4 db2@4 ~ bb1@4 ~ bb1@2 ~@2 c2 ~ eb2@2 ~ c2 ~", E: "eb2@29 ~ eb3 ~",
  F: "eb3@11 ~@5 ab1@4 ~ f1@2 ~@4 bb1@4 ~", G: "eb3@11 ~@5 bb2@7 ~@9", H: "ab2@11 ~@5 g2@11 ~@5", I: "f3@5 ~@11",
  J: "ab3@5 ~@3 g3@5 ~@3", K: "db4@4 ~ c4@4 ~@2 bb3@4 ~ ab3@11 ~@5", L: "c3@11 ~@5 g2@11 ~@5",
  M: "ab2@7 ~@7 eb3 ~ ab3@7 ~@9", N: "bb3@11 ~@5 f3@11 ~@5", O: "bb2@21 ~@11", P: "ab2@7 ~@7 eb3 ~ ab3@11 ~@5",
  Q: "bb2@29 ~ bb2 ~", R: "bb2@11 ~@5 bb2@4 ~ bb2@2 ~@2 c3 ~ eb3@2 ~ c3 ~", S: "eb3@29 ~ eb4 ~",
  T: "f4@11 ~@5 ab2@4 ~ f2@2 ~@4 bb2@4 ~", U: "eb4@11 ~@5 bb3@7 ~@9", V: "ab3@11 ~@5 g3@11 ~@5", W: "f3@11 ~@21",
  X: "f2@11 ~@5 bb2@11 ~@5", Y: "ab2@13 ~ eb3 ~ ab3@11 ~@5", Z: "bb2@11 ~@5 bb2@7 ~@4 b2@2 ~@3",
  AA: "bb2@13 ~ f3 ~ bb3@11 ~@5", AB: "bb2@30 bb2 ~", AC: "c3@5 ~@3 g2@5 ~@3", AD: "ab2@13 ~ ab2 ~ ab3@11 ~@5",
})).s("gm_electric_bass_finger").gain(0.27)

// drums · kick
const kick = s("bd").struct("<~@11 A B@3 C B@5 D B@9 ~@3 C B@9 C B C B C B@3 C B C B@3 C B C B C B@2 ~>".pickRestart({
  A: "~@25 x ~@6", B: "x", C: "x ~@14 x", D: "x ~@7 x ~@6 x",
})).gain(0.41)

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~@12 A B A C D@5 E D@8 F ~ B ~ C D@5 G D@3 C D C D H D@3 H D C D@2 A H D C D H D@2 ~
>`.pickRestart({
  A: "~@5 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@3 x ~ x ~@2 x ~", B: "x ~@4 x ~@3 x ~ x ~@2 x ~@17",
  C: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@3 x ~ x ~@4", D: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@3 x ~ x ~@2 x ~",
  E: "x ~@4 x ~@3 x ~ x ~@4 x ~@4 x ~@3 x ~ x ~@4", F: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@5 x ~@2 x ~",
  G: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@4 x ~@10", H: "x ~@4 x ~@3 x ~ x ~@2 x ~ x ~@15",
})).gain(0.41)

// drums · low tom
const low_tom = s("lt").struct("<~@11 A ~ A ~@16 B@2 C B ~@6 B ~@25>".pickRestart({
  A: "~@27 x ~@4", B: "~@25 x ~@6", C: "x ~@26 x ~@4",
})).gain(0.41)
// … 24 more lines

More by Eagles