Strudelify

Medley: I Will Survive Never Can Say Goodbye Reach Out I Am What I Am

Gloria Gaynor

KeyA♭ majorTempo122 bpm
0:00/0:00
// Medley: I Will Survive   Never Can Say Goodbye   Reach Out   I Am What I Am — Gloria Gaynor
// 122 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122/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 · fretless bass · "FRETLESS"
const bass = note(`<
  ~ A@2 B C B 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 B C B D E F G H I J K L AC AD AE AF AG@3 AH AI AJ AK
  AL AM AN AK AO AP AQ AR AS AT AU AV AW AG@3 AH AX AY AZ BA BB BC BD AO AP AQ AR AS BE BC BF BG BH@3 BI BH@3 BJ BK@2
>`.pickRestart({
  A: "[f1@31 ~]/2", B: "bb1 ~@7", C: "eb2 ~@7", D: "eb2@8 eb2 ~@7", E: "bb2@6 bb2 ~@5 db2 ~ eb2 ~",
  F: "eb2@3 eb2 bb1@2 eb2 ~@9", G: "ab2@3 ab2 eb2@2 ab2 ~@5 db2 ~ ab1 ~", H: "db2@3 db2 ab1@2 db2 ~@7 ab2 f2",
  I: "gb2@2 ~ gb2@5 ~@6 bb1 ~", J: "c2@2 ~ c2@5 ~@6 eb2 ~", K: "f2@2 ~@2 f2@8 ~@2 eb3 e3", L: "f3@5 ~@3 f1@2 f1@2 c2@4",
  M: "bb1@2 bb2 ~@2 bb2 ~ f2 bb1@2 ~@2 db2 ~ d2 ~", N: "eb2@2 eb3 ~@2 eb3 ~ bb2 eb2@3 eb2 gb2 ~ g2 ~",
  O: "ab2@7 ~ ab1@3 ab1 bb1 ~ c2 ~", P: "db2@2 db3 ~@2 db3 ~ ab2 db2@3 db2 eb2 ~ f2 ~",
  Q: "gb2@2 gb2 ~@2 gb2 ~ gb2 gb2@3 ~ bb1 ~ b1 ~", R: "c2@2 c2 ~@2 c2 ~ c2 c2@3 ~ eb2 ~ e2 ~",
  S: "f2@2 f2 ~@2 f2 ~ f1 f1@2 c2@2 eb2@2 e2@2", T: "f2@2 f2 ~@2 f2 ~ eb2 f2@3 f1 f1@2 a1@2",
  U: "bb1@3 ~@2 bb2 ~ f2 bb2@3 ~ db2 ~ d2 ~", V: "eb2@2 eb2@2 ~@2 bb2 ~ eb3@2 ~ bb2@3 eb2 ~",
  W: "ab2@5 ~ eb2 ~ ab1@3 ab1 bb1 ~ c2 ~", X: "db2@2 db2 ~@2 db2 ~ ab2 ab2@2 b2 c3 db3@4",
  Y: "gb2@2 gb2 ~@4 gb2 gb2@3 ~@3 db2 ~", Z: "c2@3 ~@2 c2 ~ c3 c3@3 ~ c3@2 gb2@2",
  AA: "f2@2 f2 ~@2 f2 ~ eb2 f2@2 c3@2 eb3@2 e3@2", AB: "f3@2 f3@2 ~@2 eb4 e4 f4@6 ~@2", AC: "ab1", AD: "c2",
  AE: "db2 eb2", AF: "e2 gb2", AG: "[ab2@9 ~ eb2 ~ ab2 ~ gb2@11 ~ ab2 ~ gb2 ~ e2@10 ~@2 e2@2 eb2@2 db2@2]/3",
  AH: "~@2 db2 ~ eb2@2 ~@2 e2@2 ~@2 gb2@2 ~@2", AI: "ab1@3 ~ ab1@2 ~ eb1 ab1 ~ ab1@2 eb2@2 ab1 ~",
  AJ: "c2@3 ~ c2@2 ~ g1 c2 ~ c2@2 g1@2 c2 ~", AK: "db2@3 ~ db2@2 ~ ab1 db2 ~ db2@2 c2@4",
  AL: "bb1@3 ~ bb1@2 ~ bb1 eb2 ~ eb2@2 eb2@2 bb2@2", AM: "ab2@3 ~ ab2@2 ~ eb2 ab2 ~ ab2@2 eb2 ~ db2 ~",
  AN: "c2@3 ~ c2@2 ~ g1 c2 c2@2 c2@2 ~ c2 ~", AO: "bb1@3 ~ bb1@2 c2 db2 eb2 ~ eb2@2 eb2@2 bb1@2", AP: "ab2@6 g2@8 g2 ~",
  AQ: "f2@6 ~ c2 f2 ~ f2@2 eb2@2 f2 ~", AR: "eb2@3 ~ eb2@2 ~ eb2!2 ~ eb2@4 eb2 ~",
  AS: "bb1@3 ~ bb1@2 ~ bb1 eb2@4 bb1@2 eb2@2", AT: "ab1@3 ~ ab1@2 ~ eb1 ab1 ~ ab1@2 eb2 ~ db2 ~",
  AU: "c2@3 ~ c2@2 ~ g1 c2 c2@2 c2 g1@2 c2 ~", AV: "db2@6 db2 ~ db2 ~ db2@4 c2 ~",
  AW: "bb1@3 ~ bb1@2 c2 db2 eb2 ~ bb2@4 eb2@2", AX: "ab1@3 ~ eb2@2 ab2@4 ab2!2 ab2@2 ab1 ~",
  AY: "c2@2 c2@4 g2@3 ~ bb2 b2 c3@2 c2 ~", AZ: "db2@2 db2@2 ab2@2 db3@3 ab2 ~ ab2 db2@2 f2@2",
  BA: "bb1@3 ~ bb1@2 ~ bb1 eb2 ~ f2@2 g2@2 bb2@2", BB: "ab2@2 ab2@2 ~ eb2!2 ab2!3 ab2@2 eb2 ~ eb2 ~",
  BC: "c2@2 c2@3 eb2!2 g2 c3@2 g2@2 c2@2 c2 ~", BD: "db2@2 db2@3 f2!2 ab2 db3@2 eb3@2 f3@4",
  BE: "ab1@2 ab1@2 ~ eb2!2 ab2!3 ab2@2 eb2 ~ eb2 ~", BF: "db2 db2@2 ab2 db3@2 ab2 db2",
  BG: "bb1@3 ~ bb1@2 c2 db2 eb2 ~ eb2@2 eb2@4",
  BH: "[ab1@3 ~ ab1@3 ~ ab1 ~ c2 ~ eb2 ~ gb2@5 ~ gb2@3 ~ gb2@3 ~ gb2@2 f2@4 eb2@2 db2@3 ~ db2@3 ~ db2@3 ~]/3",
  BI: "db2@2 db2@2 db2@3 ~ db2@3 ~ eb2@3 ~", BJ: "db2@2 db2@2 db2@3 ~ gb2@3 ~ f2@3 ~", BK: "[ab2@23 ~@9]/2",
})).s("gm_fretless_bass").gain(0.56)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  ~ A@6 B C D E F G H I B C D E F G H I B C D E F G H I J@4 B C D E F G H I K L M N O@3 P Q R S T Q R S T U V K W Q R S
  T O@3 P Q R S T Q R S T U V K W Q R S T X@3 Y X@3 Z AA@2
