Strudelify
The Long Run cover art

1980 · The Long Run

The Long Run

Eagles

KeyC majorTempo102 bpm
0:00/0:00
// The Long Run — Eagles
// 102 bpm, 4/4, key C major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 97 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(102/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.

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~ A B C D E F G H I J C K E F L M N@2 O P I B C Q R S@2 T N@2 O P U D V W I B C X Y F G Z N@2 O AA A B AB D E F G T
  N@2 O AA U D V D U D V W E B C Q AC F G H I B C D AC AD AE@2 I B C D Y F G AF ~@4
>`.pickRestart({
  A: "~ c3 ~@2 c3@3 a2@3 g2@3 c3@3 g2@2 ~ a2@3 g2@2", B: "~ c3 ~@2 c3@3 a2@3 g2@3 c3@2 ~ c3@3 g3@2 ~ c3@2",
  C: "~ f3@2 ~ f3@3 d3@3 c3@2 ~ f3@3 c3@3 d3@3 c3@2", D: "~ f3 ~@2 f3@3 a2 ~@2 a2@3 a#2 ~@2 a#2@3 b2 ~@2 b2@2",
  E: "~ c3 ~@2 c3@3 a2@3 g2@3 c3@3 g2@3 a2@2 ~ g2@2", F: "~ c3 ~@2 c3@3 a2@2 ~ g2@3 c3@2 ~ c3@3 c4@2 ~ c3@2",
  G: "~ f3 ~@2 f3@3 d3@2 ~ c3@3 f3@3 c3@3 d3@2 ~ c3@2", H: "~ f3 ~@2 f3@3 a3@2 ~ f3@2 ~ a#3@3 f3@2 ~ b3@2 ~ f3 ~",
  I: "~ c3 ~@2 c3@3 a2@3 g2@3 c3@3 g2@2 ~ a2@2 ~ g2@2", J: "~ c3 ~@2 c3@3 a2@3 g2@3 c3@2 ~ c3@3 g3@3 c3@2",
  K: "~ f3 ~@2 f3@3 a2 ~@2 a2@3 a#2@2 ~ a#2@3 b2@2 ~ b2@2", L: "~ f3 ~@2 f3@3 d3@3 c3@3 f3@3 c3@3 d3@2 ~ c3@2",
  M: "~ f3 ~@2 f3@3 d3@3 c3@3 f3@3 f#2@3 g2@2 ~ g#2@2",
  N: "[~ a2 ~@2 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@4 ~@2 a2@5 ~ e2@2]/2",
  O: "~ f2@2 ~ f2@4 ~@2 f2@4 ~@2 f2@4 ~@2 f2@2", P: "~ f2 ~@2 f2@2 ~ a2@2 ~ a2@3 a#2 ~@2 a#2@2 ~ b2 ~@2 b2 ~",
  Q: "~ f3 ~@2 f3@3 a2 ~@2 a2@3 a#2@2 ~ a#2@3 b2 ~@2 b2@2", R: "~ c3 ~@2 c3@3 a2@2 ~ g2@3 c3@3 g2@3 a2@3 g2@2",
  S: "[~ c3 ~@2 c3@3 a2@2 ~ g2@3 c3@2 ~ c3@3 c4@2 ~ c3@3 f3 ~@2 f3@3 d3@2 ~ c3@3 f3@3 c3@3 d3@2 ~ c3@2]/2",
  T: "~ f3 ~@2 f3@3 a3@3 f3@2 ~ a#3@3 f3@2 ~ b3@2 ~ f3 ~", U: "~ c3 ~@2 c3@3 a2@3 g2@3 c3 ~@2 c3@3 d3@3 c3@2",
  V: "~ c3 ~@2 c3@3 a2@3 g2@2 ~ c3 ~@2 c3@3 a2@2 ~ g2@2", W: "~@4 g2@2 ~ g2@2 ~ g2@2 ~ g2@2 ~@9",
  X: "~ f3 ~@2 f3@3 a2 ~@2 a2@3 a#2 ~@2 a#2@3 b2@2 ~ b2@2", Y: "~ c3 ~@2 c3@3 a2@2 ~ g2@3 c3@3 g2@3 a2@2 ~ g2@2",
  Z: "~ f3 ~@2 f3@3 d3@2 ~ c3@3 f3@3 f#2@3 g2@2 ~ g#2@2", AA: "~ f2 ~@2 f2@2 ~ a2 ~@2 a2@3 a#2 ~@2 a#2@2 ~ b2 ~@2 b2 ~",
  AB: "~ f3 ~@2 f3@3 d3@3 c3@3 f3@3 c3@3 d3@3 c3@2", AC: "~ c3@2 ~ c3@3 a2@3 g2@3 c3@3 g2@3 a2@2 ~ g2@2",
  AD: "~ c3@2 ~ c3@3 a2@2 ~ g2@3 c3@2 ~ c3@3 c4@2 ~ c3@2",
  AE: "[~ f3 ~@2 f3@3 d3@3 c3@3 f3@3 c3@3 d3@2 ~ c3@3 f3 ~@2 f3@3 a3@2 ~ f3@2 ~ a#3@3 f3@2 ~ b3@2 ~ f3 ~]/2",
  AF: "~ f3 ~@2 f3@3 a3@2 ~ f3@2 ~ a#3@3 f3@2 ~@6",
})).s("gm_acoustic_bass").gain(0.48)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~ A@8 B C D E F G H I J@2 K@2 ~@8 J@2 K@2 L@3 M F N O E P C Q E R@2 K@2 ~@8 R@2 K@2 S@8 T@16 U@6 V@6
>`.pickRestart({
  A: "[~ e4@48 f4@48 e4@48 [a3,f4]@47, ~ c4@190 ~, ~ g3@46 ~@2 a3@46 ~@2 g3@46 ~@49]/8", // Dm
  B: "~@7 [c4,e4,a4] ~@11 [f4,a4]@2 ~ [c4,e4,g4] ~, ~@19 c4 ~@4", C: "~@7 [c4,e4,a4] ~@11 [c4,f4,a4]@3 [e4,g4] ~",
  D: "~@7 [f4,a4] ~@11 [f4,a#4,d5]@2 ~ [f4,a4,c5] ~, ~@7 d5@2 ~@10 g#4 ~@4", // F A# F
  E: "~@7 [f4,a4,d5] ~@11 [f4,a#4,d5]@2 ~ [f4,a4,c5] ~, ~@19 g#4 ~@4", // Dm A# F
  F: "~@7 [c4,e4,a4] ~@11 [c4,f4,a4]@2 ~ [c4,e4,g4] ~", G: "~@7 [c4,e4] ~@11 [c4,f4,a4]@3 [e4,g4] ~, ~@7 a4@2 ~@15",
  H: "~@7 [a4,d5]@2 ~@10 [f4,d5]@2 ~ [f4,a4,c5] ~, ~@7 f4 ~@11 [g#4,a#4] ~@4", // D5 Dm F G#sus2
  I: "~@7 [f4,a4] ~@11 [a#4,d5]@2 ~ [f4,a4,c5] ~, ~@7 d5@2 ~@10 [f4,g#4] ~@4", J: "[~ a3@47]/2",
  K: "[~ [a3,c4,f4]@41 ~@6]/2", L: "[~ [e4,g4]@21 [f4,a4]@27 [e4,g4]@20 ~ [b3,d4,g4] ~, ~ c4@68 ~@3]/3",
  M: "~@2 g3 ~@9", N: "~@7 [c4,e4,a4] ~@11 [f4,a4] ~@2 [e4,g4] ~, ~@19 c4@3 ~@2",
  O: "~@7 [f4,a4,d5] ~@11 [a#4,d5]@2 ~ [f4,a4,c5] ~, ~@19 [f4,g#4] ~@4", // Dm A# F Fm
  P: "~@7 [c4,e4] ~@11 [c4,f4,a4]@2 ~ [c4,e4,g4] ~, ~@7 a4@2 ~@15", // C F C
  Q: "~@7 [f4,a4,d5] ~@11 [f4,a#4,d5]@2 ~ [f4,c5]@2, ~@19 g#4 ~@2 a4 ~", R: "[~ a3@46 ~]/2",
  S: "[~ [e4,g4]@21 [f4,a4]@27 [e4,g4]@21 [f4,a4]@27 [e4,g4]@21 [f4,a4]@27 [e4,g4]@20 ~ [b3,d4,g4] ~@5 g3@2 ~@18, ~ c4@48 c4@48 c4@95]/8", // Em F Em F Em F Em G
  T: "[~ e4@48 f4@48 e4@48 [a3,f4]@47, ~ c4@191, ~ g3@46 ~@2 a3@46 ~@2 g3@46 ~@49]/8", // Dm
  U: "[~ [c4,e4,g4]@48 [f4,a4]@46 ~@2 [c4,e4,g4]@47, ~@49 c4@48 ~@47]/6", // C F C
  V: "[~ [f4,a4]@33 ~@2 f3 [e4,f4]@2 a3 [e3,f3,g3] [b2,c3,d3] [g2,a2] ~@101, ~ c4@36 c4@94 ~@13, ~@35 e3@2 [g4,a4] ~@106]/6", // F Fmaj7 Em Bm Gsus2
})).s("gm_rock_organ").gain(0.46)

// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note(`<
  ~@17 A@2 ~@2 B@2 C@2 B@2 D@2 A@2 ~@5 E ~@8 A@2 ~@2 B@2 C@2 B@2 F@2 A@2 ~@9 E ~@23 G ~@4
>`.pickRestart({
  A: "[~ [c4,e4]@47]/2", B: "[~ [c4,e4,g4]@47]/2", C: "[~ [c4,f4,a4]@47]/2",
  D: "[~@40 [c2,c#2] [d2,e2,f2,g2] [a2,b2,c3] [d3,c4,d4,e4,g4] [g3,a3,b3] [a2,b2,c3,d3,e3,f3] [e2,f2,g2,b2] [c2,d2], ~ [c4,f4,a4]@43 ~@4]/2", // C#maj7 Em7 Am C G Dm7 Em Csus2 …
  E: "~@7 g3@2 ~ g3@2 ~ g3@3 ~@8",
  F: "[~@40 [c2,c#2] [d2,e2,f2,g2] [a2,b2,c3] [d3,c4,d4,e4,g4] [g3,a3,b3,d4] [b2,c3,d3,e3,f3] [e2,f2,g2,a2,b2] [c2,d2], ~ [c4,f4,a4]@43 ~@4]/2", // C#maj7 Em7 Am C G Bdim Em Csus2 …
  G: "~@9 [c2,d2] [a2,b2] [c3,d3] g3 ~ [d4,g4] b3 ~@8, ~@9 [e2,f2]@2 ~@13, ~@5 g2 ~@6", // Csus2 Asus2 Csus2 G5 Fmaj7
})).s("gm_rock_organ").gain(0.07)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~ A B C D E F G H I J K L I J K L M N O P A B C D E Q R S M N O P T U V W I J K L I J K L M N O P A B C D E F X H M N
  O P T U Y U Y U V W A B C D Z F AA H A B C D E F R H A B C D AB F G AC ~@4
>`.pickRestart({
  A: "~ [c4,e4,g4] ~@2 a1 ~@2 [c4,e4,a4]@2 ~ a1 ~@2 [c4,e4,g4] g1 ~ a1 g1 ~ [c4,e4,a4]@3 g4 ~", // C Am C Am
  B: "~ [c4,e4,g4] ~@2 a1 ~@2 [c4,e4,a4]@3 a1 ~@2 [c4,e4,g4] [f#1,g1] ~ a1 g1 ~ [c4,e4,a4]@2 ~ [c4,e4,g4] ~", // C Am C Gmaj7 Am C
  C: "~ [f4,a4,c5] ~@2 a1 ~@2 [f4,a4,d5]@2 ~ a1 ~@2 [f4,a4,c5] [f#1,g1] ~ a1 g1 ~ [f4,a4,d5]@3 [a1,c5] ~", // F Dm F Gmaj7 Dm Am
  D: "~ [f4,a4,c5] ~@2 a1 ~@2 [f4,a4,d5]@2 ~ a1 ~@2 [f4,a4,c5] g1 ~ a1 g1 ~ [f4,a4,d5]@3 c5 ~", // F Dm F Dm
  E: "~ [e4,g4] ~@2 b1 ~@2 [e4,a4]@2 ~ a1 ~@2 [c4,e4,g4] g1 ~ a1 g1 ~ [c4,e4,a4]@3 g4 ~", // Em A5 C Am
  F: "~ [c4,e4,g4] ~@2 a1 ~@2 [c4,e4,a4]@2 ~ a1 ~@2 [c4,e4,g4] g1 ~ a1 g1 ~ [c4,e4,a4]@2 ~ [c4,g4] ~", // C Am C Am C5
  G: "~ [a4,c5]@2 ~ a1 ~@2 [a4,d5]@2 ~ a1 ~@2 [f4,a4,c5] [f#1,g1] ~ a1 g1 ~ [f4,a4,d5]@2 ~ [f4,c5] ~", // Am D5 F Gmaj7 Dm F5
  H: "~ [f4,a4,c5] ~@2 a1 ~@2 [f4,a4,d5]@3 a1 ~@2 [f4,a4,c5] g1 ~ a1 g1 ~ [f4,a4,d5]@2 ~ [f4,c5] ~", // F Dm F Dm F5
  I: "~ [c4,e4,g4]@2 ~ a1 ~@2 [c4,e4,a4]@3 a1 ~@2 [c4,e4,g4] [g#1,a1] ~ a1!2 ~ [c4,f4,a4]@2 ~ [a1,c4,e4,g4] ~", // C Am C Amaj7 F Am7
  J: "~ [a1,e4] ~@2 a1 ~@2 [c4,e4,a4]@2 ~ a1 ~@2 [c4,e4,g4] [g#1,a1] ~ a1!2 ~ [a1,c4,f4,g4,a4]@2 ~ [a1,e4,g4] ~", // A5 Am C Amaj7 F A7
  K: "~ [a1,f4,a4,c5] ~@2 a1 ~@2 [a1,f4,a4,d5] ~@2 a1 ~@2 [f4,a4,c5] a1 ~ a1!2 ~ [a1,f4,a#4,d5]@2 ~ [a1,f4,a4,b4,c5] ~", // F Dm F A#maj7 F
  L: "~ a1 ~@2 a1 ~@2 [a1,f4,a4,d5]@2 ~ a1 ~@2 [a1,f4,a4,c5] a1 ~ a1!2 ~ [a1,f4,a#4,d5]@2 ~ [a1,f4,a4,c5] ~", // Dm F A#maj7 F
  M: "~ [a3,c4,e4]@3 ~ [a3,c4,e4] ~ [a3,c4,e4] ~@2 [e3,a3,c4] ~@5 [e3,a3,c4] ~@5 [e3,a3,c4] ~, ~ d4 ~@22", // Am
  N: "~ [a3,c4,e4]@3 ~ [a3,c4,e4] ~ [a3,c4,e4] ~@2 [e3,a3,c4] ~@5 [e3,a3,c4] ~@5 [e3,a3,c4] ~", // Am
  O: "~ [a3,c4,f4]@3 ~ [a3,c4,f4] ~ [a3,c4,f4] ~@2 [f3,a3,c4] ~@5 [f3,a3,c4] ~@5 [f3,a3,c4] ~", // F
  P: "~ [a3,c4,f4]@3 ~ [a3,c4,f4] ~ [a3,c4,f4] ~@2 [f3,a3,c4] ~@5 [f3,a3,c4] ~@5 [f3,a3,c4] ~, ~ e4 ~@22", // F
  Q: "~ [c4,e4,g4] ~@2 a1 ~@2 [c4,e4,a4]@3 a1 ~@2 [c4,e4,g4] g1 ~ a1 g1 ~ [c4,e4,a4]@2 ~ [c4,g4] ~", // C Am C Am C5
  R: "~ [a4,c5] ~@2 a1 ~@2 [a4,d5]@2 ~ a1 ~@2 [f4,a4,c5] [f#1,g1] ~ a1 g1 ~ [f4,a4,d5]@2 ~ [f4,c5] ~", // Am D5 F Gmaj7 Dm F5
  S: "~ [f4,a4,c5] ~@2 a1 ~@2 [f4,a4,d5]@3 a1 ~@2 [f4,a4,c5] g1 ~ a1 g1 ~ [a4,d5]@3 [f4,c5] ~, ~@19 f4 ~@4", // F Dm F D5 F5
  T: "~ [c4,e4,g4]@2 ~ a1 ~@2 [c4,e4,a4]@3 a1 ~@2 [c4,e4,g4] a1 ~ a1!2 ~ [c4,e4,a4]@2 ~ [c4,e4,g4] ~, ~@7 g4 ~@16", // C Am C Am C
  U: "~ a1 ~@2 a1 ~@2 [f4,a4,d5]@2 ~ a1 ~@2 [f4,a4,c5] a1 ~ a1!2 ~ [f4,a4,c5,d5]@2 ~ [f4,c5] ~", // Dm F Dm7 F5
  V: "~ [c4,e4,g4] ~@2 a1 ~@2 [c4,e4,a4]@3 a1 ~@2 [c4,e4,g4] a1 ~ a1!2 ~ [c4,e4,a4]@3 [b3,d4,g4] ~, ~@7 [f4,g4] ~@11 g4 ~@4", // C Am C Am G Fsus2
  W: "~@4 [g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [g3,b3,d4]@2 ~ [f3,b3,d4] ~@10", // G Bdim
  X: "~ [a4,c5] ~@2 a1 ~@2 [a4,d5]@3 a1 ~@2 [f4,a4,c5] [f#1,g1] ~ a1 g1 ~ [f4,a4,d5]@2 ~ [f4,c5] ~", // Am D5 F Gmaj7 Dm F5
  Y: "~ [c4,e4,g4] ~@2 a1 ~@2 [c4,e4,a4]@3 a1 ~@2 [c4,e4,g4] a1 ~ a1!2 ~ [c4,e4,a4]@2 ~ [c4,e4,g4] ~, ~@7 g4 ~@16", // C Am C Am C
  Z: "~ [e4,g4] ~@2 b1 ~@2 [e4,a4]@2 ~ a1 ~@2 [c4,e4,g4] g1 ~ a1 g1 ~ [c4,e4]@3 g4 ~, ~@19 a4@2 ~@3", // Em A5 C
  AA: "~ [a4,c5]@2 ~ a1 ~@2 [a4,d5]@3 a1 ~@2 [f4,a4,c5] [f#1,g1] ~ a1 g1 ~ [f4,a4,d5]@2 ~ [f4,c5] ~", // Am D5 F Gmaj7 Dm F5
  AB: "~ [e4,g4] ~@2 b1 ~@2 [e4,a4]@3 a1 ~@2 [c4,e4,g4] g1 ~ a1 g1 ~ [c4,e4,a4]@3 g4 ~", // Em A5 C Am
  AC: "~ [f4,a4,c5] ~@2 a1 ~@2 [f4,a4,d5]@3 a1 ~@2 [f4,a4,c5] g1 ~ a1 g1 ~@6", // F Dm F
})).s("gm_electric_guitar_muted").gain(0.28)

