Strudelify
Takin' It to the Streets cover art

1976 · Takin' It to the Streets

Takin' It to the Streets

The Doobie Brothers

KeyE♭ majorTempo145 bpm
0:00/0:00
// Takin' It to the Streets — The Doobie Brothers
// 145 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 145 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(145/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 · slap bass 1 · "slap"
const bass = note(`<
  ~@24 A B@2 C@2 D@2 E@2 F ~ G H G ~ I@3 ~@14 J K@2 L@2 M@2 N@2 O ~ P H Q R S@3 T@2 U@2 V@2 W X Y Z AA AB AC AD AE@2
  AF@4 AG AH AI@2 AJ@2 Q AK AL@2 AM AN AO@2 O AP F AQ AR AS AT AU O AV AW AX AY AZ BA@2 BB BC BD@2 BE BF BG BH BI@2 BJ
  BK BL BM BN@2 BO@2 BP@2 BQ
>`.pickRestart({
  A: "~@6 bb1 ~", B: "[eb2@8 ~@2 bb1 ~ eb2 ~ db2@12 eb2@2 db2@2 eb2 ~]/2",
  C: "[c2@8 ~@2 c2 ~@3 b1@10 ~@2 bb1 ~ gb2@2 ~@2]/2", D: "[eb2@8 ~@2 bb1 ~ eb2 ~ db2@10 ~@2 eb2@2 db2@2 ~@2]/2",
  E: "[c2@8 ~@2 c2 ~@3 b1@7 ~ b1@2 bb1@2 f1 ~ g1 ~@3]/2", F: "g1@5 ~ ab1@4 a1@3 ~ bb1@2",
  G: "g1@5 ~ ab1@3 ~ a1@2 ~@2 bb1@2", H: "~@6 gb2 ab2 gb2@4 db2 eb2@3",
  I: "[g1@5 ~ ab1@2 ~@2 bb2 ~ f2 ~ bb1@22 ~@12]/3", J: "~@8 bb1@2 ~ eb2 f2@2 eb2 c2",
  K: "[eb2@8 ~@2 bb1 ~ eb2 ~ db2@12 eb2@2 ~@2 eb2 ~]/2", L: "[c2@8 ~@2 c2@2 ~@2 b1@9 ~ bb1@4 ~@2 d2 ~]/2",
  M: "[eb2@7 ~@3 bb1 ~ eb2 ~ db2@12 eb2@2 db2@2 eb2 ~]/2", N: "[c2@8 ~@2 c2 ~@3 b1@7 ~ b1@2 bb1@2 ab1 ~ bb1 ~@3]/2",
  O: "g1@3 ab1@2 a1 ~ bb1", P: "g1@5 ~ ab1@4 a1@2 ~@2 bb1@2", Q: "g1@3 ab1 ~ a1 ~ bb1", R: "~@4 ab2 ~ gb2@2",
  S: "[eb2@2 g1@4 ab1@3 ~ a1@2 ~@2 bb1@31 ~ bb1 ~]/3", T: "[bb1@14 f1 ~]/2", U: "[bb1 ~ bb1@24 bb2@2 f2 ~@3]/2",
  V: "[~ bb1@11 ~ bb1 ~@2]/2", W: "gb2@2 f2@2 ~@2 eb2@3 ~ db2@2 ~@2 bb1@2", X: "~@2 bb1 eb1@3 ~@2",
  Y: "f1 c2 ~ f2 ~ c2 ~ bb1", Z: "c2@2 db2 ~ d2@5 ~ bb1@3 ~@3", AA: "eb2@2 db2 ~@3 b1@7 ~ bb1@2",
  AB: "f1@2 g1@2 bb1 ~ eb1@6 ~@4", AC: "f1@2 g1@2 ~@2 ab1@3 ~ a1@2 ~@2 bb1@2",
  AD: "~@2 c2@2 ~@2 db2@2 ~@2 d2@2 bb1@2 f1 ~", AE: "[eb2@8 ~@2 bb1@2 eb2 ~ db2@10 ~@2 eb2@2 ~@2 eb2 ~]/2",
  AF: "[c2@9 ~ c2@2 ~@2 b1@9 ~ bb1@2 db2 eb2 gb2 db2 eb2@10 ~@2 bb1 ~ eb2 ~ db2@10 ~@2 eb2@2 db2@2 eb2 ~]/4",
  AG: "c2@6 ~ b1", AH: "~@2 b2@3 ~ b1 ~ a1 ~ bb1@2 ab1 ~ f1@2, ~@2 a2 ~@13",
  AI: "[g1@5 ~ ab1@2 ~@2 a1 ~@3 bb1@4 ~@2 gb3@3 ~ db3 eb3@6 ~]/2",
  AJ: "[g1 g1@5 ab1@3 ~ a1@2 ~@3 bb1@2 ~ bb1 ~ gb2@2 ~@2 gb2@3 ~ db2 eb2@3]/2", AK: "~@12 ab2 bb2@3",
  AL: "[g1@6 ab1@3 ~ a1@2 ~@2 bb1@4 ~@6 gb2@2 eb2 db2 eb2@2 bb1 ~]/2", AM: "g1@6 ab1@3 ~ a1@2 ~@2 bb1@2",
  AN: "~@12 g2 [gb2,g2] ~@2", AO: "[g1@6 ab1@4 a1@2 ~@2 bb1@6 gb3 ab3 gb3 db3 gb3 db3 ~ eb3 db3 ~ bb2 g2]/2",
  AP: "~@2 gb2 ~ bb2@3 ~ gb2@4 eb2@3 ~", AQ: "~ c2 c1 c2 db1 db2 d1 d2", AR: "g1@6 ab1@4 a1@3 ~ bb1@2",
  AS: "~@12 gb2@3 ~", AT: "g1@6 ab1@4 a1@3 ~ bb1@2, eb2 ~@15", AU: "~@12 ab2 bb2 ~@2", AV: "~@6 ab2 ~",
  AW: "gb2@2 eb2 ~ gb2@2 db2 ~ g1 ~ ab1@2 a1 ~ bb1@2", AX: "~@2 c2@2 ~@2 db2@2 ~@2 d2@3 ~ eb2 ~",
  AY: "g1@2 g2@2 g1@2 ab1@3 ~@3 a1 ~ bb1@2", AZ: "~@10 bb1 ~ db2 eb2@3",
  BA: "[g1@6 ab1@3 ~ a1@3 ~ bb1@6 ~@2 gb3 ab3 gb3@4 db3 [d3,eb3] ~ eb3]/2", BB: "g1@6 ab1@3 ~ a1@3 ~ bb1@2",
  BC: "~@15 eb2", BD: "[g1@6 ab1@4 a1@4 bb1@5 ~ c1@2 c2@2 db1@2 db2@2 ~@2 d2@2, ~@7 d1]/2",
  BE: "eb1@2 eb2@2 g1 ~ ab1@4 a1@4 bb1@2, ~@5 b1 ~@2", BF: "~@2 c2@3 ~ db2@3 ~ d2@3 ~ eb2@2",
  BG: "~@4 eb2 ~ ab1@4 a1@4 bb1@2, g1@3 ~@5", BH: "~@2 bb1 bb2 c2@3 bb2 ~@2 bb2 ~ d2@2 eb2@2, ~@8 db2@4 ~@2 bb2 ~",
  BI: "[g1@6 ab1@4 a1@4 bb1@5 ~ c2 ~ c1 c2 db1@2 db2!2 d1@4, ~@24 db2 ~@7]/2", BJ: "eb1@2 g1@3 ~ ab1@3 ~ a1@3 ~ bb1@2",
  BK: "~@2 bb1 ~ c2@2 bb1@2 db2@2 bb1@2 d2@2 eb2@2", BL: "g1@2 g2@2 ~@2 ab1@4 a1@3 ~ bb1@2, ~@3 ab2 ~@4",
  BM: "~@2 bb1@2 gb2@2 bb1 ~ db2 eb2@3 eb2@2 db2 eb2, ~@4 g2 ~@11",
  BN: "[g1@6 ab1@4 a1@4 bb1@4 db2 eb2 gb2 ab2 gb2@2 ab2@2 bb2 gb2 ab2 gb2 eb2 gb2]/2",
  BO: "[g1@6 ab1@4 a1@3 ~ bb1@4 c2@3 ~ db2@3 ~ d2@2 ~@2 eb2@2]/2",
  BP: "[~@2 [g1,g2]@4 ab1@4 a1@4 ~@2 bb2 ~@3 c3 ~@3 db3 ~@3 d3@2 ~@2, ~@3 ab2 ~ a2 ~ bb1@2 c2@2 db2@2 d2@2 ~]/2", // G
  BQ: "eb1@5 ~@11",
})).s("gm_slap_bass_1").gain(0.56)