>`.pickRestart({
  A: "[~ [eb4,a4]@30 ~ [bb3,db5,f5,bb5]@15 ~ [eb3,db5,g5,bb5]@15 ~ [bb3,db5,f5,bb5]@15 ~ [eb3,bb4,db5,eb5,bb5]@15 ~, [f3,a3,c4]@31 [db4,f4,bb4]@16 [db4,g4]@15 ~ [db4,f4]@16 eb4@17, ~@48 bb4 ~@14 bb4@14 ~@2 ab4@14 ~@3]/6", // Ebdim Bbm Eb7 Bbm Eb7 F Bbm Dbdim …
  B: "[bb3,db4,f4,bb4]@7 ~", C: "[bb3,db4,eb4,gb4]@13 ~@3", D: "[ab3,c4,eb4,gb4]@15 ~",
  E: "[ab3,db4,f4]@15 ~, c4@13 ~@3", F: "[gb3,bb3,db4,f4]@15 ~", G: "[gb3,bb3,c4,eb4]@7 ~", H: "[f3,bb3,c4,eb4]@7 ~",
  I: "[f3,a3,c4,f4]@7 ~", // F
  J: "[~@16 [eb3,db5,g5,bb5]@15 ~ [bb3,db5,f5,bb5]@15 ~ [eb3,bb4,db5,eb5,bb5]@15 ~, ~@15 [db4,g4]@15 ~ [db4,f4]@16 eb4@17, ~@16 bb4 ~@14 bb4@14 ~@2 ab4@14 ~@3]/4", // Eb7 Bbm Eb7 Dbdim Db
  K: "[ab3,c4,eb4]@15 ~", L: "[g3,c4,eb4]@15 ~", M: "[f3,ab3,db4]@7 ~ [g3,bb3,eb4]@7 ~",
  N: "[ab3,b3,e4]@7 ~ [bb3,db4,gb4]@7 ~", // E Gb
  O: "[[c4,eb4,ab4]@13 ~ [bb3,db4,gb4]@14 ~@2 [ab3,b3,e4]@15 ~ [e3,ab3,db4]@2]/3", // Ab Gb E Dbm
  P: "~@2 [e3,ab3,db4] ~ [gb3,bb3,eb4]@2 ~@2 [ab3,b3,e4]@2 gb4 [ab4,bb4,db5] [bb3,db4,gb4]@2 ~@2, ~@12 [eb5,gb5] ~@3", // Dbm Ebm E Bbm7 Gb Ebm
  Q: "[ab3,c4,eb4,ab4]@7 ~", R: "[g3,c4,eb4,g4]@13 ~@3", S: "[f3,ab3,db4,f4]@15 ~",
  T: "[ab3,bb3,db4,f4] [bb3,db4,eb4,g4]", U: "[c4,eb4,ab4]@3 [c4,eb4,g4]@5", V: "[ab3,c4,f4]@15 ~",
  W: "[ab3,db4,f4] [bb3,eb4,g4]", X: "[[c4,eb4,ab4]@13 ~ [bb3,db4,gb4]@14 ~@2 [ab3,db4,f4]@17 ~]/3",
  Y: "[ab3,db4,f4]@4 [ab3,db4,f4] ~ [bb3,eb4,g4] ~", Z: "[ab3,db4,f4]@4 [db4,gb4,bb4] ~ [db4,f4,ab4] ~",
  AA: "[[ab3,c4,eb4,ab4]@23 ~@9]/2", // Ab
})).s("gm_epiano2").gain(0.38).pan(0.7)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~@2 A B ~@2 C ~@6 D E ~@8 F G H@2 I J K L B ~@2 C ~@6 D E M N O@2 ~@24 P Q R S T U V@2 ~@4 W X Y ~ Z AA AB AC AD AE AF
  AG AH@2
>`.pickRestart({
  A: "~ eb5 gb5@2, [eb4,a4], c5 ~", B: "~ a5 [f5,g5] e5 [c5,d5] ~@11, [f4,db5,bb5]@3 ~@13", C: "[eb4,ab4]@5 ~@3",
  D: "~@2 bb4 c5, ~ f4", E: "[f4,a4,f5]@11 ~@5", F: "[eb4,eb5]@2 [db4,db5]@2 ~ [bb3,bb4] [db4,db5] [ab4,ab5]",
  G: "[gb4,gb5]@5 ~ [f4,f5] ~ [eb4,eb5]@2 [db4,db5]@2 c5 [c5,db5] [bb3,bb4]@2, ~@6 c4 ~", // Gb F Eb Db Dbmaj7 Bb
  H: "[[ab3,ab4]@5 ~ [ab3,ab4] [bb3,bb4] [ab3,ab4]@2 [ab4,ab5]@4 [f4,f5]@7 ~@11]/2", I: "[bb3,bb4]@2 [f4,f5] [gb4,gb5]",
  J: "[gb4,gb5] [f4,f5] [eb4,eb5] [db4,db5] [eb4,eb5]@5 ~@3 [gb4,gb5]@2 [eb4,eb5] ~", // Gb F Eb Db Eb Gb Eb
  K: "[f4,f5]@7 ~@3 [bb4,eb5,g5,bb5]@2 [bb4,eb5,g5,bb5]@2 [g4,c5,eb5,g5]@2", L: "[a4,c5,f5,a5] ~",
  M: "ab4@5 ~ ab4 ~ ab4@3 g4@2 ab4@3", N: "eb5@5 ~ eb5 ~ eb5@3 c5@2 eb5@3", O: "[[db5,ab5]@7 ~]/2",
  P: "[ab3,ab4] ~@5 [ab3,ab4]@2 [ab3,ab4]@2 [g3,g4]@4 [ab3,ab4]@2", Q: "[eb4,eb5] ~@2 [eb4,eb5]!2 [c4,c5]@2 [eb4,eb5]",
  R: "[ab4,ab5] ~@5 [ab4,ab5]@2 [ab4,ab5]@2 [f4,f5]@4 [ab4,ab5]@2", S: "[f4,f5]@4 [eb4,eb5]@7 ~@5",
  T: "[c4,ab4] ~@5 [ab4,f5]@4 [ab4,eb5]@4 [ab4,eb5]@2", // Fm Db Ab5
  U: "[g4,eb5] ~@5 [eb4,c5]@2 [g4,eb5]@2 ~ [eb4,c5]@2 [g4,eb5]@2 ~", // Cm
  V: "[[f4,f5]@4 f5@8 [f5,c6]@2 [f4,f5,bb5]@11 ~@7, ab5@3 ~@5, ~@2 f4@5 ~@9]/2", // F F5 Bb5
  W: "[ab3,ab4] ~@5 [ab3,ab4]@2 [ab3,ab4]@2 ~ [g3,g4]@2 [ab3,ab4]@2 ~", // Ab G Ab
  X: "[eb4,c5,eb5]@4 ~@4 [eb4,c5,eb5]@2 ~ [c4,ab4,c5]@2 [eb4,c5,eb5]@2 ~", Y: "[f4,f5,ab5] [f4,f5,ab5]@2 ~",
  Z: "~@10 [eb4,ab4] ~ [eb4,ab4]!2 ~@2", AA: "~@6 [gb4,db5] ~@9", AB: "~@6 [ab4,db5] ~@9",
  AC: "~@2 [f5,ab5] ~ [f5,ab5]!2 ~@2 [f5,ab5]!2 [eb5,gb5] [f5,ab5] ~@4", AD: "~@10 [eb5,ab5] ~ [eb5,ab5]!2 ~@2",
  AE: "~@8 eb5 [bb4,db5] [gb4,ab4] [db4,eb4] ~@4, ~@3 [db5,ab5]@2 ~@3", AF: "~@6 [db5,ab5] ~@9",
  AG: "~@2 [f5,ab5] ~ [f5,ab5]!2 ~@2 [db5,gb5]@4 [db5,f5]@4", AH: "[[c5,ab5]@25 ~@7]/2",
})).s("gm_brass_section").gain(0.6).pan(0.6)

