Strudelify
Roof Garden cover art

Breakin' Away

Roof Garden

Al Jarreau

KeyE♭ majorTempo101 bpm
0:00/0:00
// Roof Garden — Al Jarreau
// 101 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 118 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(101/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 · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  A B C D E F C G@2 H I@6 J@8 ~ K L M N O P O Q O P O R@2 S T@2 U V W X O P O Y O P O Z@2 AA AB@2 AC V AD AE AC V AD AE
  AF AG AH@2 AI AJ@2 AK AL AM@4 AN@2 AO@2 AP@2 AQ@2 AR@7 AS AT@2 AU@4 AV AS AW@2 AU@4 AX AS AT@2 AU@4 AX ~
>`.pickRestart({
  A: "~@9 [c4,eb4,f4,ab4]@2 [d4,g4], ~@22 [f4,bb4] ~", // Fm7 G5 Bb5
  B: "~@2 [c4,eb4,ab4] [c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~ [bb3,c4,eb4,ab4], ~ bb3 ~@10", // Ab Cm Ab Cm7 Ab Cm7 Ab Cm7 …
  C: "~@2 [bb3,c4,eb4,g4] ~@21", // Cm7
  D: "~@2 [bb3,c4,eb4,ab4] [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~ [db4,e4,a4] ~@2 [d4,f4,bb4]", // Ab Cm7 Ab Cm7 Ab Cm7 Ab A …
  E: "~@15 g5@2 ~ [c5,db5]@2 bb4 ~@3", // Dbmaj7
  F: "~@2 [bb3,c4,eb4,ab4] [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~ [bb3,c4,eb4,ab4]", // Ab Cm7 Ab Cm7 Ab Cm7 Ab Cm7 …
  G: "[~@2 [bb3,c4,ab4] [bb3,c4,g4] ~@2 [bb3,c4,eb4,ab4] ~@2 [bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,ab4] ~@4 [bb3,c4,eb4,ab4] ~@2 [db4,e4,a4] ~@2 [d4,bb4] ~@24, ~@2 eb4@2 ~@19 f4@2 ~@23]/2", // Fm C7 Ab Cm7 Ab A Gm
  H: "[bb2,bb3,c4,eb4,ab4]", // Ab
  I: "[[bb2,ab3,c4,d4,f4]@23 [bb2,bb3,c4,eb4,ab4]@24 ~@12 db5 d5@3 eb5@2 e5 db5@2 bb4 ~@2 [bb2,bb3,c4]@24 [bb2,ab3,c4,d4,f4]@24 [bb2,bb3,c4,eb4,ab4]@24 [bb2,ab3,c4,d4,f4], ~@47 [bb2,ab3,c4,d4,f4]@19 d5 ~@2 ab4@20 ~@55, ~@71 eb4@19 ~@54]/6", // Bb7 Ab Bbsus2 Bb7 Ab Bb7
  J: "[~@23 [bb2,c4,eb4,ab4,c5]@24 [bb2,c4]@24 [bb2,c4,eb4,ab4,c5]@24 [bb2,c4]@24 [bb2,c4]@24 [bb2,c4,d4,f4]@24 [bb2,c4,eb4,ab4,c5]@17 ~ [c4,ab4] ~@2 [db4,e4,a4] ~@2 [d4,f4,bb4], ~@47 [d4,f4,bb4]@26 ~@22 bb4@26 ~@22 bb4@19 ~@30, ~@95 [d4,f4]@19 ~@5 [eb4,ab4,c5]@26 ~@40 eb4@2 ~@5]/8", // Ab Bbsus2 Ab Bbsus2 Bb Ab Fm A …
  K: "[eb4,gb4]@2 ~ eb4 ~@2 [db4,e4,gb4,a4]@5 [c4,eb4,gb4,ab4]@13, [bb3,db4] ~@23", // Ebm Gbm7 Ab7 Bbm
  L: "[ab3,b3,db4,e4] ~@5 [b3,d4,e4,g4]@4 ~ [bb3,db4,e4,gb4]@13", // Dbm7 Em7 Gb7
  M: "[bb3,db4,gb4] ~@5 [db4,e4,gb4,a4]@5 [c4,eb4,gb4,ab4]@13, eb4 ~@11", // Gb Gbm7 Ab7
  N: "[c4,eb4,f4,ab4] ~@5 [eb4,f4,ab4,b4]@5 [d4,f4,g4,bb4]@11 ~@2", O: "[eb3,eb4,f4,ab4,db5]", P: "[eb3,db4,f4,g4,bb4]",
  Q: "[eb3,db4,f4,g4,bb4]@12 [f4,ab4,db5]@2 ~ [eb4,g4,c5] ~@2 [db4,f4,bb4] ~ [eb4,g4,c5] ~@3", // Eb7 Db Cm Bbm Cm
  R: "[[eb3,db4,f4,g4,bb4]@22 ~ [eb3,eb4,f4,ab4,db5]@25]/2", S: "[eb3,db4,f4,bb4], g4@3 ~",
  T: "[[eb3,eb4,f4,ab4,db5]@16 ~ [eb4,f4,ab4,db5] ~@2 [gb4,a4,d5] ~@2 [g4,bb4] ~@24, ~@23 eb5@2 ~@23]/2", // Db D Gm
  U: "[f4,ab4]@2 ~ bb4 ~@2 [ab4,b4,db5,e5]@5 [g4,bb4,db5,eb5]@13, [bb4,db5] ~@23", // Fm Dbm7 Eb7 Bbm
  V: "[eb4,gb4,ab4,b4] ~@5 [gb4,a4,b4,d5]@4 ~ [f4,ab4,b4,db5]@13", // Abm7 Bm7 Db7
  W: "[ab4,bb4,db5] ~@5 [ab4,b4,db5,e5]@5 [g4,bb4,db5,eb5]@13, f4 ~@11", // Bbm7 Dbm7 Eb7
  X: "[g4,bb4,c5,eb5] ~@5 [bb4,c5,eb5,gb5]@5 [a4,c5,d5,f5]@11 ~@2", // Cm7 Cm7b5 Dm7
  Y: "eb6 [eb6,f6] c6 db6 eb6 [bb5,db6] c6 [c6,db6] ab5 bb5 [bb5,c6] g5 [ab5,bb5] ab5 f5 [g5,ab5] g5 eb5@2 ~@5, [eb3,db4], [f4,g4,bb4]@19 ~@5", // Ebsus2 Bbm Dbmaj7 Bbsus2 Absus2 Abmaj7 Eb7 Gm7
  Z: "[[eb3,db4,f4,g4,bb4]@22 ~ [eb2,eb3,eb4,f4,ab4,db5]@25]/2", AA: "[eb2,eb3,db4,f4,g4,bb4]",
  AB: "[[eb2,eb3,eb4,f4,ab4,db5]@16 ~ [eb4,f4,ab4,db5] ~@2 [gb4,a4,d5] ~@2 [g4,bb4] ~@24, ~@23 eb5@2 ~@23]/2", // Db D Gm
  AC: "[bb4,db5]@2 ~ bb4 ~@2 [ab4,b4,db5,e5]@5 [g4,bb4,db5,eb5]@13, [f4,ab4] ~@23", // Bbm Dbm7 Eb7 Fm
  AD: "[f4,ab4,db5] ~@5 [ab4,b4,db5,e5]@5 [g4,bb4,db5,eb5]@13, bb4 ~@11", // Db Dbm7 Eb7
  AE: "[g4,bb4,c5,eb5] ~@5 [bb4,c5,eb5,gb5]@5 [a4,c5,d5,f5]@13", AF: "[bb1,bb2,bb3,c4,eb4,ab4]",
  AG: "[bb1,ab3,c4,d4,f4], bb2 ~@23", // Bb7
  AH: "[[bb1,bb2,bb3,c4,eb4,ab4]@16 ~ [bb3,c4,eb4,ab4] ~@2 [db4,e4,a4] ~@2 [d4,f4] ~@24, ~@23 bb4@2 ~@23]/2", // Ab A Dm
  AI: "~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4]", // Ab Eb Ab Eb Ab Eb Ab
  AJ: "[~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,ab4] ~@5 [bb3,eb4,g4]@4 ~ [ab3,c4,d4,f4]@24 ~, ~@6 eb4 ~@17]/2", // Ab Eb Ab Eb Fm Eb Dm7b5
  AK: "[db5,f5]@4 ~ [bb4,f5] ~@9 [ab3,c4,d4,f4] ~@4 [ab3,c4,d4,f4]@2 ~ [c4,eb4,ab4], c5 ~@23", // Db Bb5 Dm7b5 Ab
  AL: "~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@6, ~@6 eb4 ~@5", // Ab Eb Ab Eb Fm Eb Ab
  AM: "[~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@5 [bb3,eb4,g4]@4 ~ [ab3,c4,d4]@43 ~@5 [c4,eb4,ab4]@3 ~ [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4], ~@23 f4@46 ~@27]/4", // Ab Eb Ab Eb Ab Eb Dm7b5 Ab …
  AN: "[~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@5 [bb3,eb4,g4] ~@4 [ab3,c4,d4,f4]@25]/2", // Ab Eb Ab Eb Ab Eb Dm7b5
  AO: "[~@2 bb4 [c5,f5] ~@2 [c5,f5] ~ bb4 ~@6 [c4,f4] ~@2 c4@2 bb3 ~@2 [c4,eb4,ab4]@3 ~ [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4], ~@3 db5@2 ~@10 db4@2 ~ f4 ~@29]/2", // F5 Ab Eb Ab Eb Ab Eb Ab
  AP: "[~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@5 [bb3,eb4,g4]@4 ~ [ab3,c4,d4,f4]@24 ~]/2", // Ab Eb Ab Eb Ab Eb Dm7b5
  AQ: "[~@2 c5 [db5,g5]@2 d5 [c5,g5] ~ bb4 ~@6 [d4,g4]@2 ~ c4 ~ bb3 ~@2 [c4,eb4,ab4]@3 ~ [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4], ~@15 [c4,db4] ~@32]/2", // Dbdim C5 G5 Ab Eb Ab Eb Ab …
  AR: "[~@2 [c4,eb4,ab4] [bb3,d4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@5 [bb3,eb4,g4] ~@4 [ab3,c4,d4,f4]@37 ~@3 [c4,db4,d4,f4] ~@2 [c4,f4] ~ bb3 ~@2 [c4,eb4,ab4]@3 ~ [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4]@2 ~ [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@5 [bb3,eb4,g4]@4 ~ [ab3,c4,d4,f4]@27 bb4 [db5,f5]@2 ~ c5@2 bb4 ~@6 db4@3 c4@2 bb3 ~@3, ~@147 c5 ~@2 f5 ~@8 f4@5 ~@4, ~@159 c4 ~@8]/7", // Ab Gm Ab Eb Ab Eb Dm7b5 Dbmaj7 …
  AS: "[c4,eb4,ab4] ~ [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4]", // Ab Eb Ab Eb Ab Eb Ab
  AT: "[~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [db4,e4,a4] ~ [d4,f4,bb4] ~@5 [c4,eb4,ab4]@2 ~ [eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4]]/2", // Ab Eb Ab Eb Ab A Bb Ab …
  AU: "[~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [db4,e4,a4] ~ [d4,f4,bb4] ~@5 [c4,eb4,ab4]@2 ~ [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4]@2 ~ [eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [db4,e4,a4] ~ [d4,f4,bb4] ~@5 [c4,eb4,ab4]@2 ~ [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@6, ~@18 eb4 ~@29]/4", // Ab Eb Ab Eb Ab A Bb Ab …
  AV: "bb5 ab5 f5 ab5 f5 eb5 f5 eb5 db5 eb5 db5 bb4 db5 bb4 ab4 bb4 ab4 f4 ab4 f4 eb4 f4 eb4 db4",
  AW: "[~@2 [c4,eb4,ab4] [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [db4,e4,a4] ~ [d4,f4,bb4] ~@5 [c4,eb4,ab4]@2 ~ ab4@4 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~@2 [c4,eb4,ab4] ~@2 [bb3,eb4,g4] ~ [c4,eb4,ab4] ~@5 [c4,eb4,ab4], ~@26 eb4 ~@21]/2", // Ab Eb Ab Eb Ab A Bb Ab …
  AX: "bb5 ab5 f5 ab5 f5 eb5 f5 eb5 db5 eb5 db5 bb4 db5 bb4 ab4 bb4 ab4 ~@7",
})).s("gm_epiano2").gain(0.29)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A@8 B C@2 D@4 E@2 F@3 G H I J@2 K L M N O@2 P@2 Q@8 R S T U V W X Y Z AA AB AC@2 AD AE@2 R S AF AG R S AF AG AH AI
  AJ@2 AK AL@2 AM@2 AN@2 AO@4 AP@8 AQ@5 AR AS@6 AT AR AS@6 AU@2 AS@6 AV@2
>`.pickRestart({
  A: "[~@18 ab1@4 ~ bb1@2 ~@8 bb1 ~@2 bb1@2 ~@9 bb1@2 ~@8 bb1 ~@2 bb1@2 ~@4 ab1@4 ~ bb1@2 ~@8 bb1 ~@2 bb1@2 ~@9 bb1@2 ~@8 bb1@2 ~ bb1@2 ~@4 ab1@5 bb1@2 ~@8 bb1@2 ~ bb1@3 ~@8 bb1@2 ~@8 bb1@2 ~ bb1@2 ~@9 bb1@2 ~ ab2 g2 ~@2 ab2@2 ~ g2 ~@2 ab2 ~@4 ab2 ~@2 a2 ~@2 bb2]/8",
  B: "~@18 bb1@5 ~", C: "[bb1@3 ~@6 bb1@2 ~ bb1@2 ~@9 bb1@3 ~@7 bb1 ~@2 bb1@2 ~@9 ab1]/2",
  D: "[bb1@2 ~@7 bb1@2 ~ bb1@2 ~@9 bb1@3 ~@7 bb1@2 ~ bb1@2 ~@9 ab1]/2",
  E: "[bb1@2 ~@7 bb1@2 ~ bb1@2 ~@9 bb1@3 ~@7 bb1 ~@2 bb1@2 ~ f1@8 ab1]/2", F: "bb1@2 ~@6 bb1 ab1@2 ~ bb1@2 ~@9 ab1",
  G: "bb1@2 ~@7 ab1 ~@2 d2@2 ~ e2@2 f2 d2@6, ~@4 bb1 ~@2 eb2 ~@4", H: "bb1@2 ~@7 ab1@2 ~ bb1@2 ~@9 ab1, ~@4 bb1 ~@7",
  I: "f2@2 ~ f2@2 ~ d2@2 ~ d2@2 ~ bb1@2 ~ bb1@2 ~ ab1@4 ~ ab1",
  J: "[bb1@2 ~@6 bb1 ab1 ~@2 bb1@2 ~@3 ab1@2 ~ a1@2 ~ bb1@2 ~@23]/2", K: "eb2@6 a1@4 ~ ab1@9 ~ ab1@3",
  L: "db2@6 g1@4 ~ gb1@9 ~ gb1@3", M: "eb2@6 a1@4 ~ ab1@10 bb1@3", N: "f2@6 b1@5 bb1@12 ~",
  O: "[eb1@2 ~@7 eb1 ~@2 eb1@2 ~@9 eb1@2 ~@8 eb1 ~@2 eb1@2 ~@4 bb1@6]/2",
  P: "[eb1@2 ~@7 eb1 ~@2 eb1 ~@10 eb1@2 ~@8 eb1 ~@2 eb1@2 ~ ab1 ~@2 bb1@2 eb2@2 ~@2]/2",
  Q: "[eb1@3 ~@6 eb1 ~@2 eb1@2 ~@9 eb1@3 ~@7 eb1 ~@2 eb1@2 ~@9 eb1@3 ~@7 eb1 ~@2 eb1@2 ~@9 eb1@3 ~@9 eb1 ab1@2 ~ a1@3 bb1 ~ db2 ~@2 eb2@2 ~@8 eb1 ~@2 eb1@2 ~@9 eb1@3 ~@7 eb1 ~@2 eb1@2 ~@9 eb1@3 ~@7 eb1 ~@2 eb1@2 ~@3 db2@2 ~ d2@2 ~ eb2@2 ~@23]/8",
  R: "bb2@6 e2@4 ~ eb2@9 ~ eb2@3", S: "ab2@6 d2@4 ~ db2@9 ~ db2@3", T: "bb2@6 e2@4 ~@11 f2 ~@2, ~@11 eb2@13",
  U: "c3@6 gb2@5 f2@12 ~", V: "eb1@3 ~@6 eb1@2 ~ eb1@2 ~@10", W: "eb1@3 ~@8 eb1 eb1@2 ~@10",
  X: "eb1@3 ~@6 eb1@2 ~ eb1@3 ~@8 db1", Y: "eb1@3 ~@6 eb1 ~@2 eb1@3 ~@9", Z: "eb1@3 ~@6 eb1@2 ~ eb1@2 ~@9 eb1",
  AA: "eb1@2 ~ g1@2 ~ bb1@2 ~ c2@2 ~ eb2@6 c2@2 bb1@2 ~@2", AB: "eb1@3 ~@6 eb1 ~@2 eb1@2 ~@9 eb1",
  AC: "[eb1@2 ~@7 eb1 ~@2 eb1@2 ~@6 eb1 ~@2 eb1@2 ~@5 db2@6 c2@6 bb1@6]/2",
  AD: "eb1@3 ~@2 eb1 g1@2 bb1 c2@2 ~ db2@3 c2@3 bb1@2 ~ g1@3",
  AE: "[eb1@2 ~@7 eb1 ~@2 eb1@2 ~@3 db2 ~@2 d2 ~@2 eb2@2 ~@23]/2", AF: "bb2@6 e2@4 ~ eb2@10 f2@3",
  AG: "c3@6 gb2@5 f2@7 f2@6", AH: "bb1@7 ~@2 bb1 ~@2 bb1@10 ~@2", AI: "bb1@7 ~@2 bb1 ~@2 bb1@11 ab1",
  AJ: "[bb1@7 ~@2 bb1 ~@2 bb1@4 ~ ab1 ~@2 a1 ~@2 bb1@2 ~@23]/2", AK: "bb1@2 ~@4 ab1@2 ~@4 g1@4 ~ f1 ~@5 g1",
  AL: "[~@2 g1 g1@2 ~ ab1 ~@2 a1 ~@2 bb1@2 ~@4 ab1@4 ~ bb1@3 ~@4 ab1@2 ~@4 g1@4 ~ f1 ~@5 g1]/2",
  AM: "[~@2 g1 g1@2 ~ ab1@2 ~ a1@2 ~ bb1@2 a1 eb2@2 ~ d2@2 bb1 a1 ~ bb1@2 ~@5 ab1@2 ~@4 g1@4 ~ f1 ~@5 g1, ~@15 d2 ~@32]/2",
  AN: "[~@3 g1@2 ~ ab1@2 ~ a1@2 ~ bb1@3 ~@3 ab1@4 ~ bb1@5 ~@2 ab1@3 ~@3 g1@4 ~ f1@2 ~@4 g1]/2",
  AO: "[~@2 g1 g1@2 ~ ab1@2 ~ a1@2 ~ bb1@2 a1 eb2@2 ~ d2@2 bb1 g1 ~ bb1@3 ~ bb1 ~@2 ab1 ~@2 ab1 ~@2 g1 ~@2 g1 ~@2 f1@2 ~@3 bb1@3 ~ bb1 ~@2 ab1 ~@2 ab1@2 ~ g1@2 ~ ab1@2 ~ a1 ~ a1 ~@2 bb1@4 bb1 ~@2 ab1 ~@2 ab1 ~@2 g1@2 ~ g1@2 ~ f1@2 ~ f1 ~ bb1]/4",
  AP: "[~@3 bb1@2 ~ ab1@2 ~ ab1@2 ~ g1 ~@2 g1 ~@2 ab1@2 a1@2 ~ bb1@4 bb1 ~@2 ab1 ~@2 ab1 ~@2 g1@2 ~ g1 ~@2 f1@2 ~ f1 ~ bb1@4 bb1 ~@2 ab1 ~@2 ab1@2 ~ g1 ~@2 g1@2 ~ ab1@2 a1@2 ~ bb1@4 bb1 ~@2 ab1 ~@2 ab1@2 ~ g1@2 ~ g1@2 ~ f1@2 ~ f1 ~ bb1@4 bb1 ~@2 ab1 ~@2 ab1@2 ~ g1 ~ g1 eb2@2 ~ d2@2 bb1 g1 ~ bb1@4 bb1 ~@2 ab1 ~@2 ab1 ~@2 g1@2 ~ g1@2 ~ f1@2 ~ f1 ~ bb1@4 bb1 ~@2 ab1 ~@2 ab1@2 ~ g1 ~@2 g1 ~@2 ab1 ~ a1@2 ~ bb1@4 bb1 ~@2 ab1@2 ~ ab1@2 ~ g1 ~@2 g1@2 ~ f1@2 ~ f1 ~ bb1]/8",
  AQ: "[~@3 bb1 ~@2 ab1 ~@2 ab1@2 ~ g1 ~ g1 eb2@2 ~ d2@2 bb1 g1 ~ bb1@3 ~ bb1 ~@2 ab1@2 ~ ab1@2 ~ g1@2 ~ g1@2 ~ f1@2 ~ f1 ~ bb1@4 bb1 ~@2 ab1 ~@2 ab1 ~@2 g1 ~@2 g1@2 ~ ab1 ~ a1@2 ~ bb1@3 ~ bb1 ~@2 ab1 ~@2 ab1@2 ~ g1 ~@2 g1@2 ~ f1@2 ~ f1 ~ bb1@3 ~ bb1 ~@2 ab1 ~@2 ab1@2 ~ g1@2 ~ eb2@3 bb1@2 g1@2 ~@2]/5",
  AR: "bb1@6 ab1 ~@2 g1 ~@2 g1@4 ~ g1 ~@5 g1",
  AS: "[~@2 g1@4 ab1 ~@2 a1 ~@2 bb1@4 ~ bb1 ~@5 bb1@7 ab1 ~@2 g1 ~@2 g1@4 ~ g1 ~@5 g1@2 ~ g1@4 ab1 ~@2 a1@2 ~ bb1@2 a1 eb2@2 ~ d2@2 bb1 g1 ~ bb1@7 ab1 ~@2 g1@2 ~ g1@4 ~ g1@2 ~@4 g1@2 ~ g1@4 ab1 ~@2 a1@2 ~ bb1@2 a1 db2@3 c2 ~ bb1 g1 ~ bb1@7 ab1 ~@2 g1 ~@2 g1@4 ~ g1@2 ~@4 [f1,f2]]/6", // F
  AT: "bb2 ab2 f2 ab2 f2 eb2 f2 eb2 db2 eb2 db2 bb1 db2@3 bb1@3 ab1@3 f1@3",
  AU: "[bb2 ab2 f2 ab2 f2 eb2 f2 eb2 db2 eb2 db2 bb1 db2@3 bb1@3 ab1@3 f1@2 bb1@6 ~ ab1 ~@2 g1 ~@2 g1@4 ~ g1 ~@5 g1]/2",
  AV: "[bb2 ab2 f2 ab2 f2 eb2 f2 eb2 db2 eb2 db2 bb1 db2 bb1 ab1 bb1 ab1 f1 ~@2 ab1 ~@2 bb1@2 ~@23]/2",
})).s("gm_electric_bass_finger").gain(0.33)