// bass · slap bass 1 · "slap" · soft notes
const bass_soft = note(`<
  ~@24 A ~@3 B ~ C ~@25 D ~ E ~ E ~@10 F ~@3 G ~ H I J K L M N ~ O P ~@2 Q ~@5 R ~@3 S ~@7 T ~@7 U V ~@16 W ~@2 X ~@8
>`.pickRestart({
  A: "~@14 c2 ~", B: "~@14 db2 ~", C: "~@14 eb2 ~", D: "~@10 c2 ~@5", E: "~@12 db2 ~@3", F: "~@9 gb1 ~@6",
  G: "~@14 g1 ~", H: "~@7 bb1", I: "bb2 ~@15", J: "~@14 f0 ~", K: "~@12 c2 ~@3", L: "f1@2 g1@2 ~@10 eb1 ~",
  M: "~@12 f1 ~@3", N: "~@14 bb1 ~", O: "~@14 eb1 ~", P: "gb1 ~@15", Q: "~@6 db2 ~", R: "~@13 ab1 ~@2",
  S: "~@6 ab2 ~@9", T: "~@10 bb2 ~@2 bb2 db3 ~", U: "~@7 gb2", V: "~@12 gb1 ~@3", W: "~@15 d2", X: "~@4 g1 ~@11",
})).s("gm_slap_bass_1").gain(0.32)