// chords · trombone
const trombone = note(`<
  A@2 B C ~@2 D ~@5 E@3 F G H I F J ~@2 K L M N K O P Q C ~@2 D ~@5 E@3 R S T U V@3 W X Y Z AA X Y Z AA AB AC AD AE X Y
  Z AA V@3 W ~@3 AF AG AH AI@2 AB AC AD AE X Y AJ@2 AK AL AM AN AO AP AQ AR AS@2
>`.pickRestart({
  A: "[~@5 eb3 gb3 a3, ~@15 f2@16 ~]/2", B: "[a3,c4], f2 ~@15",
  C: "~ a3 [f3,g3] [d3,eb3] [bb2,c3] ~@11, [bb2,bb3]@3 ~@13", D: "[ab3,db4]@5 ~@3",
  E: "[~@24 bb3@8 a3@11 ~@5, ~@5 f2@9 ~@2, ~@8 f3@13 ~@3]/3",
  F: "~@2 [bb3,db4,f4] ~@2 [bb3,db4,f4] ~@2 [bb3,db4,f4] ~@7", // Bbm
  G: "~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4] ~@2 [gb3,bb3,eb4] ~@7", // Ebm
  H: "~@2 [ab3,c4,eb4] ~@2 [ab3,c4,eb4] ~@2 [ab3,c4,eb4] ~@7", I: "~@2 [ab3,c4,f4] ~@2 [ab3,c4,f4] ~@2 [ab3,c4,f4] ~@7",
  J: "~@2 [bb3,c4,eb4] ~@2 [bb3,c4,eb4] ~@2 [bb3,c4,eb4] ~@7", K: "~@4 [bb3,db4,f4]!2 ~ [bb3,db4,f4] ~@8",
  L: "~@4 [gb3,bb3,eb4]!2 ~ [gb3,bb3,eb4] ~@8", M: "~@4 [ab3,c4,eb4]!2 ~ [ab3,c4,eb4] ~@8",
  N: "~@4 [ab3,c4,f4]!2 ~ [ab3,c4,f4] ~@8", O: "~@4 [bb3,c4,eb4]!2 ~ [bb3,c4,eb4] ~@8",
  P: "[f3,c4,eb4]@11 ~ [f3,bb3,eb4]@4", Q: "[f3,a3,eb4] ~", R: "[ab2,ab3]@15 ~", S: "[c3,c4]@15 ~",
  T: "[db3,db4]@8 [eb3,eb4]@7 ~", U: "[e3,e4]@7 ~ [gb3,gb4]@7 ~",
  V: "[[ab3,ab4]@9 ~ [eb3,eb4] ~ [ab3,ab4] ~ [gb3,gb4]@11 ~ [ab3,ab4] ~ [gb3,gb4] ~ [e3,e4]@11 ~ [e3,e4] ~ [eb3,eb4] ~ [db3,db4]@2]/3", // Ab Eb Ab Gb Ab Gb E Eb …
  W: "~@2 [db3,db4] ~ [eb3,eb4]@2 ~@2 [e3,e4]@2 ~@2 [gb3,gb4]@2 ~@2", X: "~@2 [ab3,c4] ~@13", Y: "~@2 [g3,c4] ~@13",
  Z: "~@2 [ab3,db4] ~@13", AA: "~@2 [bb3,db4] ~@7 [bb3,eb4] ~ [bb3,eb4]!2 ~@2", AB: "ab3@6 g3@9 ~", AC: "f3@7 ~",
  AD: "eb3", AE: "~@2 [bb3,db4] ~@2 [bb3,db4] ~@2 [bb3,eb4]@6 ~@2", AF: "~@10 [bb3,eb4] ~ [bb3,eb4]!2 ~@2",
  AG: "ab3 ~@5 f4@4 eb4@4 eb4@2", AH: "eb4 ~@5 c4@2 eb4@3 c4@2 eb4@2 ~", AI: "[f4 f4@5 ~ eb3, ~@12 g4@3 ~]/2",
  AJ: "[~@2 [ab3,db4] ~@15 [bb3,db4] ~@7 [bb3,eb4] ~ [bb3,eb4]!2 ~@2, f4@24 g4@7 ~]/2", AK: "~@10 ab3 ~ ab3!2 ~@2",
  AL: "~@6 gb3 ~@9", AM: "~@6 ab3 ~@9", AN: "~@2 ab4 ~ ab4!2 ~@2 ab4!2 gb4 ab4 ~@4", AO: "~@10 ab4 ~ ab4!2 ~@2",
  AP: "~@6 ab4@3 ~@7", AQ: "~@6 ab4 ~@9", AR: "~@2 db4 ~ db4!2 ~@2 gb4@4 f4@4", AS: "[ab4@25 ~@7]/2",
})).s("gm_trombone").gain(0.6).pan(0.2)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@3 A B C D E F G E H G ~@18 A B C D E F G E H G ~@10 G@3 I G@3 I G@3 I G@3 J ~@4 G@3 I G@3 I G@3 I G@3 J ~@10
>`.pickRestart({
  A: "bb3 ~ ab3 ~ bb3 ~ ab3 ~ bb3 ~ ab3 ~ ab3 bb3 ~@2", B: "~ bb3 g3 ~ bb3 ~ g3 ~ bb3 ~ g3 ~ bb3 ~@3",
  C: "bb3 ~ ab3 ~ bb3 ~ ab3 ~ bb3 ~ ab3 ~ ab3 ~@3", D: "~ bb3 g3 ~ bb3 ~ g3 ~ bb3 ~@7",
  E: "db4!2 c4 ~ db4 ~ c4 db4 ~@8", F: "eb4!2 db4 ~ eb4 ~ db4 eb4 ~@8", G: "c4!2 bb3 ~ c4 ~ bb3 c4 ~@8",
  H: "db4!2 bb3 ~ db4 ~ bb3 db4 ~@8", I: "db4!2 c4 ~ db4 ~ c4 db4 ~@2 db4 ~ db4 ~ db4 ~",
  J: "db4!2 c4 ~ db4 ~ c4 db4 ~@2 db4 ~ db4 ~@3",
})).s("gm_electric_guitar_muted").gain(0.31).pan(0.9)

// other · pad new age · "FANTASIA"
const pad_new_age = note("<~@58 A B C D E ~@15 A B C F E ~@14>".pickRestart({
  A: "~@3 eb5", B: "c6@5 ~ c6@6 c6@2 bb5 ~", C: "bb5 ab5 g5 ab5 bb5 ab5 g5 ab5", D: "~@4 c6@3 ~ c6@2 bb5 ~ bb5@2 ab5@2",
  E: "bb4@2 c5 ~ db5@2 eb5@2 f5@2 g5 ~ ab5 ~ bb5@2", F: "~ c6!3 bb5@3 ab5",
})).s("gm_pad_new_age").gain(0.5)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@7 A B C D B@2 E F A B C D B@2 E F A B C D B@2 E F ~@4 A B C D B@2 E F ~@4 G@3 H C I D J C I D K L M N O C I D P Q@3
  R S T U V S T U W X Y Z AA S T U W AB AC AD AE AB AC AD AF AG@2
>`.pickRestart({
  A: "~@2 [f4,bb4] ~@2 [f4,bb4] ~@2 [f4,bb4] bb4 ~ [f4,bb4] ~ f4 [f4,bb4] ~", // Bb5
  B: "~@2 [gb4,bb4] ~@2 [gb4,bb4] ~@2 [gb4,bb4] bb4 ~ [gb4,bb4] ~ gb4 [gb4,bb4] ~", // Gb
  C: "~@2 [eb4,ab4] ~@2 [eb4,ab4] ~@2 [eb4,ab4] ab4 ~ [eb4,ab4] ~ eb4 [eb4,ab4] ~", // Ab5
  D: "~@2 [f4,ab4] ~@2 [f4,ab4] ~@2 [f4,ab4] ab4 ~ [f4,ab4] ~ f4 [f4,ab4] ~", // Fm
  E: "~@3 c5 ~ c5 ~ c5 ~@3 c5 ~ c5 ~ c5, [c5,f5]@2 f5@2 ~@5 c5@2 ~ [c5,f5]@2 [c5,f5]@2, ~ [bb4,c5]@2 ~ [c5,f5]@2 [c5,f5]@2 [c5,f5]@2 f5@2 ~@4", // F5 Bbsus2 F5
  F: "~@3 c5 ~ c5 ~ c5 ~@3 c5 ~ c5 [c5,f5]@2, [c5,f5]@2 f5@2 ~@5 c5@2 ~ [c5,f5]@2 ~@2, ~ [a4,c5]@2 ~ [c5,f5]@2 [c5,f5]@2 [c5,f5]@2 f5@2 ~@4", // F5 Am F5
  G: "[ab3,eb4] ~ [eb4,ab4] ~@2 [eb4,ab4] ~ eb4 [eb4,ab4] ab4 ~ [eb4,ab4] ~ eb4 [eb4,ab4] ~", // Ab5
  H: "~@15 [ab3,eb4], [eb4,ab4] ab4 [eb4,ab4]!3 ab4 [eb4,ab4]!2, ~ [ab3,eb4]@2 eb4@2 [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 ~", // Ab5
  I: "~@2 [eb4,g4] ~@2 [eb4,g4] ~@2 [eb4,g4] g4 ~ [eb4,g4] ~ eb4 [eb4,g4] ~", // Eb
  J: "~@2 [f4,bb4] ~@2 [f4,bb4] ~@2 [g4,bb4] bb4 ~ [g4,bb4] ~ g4 [g4,bb4] ~", // Bb5 Gm
  K: "~@3 f4 ~ f4 ~ f4 ~@3 g4 ~ g4 [g4,bb4]@2, [f4,bb4]@2 bb4@2 ~@5 g4@2 ~ [g4,bb4]@2 ~@2, ~ [db4,f4]@2 ~ [f4,bb4]@2 [f4,bb4]@2 [g4,bb4]@2 bb4@2 ~@4", // Gm Bb5 Gm Db Bb5 Gm
  L: "~@2 [eb4,ab4] ~@2 [eb4,ab4] ~@2 [eb4,g4] g4 ~ [eb4,g4] ~ eb4 [eb4,g4] ~", // Ab5 Eb
  M: "~@2 [c4,f4] ~@2 [c4,f4] ~@2 [c4,f4] f4 ~ [c4,f4] ~ c4 [c4,f4] ~", // F5
  N: "~@2 [c4,eb4] ~@2 [c4,eb4] ~@2 [c4,eb4] eb4 ~ [c4,eb4] ~ c4 [c4,eb4] ~", // Cm
  O: "~@2 [db4,f4] ~@2 [db4,f4] ~@2 [eb4,g4] g4 ~ [eb4,g4] ~ eb4 [eb4,g4] ~", // Db Eb
  P: "~@3 f4 ~@10 [g4,bb4]@2, [f4,bb4]@2 bb4@2 ~ f4@2 f4@2 g4@2 g4@2 g4@2 ~, ~ [db4,f4]@2 ~ [f4,bb4]@2 [f4,bb4]@2 [g4,bb4]@2 bb4@2 [g4,bb4]@2 ~@2", // Gm Bb5 Db Bb5 Gm
  Q: "[ab3,eb4] ~ [eb4,ab4] ~ eb4 [eb4,ab4] ~ eb4 [eb4,ab4] ab4 ~ [eb4,ab4] ~ eb4 [eb4,ab4] ~", // Ab5
  R: "~@15 [ab3,eb4], [eb4,ab4] ab4 [eb4,ab4]!3 ab4 [eb4,ab4]!2, ~ [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 [ab3,eb4]@2 ~", // Ab5
  S: "[c4,eb4] ~ [eb4,ab4] ~@2 [eb4,ab4] ~ eb4 [eb4,ab4] ab4 ~ [eb4,ab4] ~ eb4 [eb4,ab4] ~", // Cm Ab5
  T: "[c4,eb4] ~ [eb4,g4] ~@2 [eb4,g4] ~ eb4 [eb4,g4] g4 ~ [eb4,g4] ~ eb4 [eb4,g4] ~", // Cm Eb
  U: "[db4,f4] ~ [f4,ab4] ~@2 [f4,ab4] ~ f4 [f4,ab4] ab4 ~ [f4,ab4] ~ f4 [f4,ab4] ~", // Db Fm
  V: "[db4,f4] ~ [f4,bb4] ~@2 [f4,bb4] ~ f4 [g4,bb4] bb4 ~ [g4,bb4] ~ g4 [g4,bb4] ~", // Db Bb5 Gm
  W: "~@7 [g4,bb4], [f4,bb4] bb4 [f4,bb4]!2 [g4,bb4] bb4 [g4,bb4] ~, ~ [db4,f4]@2 f4@2 f4@2 f4@2 g4@2 g4@2 g4@2 ~", // Gm Bb5 Gm Db
  X: "[c4,eb4] ~ [eb4,ab4] ~@2 [eb4,ab4] ~ eb4 [eb4,g4] g4 ~ [eb4,g4] ~ eb4 [eb4,g4] ~", // Cm Ab5 Eb
  Y: "[ab3,c4] ~ [c4,f4] ~@2 [c4,f4] ~ c4 [c4,f4] f4 ~ [c4,f4] ~ c4 [c4,f4] ~", // Ab F5
  Z: "[ab3,c4] ~ [c4,eb4] ~@2 [c4,eb4] ~ c4 [c4,eb4] eb4 ~ [c4,eb4] ~ c4 [c4,eb4] ~", // Ab Cm
  AA: "[bb3,db4] ~ [db4,f4] ~@2 [db4,f4] ~ db4 [eb4,g4] g4 ~ [eb4,g4] ~ eb4 [eb4,g4] ~", // Bbm Db Eb
  AB: "[eb4,ab4] ~ [ab4,c5] ~ ab4 [ab4,c5] ~ ab4 [ab4,c5] c5 ~ [ab4,c5] ~ ab4 [gb4,bb4] gb4", // Ab5 Ab Gb
  AC: "[db4,gb4] ~ [gb4,bb4] ~ gb4 [gb4,bb4] ~ gb4 [gb4,bb4] bb4 ~ [gb4,bb4] ~ gb4 [f4,ab4] f4", // Gb5 Gb Fm
  AD: "[db4,f4] ~ [f4,ab4] ~ f4 [f4,ab4] ~ f4 [f4,ab4] ab4 ~ [f4,ab4] ~ f4 [f4,ab4] f4", // Db Fm
  AE: "[db4,f4] ~ [f4,ab4] ~ f4 [f4,ab4] ~ f4 [f4,ab4] ~@2 [db4,f4] [g4,bb4] ~ [g4,bb4] g4, ~@5 ab4 ~@2", // Db Fm Db Gm
  AF: "[db4,f4] ~ [f4,ab4] ~ f4 [f4,ab4] ~@2 [db4,gb4]@4 [db4,f4]@4", AG: "[~ eb4@24 ~@7, [ab3,c4]@25 ~@7]/2",
})).s("gm_electric_guitar_clean").gain(0.27).pan(0.3)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@15 A@2 B A@2 C ~@2 D E F D E G ~@6 D E F D E G ~@6 H@3 I F@2 D@2 F@2 D ~ F J@2 K F@2 D L ~@4 H@2 M@2 H@2 M N H O@2 P
  H@2 M N Q R S@2 Q R S T ~@2