// chords · acoustic guitar steel · "E.GTR/SAX"
const acoustic_guitar_steel = note(`<
  ~ A B C@5 ~@17 D ~ E ~ F@2 G@2 H@7 I@8 ~@5 J@6 ~@2 K@3 L@5 M@7 ~ N O P@8 Q@5 R ~@4
>`.pickRestart({
  A: "~ c5@18 a4@5", B: "~ g4@7 ~@2 g4@3 ~@3 g4@2 ~ c#4@5",
  C: "[~ c4@28 ~@8 d4@2 ~ g4@2 ~ a4 ~@2 c5@21 ~@3 d5@4 ~@2 d5@6 ~@3 d5@5 ~ a4@3 c5@21 ~@5, ~@70 a4@2 ~@4 a4@3 ~@5 g4@5 ~@2 e4 ~@28]/5",
  D: "~@22 [g4,c5,e5] ~", E: "~@22 [a4,c5,f5] ~", F: "[~ [a4,c5]@40 ~@2 [g4,b4]@5]/2", G: "[~ [f4,a4]@27 ~@20]/2",
  H: "[~@13 d4@3 g4@2 ~@43 d4@3 g4@2 ~@4 b4@16 ~@80 d5@2, ~@11 c5@73, ~@22 a4@45 a4@99 ~@2]/7",
  I: "[~@4 d5@3 c5@6 ~@9 c5@170, ~@13 c5@9 ~@170, ~@19 a4@81 ~@92]/8",
  J: "[~@22 [g4,e5] ~@47 [a4,c5]@54 ~@20, ~@22 c5@48 f5 ~@73]/6", // C Am
  K: "[~@13 d4@3 g4@2 ~@43 d4@3 g4@2 ~ a4@3 c5@2, ~@11 c5@24 ~, ~@22 a4@45 ~@5]/3",
  L: "[~@4 d#5@4 ~@2 [a#4,d5]@4 ~@2 g4@5 ~@4 [c3,g3,c4] ~@11 d4@3 g4@2 ~@43 d4@3 g4@2 ~@4 b4@16 ~@10, ~@2 c5@6 c5@15 c5@37, ~@46 a4@45 a4@29]/5", // A# C5
  M: "[~@25 g4@7 ~@2 g4@3 ~@3 g4@2 ~ c#4@5 ~ c4@29 ~@7 d4@2 ~ g4@2 ~@28 a4@6 d5@6 ~@3 d5@5 ~ a4@3 c5@24 ~@2, ~ c5@93 c5@43 ~@31, ~@19 a4@72 a4@27 d5@4 ~@2 a4@15 ~@29, ~@132 g4@5 ~@2 e4 ~@28]/7",
  N: "~@7 d4@3 g4@3 d4@3 c4 ~@7", O: "~ d4@3 g4@3 d4@3 c4@14",
  P: "[~@7 g4@3 ~@3 g4@3 ~@6 d5@2 ~@7 g4@3 ~@21 d4@3 g4@3 d4@3 c4@2 ~@10 g4 ~@2 d4@3 c4@11 ~@7 d#5@4 ~@2 [a#4,d5]@4 ~@2 g4@7 ~@5 [d#4,a#4]@4 ~@2 d4@3 ~@3 g4@6 ~@9 d4@3 g4@3 d4@3 c4 ~@8 d4@3 g4@3 d4@3 c4@14, ~@5 c5@9 c5@36 c5@6 c5@40, ~ f4@11, ~@35 a4@61]/8", // A# D#5
  Q: "[~@7 g4@3 ~@3 g4@3 ~@6 d5@2 ~@7 g4@4 ~@20 d4@3 g4@3 d4@3 c4@2 ~@10 g4 ~@2 d4@3 c4@11 ~@7 d#5@4 ~@2 [a#4,d5]@4 ~@2 g4@7 ~, ~ c5@11]/5", // A#
  R: "~@4 [d#4,a#4]@4 ~@2 d4@3 ~@3 g4@6 ~@2", // D#5
})).s("gm_acoustic_guitar_steel").gain(0.56)