// bass · fretless bass · "fretless"
const bass_2 = note(`<
  ~@5 A ~@2 B C ~@3 C ~@2 D E ~@2 B F ~@2 G H@2 I@2 J@2 K@2 L ~ M ~ L ~ N@2 C ~@3 C ~@2 D E ~@2 B F ~@2 G H@2 I@2 J@2 O
  P L ~ M ~ L ~ Q@3 ~@14 H@2 I@2 J@2 K@2 L ~ M ~ L ~ M ~ L ~ M ~ L ~ M ~ R ~ S ~ T ~ R U V ~ M ~ L ~ M W X ~ M ~ L ~ M Y
  Z ~ M ~ L ~ M AA AB
>`.pickRestart({
  A: "~ bb1 ~@2", B: "~@5 bb2 ~@2", C: "~@2 bb1 ~@5", D: "~@10 bb2 ~@5", E: "~@2 bb1@3 ~@11", F: "~@4 bb1@3 ~@9",
  G: "~@10 bb1 ~ bb1 ~@3", H: "[eb2@8 ~@4 eb2 ~ db2@10 ~@2 eb2@2 ~@4]/2", I: "[~@10 c2 ~@3 b1@8 ~@10]/2",
  J: "[~@14 db2@10 ~@4 db2 ~@3]/2", K: "[c2@5 ~@9 b1@4 ~@4 b1 ~@3 ab1 ~ g1@2 ~@2]/2",
  L: "g1@4 ~@2 ab1@3 ~ a1@2 ~@2 bb1@2", M: "g1@2 ~ ab1 ~ a1 ~ bb1", N: "[g1@3 ~@3 ab1@2 ~@2 bb1@2 f1 ~ bb0@15 ~@3]/2",
  O: "c2@5 ~@9 b1@2", P: "~@6 b1 ~@3 ab1 ~ g1@2 ~@2", Q: "[g1@3 ~@3 ab1@2 ~@2 bb1@2 ~@2 bb0@27 ~@7]/3",
  R: "g1@4 ~@2 ab1@3 ~ a1@3 ~ bb1@2", S: "g1@5 ~ ab1@3 ~ a1@3 ~ bb1@2", T: "g1@4 ~@2 ab1@3 ~ a1@2 a1 ~ bb1@2",
  U: "~@2 b0@2 ~@2 c1@2 ~@2 db1@2 ~@2 d1 ~", V: "g1@2 g1@3 ~ ab1@3 ~ a1@2 ~@2 bb1@2, eb1 ~@15",
  W: "~@2 c2@2 ~@2 db2@2 ~@2 d2@2 ~@2 eb2 ~", X: "~ eb1@3 g1 ~ ab1@3 ~ a1@2 ~@2 bb1@2, g1 ~@3",
  Y: "~@2 c1@2 ~@2 db1@2 ~@2 d1@3 ~@3", Z: "[eb1,g1]@4 g1 ~ ab1@3 ~ a1@2 ~@2 bb1@2", AA: "~@2 gb3 ~@3 db3 ~",
  AB: "eb1 ~@3",
})).s("gm_fretless_bass").gain(0.64)