>`.pickRestart({
  A: "db4 ~@15", B: "c4 ~@15", C: "eb4 ~@15", D: "[db4,f4] ~@6 f4 ~@8", E: "[db4,gb4] ~@6 gb4 ~@8",
  F: "[c4,eb4] ~@6 eb4 ~@8", G: "[eb4,gb4] ~@6 gb4 ~@8", H: "~@4 eb4 ~@11", I: "~@3 ab3@2 ~@11",
  J: "[ab3,c4] ~@6 c4 ~@8", K: "[bb3,db4] ~@6 db4 ~@8", L: "~@5 db4@2 db4@2 eb4@2 eb4@2 eb4@2 ~", M: "~@4 f4 ~@11",
  N: "~@3 db4@2 db4@2 db4@2 eb4@2 eb4@2 eb4@2 ~", O: "~@4 c4 ~@11", P: "~@4 db4 ~@11", Q: "~ ab4 ~ eb4 ~@2 eb4 ~@9",
  R: "~ gb4 ~ db4 ~@2 db4 ~@9", S: "~ f4 ~ db4 ~@2 db4 ~@9", T: "~ f4 ~ db4 ~@2 db4 f4 ~@8",
})).s("gm_electric_guitar_clean").gain(0.15).pan(0.3)

// chords · percussive organ · "ORGAN 2"
const percussive_organ = note(`<
  ~@7 A B C D E F G H I J K L M N O P I J K L M N O P ~@4 A B C D E F G H ~@8 C Q R S C Q R S T U V W C Q R S ~@4 X Y R
  Z X Y R Z T U V W C Q R S AA@3 AB AC@4 AD@2
