Strudelify

Shine On You Crazy Diamond, Part One

Pink Floyd

KeyB♭ majorTempo138 bpm
0:00/0:00
// Shine On You Crazy Diamond, Part One — Pink Floyd
// 138 bpm, 3/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (3/4 at bar 1, 4/4 at bar 249) are rendered on a constant 3/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 9 electric guitar jazz (copy of ch 4 electric guitar clean); ch 15 distortion guitar (copy of ch 12 sitar); ch 15 acoustic guitar steel (copy of ch 12 acoustic guitar steel); ch 15 overdriven guitar (copy of ch 12 overdriven guitar); ch 14 epiano2 (copy of ch 7 epiano2)
// note: Full arrangement: all 334 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 30, guitar program 25, guitar program 25, guitar program 29, guitar program 29, guitar program 27, guitar program 25.
setcpm(138/3)

// 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.

// other · lead 1 square
const lead_1_square = note(`<
  ~@196 A B C ~ D E C ~ F G H@2 I ~@3 J B C ~ K L M ~ F G H@2 N ~@2 O P Q R S R T U ~ V W V X R Y@2 Z F ~@89
>`.pickRestart({
  A: "d5@5 d5@5 ~ d5@5", B: "d5@5 d5@5 ~ c5@5", C: "d5@5 ~@11", D: "~@11 bb4@5", E: "bb4@5 c5@5 ~ db5@5", F: "g5",
  G: "g5@10 ~ f5@5", H: "[eb5@26 ~ d5@5]/2", I: "f5@5 eb5@3 d5@2 ~ c5@5", J: "d5",
  K: "~@8 [gb4,bb4]@2 ~ [gb4,bb4]@2 [gb4,bb4]@2 ~", L: "[gb4,bb4]@5 [ab4,c5]@5 ~ [a4,db5]@5", M: "[bb4,d5]@5 ~@11",
  N: "f5@5 eb5@2 ~ d5@2 ~ c5@5", O: "~@5 f5@5 ~ f5@5", P: "g5@5 g5@5 ~ f5@5", Q: "g5@5 bb5@5 ~@3 g5@2 ~",
  R: "f5@5 f5@5 ~ f5@5", S: "f5@5 bb5@5 ~@6", T: "f5", U: "eb5", V: "eb5@5 eb5@5 ~ eb5@5", W: "eb5@5 eb5@5 ~@3 eb5@2 ~",
  X: "eb5@5 eb5@5 ~@6", Y: "f5@5 d5@5 ~ f5@5", Z: "gb5@5 d5@5 ~ gb5@5",
})).s("gm_lead_1_square").gain(0.35)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@23 A B ~@6 A B ~@5 C@2 ~@12 D@2 ~@14 E@2 ~ F ~@4 E@2 D G H ~@117 I J ~@3 K L M N O P Q R S ~@2 T U V@2 W X L Y N O Z
  AA AB@2 AC AD AE AD AF AG AH AI AJ AK AL AM AN@2 AO@3 ~@89