// bass · fretless bass · "fretless" · soft notes
const bass_soft_2 = note(`<
  ~ A ~@23 B C D ~ E F ~ G ~@24 B C D ~ E F ~ G ~@6 H ~@16 B C D ~ E F ~ G ~@26 I ~@12 J ~@7 K ~
>`.pickRestart({
  A: "~ bb1 ~@2", B: "~@5 bb1 ~@2, ~@10 a1 ~@5", C: "~@12 db2@2 eb2 ~", D: "c2 ~", E: "~@10 bb1 ~ eb2 ~@3",
  F: "~@10 eb2 ~@3 eb2 ~", G: "~@8 bb1 ~@7", H: "~@12 f1 ~@3", I: "~@14 a1 ~", J: "~@14 eb1 ~",
  K: "~@2 bb2 ~@3 f3 ~ eb3@2 bb2 ~@5, ~@8 f3 ~@7",
})).s("gm_fretless_bass").gain(0.4)

// other · piano · "emu piano"
const piano = note(`<
  ~ A B C D E F G H I J K L I M N O P Q A R S T I U ~@9 V ~ W ~ X ~@2 Y Z K L I M N O P Q A R S T I U ~@9 V ~ W ~ X ~
  S@7 AA ~@17 V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~ V ~ W ~
>`.pickRestart({
  A: "bb1 ~@7 bb1 ~ bb1 ~ bb1 ~ bb1 ~", B: "bb1 ~ bb1 ~@5 bb1 ~ bb1 ~ bb1 ~@3",
  C: "bb1 ~@3 bb1 ~@3 bb1 ~ bb1 ~ bb1 ~ bb1 ~", D: "~@2 bb1 ~ bb1 ~@3 bb1 ~ bb1 ~ bb1 ~@3", E: "bb1 ~@3 bb1 ~@11",
  F: "~@8 bb1 ~@3 bb1 ~@3", G: "~@8 bb1 ~@3 bb1 ~ bb1 ~", H: "bb1 ~@3 bb1 ~@3 bb1 ~@4 bb1!2 ~",
  I: "bb1 ~@3 bb1 ~@3 bb1 ~@3 bb1 ~ bb1 ~", J: "bb1 ~@3 bb1!2 ~@2 bb1 ~ bb1 ~ bb1!2 ~@2",
  K: "bb1 ~ bb1 ~ bb1 ~ bb1 ~@3 bb1 ~ bb1 ~ bb1 ~", L: "~@2 bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~@3",
  M: "bb1 ~ bb1@3 ~@5 bb1 ~ bb1 ~@3", N: "bb1 ~@3 bb1 ~ bb1 ~ bb1 ~@3 bb1 ~ bb1 ~",
  O: "~@2 bb1 ~ bb1 ~ bb1 ~ bb1 ~@3 bb1 ~ bb1@2", P: "bb1 ~ bb1 ~@3 bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  Q: "bb1 ~ bb1 ~ bb1 ~@3 bb1 ~ bb1 ~ bb1@2 bb2 ~", R: "~@2 bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb2 ~@3",
  S: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", T: "bb1 ~ bb1 ~ bb1 ~@3 bb1 ~ bb1 ~ bb1 ~@3",
  U: "~@4 bb1 ~@3 bb1 ~@7", V: "~@2 eb3@2 ~@2 eb3@2 ~@2 eb3@2 ~@2 eb3 ~",
  W: "~@2 [d3,eb3,eb4] ~ [ab4,c5]@2 eb3@2 gb4 ~ eb3@2 eb4@2 eb3 ~, ~@4 eb4 ~@3 [db4,bb4]@3 ~@5, ~@9 g4@2 ~@5", // Ebmaj7 Ab Gb
  X: "~@2 eb3@2 [f4,ab4,db5] ~ [eb4,ab4,c5] ~ [db4,gb4] ~ eb3@2 eb4 ~ eb3@2, ~@3 eb3 bb4 ~@3", // Db Ab Gb5
  Y: "bb1 ~@3 bb1 ~ bb1 ~@3 bb1 ~ bb1 ~ bb1 ~", Z: "bb1 ~ bb1 ~@3 bb1@3 ~ bb1 ~@3 bb1 ~",
  AA: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1@2 ~@2",
})).s("gm_piano").gain(0.32)

