Strudelify

Hitch a Ride

Boston

KeyE♭ majorTempo117 bpm
0:00/0:00
// Hitch a Ride — Boston
// 117 bpm, 4/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: pitch bends are ignored
// note: duplicate parts dropped: ch 2 "Organ" drawbar organ (copy of ch 12 "Organ" rock organ)
// note: Full arrangement: all 120 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Guitar, Guitar, guitar program 30, Blake Wallace.
setcpm(117/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 · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
  A@12 B C D ~ B C D E F ~ G@2 H I ~@27 A@4 J@4 K@2 L@2 B C M N O P Q R S@2 Q T U V W X U V W X U V W X U V W X U V W X
  ~@16 Y@2 Z AA@4
>`.pickRestart({
  A: "[~ bb3 f4 bb3@2 ~ ab3 ~@6 f3 [f3,bb3,d4]@2, bb2@3 ~@2 bb2@2 eb4@2 ab3@2 bb3@2 ~@3, ~@8 bb2@3 ~ bb2@3 ~, ~@5 eb4 ~@2]/2", // Bb
  B: "[bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [ab3,c4,ab4]@2 [bb3,eb4,g4]@3 ~@5", // Eb Ab Eb
  C: "~@6 [bb3,eb4,f4]@2 [c4,ab4]@2 [c4,eb4]@2 [f3,bb3,d4]@3 ~", // Bbsus4 Fm Cm Bb
  D: "[eb3,ab3,bb3]@2 [ab3,bb3,eb4]@2 [ab3,bb3,eb4]@2 [bb2,f3,c4]@2 [bb2,d3,f3]@3 ~@5, bb2 ~@3", // Ebsus4 Absus2 Bbsus2 Bb
  E: "[eb3,ab3]!3 [eb3,g3] [bb2,f3,bb3]@2 [bb2,f3,bb3]!2", F: "[eb3,bb3,eb4,g4] ~@3",
  G: "[[f3,bb3]@7 ~ [eb3,bb3,eb4,bb4]@8, bb2@15 ab2@16 ~, f4@3 ~@5, bb4@9 ~@23]/2", // Bb5 Eb5
  H: "[eb3,bb3,eb4]@8 g4@2 [bb3,ab4] [eb4,g4] [eb3,bb3,eb4,g4]@4, eb2, ~@2 [eb3,eb4] ~", I: "[bb2,f3,bb3,f4]",
  J: "[~ bb3 f4 ~ c3 ~ ab3 ~@6 f3 [f3,bb3,d4]@2, bb2@3 [bb3,f4]@2 bb2@2 eb4@2 ab3@2 bb3@2 ~@3, ~@8 bb2@3 ~ bb2@3 ~, ~@5 eb4 ~@2]/2", // Bb Bb5
  K: "[[bb2,eb3,g3]@2 [bb2,eb3,g3]@2 [bb2,eb3,g3]@2 [ab2,c3,ab3]@2 [bb2,eb3,g3]@3 ~@3 [c3,ab3,c4]@4 [g2,d3,bb3]@4 [bb2,eb3,ab3]@2 [c3,ab3]@2 c3@2 [f2,bb2,bb3]@4, ~@6 f2 ~]/2", // Eb Ab Eb Fm Gm Ebsus4 Fm Bb5
  L: "[ab3@2 ab3@2 [bb2,ab3]@2 [bb2,bb3]@2 [eb2,bb2,bb3]@3 ~@3 [bb3,eb4]@4 [bb3,eb4]@2 [bb3,eb4]@2 f4@2 [bb2,f3,bb3,d4]@4 [bb2,f3,bb3,d4]@4, bb2 ~@7]/2", // Bb7 Bb Eb5 Bb
  M: "[f3,bb3]@2 [bb3,eb4]@2 [bb3,eb4]@2 [bb2,f3,c4]@2 [bb2,f3,bb3]@3 ~@5, bb2 ~@3", // Bb5 Eb5 Bbsus2 Bb5
  N: "[eb3,ab3]!3 [eb3,g3,c4] [bb2,f3,bb3]@2 [bb2,f3,bb3]!2", // Ab5 Cm Bb5
  O: "eb3@2 bb3@2 [eb3,g4]@2 bb3@2 f4 ~ bb3@2 [eb3,eb4]@2 bb3@2, ~@8 eb3@3 ~@5, ~@9 g4@4 ~@3", // Eb
  P: "~@2 eb4@2 ~@2 eb4@2 bb4 ~ eb4@2 ~@2 eb4@2, eb3@4 [eb3,g4]@4 eb3@3 ~ [eb3,bb4]@4, ~@9 c5@4 ~@3", // Eb Eb5
  Q: "~@2 db4@2 [db3,ab4]@2 db4@2 ab4 ~ db4@2 ~@2 db4@2, db3 ~ db3 [db3,ab4], ~@9 bb4@3 ~@4", // Db5
  R: "~@2 bb3@2 ~@2 bb3@2 f4 ~@5 bb3@2, eb3 [eb3,eb4] eb3 [eb3,eb4], ~@9 g4@5 ~@2", // Eb
  S: "[eb3@2 bb3@2 [eb3,g4]@2 bb3@2 f4 ~ bb3@2 [eb3,eb4]@2 ~@4 eb4@2 ~@2 eb4@2 bb4 ~ eb4@2 ~@2 eb4@2, ~@8 eb3@3 ~@3 bb3@4 ~@7 c5@4 ~@3, ~@9 g4@4 ~@3 eb3@4 [eb3,g4]@4 eb3@3 ~ [eb3,bb4]@4]/2", // Eb Eb5
  T: "~@2 bb3@2 ~@4 f4 ~@5 bb3@2, eb3 [eb3,eb4] eb3 [eb3,eb4], ~@6 bb3@3 g4@5 ~@2", // Eb
  U: "[eb3,bb3,eb4]@4 [eb3,bb3,eb4]@3 [eb3,bb3,eb4] [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [eb3,bb3,eb4] ~", // Eb5
  V: "[db3,ab3,db4]@3 ~ [db3,ab3,db4]@2 ~ [db3,ab3,db4] [db3,ab3,db4]@2 [db3,ab3,db4]@4 [db3,ab3,db4]@2", // Db5
  W: "[ab2,eb3,ab3]@3 ~ [ab2,eb3,ab3]@3 [ab2,eb3,ab3] [ab2,eb3,ab3]@2 [ab2,eb3,ab3]@4 [ab2,eb3,ab3]@2", // Ab5
  X: "[eb3,bb3,eb4]@4 [eb3,bb3,eb4]@3 [eb3,bb3,eb4] [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2", // Eb5
  Y: "[eb3@2 bb3@2 eb4@2 bb3@3 g4@2 eb4@2 bb3@2 eb4@2 ab3@2 db4@3 eb4@2 db4@2 ab4@2 db4@2 ab3@2]/2",
  Z: "db4@3 ab3@2 c4@2 eb4@2 c4@2 ab4@2 eb4@3",
  AA: "[ab3@2 eb4@2 ~ [bb3,eb4,g4]@44 ~@15, ~@4 eb3@45 ~@15, ~@4 eb2@23 ~@37]/4", // Eb
})).s("gm_acoustic_guitar_steel").gain(0.64).pan(0.7)

// chords · acoustic guitar steel · "Guitar" · soft notes
const acoustic_guitar_steel_2 = note(`<
  A ~ A ~ A ~ A ~ A ~ A ~ B@2 ~@2 B@2 C D E F ~@31 A ~ A ~@9 B@2 C G ~@51
>`.pickRestart({
  A: "~@4 c3 ~@3, ~@3 f4@2 ~@3", B: "[~@7 [ab3,eb4,ab4]@2 [g3,d4,g4]@2 ~ f3@2 ~@2]/2", C: "~@7 [eb3,ab3,eb4]",
  D: "eb4!3 bb3 ~@4", E: "~@2 [eb3,bb3,eb4,g4]@2 [eb3,bb3,eb4,g4]!2 [eb3,bb3,eb4,g4]@2",
  F: "[f3,c4]@2 [f3,c4]!2 f3@2 f3!2 f3@2 f3!2 f3@2 f3!2, f4 [c4,f4]!3", G: "eb4!3 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0.7)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~@20 A ~ B@2 C D E F G@2 E F G@2 H I J K L M N K O P O P O P O P Q R@2 ~@4 S T S T H I J K L M N K U@8 V@2 W X V@2 W X
  Y@2 Z AA AB AC AD AE AF AC AG AH AI AJ AK AL AM AN AO AP AQ AJ AK AL AQ AR AS AT AU@2 AV AW@4
>`.pickRestart({
  A: "~@5 c2@2 ~", B: "[bb1@31 ~]/2", C: "eb1@3 bb2", D: "bb2", E: "bb1!2 bb2@2 ab1 ab2!2 g2", F: "g2!4 bb1 d2 eb2 f2",
  G: "[bb1!2 bb2@2 ab2!3 g2@2 ab1@2 eb2 f2 ab2 bb2 bb1]/2", H: "eb1!2 g1 bb1 eb2@2 ~ ab2",
  I: "~@2 g2@3 ~ eb2 ~ eb2@2 bb1@2 bb1@4", J: "c2 bb1 c2 eb2 bb1@2 ~ e1", K: "~ gb1@3 ab1@2 e1@2 bb1@4 bb1@3 ~",
  L: "eb1!2 g1 bb1 eb1@2 ~ ab2", M: "~@2 g2@3 ~ f2 ~ f2@2 eb2@2 bb1@4", N: "c2!3 eb2 bb1@2 ~ e1",
  O: "g1@3 ~ g1@2 ~ g1 f1!6 c2@2", P: "g1@4 g1@2 f1@4 eb1@2 f1 c2@3", Q: "c2@3 ~ c2@3 bb1!2 bb1@2 ~ bb1@4", R: "f2/2",
  S: "bb1@2 bb1@2 ab1@2 ab1 g1", T: "g1@2 ab1 bb1@5", U: "[eb2@111 [db2,db3]@16 ~]/8",
  V: "[eb2@3 ~ eb2@2 ~ eb2 g2@2 ab2@2 a2@2 bb2@4 bb2!2 bb2@2 bb2@2 bb2@2 c3@2 bb2@2 eb2@2]/2", W: "ab2@3 g2@4 f2",
  X: "eb2@2 eb2@2 eb2 g2 bb2@2",
  Y: "[eb2@3 ~ eb2@2 ~ eb2 g2@2 ab2@2 a2@2 bb2@4 bb2!2 bb2@2 bb2@2 bb2@2 g2@2 ab2@2 bb2@2]/2", Z: "ab3@3 f3@3 eb3@2",
  AA: "eb2@2 g2@2 ab2!2 bb2@2", AB: "eb2@3 ~ eb2@2 ~ eb2 g2@2 ab2@2 a2@2 bb2@2",
  AC: "db2@2 db2!2 db2@2 db2@2 db2@2 db2@2 eb2@2 f2@2", AD: "ab1@3 ab1 gb1@2 gb1@2",
  AE: "eb2@2 eb2!2 eb2@2 eb2!2 eb2@2 eb2@2 eb2@2 eb2@2", AF: "eb2@3 ~ eb2@2 ~ eb2 g2@2 ab2@2 a2@2 db2@2",
  AG: "c2@3 eb2 ab1@2 ab1@2", AH: "eb2@2 bb1!2 g2@2 bb1!2 ab2@2 eb2@2 bb2@2 eb2@2",
  AI: "eb2@3 ~ eb2@3 bb1 eb2@2 bb2@2 eb2@2 eb2@2", AJ: "eb2@2 eb2!2 eb2@2 eb2@2 eb2@2 eb2@2 eb2@2 f2@2",
  AK: "eb2@6 eb2@2 ab1@2 ab1!2 c2@2 eb2@2", AL: "eb2@4 g2@2 bb1!2 ab2@2 eb2@2 bb2@2 eb2@2",
  AM: "eb2@3 ~ eb2@3 bb1 eb2@2 eb2@2 eb2@2 db2@2", AN: "db2@2 db2!2 db2@2 db2@2 db2@2 db2@2 db2@2 db2@2",
  AO: "c2@2 eb2 ab1@2 ab1 ab1@2", AP: "eb2 g2 ab2 bb2", AQ: "eb2@3 ~ eb2@3 bb1 eb2@2 eb2@2 bb2@2 eb2@2",
  AR: "eb2@2 eb2!2 eb2@2 eb2@2 eb2@2 eb2@2 bb2@2 eb2@2", AS: "ab2@3 g2@3 ab1 c2", AT: "eb2", AU: "[eb1@26 ~@4 eb2 ~]/2",
  AV: "eb2 ~ eb2 ~@13", AW: "[f2@5 eb1@44 ~@15]/4",
})).s("gm_electric_bass_finger").gain(0.8).pan(0.4)

