Strudelify

Blue Lamp

Stevie Nicks

KeyB♭ minorTempo127 bpm
0:00/0:00
// Blue Lamp — Stevie Nicks
// 127 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 121 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(127/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 · electric guitar jazz
const electric_guitar_jazz = note(`<
  A@3 B A@3 B A@3 B A@3 B C D E@3 F G@2 H I J K L@2 M N O A@3 B C D P@3 Q R S T U V W X@2 Y Z AA AB AC AD AE AF AG AH AI
  AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW@2 AX AY AZ BA BB BC BD BE@2 BF BG BH BI@2 BJ BK BL BM BN@2 BO@2 V BP BQ BR
  BS BT BU BV BW BX@2 BY BZ CA@4 CB@2 CC CD ~
>`.pickRestart({
  A: "[bb4@2 ~@2 [bb4,f5]@4 [ab4,c5,eb5]@2 ~@2 [ab4,c5]@3 ~ [bb4,g5]@2 ~@2 [bb4,eb5,g5]@3 ~ [ab4,db5,f5]@3 ~ [db5,f5]@6 ab4@2 db5@2 ab4@2 [c5,eb5]@2 ab4 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@2, ~@4 db5@2 ~@6 eb5@7 ~@9 ab4@3 ~@5 f5@4 ~@8, ~@36 ab4 ~@11]/3", // Bb5 Ab Eb Db Cm Ab
  B: "~@2 [bb4,db5,f5] ~ [bb4,db5,f5] ~ [ab4,eb5] ~ [bb4,db5,f5]@3 ~ [bb4,db5,f5]@4", // Bbm Ab5 Bbm
  C: "~@2 [c5,db5,f5] ~ [db5,f5]@6 c5@2 f5@4, ~@2 c5@2 ~@2 db5 ~", // Dbmaj7 Db
  D: "[ab4,c5,eb5]@2 ~@2 [ab4,c5,eb5]@5 ~ [ab4,eb5]@3 ~ [ab4,eb5]@2, ~@5 c5@2 ~", // Ab Ab5
  E: "[[bb4,eb5,g5]@2 ~@2 [bb4,g5]@4 [bb4,f5] ~ g5@4 bb4 ~ [ab4,db5]@4 [db5,f5]@4 [ab4,eb5]@2 ab4@2 ~@2 ab4 ~ c5@2 ~@2 [c5,db5]@4 [bb4,db5]@4 [bb4,f5]@4, ~@4 eb5@11 f5@4 ~@7 [db5,f5]@8 ~@2 f5@8 db5@2 ~@2, ~@10 bb4@2 ~@8 ab4@3 ~@25]/3", // Eb Bb5 Db5 Db Ab5 Dbmaj7 Bbm Bb5 …
  F: "[ab4,c5,eb5] ~@3 [ab4,c5,eb5]@6 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@2", // Ab
  G: "[[ab4,db5,f5]@3 ~ [bb4,eb5,g5]@3 ~ bb4@10 bb4@9 ~ [bb4,eb5]@3 ~, ~ g5@3, ~@8 eb5@19 ~@5]/2", // Db Eb Eb5
  H: "db5@2 ab4@2 [c5,eb5]@2 ab4 ~ db5@2 bb4@2 [c5,eb5]@2 bb4@2, f5 ~ f5 ~", // Cm
  I: "~@2 gb4 ~ [gb4,bb4,db5]@3 ~ [ab4,c5,eb5]@2 ~@2 [c5,eb5]@2 ~@2, ~@3 ab4", // Gb Ab Cm
  J: "db5@2 ab4 ~ [c5,eb5]@2 ab4 ~ [db5,f5]@2 bb4 ~ [c5,eb5] ~ [c5,eb5]@2, f5@4 ~@4 bb4 ~@7", // Cm Db Cm
  K: "~@2 gb4 ~ [gb4,bb4] ~ [gb4,bb4]@2 [ab4,c5,eb5]@2 ~@2 [ab4,c5,eb5]@4, ~@2 db5 ~@5", // Gb Ab
  L: "[~@4 [c5,db5,f5]@8 [c5,db5]@3 ~@2 bb4@7 [ab4,eb5]@8, ~@12 f5@13 ~@7, ~@16 db5@5 ~@3 c5@4 ~@4]/2", // Dbmaj7 Ab5
  M: "db5 ab4 [c5,eb5] ab4 db5 bb4 [c5,eb5] bb4, f5 ~ f5 ~", // Cm
  N: "~@2 gb4 ~ [gb4,bb4,db5]@3 ~ [ab4,c5,eb5]@2 ~@2 [ab4,c5,eb5]@4", O: "~@3 [db5,f5]@5, ~@4 c5@11 ~",
  P: "[[bb4,eb5,g5]@2 ~@2 [bb4,g5]@4 [bb4,f5] ~ g5@4 bb4 ~ [ab4,db5]@4 [ab4,db5,f5]@4 [ab4,eb5]@2 ab4@2 ~@2 ab4 ~ c5@2 ~@2 [c5,db5]@4 [bb4,db5]@4 [bb4,f5]@4, ~@4 eb5@11 f5@4 ~@17 f5@8 ~@4, ~@5 bb4 ~@7 [db5,f5]@4 ~@5 db5 ~]/3", // Eb Bb5 Db5 Db Ab5 Dbmaj7 Bbm Bb5 …
  Q: "[ab4,c5,eb5] ~@3 [ab4,c5,eb5]@5 ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@2", // Ab
  R: "~@2 bb4@2 [eb5,g5]@2 bb4@2 [bb4,f5] ~ [bb4,g5]@3 ~ [bb4,g5]@2, ~ eb5", // Eb Bb5 Eb
  S: "[ab4,db5,f5]@5 ~ [ab4,db5,f5]@4 ab4@2 [db5,f5]@2 ab4 ~", // Db
  T: "db5@2 ab4@2 [c5,eb5]@2 ab4 ~ [db5,f5]@2 bb4@2 ~@2 bb4@2, f5 ~@3, ab4 ~@11 [c5,eb5]@4", // Cm Db Cm
  U: "~@2 gb4 ~ [gb4,bb4,db5]@3 ~ [ab4,c5,eb5]@3 ~ ab4@4, ~@6 eb5 ~, ~@12 c5 ~@3", // Gb Ab
  V: "db5 ab4 [c5,eb5] ab4 db5 bb4 ~ bb4, f5 ~ f5 [c5,eb5]", // Cm
  W: "~@2 gb4@2 [gb4,db5]@3 ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@4, ~ bb4 ~@2", // Gb5 Ab
  X: "[~@2 ab4 ~ [bb4,db5,f5]@6 ~ f5@5 gb5@8 [c5,eb5]@8, ~@11 [bb4,db5]@14 ~@7]/2", // Bbm Cm Bbm
  Y: "db5@2 ab4@2 [c5,eb5]@2 ab4 ~ db5@2 bb4@2 ~@2 bb4@2, f5 ~ f5 [c5,eb5]", // Cm
  Z: "~@2 gb4 ~ [gb4,bb4]@4 [ab4,c5,eb5]@2 ~@2 [ab4,c5,eb5]@3 ~, ~@2 db5 ~@5", // Gb Ab
  AA: "[ab4,c5,eb5] ~ [bb4,c5,db5,f5]@2 ~@2 [bb4,db5,f5]@3 ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~", // Ab Bbm
  AB: "[ab4,f5]@6 [ab4,c5,eb5]@3 ~ ab4 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~, db5 ~@3", // Db Ab
  AC: "[bb4,db5,f5] ~ [bb4,f5]@4 [c5,eb5]@4 ab4 ~ [ab4,c5,eb5]@3 ~, ~ db5 ~ ab4 ~@4", // Bbm Bb5 Cm Ab
  AD: "[gb4,bb4,db5]@3 ~ [bb4,db5]@4 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~, ~@2 gb4 ~@5", // Gb Bbm Ab
  AE: "[ab4,c5,eb5] ~ [bb4,db5,f5]@3 ~ [bb4,db5,f5]@3 ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~", // Ab Bbm
  AF: "[ab4,db5,f5]@2 ab4 ~ [ab4,db5,f5] ~ [ab4,c5,eb5]@4 ab4 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@2", // Db Ab
  AG: "~@2 [bb4,db5,f5] ~ [bb4,f5]@4 [ab4,c5,eb5]@2 ~@2 [ab4,c5,eb5]@3 ~, ~@2 db5 ~@5", // Bbm Bb5 Ab
  AH: "[gb4,bb4]@2 ~@2 [gb4,bb4]@4 [ab4,c5,eb5]@2 ab4@2 [ab4,c5,eb5] ~ [ab4,c5,eb5]@2, ~@2 db5 ~@5", // Gb Ab
  AI: "~@2 [c5,db5,f5]@3 ~ [db5,f5]@4 bb4@2 [db5,f5]@2 bb4 ~, ~@6 bb4@3 ~@7", // Dbmaj7 Db
  AJ: "[ab4,db5,f5]@2 ab4 [db5,f5]@2 ~ [ab4,c5,eb5]@4 ab4 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~", // Db Ab
  AK: "[bb4,db5,f5] ~ [bb4,f5]@4 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@5 ~, ~ db5 ~@6", // Bbm Bb5 Ab
  AL: "[db5,gb5]@3 ~ [db5,gb5]@4 [c5,eb5]@3 ~ [c5,eb5]@4", // Gb5 Cm
  AM: "[c5,eb5]@2 [c5,db5,f5]@4 [c5,db5,f5]@4 c5@2 [db5,f5]@2 c5 ~", // Cm Dbmaj7 Db
  AN: "[db5,f5]@2 ab4 db5@2 ~@2 ab4 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~, ~@3 f5@6 ~@7", // Db Ab
  AO: "[bb4,db5,f5]@3 ~ [bb4,db5,f5] ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@2 ~@2", // Bbm Ab
  AP: "[gb4,bb4,db5]@3 ~ [bb4,db5]@4 [ab4,c5,eb5] ~ [c5,eb5]@4 ab4 ~, ~@4 gb4@2 ~@4 ab4@3 ~@3", // Gb Bbm Ab Cm
  AQ: "db5@2 [ab4,db5] ~ [c5,eb5]@2 ab4 ~ db5@2 bb4 ~ [c5,eb5]@2 ab4@2, f5@3 ~ f5@2 ~@2, ab4 ~@3 ab4 ~@3 bb4 ~@7", // Db5 Cm
  AR: "~@2 gb4@2 [gb4,db5]@2 ~@2 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@4, ~ bb4 ~@2", // Gb5 Ab
  AS: "~@2 [bb4,db5,f5]@3 ~ [bb4,db5,f5]@4 bb4@2 [db5,f5]@2 bb4 ~", // Bbm Db
  AT: "[bb4,db5]@3 ~ db5@4 [c5,eb5]@4 [c5,eb5]@4, ~@4 bb4@3 ~@9", // Bbm Cm
  AU: "[db5,f5] ab4 [c5,eb5] ab4 db5 bb4 [c5,eb5] bb4, ~@2 f5 ~", // Db Cm
  AV: "~@2 g4 ~ [gb4,bb4,db5]@3 ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@4", AW: "[~ [bb4,db5,f5]@15]/2",
  AX: "[bb4,db5,f5]@3 ~ [bb4,f5]@4 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~, ~@2 db5 ~@5", // Bbm Bb5 Ab
  AY: "[bb4,eb5,g5]@3 ~ [bb4,eb5,g5]@4 [ab4,db5,f5]@2 ~@2 [ab4,db5,f5]@4", // Eb Db
  AZ: "~@2 [ab4,db5,f5]@2 ~@2 [ab4,db5,f5] ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~", // Db Ab
  BA: "[ab4,c5,eb5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [ab4,db5,eb5] ~ [bb4,db5,f5]@7 ~", // Ab Bbm Absus4 Bbm
  BB: "[bb4,db5,f5]@3 ~ [bb4,db5,f5]@6 [bb4,db5,f5]@3 ~ [bb4,db5,f5] ~", // Bbm
  BC: "[ab4,c5,eb5]@2 ~@2 [ab4,c5,eb5]@5 ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5] ~", // Ab
  BD: "[bb4,eb5,g5] ~ bb4 ~ [bb4,eb5,g5]@2 bb4 ~ f5@2 g5@4 bb4 ~, ~ eb5, ~@8 bb4 ~ bb4@3 ~@3", // Eb
  BE: "[[ab4,db5,f5]@3 ~ [ab4,db5,f5]@4 ab4 ~ ab4@3 ~ [ab4,eb5]@2 ~@2 [bb4,db5] ~ db5@4 [c5,db5]@3 ~ [bb4,db5,f5]@3 ~, ~@4 eb5@2 ~@4 bb4 ~@5, ~@10 f5@9 ~ f5@7 ~@5]/2", // Db Ab5 Bbm Dbmaj7 Bbm
  BF: "[ab4,c5,eb5]@3 ~@3 [ab4,c5,eb5]@4 ab4 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5]@2", // Ab
  BG: "~@2 [bb4,eb5,g5] ~ [bb4,g5]@4 [bb4,f5] ~ [bb4,eb5,g5]@6, ~@2 eb5@3 ~@3", // Eb Bb5 Eb
  BH: "[ab4,db5,f5]@3 [db5,f5]@2 ab4 eb5 [ab4,f5], ~@6 ab4@3 ~@3 db5@4", // Db
  BI: "[db5@2 ab4@2 [c5,eb5]@2 ab4@2 db5@2 bb4@2 [c5,eb5]@2 bb4@6 [db5,gb5]@4 [c5,eb5]@3 ~ [c5,eb5]@4, f5 ~ f5 ~@5]/2", // Cm Gb5 Cm
  BJ: "db5@2 ab4@2 [c5,eb5]@2 ab4 ~ [db5,f5]@2 bb4@2 ~@2 bb4@2, f5 ~@2 [c5,eb5]", // Cm Db Cm
  BK: "~@2 gb4 ~ [gb4,bb4,db5]@3 ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@4", // Gb Ab
  BL: "~@2 [c5,db5,f5]@2 ~@2 [db5,f5]@4 bb4@2 ~@2 bb4 ~, ~@6 bb4@3 ~@3 [db5,f5]@4", // Dbmaj7 Db
  BM: "[bb4,db5]@3 ~ db5@5 [c5,eb5]@3 [c5,eb5]@4, ~@4 bb4@3 ~@9", // Bbm Cm
  BN: "[[db5,f5]@2 ab4@2 [c5,eb5]@2 ab4@2 db5@2 bb4@2 ~@2 bb4@2 ~@4 [bb4,db5]@4 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~, ~@8 f5@4 eb5@7 ~@13, ~@12 c5@5 ~ gb4@5 ~@9]/2", // Db Cm Bbm Ab
  BO: "[[ab4,c5,eb5] ~ [bb4,db5,f5]@3 ~ f5@12 [gb4,bb4,db5]@3 ~ [gb4,bb4,db5] ~ [ab4,c5,eb5]@3 ~ [ab4,eb5]@4, ~@3 bb4@5 ~@8, ~@6 db5@7 ~@15 c5@2 ~@2]/2", // Ab Bbm Gb Ab Ab5
  BP: "~@2 gb4@2 [gb4,bb4,db5]@3 ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~", // Gb Ab
  BQ: "[ab4,c5,eb5] ~ [bb4,db5,f5]@3 ~ [db5,f5]@4 bb4@2 db5@2 bb4@2, ~@6 bb4@3 ~@3 f5@4", // Ab Bbm Db
  BR: "~@2 [gb4,bb4,db5]@3 ~@2 [gb4,db5]@2 [ab4,c5,eb5]@3 [ab4,c5,eb5]@4, ~@3 bb4 ~@4", // Gb Gb5 Ab
  BS: "~@2 [bb4,db5,gb5]@2 ~@2 [bb4,db5,f5]@4 [db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~", // Gb Bbm Db Bbm
  BT: "[gb4,bb4,db5]@3 ~ [gb4,db5]@2 ~@2 [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@3 ~, ~ bb4 ~@2", // Gb Gb5 Ab
  BU: "[ab4,c5,eb5] ~ [bb4,db5,f5]@3 ~ [bb4,db5,f5]@6 ~ [db5,f5]@3, ~@2 gb5 ~@9 bb4@3 ~", // Ab Bbm Db
  BV: "~@2 gb4@2 [gb4,db5]@3 ~ [ab4,c5,eb5]@3 ~ [ab4,c5,eb5]@2 ~@2, ~ bb4 ~@2", // Gb5 Ab
  BW: "[ab4,c5,eb5] ~ [bb4,db5,f5]@3 ~ [bb4,db5,f5]@4 bb4@2 f5@2 [bb4,db5]@2, ~@12 db5 ~@3", // Ab Bbm
  BX: "[[bb4,db5,gb5]@3 ~ [db5,gb5]@4 [c5,eb5]@4 [c5,eb5,ab5]@2 ~@2 c5@2 [c5,db5]@4 [c5,db5]@4 c5@2 ~@2 c5 ~, ~@2 bb4 ~ ab5 ~@11, ~@8 d5 ~@6 [eb5,ab5]@3 f5@9 ~ [db5,f5]@4]/2", // Gb Gb5 Cm Ab Dbmaj7 Ab5 Db
  BY: "[bb4,db5]@3 ~ db5@4 [c5,eb5]@4 [c5,eb5] ~ [c5,eb5] ~, ~@2 bb4 ~@5", // Bbm Cm
  BZ: "[c5,eb5]@2 [db5,f5]@3 ~ [bb4,db5,f5]@4 bb4@2 [db5,f5]@2 bb4 ~", // Cm Db Bbm Db
  CA: "[[gb4,bb4,db5]@7 ~ [ab4,c5,eb5]@5 ~ [c5,db5]@8 ~@2 bb4@3 ~ bb4 ~ bb4@2 ~@2 [gb4,e5]@2 [bb4,db5]@4 eb5@4 c5@6 ~@2 [db5,f5]@3 ~ [bb4,db5,f5]@3 ~ [db5,f5]@4, ~@7 f5@11 ~@14, ~@23 db5@8 ~@9 ab4@8 ~@2 bb4@4 ~@6 bb4@2 ~@2]/4", // Gb Ab Dbmaj7 Gb7 Bbm Db Bbm Db
  CB: "[bb4@3 ~ db5@4 [c5,eb5]@3 ~ c5@3 ~ c5@2 [db5,f5]@3 ~ [c5,db5,f5]@4 c5@2 [db5,f5]@2 c5 ~, gb5@9 ~@3 eb5@7 ~@13, ~@2 bb4 ~@13]/2", // Cm Db Dbmaj7 Db
  CC: "[gb4,bb4,db5]@3 ~ [gb4,bb4,db5]@3 ~ [ab4,c5,eb5]@4 [ab4,c5,eb5]@3 ~", // Gb Ab
  CD: "[ab4,c5,eb5] ~ [bb4,db5,f5]@3 ~ [db5,f5]@4 bb4 ~@5, ~@3 bb4 ~@4", // Ab Bbm Db
})).s("gm_electric_guitar_jazz").gain(0.36)

