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, A@4 for four bars: 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 ~ F G F ~ H@3 ~@14 I J@2 K@2 B@2 L@2 F ~ F G F M N@3 O@2 P@2 Q@2 R S T U V W X Y Z@2 AA@4 AB
  AC AD@2 AE@2 F AF AG AH F AI AJ@2 F AK AL AM AN AO AP AQ F AR AS AT AU AV AW@2 AG AX AY@2 AZ BA BB BC BD@2 BE BF BG BH
  BI@2 AN BJ BK@2 BL
>`.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@3 ~ a1@2 ~@2 bb1@2",
  G: "~@6 gb2 ab2 gb2@4 db2 eb2@3", H: "[g1@5 ~ ab1@2 ~@2 bb2 ~ f2 ~ bb1@22 ~@12]/3", I: "~@8 bb1@2 ~ eb2 f2@2 eb2 c2",
  J: "[eb2@8 ~@2 bb1 ~ eb2 ~ db2@12 eb2@2 ~@2 eb2 ~]/2", K: "[c2@8 ~@2 c2 ~@3 b1@10 bb1@4 ~@2 d2 ~]/2",
  L: "[c2@8 ~@2 c2 ~@3 b1@7 ~ b1@2 bb1@2 ab1 ~ bb1 ~@3]/2", M: "~@4 ab2 ~ gb2@2",
  N: "[eb2@2 g1@4 ab1@3 ~ a1@2 ~@2 bb1@31 ~ bb1 ~]/3", O: "[bb1@14 f1 ~]/2", P: "[bb1 ~ bb1@24 bb2@2 f2 ~@3]/2",
  Q: "[~ bb1@11 ~ bb1 ~@2]/2", R: "gb2@2 f2@2 ~@2 eb2@3 ~ db2@2 ~@2 bb1@2", S: "~@2 bb1 eb1@3 ~@2",
  T: "f1 c2 ~ f2 ~ c2 ~ bb1", U: "c2@2 db2 ~ d2@5 ~ bb1@3 ~@3", V: "eb2@2 db2 ~@3 b1@7 ~ bb1@2",
  W: "f1@2 g1@2 bb1 ~ eb1@6 ~@4", X: "f1@2 g1@2 ~@2 ab1@3 ~ a1@2 ~@2 bb1@2",
  Y: "~@2 c2@2 ~@2 db2@2 ~@2 d2@2 bb1@2 f1 ~", Z: "[eb2@8 ~@2 bb1 ~ eb2 ~ db2@10 ~@2 eb2@2 ~@2 eb2 ~]/2",
  AA: "[c2@8 ~@2 c2 ~@3 b1@10 bb1@2 db2 eb2 gb2 db2 eb2@10 ~@2 bb1 ~ eb2 ~ db2@10 ~@2 eb2@2 db2@2 eb2 ~]/4",
  AB: "c2@6 ~ b1", AC: "~@2 b2@3 ~ b1 ~ a1 ~ bb1@2 ab1 ~ f1@2, ~@2 a2 ~@13",
  AD: "[g1@5 ~ ab1@2 ~@2 a1 ~@3 bb1@4 ~@2 gb3@3 ~ db3 eb3@6 ~]/2",
  AE: "[g1 g1@5 ab1@3 ~ a1@2 ~@3 bb1@2 ~ bb1 ~ gb2@2 ~@2 gb2@3 ~ db2 eb2@3]/2", AF: "~@12 ab2 bb2@3",
  AG: "g1@5 ~ ab1@4 a1@2 ~@2 bb1@2", AH: "~@8 gb2@2 eb2 db2 eb2@2 bb1 ~", AI: "~@12 g2 [gb2,g2] ~@2",
  AJ: "[g1@6 ab1@4 a1@2 ~@2 bb1@6 gb3 ab3 gb3 db3 gb3 db3 ~ eb3 db3 ~ bb2 g2]/2", AK: "~@2 gb2 ~ bb2@3 ~ gb2@4 eb2@3 ~",
  AL: "g1@5 ~ ab1@4 a1@3 ~ bb1@2", AM: "~ c2 c1 c2 db1 db2 d1 d2", AN: "g1@6 ab1@4 a1@3 ~ bb1@2", AO: "~@12 gb2@3 ~",
  AP: "g1@6 ab1@4 a1@3 ~ bb1@2, eb2 ~@15", AQ: "~@12 ab2 bb2 ~@2", AR: "~@6 ab2 ~",
  AS: "gb2@2 eb2 ~ gb2@2 db2 ~ g1 ~ ab1@2 a1 ~ bb1@2", AT: "~@2 c2@2 ~@2 db2@2 ~@2 d2@3 ~ eb2 ~",
  AU: "g1@2 g2@2 g1@2 ab1@3 ~@3 a1 ~ bb1@2", AV: "~@10 bb1 ~ db2 eb2@3",
  AW: "[g1@6 ab1@4 a1@2 ~@2 bb1@6 ~@2 gb3 ab3 gb3@4 db3 [d3,eb3] ~ eb3]/2", AX: "~@15 eb2",
  AY: "[g1@6 ab1@4 a1@4 bb1@5 ~ c1@2 c2@2 db1@2 db2@2 ~@2 d2@2, ~@7 d1]/2",
  AZ: "eb1@2 eb2@2 g1 ~ ab1@4 a1@4 bb1@2, ~@5 b1 ~@2", BA: "~@2 c2@3 ~ db2@3 ~ d2@3 ~ eb2@2",
  BB: "~@4 eb2 ~ ab1@4 a1@4 bb1@2, g1@3 ~@5", BC: "~@2 bb1 bb2 c2@3 bb2 ~@2 bb2 ~ d2@2 eb2@2, ~@8 db2@4 ~@2 bb2 ~",
  BD: "[g1@6 ab1@4 a1@4 bb1@5 ~ c2 ~ c1 c2 db1@2 db2!2 d1@4, ~@24 db2 ~@7]/2", BE: "eb1@2 g1@3 ~ ab1@3 ~ a1@3 ~ bb1@2",
  BF: "~@2 bb1 ~ c2@2 bb1@2 db2@2 bb1@2 d2@2 eb2@2", BG: "g1@2 g2@2 ~@2 ab1@4 a1@3 ~ bb1@2, ~@3 ab2 ~@4",
  BH: "~@2 bb1@2 gb2@2 bb1 ~ db2 eb2@3 eb2@2 db2 eb2, ~@4 g2 ~@11",
  BI: "[g1@6 ab1@4 a1@4 bb1@4 db2 eb2 gb2 ab2 gb2@2 ab2@2 bb2 gb2 ab2 gb2 eb2 gb2]/2",
  BJ: "~@2 c2@3 ~ db2@3 ~ d2@2 ~@2 eb2@2",
  BK: "[~@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
  BL: "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 B D ~@2 B C ~@2 E F@2 G@2 H@2 I@2 J ~ J ~ J ~ K@2 C ~@3 C ~@2 B D ~@2 B C ~@2 E F@2 G@2 H@2
  I@2 J ~ J ~ J ~ L@3 ~@14 F@2 G@2 H@2 I@2 J ~ J ~ J ~ J ~ J ~ J ~ J ~ J ~ J ~ J ~ M ~ J N O ~ J ~ J ~ J P Q ~ J ~ R ~ J
  S T ~ J ~ J ~ J U V
>`.pickRestart({
  A: "~@4 bb1@3 ~@9", B: "~@5 bb2 ~@2", C: "~@2 bb1 ~@5", D: "~@2 bb1@3 ~@11", E: "~@10 bb1 ~ bb1 ~@3",
  F: "[eb2@8 ~@4 eb2 ~ db2@10 ~@2 eb2@2 ~@4]/2", G: "[~@10 c2 ~@3 b1@8 ~@10]/2", H: "[~@14 db2@10 ~@4 db2 ~@3]/2",
  I: "[c2@5 ~@9 b1@4 ~@4 b1 ~@3 ab1 ~ g1@2 ~@2]/2", J: "g1@2 ~ ab1 ~ a1 ~ bb1",
  K: "[g1@3 ~@3 ab1@2 ~@2 bb1@2 f1 ~ bb0@15 ~@3]/2", L: "[g1@3 ~@3 ab1@2 ~@2 bb1@2 ~@2 bb0@27 ~@7]/3",
  M: "g1@4 ~@2 ab1@3 ~ a1@2 a1 ~ bb1@2", N: "~@2 b0@2 ~@2 c1@2 ~@2 db1@2 ~@2 d1 ~",
  O: "g1@2 g1@3 ~ ab1@3 ~ a1@2 ~@2 bb1@2, eb1 ~@15", P: "~@2 c2@2 ~@2 db2@2 ~@2 d2@2 ~@2 eb2 ~",
  Q: "~ eb1@3 g1 ~ ab1@3 ~ a1@2 ~@2 bb1@2, g1 ~@3", R: "g1@4 ~@2 ab1@3 ~ a1@2 ~@2 bb1@2",
  S: "~@2 c1@2 ~@2 db1@2 ~@2 d1@3 ~@3", T: "[eb1,g1]@4 g1 ~ ab1@3 ~ a1@2 ~@2 bb1@2", U: "~@2 gb3 ~@3 db3 ~",
  V: "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 B@2 M@2 N@2 O@2 P@2 Q ~ R ~ S ~ T ~ F ~ G ~ H ~ I ~ J ~ G ~ K L B@2 M@2
  N@2 O@2 P@2 Q ~ R ~ S ~ U@2 V W@2 X Y Z@2 AA AB AC AD AE AF AG AH AI@2 N@2 O@2 P@2 Q ~ R ~ Q ~ R ~ Q ~ R ~ Q ~ R ~ Q ~
  R ~ Q ~ R ~ Q ~ R ~ Q ~ R ~ Q ~ R ~ Q ~ R ~ Q ~ R ~ Q ~ R ~@2
>`.pickRestart({
  A: "[eb4,f4,ab4]@11 ~@3 [eb4,f4,ab4] ~", B: "[[c4,eb4]@12 ~@2 [c4,eb4,f4]@13 ~@5]/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: "[[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
  N: "[[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
  O: "[[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
  P: "[[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
  Q: "[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
  R: "[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
  S: "[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
  T: "[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
  U: "[[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
  V: "~@2 [g3,bb3,c4,eb4]@11 ~@3", W: "[[a3,c4,f4]@11 ~@3 [ab3,c4,f4]@12 ~@6, eb3@25 ~@7, f3@7 ~@9]/2",
  X: "~ [eb4,f4]@12 ~ [b3,eb4,f4,ab4] ~, [b3,ab4]@3 ~", Y: "~@2 [bb3,eb4]@10 g4 ~@3",
  Z: "[[a3,c4,eb4,f4]@6 ~ [ab3,c4,eb4,f4]@5 ~@4]/2", AA: "[eb4,f4,ab4,b4] ~@5 [b3,eb4,f4,ab4]@6 ~@2 [bb3,eb4,g4] ~",
  AB: "~@3 [g3,bb3,eb4]@3 ~@2", AC: "~@6 [eb3,a3,c4] ~@9", AD: "~@6 [d3,ab3,b3,f4]@5 ~@5",
  AE: "[b3,eb4,f4,ab4]@11 ~@3 [bb3,eb4,gb4,g4] ~, e4 ~@15", AF: "~@3 [g3,bb3,c4,eb4]@2 ~@3",
  AG: "~@6 [eb3,a3,c4,f4] ~@9", AH: "~@4 db4@2 b3 ~, ~@4 [d3,ab3]@3 ~",
  AI: "[~@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 C@2 O ~@3 P Q R S T ~ U V U ~ U ~ G B H@2 I B J@2 K B L@2 M N C@2 O ~@3
  P Q R S T ~ U V U ~ U ~@4 W ~@11 O ~@3 P Q R S T ~ U V T ~ U V T ~ U V T ~ U V T ~ U V T ~ U V T ~ U V T ~ U V T ~ U V
  T ~ U V T ~ U V T ~ U V ~
>`.pickRestart({
  A: "b3@11 ~@3 b3 ~", B: "~ [bb3,eb4,g4]@5 ~@2", C: "[[a3,f4]@12 ~@2 ab3@13 ~@5]/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: "~@4 bb3 ~ eb3 ~@5 eb3 ~@3", P: "~@4 eb3@3 ~@5 eb3 ~@3", Q: "~@12 [eb3,bb3]@3 ~", R: "a3 ~@3 eb3@2 ~@10",
  S: "~@8 [eb3,f3] ~@7", T: "~@4 [gb3,bb3] ~@11", U: "~@4 gb3 ~@11", V: "~@14 eb2 ~", W: "~ gb4 ~@14",
})).s("gm_piano").gain(0.24)

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

// chords · rock organ · "organ"
const rock_organ = note(`<
// … 374 more lines

More by The Doobie Brothers