// other · piano · "emu piano" · soft notes
const piano_soft = note(`<
  ~ A B C D E F G H@2 I J K H L M N O P Q K ~ R H S ~@11 T ~ U ~@2 V W J K H L M N O P Q K ~ R H S ~@11 T ~ U ~@28 T ~@3
  T ~@3 T ~@3 T ~@3 T ~@3 T ~@3 T ~@3 T ~@3 T ~@3 T ~@3 T ~@3 T ~
>`.pickRestart({
  A: "~@2 bb1 ~ bb1 ~ bb1 ~@9", B: "~@4 bb1 ~ bb1 ~@7 bb1 ~", C: "~@2 bb1 ~@3 bb1 ~@9", D: "bb1 ~@5 bb1 ~@7 bb1 ~",
  E: "~@2 bb1 ~@3 bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", F: "bb1 ~ bb1 ~ bb1 ~ bb1 ~@3 bb1 ~@3 bb1 ~",
  G: "bb1 ~ bb1 ~ bb1 ~ bb1 ~@3 bb1 ~@5", H: "~@2 bb1 ~@3 bb1 ~@3 bb1 ~@5", I: "~@2 bb1 ~@13", J: "~@8 bb1 ~@7",
  K: "bb1 ~@13 bb1 ~", L: "~@6 bb1@3 ~@5 bb1 ~", M: "~@2 bb1 ~@7 bb1 ~@5", N: "bb1 ~@9 bb1 ~@5", O: "~@4 bb1 ~@11",
  P: "~@6 bb1 ~@9", Q: "~@4 bb1 ~ bb1 ~@9", R: "~@6 bb1 ~@7 bb1 ~", S: "bb1 ~ bb1 ~@3 bb1 ~@9", T: "~@6 eb4 ~@9",
  U: "~@3 eb4 ~@5 g4 ~@6", V: "~@2 bb1 ~@5 bb1 ~@7", W: "~@4 bb1 ~@7 bb1 ~@3",
})).s("gm_piano").gain(0.16)