// bass · electric bass finger · "Bass" · soft notes
const bass_soft = note("<~@12 A B C D A B C D E F ~@92 G@2 ~@4>".pickRestart({
  A: "eb1!2 g1 bb1 eb1@2 ~ ab2", B: "~@2 g2@3 ~ f2 ~ f2@2 eb2@2 bb1@4", C: "c2!3 eb2 bb1@2 ~ e1",
  D: "~ gb1@3 ab1@2 e1@2 bb1@4 bb1@3 ~", E: "eb1@2 g1 bb1 db2 ~@2 bb1", F: "f1!8", G: "[~@15 eb3@2 eb3@2 eb3@13]/2",
})).s("gm_electric_bass_finger").gain(0.48).pan(0.4)

// chords · tenor sax
const tenor_sax = note(`<
  ~@4 A B C@2 D@2 E F G ~ H@2 G ~ I@2 J K@2 ~@3 L M N@2 O@4 P Q H@2 G ~ I@2 R ~@18 P Q S T U V W X Y@2 ~@49
>`.pickRestart({
  A: "bb3@3 ~ bb3@2 c4@4 c4@3 ~ eb4@2", B: "~ eb4@3 d4 bb3 ~@2", C: "[bb3@2 bb3@4 c4@3 ~ c4@3 ~ eb4@4 f4@4 f4@8 ~@2]/2",
  D: "[bb4@6 ab4@4 ~ f4@2 eb4@6 ~ bb3@2 ~ bb3@5 ~@4, ~@5 g4 ~@5 d4 ~@4]/2", E: "bb3 ~ bb3@3 ~ c4@3 ~ c4@2 ~ eb4@3",
  F: "~@2 eb4@5 ~ d4 bb3@5 ~@2, ~@9 c4 ~@6", G: "[eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 [c4,ab4]@2 [eb4,g4]@3 ~@5",
  H: "[c4@2 c4@2 c4@2 ab3@2 ~@6 ab4@4 ab4 ~ ab4@2 bb4@2 g4@5 ~@3]/2",
  I: "[c4@2 c4@2 c4@2 ab3@2 ~@6 ab4@4 ab4 ~ ab4@2 g4@2 g4@4 eb4@2 d4@2]/2", J: "f4@2 eb4@9 ~@5",
  K: "[bb4@2 a4@3 eb4@4 d4@3 d4 eb4 d4@18]/2", L: "bb3@3 ~ bb3@2 c4@3 ~ c4@3 ~ eb4@2, ab3 ~@15",
  M: "~ eb4@3 d4 bb3@2 ~", N: "[bb3@3 ~ bb3@2 c4@4 ~ c4@2 ~ eb4@4 f4@2 g4@2 f4@7 ~@3]/2",
  O: "[ab4@3 ~ ab4@2 g4@2 eb4@3 ~ eb4@2 eb4@6 bb3@2 d4@2 bb3@7 ~ bb3 ~ bb3@2 ~@2 c4@3 ~ c4@3 ~ eb4@4 g3@2 bb3 c4 bb3@7 ~@3, ~@31 f3@2 ~@31]/4",
  P: "[eb4,g4]@2 [eb4,g4]@2 [eb4,g4]@2 [f4,ab4]@2 [eb4,g4]@3 ~@3 g4@2", Q: "~ f4 ~ eb4!3 d4@2", R: "g4@2 g4@13 ~",
  S: "c4@2 c4@2 c4@2 ab3@2 c4 [f3,bb3]@2 ~@3 c4@2, eb4@8 d4@3 ~@5", T: "~@2 c4 ~ c4 ~ eb4 ~ d4@6 ~@2",
  U: "[eb4,g4]!3 [c4,ab4] [eb4,g4]@2 ~ g4", V: "~@2 f4@3 ~ eb4 ~ eb4 ~ bb3@2 [bb3,d4]@4, ~@10 eb4 ~@5",
  W: "c4@2 c4@2 c4@2 ab3@2 c4 [f3,bb3]@2 ~@3 ab4@2", X: "~@2 ab4 ~ ab4 ~ g4 ~ f4@3 ~ f4@2 ab4@2", Y: "[ab4 g4@5 ~@2]/2",
})).s("gm_tenor_sax").gain(0.64).pan(0.2)