// other · pad sweep
const pad_sweep = note(`<
  ~@16 A B C D A E F@2 G H I@3 J@4 ~@4 A K L M@2 N@2 O P@2 Q@3 R@2 S@2 T U V W X Y Z AA AB AC AD@2 AE AF AG AH AI AJ AK
  AL@2 AM@2 ~@4 AN AO AP AQ AR AS AT AU AV@2 AW@2 AX@2 AY@2 AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO@2 BP BQ BR@2
  ~@3
>`.pickRestart({
  A: "~@8 bb3@2 db4 ~ eb4@3 ~", B: "eb4 ~ eb4@6 db4@2 eb4@2 db4@3 ~", C: "eb4 eb4@3 db4 ~ eb4 db4 bb3@8",
  D: "ab3@2 bb3 ~ ab3@2 bb3@9 ~", E: "f4@4 eb4 ~ db4@5 ~ bb3 ~ bb3@2", F: "[f4@3 ~ f4@4 eb4@18 ~@2 f4@2 ~@2]/2",
  G: "f4@4 eb4@2 db4@2 eb4@2 db4@2 bb3 ~ ab3 ~", H: "bb3@9 ~ bb3!3 ~ bb3 ~", I: "[bb3@33 ~@13 f4 ~]/3",
  J: "[f4@2 eb4@18 ab4@2 f4@2 eb4@6 db4@4 bb3 ~ bb3@20 ~@8]/4", K: "f4@2 eb4@4 db4@4 bb3@3 ~ bb3 ~",
  L: "eb4@3 ~ db4@9 ~ eb4 ~", M: "[eb4@2 db4 ~ db4@6 eb4@10 bb3 ~ bb3!2 ~ bb3@5 eb4@2]/2",
  N: "[~@2 eb4@4 db4@2 eb4 ~ db4 ~ bb3@17 ~ eb4 ~]/2", O: "eb4 ~ f4 ~ eb4 ~ f4@10",
  P: "[~@2 f4 ~ f4@3 ~ f4 ~ f4@2 eb4@2 db4@14 ~@2 bb4@2]/2",
  Q: "[~@2 bb4@2 ab4@10 f4@4 eb4 ~@2 eb4@15 bb4@3 ~ bb4@2 ab4@2 f4@4]/3", R: "[ab4@24 ~@2 eb4 ~ eb4 ~ eb4@2]/2",
  S: "[f4@3 ~ f4@4 eb4@2 f4@2 eb4@2 db4@4 bb3@12 ~@2]/2", T: "f4@6 eb4@7 ~ eb4@2", U: "db4 ~ db4@3 ~ c4@3 ~ c4 ~ c4@4",
  V: "eb4@2 db4 ~ bb3@5 ~ bb3!3 ~ bb3 ~", W: "bb3@6 ~ bb3", X: "f4@2 ~@2 f4 ~ eb4@3 ~ eb4 ~ eb4 ~ eb4 ~",
  Y: "db4@3 ~ db4 ~ c4@3 ~ c4@2 eb4@3 ~", Z: "eb4@2 db4 ~ bb3@6 bb3!2 ~@4", AA: "ab3 ~ ab3 ~ ab3@2 bb3@5 ~ bb3 ~ bb3 ~",
  AB: "bb4@3 ~ bb4 ~ bb4@5 ~ bb4 ~ bb4 ~", AC: "ab4@2 ab4@4 f4@4 eb4@2 f4@3 ~",
  AD: "[eb4 ~ db4 ~ bb3@16 ~@2 bb3 ~ bb3@3 ~ bb3@3 ~]/2", AE: "bb4@3 ~ bb4@3 ~ ab4@3 ~ ab4 ~ ab4@2",
  AF: "f4 ~@3 f4@2 eb4@3 ~ eb4 ~ eb4@4", AG: "~@4 bb3 ~ bb3 ~ bb3@2 ab3 ~ ab3 ~ bb3@2",
  AH: "~@2 bb3!3 ~ bb3 ~ bb3@3 ~ bb3 ~ bb3@2", AI: "~@2 bb3 ~ bb3 ~ bb3@4 ab3 ~ ab3@2 bb3@2",
  AJ: "~@2 bb3 ~ bb3@2 bb3@2 ~@2 bb3!2 ~@2 bb3@2", AK: "~@2 bb3 ~ bb3@2 bb3@4 ab3 ~ ab3@2 bb3@2",
  AL: "[~@2 bb3 ~ bb3 ~ bb3@3 ~ bb3 bb3@2 ~ bb3@4 bb3 ~ bb3 ~ ab3@3 ~ ab3 ~ ab3@4]/2", AM: "[f4@2 eb4@21 ~@9]/2",
  AN: "~@4 bb3 db4 eb4 f4", AO: "eb4@8 db4@2 bb3@3 ~ db4@2", AP: "~@2 bb3@13 ~",
  AQ: "~@2 bb3!2 [ab3,bb3] ~ bb3 ~ bb3@4 bb3 ~ db4@2", AR: "~@2 bb3@7 ~ bb3@2 ab3 ~ bb3 ~", AS: "~@2 bb3@10 ~@2 bb3 ~",
  AT: "bb3 eb4 ~ eb4@2 ~ eb4 ~ f4@8", AU: "ab4@3 ~",
  AV: "[~@2 ab4!2 ~@2 ab4 ~ ab4@2 f4 ~ bb4 ~ ab4@9 ~ ab4 ~ ab4@3 ~ bb4@2]/2",
  AW: "[~@2 bb4@2 ab4@3 ~ f4@4 eb4 ~ db4@10 ~@2 db4!2 ~@2 db4 ~]/2", AX: "[bb4@3 ~ bb4@2 ab4@22 db4 ~ db4 ~]/2",
  AY: "[eb4@4 f4@4 eb4@2 f4@2 eb4 ~ db4@4 bb3@14]/2", AZ: "eb4@6 bb3@7 ~ bb3!2", BA: "bb3 ~ bb3 ~ bb3@10 ~@2",
  BB: "eb4 ~ bb3 ~ bb3@9 ~ bb3 ~", BC: "bb3 ~ bb3 ~ bb3@8 bb3 ~ bb3 ~", BD: "eb4 ~ ab3 ~ bb3@12", BE: "eb4 ~ bb3@14",
  BF: "eb4@3 bb3@5", BG: "eb4@2 bb3@8 ~@2 bb3 bb3@2 bb3", BH: "bb3 ~ bb3 ~ bb3@3 ~ bb3@3 ~ bb3@2 f4 ~",
  BI: "f4@3 ~ f4@3 ~ eb4@4 db4 ~ eb4@2", BJ: "~@2 eb4 ~ eb4 ~ f4@2 eb4@2 db4 ~ db4 ~ db4 ~",
  BK: "db4@3 ~ db4 ~ db4@2 eb4 ~ eb4@2 c4@4, ~@12 db4 ~@3", BL: "~@2 eb4@2 c4@2 bb3@5 ~ bb3 ~ bb3@2",
  BM: "f4@3 ~ f4@4 eb4@4 db4@2 eb4@2", BN: "~@2 f4 ~ f4@2 eb4@4 db4 ~ bb3 ~ bb3 ~",
  BO: "[bb3@3 ~ bb3 ~ eb4@4 c4@4 bb3@12 db4@4 eb4@2]/2", BP: "f4@5 ~ f4@2 eb4@4 ~@2 eb4@2",
  BQ: "db4 ~ db4@4 ~ c4@5 db4@4", BR: "[c4 ~ bb3@20 ~@10]/2",
})).s("gm_pad_sweep").gain(0.51)