// chords · piano · "emu piano"
const piano_2 = note(`<
  ~ A ~ B@2 C D E@2 F ~ G ~ H ~ I ~ J ~ G ~ K L M@2 N@2 O@2 P@2 Q@2 R ~ S ~ T ~ U ~ F ~ G ~ H ~ I ~ J ~ G ~ K L M@2 N@2
  O@2 P@2 Q@2 R ~ S ~ T ~ V@2 W X@2 Y Z AA@2 AB AC AD AE AF AG AH AI AJ@2 O@2 P@2 Q@2 R ~ S ~ R ~ S ~ R ~ S ~ R ~ S ~ R
  ~ S ~ R ~ S ~ R ~ S ~ R ~ S ~ R ~ S ~ R ~ S ~ R ~ S ~ R ~ S ~@2
>`.pickRestart({
  A: "[eb4,f4,ab4]@11 ~@3 [eb4,f4,ab4] ~", B: "[[c4,eb4]@6 ~ [c4,eb4,f4]@7 ~@2]/2",
  C: "[eb4,f4,ab4]@13 ~ [b3,eb4,f4,ab4]@2", D: "~@2 eb4@9 ~@5", E: "[[c4,eb4]@6 ~ [c4,eb4]@7 ~@2]/2",
  F: "[b3,eb4,f4,ab4]@12 ~@2 [eb4,f4,ab4] ~", G: "[c4,eb4]@3 ~", H: "[eb4,f4,ab4]@3 ~", I: "eb4@3 ~",
  J: "[b3,ab4]@12 ~@2 [eb4,f4,ab4] ~", K: "[b3,eb4,f4]@12 ~@2 [eb4,f4] ~", L: "~@2 [eb4,g4]@9 ~@5",
  M: "[[c4,eb4]@12 ~@2 [c4,eb4,f4]@13 ~@5]/2", // Cm F7
  N: "[[eb3,eb4]@4 ~@4 [eb3,bb3,eb4]@5 ~ [eb3,bb3]@2 ~@2 [eb3,bb3,eb4]@2 ~@8 [eb3,bb3]@2 c3@2, bb3@2 ~@12 db2@17 ~, ~@14 db3@4 ~@4 db3@9 ~, ~@14 eb4 ~@9 [eb3,bb3]@4 ~@4, ~@26 eb4@5 ~]/2", // Eb Eb5
  O: "[[eb3,bb3,eb4]@4 eb3 ~ [eb3,ab3,c4,eb4]@4 [eb3,ab3,c4,eb4] ~ c2 ~@7 b2@2 eb3 ~@3 [bb1,bb2]@2 [eb3,g3,bb3,eb4]@2 bb1@2, c3@12 ~@2 [eb3,ab3,b3,eb4]@4 [eb3,ab3,b3,eb4]@4 ~@2 [eb3,bb3,eb4]@4 gb3 ~@3, c2@10 ~@6 b1@7 ~@9]/2", // Eb5 Ab Bb Eb Abm Eb5
  P: "[[eb2,bb3,eb4]@6 ~@2 [eb3,bb3,eb4]@5 ~ [eb3,bb3,eb4]@4 eb3@4 eb3@2 [eb3,bb3]@2 [eb3,bb3]@2 ~@2 db2 ~, eb1@13 ~@5 eb4@8 eb4@4 ~@2, eb3@2 ~ eb2@4 db2@4 db2@4 ~, ~@18 bb3@6 db3@7 ~]/2", // Eb5
  Q: "[[c4,eb4]@6 [eb3,ab3,c4,eb4]@4 [eb3,ab3,c4,eb4] ~@3 [eb3,ab3,b3,eb4]@4 ~@4 eb3@2 [bb1,bb2,g3]@2 f3@2 eb3 ~ d2@2, c2@7 b1@5 ~@4, c3@11 ~@3 b2@6 b2@4 ~@8, eb3@4 ~@14 eb3@4 ~@2 c4 ~@7, ab3 ~@17 [ab3,b3,eb4]@6 bb3@5 ~@3]/2", // Cm Ab Abm Eb Abm
  R: "[gb3,bb3,db4]@4 ~@2 [f3,ab3,c4]@2 ~@2 [f3,c4] ~@3 [eb3,g3,bb3]@2, [g1,g2]@6 ab1@4 a1@4 bb1 ~, ~@5 ab3 ~@2", // Gb Fm F5 Eb G
  S: "[g1,g2,bb3]@6 [f3,ab3,c4]@2 ~@2 [f3,ab3,c4] ~@3 [bb1,eb3,g3]@2, db4@4 ~@10 bb3 ~, gb3 ~@2 ab1@2 a1@2 ~", // Gm Fm Eb
  T: "[g1,g2,db4]@6 [ab1,ab3,c4]@4 [f3,ab3,c4] ~@3 [gb3,g3,bb3] ~, bb3 ~@3, gb3 ~@2 f3 ~ a1@2 [bb1,eb3], a3 ~@15", // Gdim Ab Fm Gb Eb5
  U: "[g1,g2,bb3]@6 [f3,ab3,c4]@2 ~@2 [a1,f3,ab3,c4] ~@5, db4@5 ~@11, gb3@3 ~@3 ab1@4 ~@6", // Gm Fm F
  V: "[[g1,g2,bb3]@6 [f3,ab3,c4]@2 ~@2 [a1,f3,ab3,c4] ~@3 [ab3,b3,eb4,f4]@14 ~@2 [ab3,b3,eb4,f4] ~, db4@5 ~@27, gb3@3 ~@3 ab1@4 ~@22]/2", // Gm Fm F Fm7b5
  W: "~@2 [g3,bb3,c4,eb4]@11 ~@3", X: "[[a3,c4,f4]@11 ~@3 [ab3,c4,f4]@12 ~@6, eb3@25 ~@7, f3@7 ~@9]/2",
  Y: "~ [eb4,f4]@12 ~ [b3,eb4,f4,ab4] ~, [b3,ab4]@3 ~", Z: "~@2 [bb3,eb4]@10 g4 ~@3",
  AA: "[[a3,c4,eb4,f4]@6 ~ [ab3,c4,eb4,f4]@5 ~@4]/2", AB: "[eb4,f4,ab4,b4] ~@5 [b3,eb4,f4,ab4]@6 ~@2 [bb3,eb4,g4] ~",
  AC: "~@3 [g3,bb3,eb4]@3 ~@2", AD: "~@6 [eb3,a3,c4] ~@9", AE: "~@6 [d3,ab3,b3,f4]@5 ~@5",
  AF: "[b3,eb4,f4,ab4]@11 ~@3 [bb3,eb4,gb4,g4] ~, e4 ~@15", AG: "~@3 [g3,bb3,c4,eb4]@2 ~@3",
  AH: "~@6 [eb3,a3,c4,f4] ~@9", AI: "~@4 db4@2 b3 ~, ~@4 [d3,ab3]@3 ~",
  AJ: "[~@8 [eb3,bb3,eb4]@5 ~ [eb3,bb3]@2 ~@2 [eb3,bb3,eb4]@2 ~@8 [eb3,bb3]@2 c3@2, ~@14 db2@17 ~, ~@14 db3@4 ~@4 db3@9 ~, ~@14 eb4 ~@9 [eb3,bb3]@4 ~@4, ~@26 eb4@5 ~]/2", // Eb5
})).s("gm_piano").gain(0.48)