>`.pickRestart({
  A: "~@11 [g3,bb3,d4,f4,a4]@5", B: "[g3,bb3,d4,f4,a4] ~@7",
  C: "[~@3 [g3,bb3,d4,f4]@2 ~@3 [g3,bb3,d4,f4]@2 ~@4 [d4,f4]@7 ~@11, ~@13 [g3,bb3]@8 ~@11]/2", // Gm7 Dm Gm
  D: "~@3 [g3,bb3,d4]@2 ~@3 [g3,bb3,d4]@2 ~@4 d4@2, ~@13 [g3,bb3]@2 ~", // Gm
  E: "[~@3 [g3,bb3,d4]@2 ~@3 [g3,bb3,d4]@2 ~@4 d4@7 ~@11, ~@13 [g3,bb3]@8 ~@11]/2", // Gm
  F: "[g3,bb3,d4]@2 ~ [g3,bb3,d4]@2 ~@3 [g3,bb3,d4]@8", G: "~@11 [g3,bb3,d4]@5", H: "[g3,bb3,d4]", I: "~@8 d4@2 ~ g4@5",
  J: "g4@5 bb4@5 ~@6", K: "[bb3,d4,f4]@2 ~ [bb3,d4,f4]@5 [bb3,d4,f4]@2 ~ [bb3,d4,f4]@5", L: "[eb3,g3,bb3]",
  M: "[eb3,g3,bb3,db4]", N: "[c3,eb3,g3]", O: "[c3,eb3,g3,bb3]", P: "~@11 ab2@2 g2@2 ~",
  Q: "ab2@2 ~ g2@2 f2@5 ~ ab2@2 g2@2 ~", R: "f2", S: "f2@5 gb2@10 ~", T: "~@3 g3@2 bb3@5 ~ d4@5",
  U: "d4@3 c4@2 d4@3 c4@3 d4@2 c4@3", V: "bb3/2", W: "bb2",
  X: "[bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 ~ f4@2 [bb3,d4,f4]@2 ~ [bb3,d4,f4]@5, ~@5 [bb3,d4]@2 ~@9", Y: "[eb3,g3,bb3,d4]",
  Z: "~@11 f5@2 f5@2 ~", AA: "f5@5 d5@5 ~ c5@5", AB: "f4/2", AC: "g3@5 a3@5 ~ g3@5", AD: "c4@2 ~ d4@2 c4@10 ~",
  AE: "gb3@5 a3@5 ~ bb3@5", AF: "f3@5 a3@5 ~ bb3@5", AG: "d4", AH: "[c4,eb4]", AI: "~@11 c3@2 d3@2 ~", AJ: "eb3",
  AK: "c4@5 a3@5 ~ g3@5", AL: "e3", AM: "e4", AN: "[f4,bb4,d5]@5 ~ d5@5 [f4,bb4,d5]@5, ~@5 [f4,bb4]@5 ~@6",
  AO: "[[d4,f4,a4]@5 ~ a4@4 ~ [gb4,c5]@5 [d4,gb4,c5]@5 [g4,bb4,d5]@16 ~@11, ~@5 d4@5 d4@5 ~@33, ~@11 a4@10 ~@27]/3", // Dm Gbdim D7 Gm
})).s("gm_overdriven_guitar").gain(0.36).pan(0.9)

// other · synth strings 1
const synth_strings_1 = note(`<
  ~@16 A@4 B@4 C@4 D@4 E@4 F@3 G H@2 I J@3 ~ K@3 ~ L M@2 ~@2 N@2 O@2 P@2 Q@2 R@3 S T@2 ~@2 U@4 V@4 U@4 V@4 U@4 W@4 X@4
  Y@2 Z@2 AA ~@3 O@2 AB@8 W@8 AC@4 V@4 AB@4 W@4 AA ~@3 O@2 AB@8 W@8 X@4 W@4 V@4 Z@4 AD@4 AE AF AE AG AH AI AJ AE AK AL
  AM AN AO@8 AP AQ AR AS AT ~@3 AU@4 AV@3 ~ AW AQ AR AS AT ~@3 AX ~ AY ~ AZ ~ BA ~ AW ~ BB ~ BC@2 BD BE AX ~@89