// chords · acoustic guitar steel · "E.GTR/SAX" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@4 A@2 B@3 ~@24 C@7 D@4 E@8 ~@6 F@5 G@2 H@8 I J@8 ~@2 K ~@7 K ~@4
>`.pickRestart({
  A: "[~@13 a#3@2 ~ d4@2 ~ e4 ~@2 g4@21 ~@3 f4@2]/2",
  B: "[~@4 f4@2 ~ e4 ~@5 e4@3 ~ c5 ~ c4 ~@2 [f4,a4]@21 ~@3 [a4,c5]@3 [e4,f4,g4] [c4,d4] [a3,b3] [f3,g3] ~@19, ~@46 f5@5 ~@21, ~@46 b4 ~@25]/3", // F Am Em Csus2 Asus2 Fsus2
  C: "[~@19 a4 ~@50 [d4,g4]@16 ~@80 [f4,a4]@2, ~@11 f4@72 ~]/7", // G5 F
  D: "[~@13 [d#4,g4]@6 [c4,e4]@3 [e4,g4]@23 ~@51, ~ f4@23, ~@4 a4@15 ~@77]/4", // D# C Em
  E: "[~@5 [d#4,g4]@2 ~@89, ~ [f4,a4]@47]/8", // D# F
  F: "[~@7 [g4,b4] ~@5 e4@6 [d4,g4]@6 a4@27 [a4,c5] [a4,c5]@2 ~@3 [a#4,d5] ~@2 a4@30 a4@3 f4@26, ~@4 c5@48 ~@3 [a4,c5]@6 c5@33 ~@26, ~@4 a4@9 a4@12 f4@69 ~@26]/5", // G G5 Am A# Am
  G: "[~@11 [f4,a4]@13]/2", H: "[~@19 a4@3 ~@48 [d4,g4]@16 ~@95 a#3@2 ~ d4@2 ~ e4 ~@2 g4@2, ~@11 f4@85]/8",
  I: "~@11 f4",
  J: "[~@7 e4 ~@5 e4@3 ~@3 c4 ~@2 a4@24 b4 ~@2 [e4,g4] [c4,d4] [a3,b3] [f3,g3] ~@139, ~@4 f4@18 f4@27 f4@87 ~@56, ~@17 c5@5 ~@24 a4@144 ~@2, ~@23 c5@42 ~@31, ~@46 f5@5 ~@141]/8", // Em Csus2 Asus2 Fsus2
  K: "~@8 c4@3 ~",
})).s("gm_acoustic_guitar_steel").gain(0.16)

// chords · tenor sax · "E.GTR/SAX"
const tenor_sax = note(`<
  ~@20 A B C D E B F D ~@4 A G E B ~@6 C D ~@4 A B C D E B F D ~@4 A G E B ~@2 E B ~@29