// chords · tenor sax · soft notes
const tenor_sax_soft = note("<~@14 A ~@3 A ~@17 A ~@3 A ~@22 B ~@3 C ~@52>".pickRestart({
  A: "[ab3,eb4]@2 [eb4,ab4]@2 [eb4,ab4]@2 [c4,eb4]@2 c4 [f3,bb3]@2 ~@5", B: "ab3 ab4!2 c4 ~@4",
  C: "[ab3,eb4] [eb4,ab4]!2 [c4,eb4] ~@4", // Ab5 Cm
})).s("gm_tenor_sax").gain(0.32).pan(0.2)

// chords · soprano sax
const soprano_sax = note(`<
  ~@4 A B C@2 D@2 E F G H@2 ~ G H@2 ~@2 I@2 ~@3 J K L@2 M@2 N@2 O P Q ~ O P R ~@20 O P S T O P U V W ~@50
>`.pickRestart({
  A: "bb3@3 ~ bb3@2 c4@4 c4@3 ~ eb4@2", B: "~ eb4@3 d4 bb3 ~@2", C: "[bb3@2 bb3@4 c4@3 ~ c4@3 ~ eb4@4 f4@4 f4@8 ~@2]/2",
  D: "[bb4@6 ab4@4 g4@2 f4@2 eb4@6 bb3@2 d4@2 bb3@5 ~@3]/2", E: "bb3 ~ bb3@3 ~ c4@3 ~ c4@2 ~@2 eb4@2",
  F: "~@2 eb4@5 ~ d4 bb3@5 ~@2, ~@9 c4 ~@6", G: "g4@2 g4@2 g4@2 [c4,ab4]@2 [bb3,g4]@3 ~@3 eb4@2, bb3 ~ bb3 ~ bb3 ~@11",
  H: "[~@2 d4@4 c4 ~ c4 ~ bb3@2 ~@4 [c4,eb4]@2 [c4,eb4]@2 [c4,eb4]@2 eb4@2 c4 ~@7, ~@3 bb3@5]/2", // Cm
  I: "[[g4,bb4]@2 [f4,a4]@3 [c4,eb4]@4 [bb3,d4]@3 [bb3,d4] [c4,eb4] [bb3,d4]@18]/2", // Gm F Cm Bb Cm Bb
  J: "bb3@3 ~ bb3@2 c4@3 ~ c4@3 ~ eb4@2, ab3 ~@15", K: "~ eb4@3 d4 bb3@2 ~",
  L: "[bb3@3 ~ bb3@2 c4@4 ~ c4@2 ~ eb4@4 f4@2 g4@2 f4@7 ~@3]/2",
  M: "[ab4@3 ~ ab4@2 g4@2 eb4@3 ~ eb4@2 eb4@6 bb3@2 d4@2 bb3@6 f3@2]/2",
  N: "[bb3 ~ bb3@2 ~@2 c4@3 ~ c4@3 ~ eb4@4 g3@2 bb3 c4 bb3@7 ~@3]/2",
  O: "g4@2 g4@2 g4@2 [c4,ab4]@2 [bb3,g4]@3 ~@3 [eb4,g4]@2, bb3 ~ bb3 ~ bb3 ~@11", // Fm Eb
  P: "~@2 [d4,f4]@4 [c4,eb4] ~ [c4,eb4] ~ bb3@2 [bb3,d4]@4, ~@10 eb4 ~@5", Q: "c4@2 c4@2 c4@2 ~@2 bb3@3 ~@5, eb4@9 ~@7",
  R: "c4@2 c4@2 c4@2 ~@2 c4 ~@7, eb4@9 ~@7", S: "c4!3 eb4 bb3 ~@2 [c4,ab4], eb4@3 ~@5",
  T: "~@2 [c4,ab4] ~ [c4,ab4]@2 [eb4,g4]@2 [d4,f4]@6 ~@2", U: "c4!3 ~ d4@2 ~ [ab3,eb4], eb4@9 ~@7",
  V: "~@2 [ab3,eb4] ~ [ab3,eb4] ~ [g3,d4] ~ [f3,d4]@3 ~ [f3,d4]@2 [ab3,d4]@2", W: "[ab3,eb4] [eb3,eb4]@3",
})).s("gm_soprano_sax").gain(0.72).pan(0.9)

// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel_3 = note("<~@22 A@2 B@4 C@6 ~@21 D@2 ~@14 E F ~@40 G@7>".pickRestart({
  A: "[[bb2,bb3,f4] f3 bb3 f3 f4 ~@3 ab2 eb3 ab3 eb3 eb4 ab3 ab4 ab3, ~@5 f3@2 f4@2 ~@7, ~@3 bb4 ~@4]/2", // Bb5
  B: "[[eb3,bb3,f4] ~@4 eb4 ~@11 bb3 f4 ~ c3 ~ ab3 ~@6 f3 [f3,bb3,d4]@2, ~@2 eb4@4 g3@4 ~@4 eb4@4 bb3@4 bb3@3 eb4@3 d4@4 bb2@6 ~@4 bb2@4 ~@2 bb2@6 ~@2 bb2@6 ~@2, ~@2 bb3@2 g4@2 g4@2 bb2@2 d4@2 d4 bb2@2 bb3@2 ~@2 [bb3,f4]@2 ~@2 eb4@2 ab3@2 bb3@2 ~@3, ~@13 eb4 ~@2]/4", // Ebsus2 Bb Bb5
  C: "[~ bb3 f4 ~ c3 ~ ab3 ~@6 f3 [f3,bb3,d4]@2, bb2@3 [bb3,f4]@2 bb2@2 eb4@2 ab3@2 bb3@2 ~@3, ~@8 bb2@3 ~ bb2@3 ~, ~@5 eb4 ~@2]/2", // Bb Bb5
  D: "[[bb2,f3,bb3,d4]@4 [bb2,f3,bb3,d4]@2 [bb2,f3,bb3,d4]@2 [ab2,eb3,ab3,c4]@5 ~ [bb3,eb4]@2 ~@2 [eb3,bb3,eb4]@2 ~@2 ab2@2 bb2@3 ~ [f3,bb3,d4]@4, ~@14 eb3@4 ~@9 bb2@2 ~@3]/2", // Bb Ab Eb5 Bb
  E: "[ab3,ab4]", F: "[bb3,g4]",
  G: "[eb3@2 bb3@3 eb4@2 bb3@2 g4@2 eb4@2 bb3@2 eb4@2 ~ ab3@2 db4@2 eb4@2 db4@2 ~@2 db4@3 ab3@2 db4@2 ab3@2 c4@2 eb4@2 c4@3 ab4@2 eb4@2 ab3@3 ~@3 g4@44 ~@14, ~@17 ab4@9 ab4@9 c5@19 ~@58, ~@51 eb4@2 [eb3,bb3,eb4,eb5,g5]@44 ~@15, ~@52 eb2@23 ~@37]/7", // Eb
})).s("gm_acoustic_guitar_steel").gain(0.56).pan(0.3)