// chords · piano · "emu piano" · soft notes
const piano_soft_2 = note(`<
  ~ A B C@2 D E F@2 G B H@2 I B J@2 K B L@2 M N O@2 P ~@3 Q R S T U ~ V W V ~ V ~ G B H@2 I B J@2 K B L@2 M N O@2 P ~@3
  Q R S T U ~ V W V ~ V ~@4 X ~@11 P ~@3 Q R S T U ~ V W U ~ V W U ~ V W U ~ V W U ~ V W U ~ V W U ~ V W U ~ V W U ~ V W
  U ~ V W U ~ V W U ~ V W ~
>`.pickRestart({
  A: "b3@11 ~@3 b3 ~", B: "~ [bb3,eb4,g4]@5 ~@2", C: "[[a3,f4]@6 ~ ab3@7 ~@2]/2", D: "b3@3 ~", E: "~ [bb3,g4]@5 ~@2",
  F: "[[a3,f4]@6 ~ [ab3,f4]@7 ~@2]/2", G: "~@14 b3 ~", H: "[[a3,f4]@6 ~ [ab3,eb4,f4]@7 ~@2, ~@7 c4@9]/2",
  I: "b3@12 ~@2 [b3,eb4,f4,ab4] ~", J: "[[a3,c4,f4]@6 ~ [ab3,c4,eb4,f4]@7 ~@2]/2", K: "[eb4,f4]@12 ~@2 b3 ~",
  L: "[[a3,f4]@11 ~@3 [ab3,c4,eb4,f4]@13 ~@5]/2", M: "ab4@6 ~ b3, ~@14 ab4 ~", N: "~@2 bb3@9 ~@5",
  O: "[[a3,f4]@12 ~@2 ab3@13 ~@5]/2", P: "~@4 bb3 ~ eb3 ~@5 eb3 ~@3", Q: "~@4 eb3@3 ~@5 eb3 ~@3",
  R: "~@12 [eb3,bb3]@3 ~", S: "a3 ~@3 eb3@2 ~@10", T: "~@8 [eb3,f3] ~@7", U: "~@4 [gb3,bb3] ~@11", V: "~@4 gb3 ~@11",
  W: "~@14 eb2 ~", X: "~ gb4 ~@14",
})).s("gm_piano").gain(0.24)