>`.pickRestart({
  A: "[bb3,d4,g4]/4", B: "[g3,bb3,d4,a4]/4", C: "bb4/4", D: "c5/4", E: "d5/4", F: "f5/3",
  G: "~@6 g4 bb4, ~@11 f4@2 ~@3", H: "[g4@13 ~ g4 bb4, ~@27 f4@2 ~@3]/2", I: "g4@5 ~@7 c4@2 bb3@2, ~@11 eb4@2 ~@3",
  J: "[c4 bb3 g3@22]/3", K: "[~@6 g4 ~ a4@16, ~@11 bb3@3 c5@4 ~@30]/3", L: "~@9 bb3@2 g3@2 f3@3, ~@4 c4 ~@3", M: "g3/2",
  N: "bb4/2", O: "[g4@21 ~@11]/2", P: "[bb4@24 g4@3 d4@2 c4@3]/2", Q: "bb3/2",
  R: "[d4@3 f4@2 d4@21 ~@3 bb3@2 ~ f3@16, ~@27 d4@2 ~@19, ~@28 c4@2 ~ g3@2 ~@15]/3", S: "a3@3 c4@2 g4@3 f4@3 d4@2 c4@3",
  T: "[bb3@3 g3@29]/2", U: "[db4@58 ~ c4@2 bb3@3]/4", V: "[g3@53 ~@11]/4", W: "c4/4", X: "[g4@53 ~@11]/4",
  Y: "[bb4@26 ~ g4@2 f4@2 ~]/2", Z: "[d4@26 ~ bb3@2 a3@2 ~]/2", AA: "g3", AB: "[db4@58 ~ c4@2 bb3@2 ~]/4",
  AC: "[db4@58 ~ db4@2 bb3@2 ~]/4", AD: "[g4,bb4,d5]/4", AE: "bb3", AF: "ab3@5 a3@5 ~ bb3@5", AG: "bb3@5 c4@5 ~ d4@5",
  AH: "eb4", AI: "d4", AJ: "c4", AK: "f4@5 e4@2 ~ d4@2 ~ c4@5", AL: "c4@10 ~ g3@5", AM: "f3", AN: "f3@5 gb3@10 ~",
  AO: "[[g4,d5]@2 [gb4,db5] [d5,f5], bb4]/8", AP: "[eb4,g4]", AQ: "[eb4,g4,bb4,d5]", AR: "[c4,eb4,g4]",
  AS: "[c4,eb4,g4,bb4]", AT: "[f4,a4,c5]", AU: "[bb4 b4@3, [g4,d5]]/4", AV: "[gb4,bb4,db5]/3", AW: "[eb4,g4,bb4]",
  AX: "[g4,bb4,d5]", AY: "[g4,b4,d5,gb5]", AZ: "[g4,bb4,d5,f5]", BA: "[g4,bb4,d5,e5]", BB: "[e4,ab4,b4,eb5]",
  BC: "[f4,bb4,d5]/2", BD: "[d4,f4,a4]", BE: "[d4,gb4,a4,c5]",
})).s("gm_synth_strings_1").gain(0.36).pan(0.2)

// bass · electric bass pick
const bass = note(`<
  A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B
  ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ C ~ D ~ C ~ D ~ E ~ F ~ C ~ D ~ B ~ A ~ B ~ C ~ G H G H G H I J I J I J I J D K D K D K
  D K G H G H G H G H G H G H D K D K G H G H G H I J I J I J I J D K D K D K D K G H G H L M L M G H G H D K D K G@4
  N@2 O P Q R S O T@2 U V W X W Y Z AA AB ~ Q R S O AC AD U V W X W ~ Z AA AB ~ Q R S O AC AD U V W ~ Z ~ AC ~ AE ~ Q AF
  AG AH AI AJ AK Z W ~@89
>`.pickRestart({
  A: "g2@5 g2@2 ~@9", B: "g2@5 ~@11", C: "d3@5 ~@11", D: "d3@5 d3@2 ~@9", E: "e3@5 ~@11", F: "e3@5 e3@2 ~@9",
  G: "g3@5 g3@2 ~@9", H: "g3@5 g3@2 ~@4 a3@2 bb3@2 ~", I: "eb3@5 eb3@2 ~@9", J: "eb3@5 eb3@2 ~@4 f3@2 g3@2 ~",
  K: "d3@5 d3@2 ~@4 f3@2 g3@2 ~", L: "c3@5 c3@2 ~@9", M: "c3@5 c3@2 ~@4 d3@2 eb3@2 ~", N: "gb3@5 gb3@2 ~@9", O: "bb2",
  P: "bb2@5 c3@5 ~ d3@5", Q: "eb3", R: "d3", S: "c3", T: "[f3@26 ~ g2@5]/2", U: "f2", V: "f2@5 gb2@10 ~", W: "g3",
  X: "~@11 g3@5", Y: "~@11 d3@2 g3@2 ~", Z: "gb3", AA: "~@11 gb3@5", AB: "bb3", AC: "f3", AD: "~@11 f3@5", AE: "c4",
  AF: "bb3@5 eb3@5 ~ bb3@5", AG: "e3@5 b3@5 ~ e3@5", AH: "b3@5 e3@5 ~ b3@5", AI: "f3@5 c4@5 ~ f3@5",
  AJ: "f2@8 f2@2 ~ f2@5", AK: "d3@5 f3@5 ~ d3@5",
})).s("gm_electric_bass_pick").gain(0.3).pan(0.8)

// other · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@196 A B C ~ D E C ~ F G H@2 I ~@3 J B C ~ K L M ~ F G H@2 N ~@2 O P Q R S R T U ~ V W V X R Y@2 Z F ~@89
>`.pickRestart({
  A: "d4@5 d4@5 ~ d4@5", B: "d4@5 d4@5 ~ c4@5", C: "d4@5 ~@11", D: "~@11 bb3@5", E: "bb3@5 c4@5 ~ db4@5", F: "g4",
  G: "g4@10 ~ f4@5", H: "[eb4@26 ~ d4@5]/2", I: "f4@5 eb4@3 d4@2 ~ c4@5", J: "d4",
  K: "~@8 [gb3,bb3]@2 ~ [gb3,bb3]@2 [gb3,bb3]@2 ~", L: "[gb3,bb3]@5 [ab3,c4]@5 ~ [a3,db4]@5", M: "[bb3,d4]@5 ~@11",
  N: "f4@5 eb4@2 ~ d4@2 ~ c4@5", O: "~@5 f4@5 ~ f4@5", P: "g4@5 g4@5 ~ f4@5", Q: "g4@5 bb4@5 ~@3 g4@2 ~",
  R: "f4@5 f4@5 ~ f4@5", S: "f4@5 bb4@5 ~@6", T: "f4", U: "eb4", V: "eb4@5 eb4@5 ~ eb4@5", W: "eb4@5 eb4@5 ~@3 eb4@2 ~",
  X: "eb4@5 eb4@5 ~@6", Y: "f4@5 d4@5 ~ f4@5", Z: "gb4@5 d4@5 ~ gb4@5",
})).s("gm_overdriven_guitar").gain(0.35)