// chords · overdriven guitar · "Guitar"
const overdriven_guitar = note(`<
  ~@22 A B C@4 D@6 E@2 F@2 G ~ H I J K J K J K J K L M@2 N@4 ~@2 O P@3 F@2 G ~ H I Q@4 R S@3 T U V W ~@3 X Y Z AA AB AC
  AD AE AF AG@2 AH AI AJ@2 AK AL AJ@2 AK AL AJ@2 AK AL AJ@2 AM AN@3 ~@5
>`.pickRestart({
  A: "[bb2,bb3,f4] f3 bb3 f3 f4 ~ bb4@2, ~@5 f3@2 ~", B: "ab2 eb3 ab3 eb3 eb4 ab3 ab4 ab3",
  C: "[[eb3,bb3,f4] ~@4 eb4 ~@11 bb3 f4 bb3@2 ~ ab3 ~@6 f3 [f3,bb3,d4]@2, ~@2 eb4@4 g3@4 ~@4 eb4@4 bb3@4 bb3@3 eb4@3 d4@4 bb2@6 ~@4 bb2@4 ~@2 bb2@6 ~@2 bb2@6 ~@2, ~@2 bb3@2 g4@2 g4@2 bb2@2 d4@2 d4 bb2@2 bb3@2 ~@6 eb4@2 ab3@2 bb3@2 ~@3, ~@13 eb4 ~@2]/4", // Ebsus2 Bb
  D: "[~ bb3 f4 bb3@2 ~ ab3 ~@6 f3 [f3,bb3,d4]@2, bb2@3 ~@2 bb2@2 eb4@2 ab3@2 bb3@2 ~@3, ~@8 bb2@3 ~ bb2@3 ~, ~@5 eb4 ~@2]/2", // Bb
  E: "[[bb2,eb3,g3]@2 [bb2,eb3,g3]@2 [bb2,eb3,g3]@2 [ab2,c3,ab3]@2 [bb2,eb3,g3]@3 ~@3 [c3,ab3,c4]@4 [g2,d3,bb3]@4 [bb2,eb3,ab3]@2 [c3,ab3]@2 c3@2 [f2,bb2,bb3]@4, ~@6 f2 ~]/2", // Eb Ab Eb Fm Gm Ebsus4 Fm Bb5
  F: "[ab3@2 ab3@2 [bb2,ab3]@2 [bb2,bb3]@2 [eb2,bb2,bb3]@3 ~@3 [bb3,eb4]@4 [bb3,eb4]@2 [bb3,eb4]@2 f4@2 [bb2,f3,bb3,d4]@4 [bb2,f3,bb3,d4]@4, bb2 ~@7]/2", // Bb7 Bb Eb5 Bb
  G: "[bb3,eb4,g4]@2 [bb3,g4]@2 [bb3,g4]@2 [ab3,c4,ab4]@2 [bb3,eb4,g4]@3 ~@5", // Eb Ab Eb
  H: "[f3,bb3]@2 bb3@2 bb3@2 [bb2,f3,c4]@2 [bb2,f3,bb3]@3 ~@5, bb2 ~@3", // Bb5 Bbsus2 Bb5
  I: "[eb3,ab3]!3 [eb3,g3,c4] [bb2,f3,bb3]@2 [bb2,f3,bb3]!2", // Ab5 Cm Bb5
  J: "[g1,g2]@4 [g1,g2]@3 f2!2 [c2,c3,f3,a3,f4]@2 [c2,c3,f3,a3,f4]@2 [c2,c3,f3,a3,f4]@2 ~", // G F
  K: "g2@3 ~ g2@2 [c3,f3,a3,f4]@4 [a1,f2,c3,f3,e4,f4] ~ [f2,c3,f3,f4] [e2,e3,e4,c5]@3, ~@3 f2 ~@4", // F Fmaj7 F5 C
  L: "[c2,g2]@3 ~ [c2,g2]@3 [bb1,f2]!3 [bb1,f2]@2 [bb1,f2]@4", M: "[f2,c3,f3]/2", N: "[bb2@7 [bb2,f3,bb3,c4]]/4",
  O: "~@2 d5 f5 d5@2 ~ f5",
  P: "[d5@3 f5@2 d5!2 f5@2 ~@7 [bb2,eb3,g3]@2 [bb2,eb3,g3]@2 [bb2,eb3,g3]@2 [ab2,c3,ab3]@2 [bb2,eb3,g3]@3 ~@3 [c3,ab3,c4]@4 [g2,d3,bb3]@4 [bb2,eb3,ab3]@2 [c3,ab3]@2 c3@2 [f2,bb2,bb3]@4, ~@9 bb5@15 ~@16 f2@4 ~@4]/3", // Eb Ab Eb Fm Gm Ebsus4 Fm Bb5
  Q: "[[eb1,eb2]@56 ~@3 bb4!2 c5 eb5@2]/4", R: "f5@2 eb5@10 bb4 c5 eb5@2",
  S: "[f5@3 eb5 ~ c5@2 eb5@14 ~ bb4@2 bb4 c5 eb5@2 ab4@2 g4@16 g4@2]/3", T: "bb4@3 c5@4 ~@7 g4@2",
  U: "~@3 g4 eb5@3 g5@3 bb5 ~@3 eb5@2, bb4!2 ~@6, ~ g4@2 ~@13",
  V: "c6@4 bb5@2 ab5@2 g5 ab5 [f5,g5] eb5@3 f5 eb5, ~@11 c5 ~@4", W: "bb5 eb5@3 g5@3 bb5 g5@5 ~@3", X: "~@3 [eb3,eb4]",
  Y: "eb4@2 g4@2 eb4 c4 eb4@2 eb4@4 c4 bb3@2 ~",
  Z: "~@2 g4@2 eb4 c4 eb4@2 [eb4,ab4] ~ [f4,a4] ~ [g4,bb4] ~ [bb4,eb5]@2", // Ab5 F Gm Eb5
  AA: "[g4,bb4]@2 [ab4,c5]@2 [gb5,bb5]@4 [gb5,bb5]@2 db6 bb5 ab5 [db5,gb5]@3", AB: "[f5,ab5]@9 ~@2 eb5 g5 bb5 g5@2",
  AC: "eb5@4 ~@2 eb5@2 ab5@2 g5 [g5,ab5] f5@2 eb5@2", AD: "ab5 db5@5 eb5@2 ab5@2 g5 [g5,ab5] f5@2 eb5@2",
  AE: "ab5 c5@5 eb5@2 ab5 b4@5 bb4@2", AF: "ab5@2 g5 [g5,ab5] f5@2 eb5@2 c5@2 bb4@2 ab4@2 g4 ab4",
  AG: "[g4 [eb4,g4]@2 ~ g4!3 ~ eb4 g4 bb4 [g4,bb4] f4 eb4@2 c5@12 c5 bb4 g4 [g4,ab4] f4, ~@3 bb4@2 ~@2 bb4@2 ~@23]/2", // Eb Gm Abmaj7
  AH: "c4 eb4@4 c4 bb3 c4 eb4 c4 [eb4,f4] c4!2 [eb4,f4] c4!2", AI: "[c4,f4] bb4@13 ~@2",
  AJ: "[[eb3,bb3,eb4]@4 [eb3,bb3,eb4]@3 [eb3,bb3,eb4] [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [db3,ab3,db4]@16 [db3,ab3,db4]@2]/2", // Eb5 Db5
  AK: "[ab2,c3,eb3,ab3]@6 [ab2,c3,eb3,ab3] [bb2,g3,bb3]", // Ab Eb
  AL: "[eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [eb3,bb3,eb4]@2 [eb3,bb3,eb4]!2", AM: "[ab2,eb3,bb3,eb4]",
  AN: "[bb3@43 ~@5, eb4 ~@23, eb3 ~@47]/3",
})).s("gm_overdriven_guitar").gain(0.8).pan(0.7)