// other · brass section · "BRASS 1"
const brass_section = note(`<
  A B C D ~ B C E ~@15 F@2 G H I J@2 ~@6 K@2 L M@2 N O P Q@2 ~@6 K@2 L M@2 R S T ~ R S T U@2 V F@2 ~@7 W@7 X@4 Y@6 ~@8 Z
  AA Z AA Z AA AB AC Z AA Z AA Z AA AB AC ~
>`.pickRestart({
  A: "~@11 bb5", B: "~@2 ab4 g4 ~@2 ab4 ~@2 g4 ~@2 ab4 ~@2 g4 ~@2 ab4 ~@2 g4 ~ ab4", C: "~@2 g4 ~@21",
  D: "~@2 ab4 g4 ~@2 ab4 ~@2 g4 ~@2 ab4 ~@2 g4 ~@2 ab4@2 a4 ~@2 bb4",
  E: "~@2 [ab4,ab5] [g4,g5] ~@2 [ab4,ab5] ~@2 [g4,g5] ~@2 [ab4,ab5] ~@4 [ab4,ab5] ~@2 [a4,a5] ~@2 [bb4,bb5]", // Ab G Ab G Ab A Bb
  F: "[~@17 [ab4,ab5] ~@2 [a4,a5] ~@2 [bb4,bb5]@2 ~@23]/2", // Ab A Bb
  G: "[gb3,gb4]@2 ~@4 [a3,a4,a5]@5 [ab3,ab4]@13, ~@11 ab5@11 ~@2", H: "[e3,e4]@2 ~@4 [g3,g4,g5]@5 [gb3,gb4,gb5]@12 ~",
  I: "gb3@2 ~@4 [a3,a4,a5]@5 [ab3,ab4,ab5]@13, gb4 ~@23", // A Ab
  J: "[[ab3,ab4]@2 ~@4 [b3,b4,b5]@5 [bb3,bb4,bb5]@11 ~ [db5,db6]@2 ~@23]/2", // Ab B Bb Db
  K: "[~@20 [db4,db5,db6] ~@2 [eb4,eb5,eb6]@2 ~@23]/2", // Db Eb
  L: "~@5 [eb4,eb5] [a4,bb4,a5,bb5] [b4,b5] [c5,c6]@4 [gb4,gb5] [d4,d5] [db4,db5]@2 [eb4,eb5] ~@7, ~@13 [eb4,eb5]@2 ~@9", // Eb Bbmaj7 B C Gb D Db Eb
  M: "[~@17 [db5,db6] ~@2 [d5,d6] ~@2 [eb5,eb6]@2 ~@23]/2", N: "[db4,db5]@2 ~@4 [e4,e5]@5 eb4@13, ~@11 eb5@11 ~@2",
  O: "[b3,b4]@2 ~@4 [d4,d5]@5 [db4,db5]@12 ~", P: "db4@2 ~@4 [e4,e5]@5 [eb4,eb5]@13, db5 ~@23",
  Q: "[[eb4,eb5]@2 ~@4 [gb4,gb5]@5 [f4,f5]@11 ~ [db5,db6]@2 ~@23]/2", // Eb Gb F Db
  R: "~@15 [f4,f5]@2 [eb4,eb5]@4 ~@3, ~@7 [g4,g5] ~@4", // F Eb G
  S: "~@14 [db4,db5] [f4,f5]@2 [ab4,ab5] ~@2 [ab4,ab5] [bb4,bb5]@2 [db5,db6], ~@15 [eb4,eb5] ~@5 [ab4,ab5] ~@2", // Db F Ab Bb Db Eb Ab
  T: "~@14 [g4,g5] [ab4,ab5]@2 [bb4,bb5]@5 ~@2", U: "[~@23 [bb4,bb5]@3 ~@22]/2",
  V: "~@18 f5@2 [g4,g5] ~@3, ~@18 f4 ~@5", // G
  W: "[~@23 [bb4,bb5]@2 ~@22 [bb4,bb5]@2 ~@14 [db5,db6] ~@2 [c5,c6]@2 [bb4,bb5] ~@2 bb4@2 ~@22 [bb4,bb5]@2 ~@14 [db5,db6] ~@2 d5@2 [bb4,bb5] ~@2 bb4@2 ~@22 [bb4,bb5]@2 ~@11 [bb4,bb5] ~@2 [c5,c6] ~@2 [db5,db6] ~ [bb4,bb5] ~@2 [bb4,bb5], ~@71 bb5 ~@42 d6 ~@4 bb5 ~@48]/7", // Bb Db C Bb Db Bb C Db …
  X: "[~@23 bb4@2 ~@11 [bb4,bb5] ~@2 [db5,db6] ~@2 d6@2 [bb4,bb5] ~@2 bb4@2 ~@22 bb4@2 ~@11 [bb4,bb5] ~@2 [c5,c6] ~@2 [db5,db6] ~ d5 ~@2 [bb4,bb5], ~@23 bb5 ~@18 d5 ~@4 bb5 ~@23 bb5 ~@24]/4", // Bb Db Bb C Db Bb
  Y: "[~@23 [bb4,bb5]@2 ~@11 [bb4,bb5] ~@2 [db5,db6] ~@2 [d5,d6] ~ [bb4,bb5] ~@2 bb4@2 ~@22 bb4@2 ~@11 bb4@2 ~ [c5,c6] ~@2 [db5,db6] ~ [d5,d6] ~@2 bb4@2 ~@22 bb4@2 ~@23, ~@47 bb5 ~@23 bb5 ~@12 bb5 ~@10 bb5 ~@23 bb5 ~@24]/6", // Bb Db D Bb C Db D
  Z: "~@2 [ab4,ab5] [g4,g5] ~@2 [ab4,ab5] ~@2 [g4,g5] ~@2 [ab4,ab5] ~@2 [g4,g5] ~ [ab4,ab5] ~@6", // Ab G Ab G Ab G Ab
  AA: "~@2 [ab4,ab5] [g4,g5] ~@2 [ab4,ab5] ~@2 [g4,g5] ~@2 [ab4,ab5] ~@2 [a4,a5] ~ [bb4,bb5] ~@6", // Ab G Ab G Ab A Bb
  AB: "~@2 [ab4,ab5] [g4,g5] ~@2 [ab4,ab5] ~@2 [g4,g5] ~@2 [ab4,ab5] ~@2 [g4,g5] ~ [ab4,ab5] ~@5 [f4,f5]", // Ab G Ab G Ab G Ab F
  AC: "[bb4,bb5] [ab4,ab5] [f4,f5] [ab4,ab5] [f4,f5] [eb4,eb5] [f4,f5] [eb4,eb5] [db4,db5] [eb4,eb5] [db4,db5] [bb3,bb4] [db4,db5] [bb3,bb4] [ab3,ab4] [bb3,bb4] [ab3,ab4] [f3,f4] ~@2 [ab3,ab4] ~@2 [bb3,bb4]", // Bb Ab F Ab F Eb F Eb …
})).s("gm_brass_section").gain(0.36)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@6 A ~@3 B ~ C ~ D ~ E ~ D ~ D ~ D ~@7 F ~ G ~ F ~ F ~ F ~@7 F ~ G ~ F ~ H ~ F ~@11 D ~@10 I J K L M N O P Q R S T U
  V S W X Y Z AA@2 AB AC ~ X Y Z AA@2 AB AC ~ X Y Z AA@2 AB AC ~@2