// other · trombone
const trombone = note(`<
  A B C D A B C D A B C D E B C D F G H I J G H K L M N O F O N O F A B C D F G H I J G P I N O N O F O N O F Q E O F Q
  A O R Q S O F Q A O T O F O F O F ~ U B C D R G H V F G H I N O N O F O W O F O W O R O F O F X F O Y O Z X Z O F O R
  O AA ~
>`.pickRestart({
  A: "bb2 ~@5 f3@2 eb2 ~@5 ab2 ~", B: "~ eb3 ~ bb3 ab2@2 b2 ab2", C: "db3 ~@5 ab3@2 eb2 ~@5 ab2 ~",
  D: "~ ab2 ~ f3 eb2@2 ab2 f2", E: "bb2 ~@5 f3@2 eb2 ~@5 ab2@2", F: "bb2 ~@5 f3@2 f2 ~@5 bb2 ~",
  G: "~ ab2 ~ eb3 eb2@2 gb2 eb2", H: "eb3 ~@5 bb3@2 bb2 ~@5 eb3 ~", I: "~ db3 ~ ab3 ab2@2 b2 ab2",
  J: "ab2 ~@5 eb3@2 eb2 ~@5 ab2 ~", K: "~ eb3 ~ bb3 bb2@2 db3 bb2", L: "db3 ~@5 g3@2 g2 ~@5 ab2@2",
  M: "~ gb3 ~ eb3 eb2@2 gb2 eb2", N: "db3 ~@5 g3@2 f2 ~@5 ab2 ~", O: "~ gb3 ~ db4 eb2@2 gb2 eb2",
  P: "ab2 ~@5 bb3@2 bb2 ~@5 eb3 ~", Q: "~ db3 ~ ab3 g2@2 bb2 g2", R: "bb2 ~@5 f3@2 f2 ~@5 bb2@2",
  S: "bb2 ~@5 f3@2 f2 ~@5 ab2 ~", T: "db3 ~@5 g3@2 g2 ~@5 ab2 ~", U: "~@6 f3@2 eb2 ~@5 ab2@2",
  V: "~ db3 ~ ab3 ab2 ~ b2 ab2", W: "db3 ~@5 g3@2 f2 ~@5 ab2@2", X: "~ gb3 ~ db4 db3@2 gb2 eb2",
  Y: "ab2 ~@5 f3@2 f2 ~@5 bb2@2", Z: "ab2 ~@5 f3@2 f2 ~@5 bb2 ~", AA: "bb2 ~@5 f3@2 f2 ~@7",
})).s("gm_trombone").gain(0.51)