// chords · overdriven guitar · "Guitar" · soft notes
const overdriven_guitar_soft = note("<~@22 A@2 ~@2 B ~ B ~ B ~ B ~@5 C@2 D E ~@23 C@2 D E ~@51>".pickRestart({
  A: "[~@7 f4@2 ~@7]/2", B: "~@4 c3 ~@3, ~@3 f4@2 ~@3",
  C: "[~@2 eb4@2 eb4@2 ~@8 [ab3,eb4,ab4]@4 [g3,d4,g4]@4 [bb3,eb4,f4]@2 [c4,ab4]@2 [c4,eb4]@2 [f3,bb3,d4]@3 ~, ~@6 f3 ~]/2", // Ab5 G5 Bbsus4 Fm Cm Bb
  D: "~ eb4!2 ~@4 [eb3,ab3,eb4]", E: "eb4!3 ~@5",
})).s("gm_overdriven_guitar").gain(0.4).pan(0.7)

// chords · electric guitar muted · "Guitar"
const electric_guitar_muted = note("<~@44 A B ~@2 A B ~@6 C ~@63>".pickRestart({
  A: "~@9 f4@2 f4@2 f4@2 ~", B: "~@6 [c3,a3]@4 [c3,e4] ~ c3 ~@3", C: "~ [f3,bb3]",
})).s("gm_electric_guitar_muted").gain(0.8).pan(0.1)