// chords · sitar
const sitar = note("<~@23 A B ~@6 A B ~@5 C@2 ~@12 D@2 ~@14 E@2 ~ F ~@4 E@2 D G H ~@253>".pickRestart({
  A: "~@11 [g2,bb2,d3,f3,a3]@5", B: "[g2,bb2,d3,f3,a3]@3 ~@13",
  C: "[~@3 [g2,bb2,d3,f3]@2 ~@3 [g2,bb2,d3,f3]@2 ~@4 [d3,f3]@7 ~@11, ~@13 [g2,bb2]@8 ~@11]/2", // Gm7 Dm Gm
  D: "~@3 [g2,bb2,d3]@2 ~@3 [g2,bb2,d3]@2 ~@4 d3@2, ~@13 [g2,bb2]@2 ~", // Gm
  E: "[~@3 [g2,bb2,d3]@2 ~@3 [g2,bb2,d3]@2 ~@4 d3@7 ~@11, ~@13 [g2,bb2]@8 ~@11]/2", // Gm
  F: "[g2,bb2,d3]@2 ~ [g2,bb2,d3]@2 ~@3 [g2,bb2,d3]@8", G: "~@11 [g2,bb2,d3]@5", H: "[g2,bb2,d3]",
})).s("gm_sitar").gain(0.36).pan(0.6)