>`.pickRestart({
  A: "~@11 [b2,f#3]", B: "~ [c3,g3,c4] ~@22", C: "~@11 [e2,b2,e3]", D: "~ [f2,c3,f3] ~@22", E: "~@11 [b2,f#3,b3]",
  F: "~@11 [e2,e3], ~@22 b2 ~", G: "~ [c3,c4]@2 ~@21, ~ g3 ~@22",
})).s("gm_tenor_sax").gain(0.72)

// drums · kick
const kick = s("bd").struct(`<
  A B@7 ~ B@7 C D ~@2 E B@7 ~ D ~@2 E B@3 F B@7 C D ~@2 E B@7 ~ D ~@2 E B@7 F B@7 ~ B@7 ~ B@7 ~@5
>`.pickRestart({
  A: "~@7 x ~@2 x ~@13", B: "~ x ~@8 x ~@2 x ~@10", C: "~ x ~@4", D: "~ x ~@20 x ~",
  E: "~@10 x ~@2 x ~@2 x ~@2 x ~@2 x ~", F: "~@5 x ~@6",
})).gain(0.48)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  ~@8 A ~@7 B C D@2 E ~@7 A C D@2 E ~@3 F ~@7 B C D@2 E ~@7 A C D@2 E ~@3 F ~@3 F ~@7 A ~@7 A ~@7 B ~@4
>`.pickRestart({
  A: "~ x ~@8 x ~@2 x ~@5 x ~@4", B: "~ x ~@8 x ~@2 x ~@10", C: "~@2 x ~@2 x ~@2 x ~@3", D: "~@2 x ~@2 x ~@2 x ~@2 x",
  E: "~ x ~@2 x ~@2 x ~@16", F: "~@7 x ~@16",
})).gain(0.21)

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

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@8 A ~@7 B ~@3 C ~@7 A ~@3 C ~@11 B ~@3 C ~@7 A ~@3 C ~@15 A ~@7 A ~@7 A ~@4
>`.pickRestart({
  A: "~ x ~@4", B: "~@5 x", C: "~ x ~@2 x ~@2 x ~@16",
})).gain(0.21)

// drums · pedal hat
const pedal_hat = s("hh").struct(`<
  ~ A B C D A B C D A B C D A B C D E F@2 E A B C D A B C D E F@2 E A D C ~ A B C D A B C D E F@2 E A B C D A B C D E
  F@2 E A D A D A D C ~ A B C D A B C D A B C D A B C D A B C D A B C G ~@4