// other · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@42 A B A B A B A B ~@3 C@2 D@2 E F G H@2 ~@19 I J K L ~@8 M@2 N O P Q R S T U V W X Y Z AA AB@2 AC@4 ~@5
>`.pickRestart({
  A: "[g1,g2]@4 [g1,g2]@3 f2!2 c2@2 c2@2 c2@2 ~", B: "g2@3 ~ g2@2 f2@2 ~@2 [a1,f2]@2 f2 e2@3", C: "[bb4@7 ~]/2",
  D: "[f5@3 [f3,bb3,bb4]]/2", E: "d5", F: "d5@4 d5@2 d5@2 d5@4 c5 d5 c5 [c5,d5]",
  G: "[c4,bb4] ~@7 d5@2 f5@2 d5@4, f4 ~", H: "[d5@2 f5@2 d5!2 f5@2 bb5@16 ~@8]/2",
  I: "g4@2 f4 [c4,eb4] eb4@2 eb4@4 c4 bb3 c4 eb4 f4 ~", J: "g4@2 f4 [c4,eb4] eb4@2 eb4@4 eb4@2 g4@2 eb4@2",
  K: "c5@4 bb4@2 ab4@2 g4 [g4,ab4] f4 eb4@3 c4 bb3", L: "g4@2 g4!2 g4@2 [eb3,eb4]@2",
  M: "[[eb4,g4]@2 ~ g4!3 ~ eb4 g4 bb4 g4 [f4,bb4] eb4@2 c5@12 c5 bb4 g4 ab4 [f4,g4] c4, ~ bb4 ~ bb4 ~@12]/2", // Eb Bb5 Fsus2
  N: "eb4@4 c4 bb3 c4 eb4 c4 f4 [c4,eb4] c4 f4 [c4,eb4] c4 f4", O: "bb4@13 g4 ab4 bb4, c4 ~@15",
  P: "[ab4,c5] bb4 g4 [g4,bb4] eb5 eb5@5 eb5@2 bb4@2 bb4 [bb4,db5]", // Ab Gm Bbm
  Q: "ab4 [bb4,db5] [ab4,bb4] bb4 [bb4,db5] ab4 [bb4,db5] [ab4,bb4] ab5@6 ~ ab5", // Bbm Absus2 Bbm Absus2
// … 111 more lines

More by Boston