>`.pickRestart({
  A: "[bb4,db5,f5]", B: "[eb4,bb4,gb5]", C: "[ab4,c5,eb5]", D: "[db4,ab4,f5]", E: "[gb4,bb4,db5]", F: "[bb4,c5,eb5]",
  G: "[bb4,c5,f5]", H: "[a4,c5,f5]", I: "[bb4,db5,f5,bb5]", J: "[eb4,bb4,gb5,bb5]", K: "[ab4,c5,eb5,ab5]",
  L: "[db4,ab4,f5,ab5]", M: "[gb4,bb4,db5,bb5]", N: "[gb4,c5,eb5,bb5]", O: "[f4,bb4,f5,c6]", P: "[f4,a4,f5,c6]",
  Q: "[g4,c5,eb5]", R: "[ab4,db5,f5]", S: "[bb4,f5,ab5] [bb4,eb5,g5]", T: "[eb4,ab4,c5]@3 [g4,c5]@5", U: "[f4,ab4,c5]",
  V: "[eb4,ab4,c5]", W: "[ab4,bb4,f5] [g4,bb4,eb5]", X: "[c5,eb5,ab5]", Y: "[c5,eb5,g5]",
  Z: "[bb4,db5,f5] [bb4,eb5,g5]", AA: "[[c5,eb5]@14 [bb4,db5]@16 [ab4,db5]@17 ~]/3",
  AB: "[f4,db5]@7 ~ [f4,db5]@4 [g4,eb5]@4", AC: "[[eb5,ab5]@7 [gb5,bb5]@8 [f5,ab5]@12 ~ [db5,gb5]@2 [db5,f5]@2]/4",
  AD: "[[c5,eb5,ab5]@23 ~@9]/2", // Ab
})).s("gm_percussive_organ").gain(0.17).pan(0.3)

// other · flute
// … 71 more lines

More by Gloria Gaynor