>`.pickRestart({
  A: "~@14 bb3 g3 ~ g3 bb3 ~ bb3 g3 ~ bb3", B: "~@2 ab3 g3 ~@2 ab3 ~@2 g3 ~@2 ab3 ~@2 g3 ~@2 ab3@2 bb3 ~@3",
  C: "~@2 ab3 g3 ~@2 ab3 ~@2 g3 ~@2 ab3@2 ~ g3 ~@2 ab3@2 bb3 ~@3",
  D: "~@2 ab3 g3 ~@2 ab3 ~@2 g3 ~@2 ab3 ~@2 g3 ~@2 ab3 ~ bb3 ~@3",
  E: "~@2 ab3 g3 ~@2 ab3 ~@2 g3 ~@2 db4@3 bb3@3 ab3@2 g3 ~@3",
  F: "~@2 db4 c4 ~@2 db4 ~@2 c4 ~@2 db4 ~@2 c4 ~@2 db4 ~ eb4 ~@3",
  G: "~@2 db4 c4 ~@2 db4 ~@2 c4 ~@2 gb4@3 eb4@3 db4@2 c4 ~@3",
  H: "db4@2 db4 c4 ~@2 [bb3,db4] ~@2 [ab3,c4] ~@2 g3@3 c4 ~@2 db4 ~ eb4 ~@3, ~@12 db4 ~@4 eb4@3 ~@4", // Bbm Ab
  I: "~@2 bb3 g3@2 ~ bb3 ~@2 c4 ~@14", J: "~@2 bb3 g3 ~@2 bb3 ~@2 c4 ~@14",
  K: "~@2 bb3 g3 ~@2 bb3 ~@2 bb3 ~@4 bb3 ~@3 bb3@2 ~ c4 ~ bb3",
  L: "~@2 bb3 g3 ~@2 bb3 ~@2 c4 ~@5 g3 ~@2 bb3 ~@5, ~@7 bb3 ~@4",
  M: "~@2 bb3 ~@3 bb3 ~@2 c4 ~ bb3 ~@2 bb3 g3 ~@2 bb3 ~@5", N: "~@2 bb3 g3 ~@2 bb3@2 ~ c4 ~@2 bb3 ~@11",
  O: "~@2 bb3 g3@2 ~ bb3@2 ~ c4 ~@5 g3 ~@2 bb3@2 ~ c4 ~@2, ~@7 bb3 ~@4",
  P: "db4@2 ~ d4@2 ~ bb3@2 g3 ~@2 bb3 ~@6 bb3 ~ c4 ~@3", Q: "~@2 bb3 g3 ~@2 bb3@2 ~ c4 ~ bb3 ~@2 bb3 ~@3 bb3@2 ~@4",
  R: "~@2 bb3 ~@21", S: "~@2 bb3 g3 ~@2 bb3 ~@2 c4 ~ bb3 ~@2 bb3 ~@3 bb3 ~ bb3 ~@2 bb3",
  T: "~@3 g3 ~@2 bb3 ~ bb3 ~@3 bb3 ~@2 c4 ~@2 bb3 ~@4 bb3, ~ bb3 ~@10",
  U: "~@2 bb3 g3 ~@2 bb3 ~@2 bb3 ~@4 bb3 g3 ~@2 bb3@2 ~ c4@2 bb3",
  V: "~@3 g3 ~@2 bb3@2 ~ c4 ~@2 db4@2 ~ d4 ~@2 bb3@2 g3 ~@2 bb3, ~ bb3 ~@10",
  W: "~@3 g3 ~@2 bb3 ~ bb3 ~@3 bb3 ~@2 c4@2 ~ bb3@2 g3 ~@3, ~ bb3 ~@10",
  X: "~@3 [c4,eb4,ab4] ~@4 [c4,eb4,ab4] ~@3 [c4,eb4,ab4]@3 ~@2 [eb4,ab4] ~@3 bb3 ~ bb3", // Ab Ab5
  Y: "ab3 ~ bb3 ~@3 bb3 ~ bb3 ab3 ~ bb3 ~@3 eb4@3 db4@2 bb3 ab3 ~ bb3",
  Z: "~@3 [c4,eb4,ab4]@3 ~@2 [c4,eb4,ab4] ~@3 bb3 ~ bb3 ab3 ~ bb3 ~@3 bb3@3", // Ab
  AA: "[ab3 ~ bb3 ~@3 ab3 ~ bb3 ~@6 [db4,e4,a4] ~ [d4,f4,bb4] ~@2 [eb4,gb4] ~@2 [c4,eb4,ab4]@4 [c4,eb4,ab4] ~@5 bb3 ~ bb3 ab3 ~ bb3 ~@3 bb3@3 ab3 ~ bb3]/2", // A Bb Ebm Ab
  AB: "~@3 [c4,eb4,ab4]@3 ~@2 [c4,eb4,ab4] ~@6 [db4,e4,a4] ~ [d4,f4,bb4] ~@2 [d4,f4,bb4] ~@3", // Ab A Bb
  AC: "~@3 bb3@3 ab3 ~ bb3 ~@3 bb3 ~ bb3 ab3 ~ bb3 ~@6",
})).s("gm_electric_guitar_muted").gain(0.39).pan(0.3)

// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note("<~@78 A B C D A E F G H I J K L M N O ~@7 O ~@7 O ~@8>".pickRestart({
  A: "~@5 f3 ~@18", B: "~@5 f3 ~@9 g3 ~ f3 ~@2 f3 ~@3", C: "~@5 f3 ~@11 f3 ~@2 f3 ~@3",
  D: "~@3 g3 ~ f3 ~@2 f3 ~@8 f3 ~@6", E: "~@8 f3 ~@8 f3 ~@2 f3 ~@2 f3", F: "~@5 f3 ~@3 f3 ~@14",
  G: "~@5 f3 ~@2 f3 ~@6 g3 ~ f3 ~@6", H: "~@3 g3 ~@2 bb3 ~@17", I: "~@15 g3 ~ f3 ~@6", J: "~@5 f3 ~@14 g3 f3 ~@2",
  K: "~@5 f3 ~@11 f3 ~@6", L: "~@5 f3 ~@5 f3 ~@2 f3 ~@6 f3 ~@2", M: "~@5 f3 ~@9 g3 ~ f3 ~@6", N: "~@5 f3 ~@15 f3 ~@2",
  O: "~@17 c4 ~@6",
})).s("gm_electric_guitar_muted").gain(0.2).pan(0.3)

// other · tenor sax
const tenor_sax = note(`<
  ~ A B C ~ A B D ~@15 E@2 F G H I@2 ~@6 J@2 ~ K@2 L M N@3 ~@6 J@2 ~ K@2 L M O P L M O Q@2 ~ E@2 ~@7 R@7 S@4 T@6 ~@8 U V
  U W U V U X U V U W U V U X ~