// other · acoustic guitar steel
const acoustic_guitar_steel = note("<~@283 A B@2 ~@2 C D E ~ F ~@41>".pickRestart({
  A: "~@4 c4 ~@2 bb3@2 ~@2 f3@2 ~@3", B: "[~@15 f3@2 ~@15]/2", C: "c4 ~@15", D: "~@11 g3@2 ~@3", E: "~@5 c4 ~@2",
  F: "~@13 bb3 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0.2)

// other · tenor sax
const tenor_sax = note(`<
  ~@16 A@4 B@4 C@4 D@4 E@4 F@3 G H@2 I J@3 ~ K@3 ~ L M@2 ~@2 N@2 O@2 P@2 Q@2 R@3 S T@2 ~@2 U@4 V@4 U@4 V@4 U@4 W@4 X@4
  Y@2 Z@2 AA ~@3 O@2 AB@8 W@8 AC@4 V@4 AB@4 W@4 AA ~@3 O@2 AB@8 W@8 X@4 W@4 V@4 Z@4 AD@4 AE AF AE AG AH AI AJ AE AK AL
  AM AN AO@8 AP AQ AR AS AT ~@3 AU@4 AV@3 ~ AW AQ AR AS AT ~@3 AX ~ AY ~ AZ ~ BA ~ AW ~ BB ~ BC@2 BD BE AX ~@89
>`.pickRestart({
  A: "[bb2,d3,g3]/4", B: "[g2,bb2,d3,a3]/4", C: "bb3/4", D: "c4/4", E: "d4/4", F: "f4/3",
  G: "~@6 g3 bb3, ~@11 f3@2 ~@3", H: "[g3@13 ~ g3 bb3, ~@27 f3@2 ~@3]/2", I: "g3@5 ~@7 c3@2 bb2@2, ~@11 eb3@2 ~@3",
  J: "[c3 bb2 g2@22]/3", K: "[~@6 g3 ~ a3@16, ~@11 bb2@3 c4@4 ~@30]/3", L: "~@9 bb2@2 g2@2 f2@3, ~@4 c3 ~@3", M: "g2/2",
  N: "bb3/2", O: "[g3@21 ~@11]/2", P: "[bb3@24 g3@3 d3@2 c3@3]/2", Q: "bb2/2",
  R: "[d3@3 f3@2 d3@21 ~@3 bb2@2 ~ f2@16, ~@27 d3@2 ~@19, ~@28 c3@2 ~ g2@2 ~@15]/3", S: "a2@3 c3@2 g3@3 f3@3 d3@2 c3@3",
  T: "[bb2@3 g2@29]/2", U: "[db3@58 ~ c3@2 bb2@3]/4", V: "[g2@53 ~@11]/4", W: "c3/4", X: "[g3@53 ~@11]/4",
  Y: "[bb3@26 ~ g3@2 f3@2 ~]/2", Z: "[d3@26 ~ bb2@2 a2@2 ~]/2", AA: "g2", AB: "[db3@58 ~ c3@2 bb2@2 ~]/4",
  AC: "[db3@58 ~ db3@2 bb2@2 ~]/4", AD: "[g3,bb3,d4]/4", AE: "bb2", AF: "ab2@5 a2@5 ~ bb2@5", AG: "bb2@5 c3@5 ~ d3@5",
  AH: "eb3", AI: "d3", AJ: "c3", AK: "f3@5 e3@2 ~ d3@2 ~ c3@5", AL: "c3@10 ~ g2@5", AM: "f2", AN: "f2@5 gb2@10 ~",
  AO: "[[g3,d4]@2 [gb3,db4] [d4,f4], bb3]/8", AP: "[eb3,g3]", AQ: "[eb3,g3,bb3,d4]", AR: "[c3,eb3,g3]",
  AS: "[c3,eb3,g3,bb3]", AT: "[f3,a3,c4]", AU: "[bb3 b3@3, [g3,d4]]/4", AV: "[gb3,bb3,db4]/3", AW: "[eb3,g3,bb3]",
  AX: "[g3,bb3,d4]", AY: "[g3,b3,d4,gb4]", AZ: "[g3,bb3,d4,f4]", BA: "[g3,bb3,d4,e4]", BB: "[e3,ab3,b3,eb4]",
  BC: "[f3,bb3,d4]/2", BD: "[d3,f3,a3]", BE: "[d3,gb3,a3,c4]",
})).s("gm_tenor_sax").gain(0.36).pan(0.2)

// bass · electric bass finger
const bass_2 = note(`<
  A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B
  ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ C ~ D ~ C ~ D ~ E ~ F ~ C ~ D ~ B ~ A ~ B ~ C ~ G H G H G H I J I J I J I J D K D K D K
  D K G H G H G H G H G H G H D K D K G H G H G H I J I J I J I J D K D K D K D K G H G H L M L M G H G H D K D K G@4
  N@2 O P Q R S O T@2 U V W X W Y Z AA AB ~ Q R S O AC AD U V W X W ~ Z AA AB ~ Q R S O AC AD U V W ~ Z ~ AC ~ AE ~ Q AF
  AG AH AI AJ AK Z W ~@19 AL AM@2 AN AO AP AQ AR@5 AS@2 AT AU AV@2 AW AX AY AZ BA BB BC BD BE BF BG@2 BH BI@3 BJ@3 BK BL
  BM@2 BN BO BP BQ BR BS AM@2 BT BU@3 BV@4 BW BX@2 AT AU BY BZ CA BS CB@2 CC@2
>`.pickRestart({
  A: "g1@5 g1@2 ~@9", B: "g1@5 ~@11", C: "d2@5 ~@11", D: "d2@5 d2@2 ~@9", E: "e2@5 ~@11", F: "e2@5 e2@2 ~@9",
  G: "g2@5 g2@2 ~@9", H: "g2@5 g2@2 ~@4 a2@2 bb2@2 ~", I: "eb2@5 eb2@2 ~@9", J: "eb2@5 eb2@2 ~@4 f2@2 g2@2 ~",
  K: "d2@5 d2@2 ~@4 f2@2 g2@2 ~", L: "c2@5 c2@2 ~@9", M: "c2@5 c2@2 ~@4 d2@2 eb2@2 ~", N: "gb2@5 gb2@2 ~@9", O: "bb1",
  P: "bb1@5 c2@5 ~ d2@5", Q: "eb2", R: "d2", S: "c2", T: "[f2@26 ~ g1@5]/2", U: "f1", V: "f1@5 gb1@10 ~", W: "g2",
  X: "~@11 g2@5", Y: "~@11 d2@2 g2@2 ~", Z: "gb2", AA: "~@11 gb2@5", AB: "bb2", AC: "f2", AD: "~@11 f2@5", AE: "c3",
  AF: "bb2@5 eb2@5 ~ bb2@5", AG: "e2@5 b2@5 ~ e2@5", AH: "b2@5 e2@5 ~ b2@5", AI: "f2@5 c3@5 ~ f2@5",
  AJ: "f1@8 f1@2 ~ f1@5", AK: "d2@5 f2@5 ~ d2@5", AL: "~ g2@9 g2 ~ g2 ~@2 g2",
  AM: "[g2@6 ~ f2@3 g2@3 g2@8 g2 ~@2 g2 ~ g2@6]/2", AN: "f2@3 g2@3 g2@8 g2 ~", AO: "~@2 g2 g2@6 ~ f2@3 g2@3",
  AP: "g2@6 g2 ~ d3@3 bb2 ~ bb2@3", AQ: "g2 bb2@4 ~ g2@9 ~",
  AR: "[g2!2 ~@2 g2 ~ g2@6 f2@3 g2@3 ~ g2@8 g2 ~@2 g2 g2@6 ~ f2@3 g2@3 g2@8 g2 ~@2 g2 ~ g2@6 f2@3 g2@3 g2@6 ~ g2 d3@3]/5",
  AS: "[bb2 ~ bb2@3 g2 ~ bb2@4 ~ g2@9 g2 ~ g2 ~@2 g2 g2@5]/2", AT: "~@2 f2@3 g2@3 g2@8",
  AU: "g2 ~@2 g2 ~ g2@6 f2@3 g2@2", AV: "[~@2 g2@7 g2 ~@3 g2 g2@6 ~ f2@3 g2@3 g2@5]/2",
  AW: "~ g2 ~ d3@3 bb2 ~ bb2@3 g2 bb2@4", AX: "~ g2@9 ~ g2!2 ~@2 g2", AY: "~ g2@6 f2@3 ~@6",
  AZ: "~@4 c2 ~ d2 f2 ~ g2 ~@6", BA: "~@4 g2@3 g2@8 g2", BB: "~@2 g2 ~ g2@6 f2@3 g2@3",
  BC: "g2@6 ~ g2 d3@3 ~ bb2 bb2@3", BD: "g2 ~ bb2@4 ~ eb2@3 c2@3 bb1@3", BE: "~@10 c2@3 bb1@3",
  BF: "g2@3 g2@8 g2 ~@2 g2 ~", BG: "[g2@6 f2@3 g2@3 ~ g2@7 g2 ~@3 g2 g2@6 ~]/2", BH: "f2@3 g2@3 g2@6 g2 ~ d3@2",
  BI: "[~ bb2 ~ bb2@3 g2 bb2@4 ~ g2@9 ~ g2!2 ~@2 g2 ~ g2@6 f2@3 ~ g2@3 g2@7]/3",
  BJ: "[~ g2 ~@2 g2 g2@6 ~ f2@3 g2@3 g2@8 g2 ~@2 g2 ~ g2@6 f2@3 g2@3 g2@5]/3", BK: "~@2 g2 d3@3 ~ bb2 bb2@3 g2 ~ bb2@3",
  BL: "~@2 g2@9 g2 ~ g2 ~@2", BM: "[g2 ~ g2@6 f2@3 g2@3 g2@8 g2 ~@2 g2 ~ g2@5]/2", BN: "~ f2@3 g2@3 ~ g2@8",
  BO: "g2 ~@2 g2 g2@6 ~ f2@3 g2@2", BP: "~ g2@6 g2 ~ d3@3 bb2 ~ bb2@2", BQ: "~ g2 bb2@4 ~ g2@9",
  BR: "~ g2!2 ~@2 g2 ~ g2@6 f2@3", BS: "~ g2@3 g2@8 g2 ~@2 g2", BT: "f2@3 g2@3 g2@6 ~ g2 d3@2",
  BU: "[~@2 bb2 bb2@3 g2 ~ bb2@4 ~ g2@9 g2 ~ g2 ~@2 g2 ~ g2@6 f2@3 g2@3 g2@7]/3",
  BV: "[~ g2 ~@2 g2 ~ g2@6 f2@3 g2@3 ~ g2@8 g2 ~@2 g2 g2@6 ~ f2@3 g2@3 g2@6 g2 ~ d3@3 bb2 ~ bb2@3 g2 bb2@3]/4",
  BW: "~@2 g2@9 ~ g2!2 ~@2", BX: "[g2 ~ g2@6 f2@3 ~ g2@3 g2@8 g2 ~@2 g2 g2@5]/2", BY: "~@2 g2@6 g2 d3@3 ~ bb2 bb2@2",
  BZ: "~ g2 ~ bb2@4 ~ g2@8", CA: "~ g2 ~ g2 ~@2 g2 ~ g2@6 f2@2", CB: "[~ g2@6 f2@3 g2@3 ~ g2@8 g2 ~@2 g2 g2@6]/2",
  CC: "[~ f2@3 g2@3 g2@6 g2 ~ d3@3 bb2 ~ bb2@3 g2 bb2@4 ~@4]/2",
})).s("gm_electric_bass_finger").gain(0.43).pan(0.2)

// other · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  ~@104 A B C D E@2 F@8 G@8 H@8 ~@3 I J@4 A B C D E@2 F@8 G@8 K@4 L@4 M@4 N@4 O@2 P@2 Q R S T B U V S W@2 X Y ~@49 Z AA
  AB AC@5 AD AE AF AG AH AI AJ AK@8 AL AM AN AO AP@7 AQ AR AS AT AU@5 AV@3 AW AA AB AX@3 AY AZ BA BB BC BD@2 BE BF BG BH
  BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV@3 BW BX BY BZ CA CB CC CD CE CF
>`.pickRestart({
  A: "g4@10 ~ f4@2 e4@2 ~", B: "g4", C: "g4 b4", D: "a4", E: "[g4@26 ~ f4@2 e4@2 ~]/2", F: "[eb4@122 ~ f4@2 e4@2 ~]/8",
  G: "[d4@122 ~ e4@2 f4@2 ~]/8", H: "g4/8", I: "~@11 f4@2 e4@2 ~", J: "[d4@58 ~ e4@2 f4@2 ~]/4",
  K: "[g4@58 ~ e4@2 d4@2 ~]/4", L: "[c4@58 ~ d4@2 f4@2 ~]/4", M: "[g4@58 ~ f4@2 e4@2 ~]/4", N: "d4/4",
  O: "[d4@2 ~@3 d4@2 ~ d4@24]/2", P: "[d4@2 ~@3 d4@26 ~]/2", Q: "db4", R: "b3@5 c4@5 ~ db4@5", S: "d4",
  T: "d4@5 e4@5 ~ f4@5", U: "f4", V: "e4", W: "[f4@5 e4@2 ~ d4@2 ~ c4@16 g3@5]/2", X: "f3", Y: "f3@5 gb3@10 ~",
  Z: "eb4@2 f4 f4@2 ~ f4@2 f4@2 ~ f4@2 ~ c5@2, ~@5 c5@2 ~@3 d5@2 ~ f4@2 ~",
  AA: "f4 f4@2 eb4@2 ~ eb4@2 eb4@3 f4@2 ~ c5@2, ~@5 f4@2 ~@6 f4@2 ~",
  AB: "f4 f4@2 ~ f4@2 f4@2 ~ f4@2 ~ eb4@2 f4@2, ~@3 d5@2 ~@3 c5@2 ~ f4@2 ~@3",
  AC: "[eb4 eb4@3 f4@2 f4@2 ~ f4@2 ~ d5@2 f4 f4@2 c5@2 f4 f4@2 ~ f4@2 eb4@2 eb4@3 f4 f4@2 ~ f4@2 f4@2 ~ f4@2 ~ c5@2 f4@2 ~ eb4@2 ~ eb4@2 eb4@3 f4@2 ~ c5@2 f4 f4@2 d5@2 f4 f4@2 ~ f4@2 f4@2 ~ f4@2 eb4 eb4@3, ~@8 c5@2 ~ f4@2 ~@9 eb4@2 ~@9 c5@2 ~@3 d5@2 ~ f4@2 ~@3 f4@2 ~ f4@2 ~@6 f4@2 ~@9 c5@2 ~@3 eb4@2 ~@5]/5",
  AD: "f4@2 f4@2 ~ f4@2 ~ d5@2 f4@2 ~ c5@2 f4, ~@4 c5@2 ~ f4@2 ~@3 f4@2 ~@2",
  AE: "f4@2 eb4@2 ~ eb4@2 eb4@3 f4 f4@2 c5@2 f4, ~@2 f4 ~@5",
  AF: "f4@2 ~ f4@2 f4@2 ~ f4@2 ~ eb4@2 ~ eb4@2, ~@2 d5@2 ~@3 c5@2 ~ f4@2 ~ f4@2 ~",
  AG: "eb4@3 f4@2 ~ c5@2 f4@2 ~ d5@2 f4 f4@2, ~@5 f4@2 ~@3 f4@2 ~@4",
  AH: "c5@2 f4 f4@2 ~ f4@2 eb4 eb4@3 ~ f4 f4@2, ~@5 eb4@2 ~@9",
  AI: "~ f4@2 f4@2 ~ f4@2 ~ c5@2 f4 f4@2 eb4@2, c5@2 ~@3 d5@2 ~ f4@2 ~@6",
  AJ: "~ eb4@2 eb4@3 f4@2 ~ c5@2 f4 f4@2 d5@2, f4 ~@3 f4 ~@3",
  AK: "[f4 f4@2 ~ f4@2 ~ eb4@2 f4@2 eb4 eb4@3 f4@2 f4@2 ~ f4@2 ~ d5@2 f4 f4@2 c5@2 f4 f4@2 ~ f4@2 eb4@2 eb4@3 f4 f4@2 c5@2 f4 f4@2 ~ f4@2 ~ c5@2 f4@2 ~ eb4@2 ~ eb4@2 eb4@3 f4@2 ~ c5@2 f4 f4@2 d5@2 f4 f4@2 ~ f4@2 f4@2 ~ f4@2 eb4 eb4@3 ~ f4 f4@2 ~ f4@2 ~ d5@2 f4@2 ~ c5@2 f4 f4@2 eb4@2 ~ eb4@2 eb4@3 f4 f4@2 c5@2 f4 f4@2 ~ f4@2, ~@3 c5@2 ~ f4@2 ~@11 c5@2 ~ f4@2 ~@9 eb4@2 ~@14 d5@2 ~ f4@2 ~@3 f4@2 ~ f4@2 ~@6 f4@2 ~@9 c5@2 ~@3 eb4@2 ~@9 c5@2 ~ f4@2 ~@3 f4@2 ~@6 f4@2 ~@12 d5@2 ~]/8",
  AL: "f4@2 ~ f4@2 ~ eb4@2 f4@2 eb4 eb4@3 f4@2, ~@2 c5@2 ~ f4@2 ~@9",
  AM: "~ c5@2 f4@2 ~ d5@2 f4 f4@2 c5@2 f4 f4@2, f4@2 ~@3 f4@2 ~@9",
  AN: "~ f4@2 eb4 eb4@3 ~ f4 f4@2 ~ f4@2 f4@2, eb4@2 ~@9 c5@2 ~@3",
  AO: "~ f4@2 ~ c5@2 f4@2 ~ eb4@2 ~ eb4@2 eb4@2, d5@2 ~ f4@2 ~@3 f4@2 ~ f4@2 ~@3",
  AP: "[~ f4@2 ~ c5@2 f4 f4@2 d5@2 f4 f4@2 ~ f4@2 ~ eb4@2 f4@2 eb4 eb4@3 f4@2 f4@2 ~ f4@2 ~ d5@2 f4@2 ~ c5@2 f4 f4@2 ~ f4@2 eb4@2 eb4@3 f4 f4@2 c5@2 f4 f4@2 ~ f4@2 ~ c5@2 f4@2 ~ eb4@2 ~ eb4@2 eb4@3 f4@2 ~ c5@2 f4@2 ~ d5@2 f4 f4@2 ~ f4@2 f4@2 ~ f4@2 eb4 eb4@3 ~ f4 f4@2 ~ f4@2 ~ d5@2, ~@3 f4@2 ~@9 c5@2 ~ f4@2 ~@11 c5@2 ~ f4@2 ~@3 f4@2 ~@4 eb4@2 ~@14 d5@2 ~ f4@2 ~@3 f4@2 ~ f4@2 ~@6 f4@2 ~@3 f4@2 ~@4 c5@2 ~@3 eb4@2 ~@9 c5@2 ~ f4@2 ~]/7",
  AQ: "f4@2 ~ c5@2 f4 f4@2 eb4@2 ~ eb4@2 eb4@3, ~ f4 ~@3 f4 ~@2",
  AR: "f4@2 ~ c5@2 f4 f4@2 ~ f4@2 f4@2 ~ f4@2, ~@2 f4@2 ~@4 d5@2 ~@3 c5@2 ~",
// … 388 more lines

More by Pink Floyd