// other · woodblock
const woodblock = note(`<
  ~@11 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK Y AL AM AN AO AP AQ AR AS AT
  AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF CG
  CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY CZ DA DB DC DD ~
>`.pickRestart({
  A: "gb3 ~ gb3 ~ gb3 ~ gb3 ~ gb3 ~ [gb3,eb4]!3 eb4 [gb3,eb4] eb4", B: "e4 ~@2 eb4 gb3 ~@2 eb4 ~@4 [gb3,d4] ~ d4 ~",
  C: "eb4 ~ d4!2 gb3 d4!2 ~ eb4 ~ d4 ~ [gb3,d4] ~ d4 ~", D: "d4 ~ d4 [d4,eb4] gb3 ~ d4 ~ d4 ~ d4 eb4 gb3 ~ d4 ~",
  E: "d4 ~ d4 ~ gb3 ~ d4 ~ d4 ~ e4!2 [gb3,eb4] ~ eb4 d4", F: "~@2 d4 ~ [gb3,eb4] ~ eb4 ~ d4 ~ eb4!2 [gb3,d4] ~ eb4 e4",
  G: "d4 ~ e4 ~ [gb3,e4] ~ eb4 ~ eb4 ~ d4 ~ [gb3,e4] ~ e4 ~", // Gb7
  H: "d4 ~ d4 [d4,eb4] gb3 ~ eb4 ~ d4 ~ d4 ~ [gb3,eb4] ~ eb4 ~", // Ebmaj7 Ebm
  I: "~ [c4,d4] ~@2 [gb3,eb4] ~ d4 ~ d4 ~ e4!2 [gb3,eb4] ~ eb4 d4", J: "d4 ~@3 [gb3,d4] ~@4 d4!2 ~ [gb3,d4] ~ d4 ~",
  K: "d4 ~ d4 eb4 [gb3,eb4] ~ d4 ~ d4 ~ d4 ~ [gb3,eb4] ~@3", // Ebm
  L: "d4 ~@3 [gb3,eb4] ~ d4 ~ d4 ~@3 eb4@2 d4 ~, ~@12 gb3 ~@3", M: "d4 ~@3 gb3 eb4 d4 ~ d4 ~ eb4 ~ [gb3,eb4] ~ eb4 ~",
  N: "e4 ~ e4!2 [gb3,e4] eb4 ~ eb4!2 [d4,eb4] ~ eb4 [gb3,d4] d4!3", O: "~@4 [gb3,d4] ~ d4 ~ eb4 ~ eb4 ~ gb3 ~ d4 ~",
  P: "d4 ~ d4!2 [gb3,eb4] ~@2 eb4 ~ d4 ~@2 gb3 eb4!2 ~", Q: "~ e4!3 [gb3,e4] e4 eb4 e4 ~@2 eb4 ~ [gb3,eb4] eb4 ~ eb4",
  R: "eb4 d4 ~@2 [gb3,eb4] ~ eb4 ~ d4 ~ d4 ~ [gb3,eb4] ~ eb4 ~", // Ebm
  S: "d4 ~@3 [gb3,e4] e4 ~ e4 e4@2 e4 eb4 [gb3,eb4] ~@2 eb4", // Gb7 Ebm
  T: "~ d4 ~@2 [gb3,eb4] ~ eb4 ~ d4 ~ eb4 ~ [gb3,eb4] ~ d4 ~", U: "d4 ~@3 [gb3,e4] ~ e4!4 eb4 ~ [gb3,eb4] eb4!3",
  V: "d4 ~@3 [gb3,eb4] ~ eb4 ~ d4 ~ eb4 ~ [gb3,eb4] ~ eb4 ~", W: "d4 ~@3 [gb3,e4] ~ e4 ~ d4 ~ eb4 ~ [gb3,eb4] ~ d4 ~",
  X: "d4 ~ d4 ~ [gb3,d4] ~ eb4 ~ eb4 ~ d4 ~ [gb3,eb4] ~ eb4 ~", // D Ebm
  Y: "d4 ~@3 [gb3,eb4] ~ d4 ~ d4 ~ eb4 ~ [gb3,eb4] ~ d4 ~", Z: "d4 ~ d4 ~ [gb3,eb4] ~ eb4 ~ eb4 ~@2 e4 gb3 ~@2 eb4",
  AA: "~ eb4 ~ d4 gb3 ~ eb4 ~ eb4 ~ d4 ~ [gb3,eb4] ~ eb4 ~", AB: "d4 ~@3 [gb3,d4] ~ eb4 ~ eb4 ~ d4 ~ [gb3,d4] ~ eb4 ~",
  AC: "eb4 ~ d4 ~ [gb3,d4] ~ eb4 ~ eb4 ~ d4!2 gb3 ~ eb4 ~", // D
  AD: "eb4 ~ d4 ~ [gb3,d4] ~ eb4 ~ eb4 ~ d4 ~ [gb3,d4] ~ eb4 ~", // D
  AE: "eb4 ~ d4!2 gb3 ~ eb4 ~ d4 ~ eb4 ~ [gb3,eb4] ~ d4 ~", AF: "d4 ~@3 [gb3,eb4] ~ d4 ~ d4 ~ eb4 ~ [gb3,d4] ~@3",
  AG: "~ d4 ~@2 [gb3,eb4] ~ d4 ~@3 d4 ~ [gb3,eb4] ~ d4 ~", // Ebm
  AH: "[d4,e4] ~@3 [gb3,eb4] ~ eb4 ~ d4 ~ d4 ~ [gb3,eb4] ~ d4 ~", // Dsus2 Ebm
  AI: "d4 ~ d4 ~ [gb3,eb4] ~@3 eb4 ~@3 [gb3,eb4] ~ d4 ~", AJ: "e4!3 ~ [gb3,e4] e4!2 ~ eb4 ~ eb4!2 [gb3,eb4] eb4!2 ~",
  AK: "eb4!4 [gb3,eb4] ~@2 e4 ~ e4 ~ eb4 [gb3,eb4] ~ eb4 ~", // Ebm
  AL: "d4 ~ eb4 ~ [gb3,eb4] ~ d4 ~ d4 ~ d4 eb4 [gb3,eb4] ~ eb4 ~", // Ebm
  AM: "~@2 e4!2 gb3 ~ e4 ~ eb4 ~@2 eb4 [gb3,eb4] eb4 ~ eb4", AN: "d4 ~@3 [gb3,eb4] ~ eb4 ~ d4 ~ eb4!2 [gb3,d4] ~ eb4 ~",
  AO: "eb4 ~ e4!2 gb3 e4!3 eb4 ~@2 eb4 gb3 ~ eb4 ~", AP: "d4 ~@3 [gb3,eb4] ~ eb4 ~ d4 ~@3 [gb3,e4] e4!3",
  AQ: "e4!2 ~ e4 [gb3,eb4] ~@4 eb4!2 ~ [gb3,eb4] ~ eb4 ~", AR: "d4 ~@3 [gb3,eb4] ~ eb4 ~ d4 ~@3 [gb3,d4] ~@3",
  AS: "~@2 e4!2 gb3 ~ e4 ~@2 eb4!2 ~ gb3 ~ eb4 ~", AT: "eb4 ~@3 [gb3,eb4] ~ eb4 ~ eb4 ~ eb4!2 [gb3,eb4] eb4!3",
  AU: "[db4,d4] ~@3 [gb3,e4] ~ d4 ~ eb4 ~ eb4 ~ [gb3,d4] ~ d4 ~", // Dmaj7 Gb7 D
  AV: "~ e4 ~@2 [gb3,d4,e4] ~@3 eb4 ~ eb4 ~ [gb3,d4] ~@3", AW: "~@4 gb3 eb4!2 ~ eb4!4 gb3 eb4!3",
  AX: "eb4 [eb4,e4] eb4!2 [gb3,e4] eb4 ~@2 [eb4,e4] eb4 ~@2 [gb3,eb4,e4] ~ eb4 ~", // Emaj7 Gb7 Emaj7 Ebm
  AY: "d4 ~@3 [gb3,eb4] ~ eb4 ~ d4 ~ eb4!2 gb3 [d4,e4] eb4 ~", AZ: "eb4 ~@2 d4 gb3 ~ eb4 ~@3 eb4 ~ [gb3,d4] ~ eb4 ~",
  BA: "~@2 e4!2 [gb3,e4] e4 ~ e4!2 [eb4,e4] ~@2 [gb3,eb4,e4] e4 ~ [eb4,e4]", // Gb7 Emaj7 Ebm Emaj7
  BB: "~ eb4 ~@2 [gb3,eb4] ~ eb4!5 ~ gb3 eb4 ~ eb4", BC: "eb4 d4 ~@2 gb3 eb4 ~@4 eb4 ~ [gb3,eb4] ~ d4 ~",
  BD: "d4 ~ eb4 ~ [gb3,eb4] ~@3 d4 ~ eb4 ~ [gb3,eb4] ~ d4 ~", BE: "d4 ~ eb4 ~ [gb3,eb4] ~ d4 ~ d4 ~ d4 ~ [gb3,eb4] ~@3",
  BF: "~ d4 ~@2 [gb3,eb4] ~ eb4 ~ eb4 ~ d4 ~ [gb3,eb4] ~ d4 ~", // Ebm
  BG: "d4 ~ d4 ~ [gb3,eb4] ~ d4 ~ d4 ~ d4 ~ [gb3,eb4] ~ d4 ~", // Ebm
  BH: "d4 ~@3 [gb3,eb4] gb4 eb4 ~ eb4 ~ d4 ~ [gb3,d4] ~ d4 ~", // Ebm D
  BI: "eb4 ~ eb4 ~ [gb3,eb4] ~@3 eb4 ~@3 [gb3,eb4] ~ eb4 ~", BJ: "d4 ~ eb4!2 gb3 ~ d4 ~ eb4 ~ eb4 [d4,eb4] gb3 ~ eb4 ~",
  BK: "d4 ~ eb4!2 gb3 ~ d4 ~ eb4 ~@2 eb4 [gb3,eb4] ~@3", BL: "e4 ~ e4!2 [gb3,e4] e4 e4@2 ~ eb4 ~@2 [gb3,eb4] ~@3",
// … 222 more lines

More by Stevie Nicks