>`.pickRestart({
  A: "~@2 ab3 g3 ~@2 ab3 ~@2 g3 ~@2 ab3 ~@2 g3 ~@2 ab3 ~@2 g3 ~ ab3", B: "~@2 g3 ~@21",
  C: "~@2 ab3 g3 ~@2 ab3 ~@2 g3 ~@2 ab3 ~@5 ab3 ~ a3 ~@2 bb3",
  D: "~@2 ab3 g3 ~@2 ab3 ~@2 g3 ~@2 ab3 ~@4 ab3 ~@2 a3 ~@2 bb3", E: "[~@17 ab3@2 ~ a3@2 ~ bb3@2 ~@23]/2",
  F: "[eb3,eb4]@3 ~@3 [db3,db4]@5 c4@13", G: "[db3,db4]@4 ~@2 [b2,b3]@5 [bb2,bb3]@13",
  H: "[eb3,eb4]@3 ~@3 [db3,db4]@5 [c3,c4]@13", I: "[[f3,f4]@3 ~@3 [eb3,eb4]@5 d4@10 ~@2 [db3,db4]@2 ~@23]/2",
  J: "[~@20 db4 ~@2 eb4@2 ~@23]/2", K: "[~@17 db4@2 ~ d4@2 ~ eb4@2 ~@23]/2", L: "[bb3,bb4]@3 ~@3 [ab3,ab4]@5 g4@13",
  M: "[ab3,ab4]@4 ~@2 [gb3,gb4]@5 [f3,f4]@13", // Ab Gb F
  N: "[[bb3,bb4]@3 ~@3 [ab3,ab4]@5 g3@12 ~ c4@3 ~@3 [bb3,bb4]@5 a4@10 ~@2 [db3,db4]@2 ~@23, ~@11 g4@16 ~@45, ~@24 c5 ~@47]/3", // Bb Ab Bb Db
  O: "[bb3,bb4]@3 ~@3 [ab3,ab4]@5 [g3,g4]@13", P: "[c4,c5]@3 ~@3 [bb3,bb4]@5 a4@13",
  Q: "[[c4,c5]@3 ~@3 [bb3,bb4]@5 a4@12 [bb3,bb4]@3 ~@22]/2", // C Bb
  R: "[~@23 [bb3,bb4]@2 ~@22 [bb3,bb4]@2 ~@14 [db4,db5] ~@2 c5@2 bb4 ~@2 bb3@2 ~@22 [bb3,bb4]@2 ~@14 [db4,db5] ~@2 d4@2 [bb3,bb4] ~@2 bb3@2 ~@22 [bb3,bb4]@2 ~@11 [bb3,bb4] ~@2 [c4,c5] ~@2 [db4,db5] ~ [bb3,bb4] ~@2 [bb3,bb4], ~@71 bb4 ~@42 d5 ~@4 bb4 ~@48]/7", // Bb Db Bb Db Bb C Db Bb
  S: "[~@23 bb3@2 ~@11 [bb3,bb4] ~@2 [db4,db5] ~@2 d5@2 [bb3,bb4] ~@2 bb3@2 ~@22 bb3@2 ~@11 [bb3,bb4] ~@2 c5 ~@2 [db4,db5] ~@4 [bb3,bb4], ~@23 bb4 ~@18 d4 ~@4 bb4 ~@23 bb4 ~@24]/4", // Bb Db Bb Db Bb
  T: "[~@23 [bb3,bb4]@2 ~@11 [bb3,bb4] ~@2 [db4,db5] ~@2 [d4,d5] ~ [bb3,bb4] ~@2 bb3@2 ~@22 bb3@2 ~@11 bb3@2 ~ c5 ~@2 [db4,db5] ~@4 bb3@2 ~@22 bb3@2 ~@23, ~@47 bb4 ~@23 bb4 ~@12 bb4 ~@10 bb4 ~@23 bb4 ~@24]/6", // Bb Db D Bb Db
  U: "~@2 f4 eb4 ~@2 f4 ~@2 eb4 ~@2 f4 ~@2 eb4 ~ f4 ~@6", V: "~@2 f4 eb4 ~@2 f4 ~@2 eb4 ~@2 f4 ~@2 gb4 ~ g4 ~@6",
  W: "~@2 f4 eb4 ~@2 f4 ~@2 eb4 ~@2 f4@2 ~ gb4 ~ g4 ~@6", X: "~@20 ab4 ~@2 bb4",
})).s("gm_tenor_sax").gain(0.36).pan(0.1)

// other · tenor sax · soft notes
const tenor_sax_soft = note(`<
  ~@3 A ~@21 B ~ C D ~@12 E ~ F G ~@12 E ~ F H E ~ F H ~@13 I ~@7 J ~@3 K ~@27
>`.pickRestart({
  A: "~@15 g3 ~@8", B: "~@11 c3@13", C: "~@11 db3 ~@12", D: "~@11 d3@11 ~@2", E: "~@11 g3@13", F: "~@11 ab3 ~@12",
  G: "~@11 a3@11 ~@2", H: "~@11 a3@13", I: "~@18 c4@2 bb3 ~@3", J: "~@15 c4 ~@4 d4 ~@3", K: "~@15 c4 ~@4 [d4,d5] ~@3",
})).s("gm_tenor_sax").gain(0.18).pan(0.1)
// … 162 more lines

More by Al Jarreau