// chords · epiano2 · "el piano"
const epiano2 = note(`<
  ~ A B C@2 D E F@2 G H F@2 I E F@2 J E C@2 K E L@2 M ~ N ~ O ~ P ~ Q ~ R ~ S T U ~ K H F@2 I E F@2 J E C@2 K E L@2 M ~
  N ~ O ~ P ~ Q ~ R ~ S T U ~@7 V W X Y Z AA AB AC AD AE ~ N ~ O ~ P ~ Q ~ R ~ AF ~ R ~ AF ~ R ~ AF ~ R ~ AF ~ R ~ AF ~
  R ~ AF ~ R ~ AF ~ R ~ AF ~ R ~ AF ~ R ~ AF ~ R ~ AF ~ R ~ AG
>`.pickRestart({
  A: "[b3,eb4,f4,ab4]@13 ~ [b3,eb4,f4,ab4]@2", B: "~@2 [bb3,eb4,g4]@11 ~@3",
  C: "[[a3,c4,eb4,f4]@11 ~@3 [ab3,c4,eb4,f4]@14 ~@4]/2", D: "[b3,eb4,f4,ab4]@6 ~ [b3,eb4,ab4], ~@14 f4 ~",
  E: "~ [bb3,eb4,g4]@5 ~@2", F: "[[a3,c4,eb4,f4]@6 ~ [ab3,c4,eb4,f4]@7 ~@2]/2",
  G: "~@4 bb2 ~ bb2 ~@7 [b3,eb4,f4,ab4] ~, [b3,eb4,f4,ab4]@3 ~", H: "~@12 bb2 ~ bb2 ~, ~ [bb3,eb4,g4]@6 ~",
  I: "[b3,eb4,f4,ab4]@12 ~@2 [b3,eb4,f4,ab4] ~, g4 ~@15", // Fm7b5
  J: "~@4 bb2 ~ bb2 ~@7 [b3,eb4,f4,ab4] ~, [b3,eb4,f4,ab4]@11 ~@5", K: "[b3,eb4,f4,ab4]@12 ~@2 [b3,eb4,f4,ab4] ~",
  L: "[[a3,c4,eb4,f4]@11 ~@3 [ab3,c4,eb4,f4]@16 ~@2]/2", M: "~@4 [eb4,bb4,eb5]@3 bb4 [eb4,bb4,eb5]@2 ~@6",
  N: "~@4 [eb4,eb5]@3 bb4 [eb4,bb4,eb5] ~@7, ~@2 bb4 ~@5", O: "~@4 [eb4,bb4,eb5]@3 bb4 [eb4,bb4]@2 ~@6, ~@8 eb5 ~@7",
  P: "~@4 [eb4,bb4]@2 eb5 bb4 [eb4,bb4,eb5]@3 ~@5", Q: "[db4,gb4]@6 [c4,f4] ~@3 [c4,f4] ~@3 bb3@2, ~@14 eb4 ~",
  R: "[db4,gb4]@4 db4 ~ [c4,f4]@4 [c4,f4] ~@3 [bb3,eb4] ~", // Gb5 F5 Eb5
  S: "[db4,gb4]@3 ~ db4 ~ [c4,f4]@3 ~ [c4,f4]@2 ~@2 [bb3,eb4] ~", T: "~@14 bb3 ~",
  U: "[db4,gb4]@3 ~ bb3 ~ [c4,f4]@3 ~ [c4,f4] ~@5", V: "~@12 [e3,f3,bb3] ~@3", W: "~@10 [eb3,ab3,b3,eb4] ~@5",
  X: "~@12 g4 ~@3", Y: "[a3,c4,eb4,f4] ~@15", Z: "~@3 [eb3,ab3,b3,f4]@3 ~@2",
  AA: "~@6 [ab3,b3,eb4,f4]@5 ~@3 [bb3,c4,eb4,g4] ~", AB: "~@6 [g3,a3,eb4,bb4] ~@9", AC: "~@6 [f4,b4,c5,f5] ~@9",
  AD: "~@3 db5@3 b4 ~, ~@3 [d4,ab4]@4 ~", AE: "[eb4,bb4,eb5]@5 ~@2 bb4 [eb4,bb4,eb5]@2 ~@6",
  AF: "[db4,gb4]@3 ~@3 [c4,f4] ~@3 [c4,f4] ~@3 bb3@2, ~@14 eb4 ~", AG: "[db4,gb4]@3 ~@13",
})).s("gm_epiano2").gain(0.4)

// chords · electric guitar clean · "guitar"
const electric_guitar_clean = note(`<
  ~ A B C@2 D B E@2 D B C@2 F G H@2 D B I@2 D B H@2 J@2 K ~ L ~ M N O ~@7 D B C@2 F G H@2 D B I@2 D B H@2 J@2 K ~ L ~ M
  N O ~@6 P ~@15 J@2 K ~ L ~ M N O ~@3 O ~@3 O ~@3 O ~@3 O ~@3 O ~@3 O ~@3 O ~@3 O ~@3 O ~@3 O ~@3 O ~@4
>`.pickRestart({
  A: "[b3,eb4,f4,ab4]@12 ~@2 [b3,eb4,f4,ab4] ~", B: "~ [bb3,eb4,g4]@5 ~@2",
  C: "[[a3,c4,f4]@12 ~@2 [ab3,c4,f4]@13 ~@5]/2", D: "[b3,eb4,ab4]@12 ~@2 [b3,eb4,ab4] ~",
  E: "[[a3,c4,eb4,f4]@11 ~@3 [ab3,c4,eb4,f4]@14 ~@4]/2", F: "[b3,eb4,f4,ab4]@11 ~@3 [b3,eb4,f4,ab4] ~",
// … 383 more lines

More by The Doobie Brothers