>`.pickRestart({
  A: "~ x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@4", B: "~ x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
  C: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~", D: "~ x ~@5 x ~@2 x ~@2 x ~@5 x ~@2 x ~",
  E: "~ x ~@5 x ~@5 x ~@5 x ~@2 x ~", F: "~ x ~@5 x ~@5 x ~@5 x ~@4", G: "~ x ~@5 x ~@2 x ~@2 x ~@10",
})).gain(0.28)

// drums · pedal hat · soft notes
const pedal_hat_soft = s("hh").struct(`<
  ~ A B ~ C A B ~ C A B ~ C A B ~ C D E@2 F A B ~ C A B ~ C D E@2 F A B ~@2 A B ~ C A B ~ C D E@2 F A B ~ C A B ~ C D
  E@2 F A B A B A B ~@2 A B ~ C A B ~ C A B ~ C A B ~ C A B ~ C A B ~ C ~@4
>`.pickRestart({
  A: "~@2 x ~@8 x", B: "~ x ~@4", C: "~ x ~@2 x ~", D: "~@2 x ~@2 x ~@2 x ~@3", E: "~@2 x ~@2 x ~@2 x ~@2 x",
  F: "~@5 x ~@2 x ~@3",
})).gain(0.14)

// … 16 more lines

More by Eagles