Strudelify

I'm Every Woman

Chaka Khan

KeyE♭ majorTempo120 bpm
0:00/0:00
// I'm Every Woman — Chaka Khan
// 120 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 5 "E.PIANO 2" Elec Piano 1 -> epiano1; ch 7 "#CLAVI 2" Clavi 2 -> clavinet; ch 13 "#HARP 2" Harp 2 -> orchestral harp
// note: Full arrangement: all 143 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano · "A.PIANO 3"
const piano = note(`<
  ~@37 A@12 B C D A@4 B E F E F ~@8 A@4 B E F E F ~@8 A@4 B C D A@4 B E F E F ~@16 G@2 H@2 I@2 J@2 G@2 H@2 I@2 J@2 G@2
  H@2 I@2 K@2 ~
>`.pickRestart({
  A: "[[g3,ab3,c4,eb4]@24 ~@2 [f3,g3,bb3,d4]@3 [f3,g3,bb3,d4]@2 ~]/2", // Abmaj7 Gm7
  B: "[ab3,c4,eb4,g4]@8 ~@2 [ab3,c4,eb4,g4]@3 [bb3,c4,d4,f4]@2 ~", C: "[bb3,c4,eb4,g4]@15 ~",
  D: "[g3,bb3,c4,eb4]@3 [g3,bb3,c4,eb4] ~@4 [ab3,bb3,e4]@2 ~ [bb3,c4,e4]@2 ~ [bb3,e4,ab4]@2", // Cm7 Bbm7b5 C7 Bbm7b5
  E: "[bb3,c4,eb4,g4]@8 ~@2 [bb3,c4,d4,f4]@2 ~ [bb3,c4,d4,f4]@2 ~", F: "[ab3,bb3,c4,eb4]@7 ~",
  G: "[[ab3,c4,eb4,g4]@24 ~@2 [g3,bb3,d4,f4]@3 [g3,bb3,d4,f4]@2 ~]/2", // Abmaj7 Gm7
  H: "[[ab3,c4,eb4,g4]@23 ~ [ab3,c4,eb4,g4]@3 [a3,db4,e4,ab4]@2 ~ [bb3,d4,f4,a4]@2]/2", // Abmaj7 Amaj7 Bbmaj7
  I: "[[b3,eb4,gb4,bb4]@24 ~@2 [bb3,db4,f4,ab4]@3 [bb3,db4,f4,ab4]@2 ~]/2", // Bmaj7 Bbm7
  J: "[[b3,eb4,gb4,bb4]@23 ~ [b3,eb4,gb4,bb4]@3 [bb3,d4,f4,a4]@2 ~ [a3,db4,e4,ab4]@2]/2", // Bmaj7 Bbmaj7 Amaj7
  K: "[[b3,eb4,gb4,bb4]@23 ~@9]/2", // Bmaj7
})).s("gm_piano").gain(0.14)

// bass · slap bass 1 · "SLAPBASS 1"
const bass = note(`<
  ~@29 A@3 B C A C D C A@3 E A@2 F G H I J K L M G N O P Q R S R T U V W X Y Z AA AB G N AC P Q R S R AD AE AF AG AF AE
  AH AI AJ G AK I J K L AL AM AN AO P Q R S R AP AQ AR AQ AS AT AU AV ~ AW AX AY AZ AY BA BB BC BD BE BF BG BH BI BJ BK
  BD BE BF BG BH BI BJ BK BD BE BF BG BH BI BJ BK ~
>`.pickRestart({
  A: "f1 ~@3 f1 ~@2 f1 ~@2 c1@2 eb1 ~ eb1@2", B: "f1 ~@3 f1 ~@2 f1 ~ eb3 c3 bb2 ab2 g2 f2 eb2",
  C: "f2@4 f1 ~@2 eb1 ~@2 c1@2 eb1 ~ eb1@2", D: "f1 ~@15", E: "f2@4 f1 ~@2 f1 ~@2 c1@2 eb1 ~ eb1@2",
  F: "f1 ~@3 f1 ~@2 f1 ~@2 c1@2 c1 ~ c1@2", G: "f2@4 c1 ~@2 c1 f2!2 c1@2 eb1 ~ eb1@2",
  H: "f1@2 ~@2 c1@2 ~ f1 ~@2 g2@2 eb2@2 f2@2", I: "f2@3 ~ f1 ~@2 f1 ~@2 c1@2 eb1 ~ eb1@2",
  J: "f1@2 ~@2 f1@2 ~ f1 ~@2 c1@2 f2 ~ g2@2", K: "f2@4 f1 ~@2 f1 ~@2 g1@2 bb1 ~ bb1@2",
  L: "c2@4 g1 ~@2 g1 ~@2 g1@2 bb1 ~ bb1@2", M: "c2@4 g1 ~@2 g1 ~@2 g1@2 c1 ~ c1@2",
  N: "f1@2 ~@2 c1@2 ~ f1 ~@2 g2@2 c2@2 eb2@2", O: "c1@3 ~ f1 ~@2 f1 ~@2 g2@2 c2 ~ eb2@2",
  P: "f1@2 ~@2 f1@2 ~ f1 ~@2 bb2@2 c2@2 eb2@2", Q: "f2@4 f1 ~@2 f1 ~@2 f1@2 f1 ~ bb1@2",
  R: "c2@2 ~@2 c2@2 ~ g1 ~@2 g1@2 g1 ~ gb1@2", S: "f1@2 ~@2 eb1@2 ~ bb1 ~@2 bb1@2 bb1 ~ bb1@2",
  T: "f1@2 ~@2 c2@2 ~ f3 ~@2 f3@2 f3 eb3 c3 bb2", U: "c2 ~@3 c2 ~@2 c2 g1 ~ g1@2 g1 ~ gb1@2",
  V: "f1@2 ~@2 f1@2 ~ eb3 f3 ~ bb1@2 bb1 ~ bb1@2", W: "c2 ~@3 c2 ~@2 c2 g1 ~ eb2@2 g1 ~ gb1@2",
  X: "f2@2 c2 ~ f1@2 ~ bb2 c3 ~ f3@2 g1 ~ bb1@2", Y: "c2 ~@3 c2 ~@2 c2 g1 ~ g1@2 g1 ~ f1@2",
  Z: "eb1@2 ~@2 f2@2 ~ f1 ~@2 bb1@2 ab1 ~ f1@2", AA: "eb1 ~@3 eb2@2 ~ eb1 ~@2 eb1 bb1 g1@2 f1@2",
  AB: "e1@2 ~@2 e3 ~@2 e1!2 ~@2 e2 eb2@2 e2@2", AC: "c1@3 ~ f1 ~@2 f1 ~@2 c2@2 eb2 ~ eb2@2",
  AD: "f1@2 ~@2 c2@2 ~ f3 ~@2 f3@2 c3 bb2 g2 eb2", AE: "c2@2 ~@2 c2@2 ~ bb1 g1 ~ g1@2 g1 ~ gb1@2",
  AF: "f1@2 ~@2 f1@2 ~ bb1 ~@2 bb1@2 g1 ~ bb1@2", AG: "c2@2 ~@2 c2@2 ~ eb1!2 ~ eb1@2 g1 ~ gb1@2",
  AH: "f1@2 ~@2 f1@2 ~ bb1 ~@2 bb1@2 eb1 ~ f1@2", AI: "eb1@2 ~@2 eb2@2 ~@2 bb1@2 ~ bb1!2 ~ f1@2",
  AJ: "e3@2 ~@2 c3@2 ~@2 bb2@2 bb2 ~ g2 ~ gb2@2", AK: "f1@2 ~@2 f1@2 ~ f1 ~@2 g2@2 eb2@2 f2@2",
  AL: "c2@4 g1 ~@2 c1 ~@2 c1@2 c1 ~ c1@2", AM: "f2@4 f1 ~@2 c1 f2!2 c1@2 eb1 ~ eb1@2",
  AN: "f1@2 ~@2 f1@2 ~ f1 ~@2 g2@2 c2@2 eb2@2", AO: "f1 ~@3 f1 ~@2 f1 ~@2 g2@2 c2 ~ eb2@2",
  AP: "f1@2 ~@2 c2@2 ~ g2 c3 ~ c3@2 c3 bb2 g2 bb2", AQ: "[c2,c3] ~@6 [c2,c3]", AR: "[c2,c3]@2 ~@11 [g1,g2] [bb1,bb2]@2",
  AS: "[c2,c3]@2 ~@6 [bb1,bb2] ~ [bb1,bb2] ~ [bb1,bb2]!2 [c2,c3]@2", // C Bb C
  AT: "[c2,c3]@2 ~@2 c2@2 ~ bb1 g1 ~ g1@2 g1 ~ gb1@2", AU: "f1@2 ~@2 f1@2 ~ bb1 f1 ~ bb1@2 g1 bb1 c2@2",
  AV: "[c2,c3]@2 ~@2 c1@2 ~ bb1 g1 ~ g1@2 f1 ~ g1@2", AW: "c2@4 c1@2 ~ bb1 g1 ~ g1@2 g1 ~ gb1@2",
  AX: "f1@2 ~@2 c2@2 ~@2 c3 ~@3 g1 ~ bb1@2", AY: "c2@2 ~@2 c1@2 ~ bb1 g1 ~ g1@2 g1 ~ gb1@2",
  AZ: "f1@2 ~@2 c2@2 ~ g1 ~@2 g1@2 g1 ~ bb1@2", BA: "f1@2 ~@2 g2@2 c3@2 bb1@2 bb1@2 g1 ~ f1@2",
  BB: "[eb1,eb2]@3 ~ eb2@2 ~@2 bb1@2 ~ bb1!2 ~ f1@2", BC: "e3@2 ~@2 c3@2 ~@2 bb2@2 c3 ~ bb2 c3@3",
  BD: "f1@2 ~@2 f1@2 ~ f1!2 ~ f1 ~ f1 ~ f1 ~", BE: "f1@2 ~@2 f1@2 ~ f1!2 ~ c3@2 eb1@2 eb1@2",
  BF: "f2@4 f1@2 ~ c2!2 ~ c2 ~ c2 ~ eb1 ~", BG: "f1@2 ~@2 f1@2 ~ f1 f1@3 gb1@3 g1@2",
  BH: "ab2@4 ab1@2 ~ eb1 eb1@2 ~@2 eb1 ~ eb1 ~", BI: "ab1@3 ~ ab1@2 ~ ab1 ~@2 eb1 ~ gb1@2 gb1@2",
  BJ: "ab2@4 ab1@2 ~ eb2!2 ~ eb2 ~ eb2 ~ gb1 ~", BK: "ab1@3 ~ eb1@3 ~ ab1@3 g1@3 gb1@2",
})).s("gm_slap_bass_1").gain(0.56)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note("<A B@2 C@2 D@2 E@2 F@2 G@2 H@2 I J K@2 L@2 M@2 N@2 O P Q R ~@114>".pickRestart({
  A: "~@6 bb3@2 eb4@2 f4@2 g4@2 f4 ~",
  B: "[~@3 ab2 ~@7 bb3 ~ f4 g4@2, ab1@3 ~, [c4,eb4,g4]@21 ~@11, ab3@12 g3@19 ~, ~@8 bb2@16 [ab2,eb4]@7 ~]/2", // Cm Ab5
  C: "[eb4@5 ~ eb4@5 ~ bb3@10 bb3@2 eb4@2 f4 ~ g4@2 f4 ~, [g2,bb3,g4]@3 c3@5, ~@12 g4@15 ~@5, ~@3 eb4@3 ~@2]/2", // Gm
  D: "[eb4@2 bb3 ~@2 bb3 ~@8 f4 g4, [f2,ab3,c4]@12 [ab3,c4]@19 ~, ~@6 eb4@17 ~@9, ~@3 bb2@3 ~@2, ~@20 bb1@11 ~]/2", // Fm Ab
  E: "[[db4,f4,ab4] [bb3,eb4,g4] [ab3,db4,f4] [bb2,g3,bb3,c4,eb4,g4], [eb2,eb3]]/2", // Db Eb Db Cm7 Eb
  F: "[eb3@4 ~@2 ab3@2 bb3@3 ~@7 c4@6 [ab2,ab3,bb3,eb4]@2 c4 ~ [ab2,ab3,bb3,c4,eb4,g4]@3 ~, [ab2,g3]@3 ~, c4 ~]/2", // Absus2 Abmaj7
  G: "[eb4@6 bb4@2 eb4@3 ~ c3@4 ~@4 bb3 ~ g3@2 g3@2 bb3@2 g3 ~ [c3,ab3,eb4,g4]@2, g2@11 ~ g3@9 ~@11, [g3,bb3,g4]@9 ~@3 eb4@12 eb4@6 ~@2, ~@12 bb3@7 ~@13, ~@4 g2@2 [c3,bb4] ~]/2", // Abmaj7 Gm C7
  H: "[~@2 g4@2 ~@2 g3@2 ab3@4 ~@4 bb1@3 ~ bb1@4 ~@2 f4 ~ g4@3 ~, c4@2 ~ [f3,ab3]@5, [f2,ab3]@4 eb4@8 eb4@8 eb4@3 ~@9, ~@6 f2@6 [bb2,c4]@12 [bb2,eb4]@7 ~, ~@16 bb3 ~@3 bb3@12]/2", // Fm Bbsus2 Eb5
  I: "[bb2,ab3,db4,f4,ab4]@7 ~ [eb3,bb3,eb4,g4,bb4]@7 ~", // Bbm7 Eb
  J: "[ab3,db4,f4,ab4]@5 ~@7 eb5@3 ~, bb2, ~@8 [eb3,bb3,eb4,g4,bb4]@7 ~", // Db Eb
  K: "[eb4@5 ~ eb4@2 ~ g3 ~ c4 [d4,d5]@2 [eb4,eb5]@2, ab2@31 ~, [c4,g4,c5]@15 ~ eb4@8 ~@8, ~@10 bb3@6 ~ c4@4 ~@11, ~@3 eb5@3 ~@2]/2", // D Eb C5
  L: "[bb4@11 ~@13 c4@2 [g3,d4]@2 [bb3,eb4]@2 [g3,f4]@2, [g2,g3,bb3]@3 g2, [eb4,g4]@19 ~ eb5@11 ~, ~@12 bb4@11 ~@5 bb4@4, ~@5 eb4@2 ~]/2", // G5 Eb5 G7 Gm Eb
  M: "[ab3 ~@5 eb4 [f3,eb4], [f2,c4], eb3@12 bb4@12 ab3@7 ~, f3@2 f3@3 g3@3, ~ ab3@3 eb3@4]/2", // F7 F5
  N: "[f3@3 ~@9 b3@4 g3 ab3@7 g3@3 ~ g3@4, g2@31 ~, [d4,eb4,f4] ~, b3@11 ~@5 [b3,eb4,g4,ab4,bb4]@15 ~, ~ g3 ~@2]/2", // Dm Eb
  O: "[c4,c5]@3 [c2,c3,c5] [c3,c4,c5]!2 [c3,c4] [c3,c4,c5] [c4,c5] [c3,c5] [c2,c3,c4,c5] [c3,c4,c5] [c2,c3,c4] [c4,c5] [c3,c4,c5] [c3,c5], [c2,c3] ~@7", // C
  P: "[c3,c4,c5] [c2,c3,c4,c5] [c3,c4] [c4,c5] [c3,c4,c5] [c3,c5] [c3,c4,c5]!2 [c2,c3,c4,c5] [c2,c4] [c2,c3,c4,c5] [c3,c5] [c3,c4,c5] [c3,c4] [c4,c5] [c3,c4,c5]", // C
  Q: "[c3,c5] [c3,c4,c5]!2 [c2,c3,c4] [c3,c4,c5] [c4,c5] [c3,c5] [c3,c4,c5] [c3,c4] [c3,c4,c5] [c2,c3,c4,c5] [c2,c5] [c3,c4,c5]!3 c4", // C
  R: "[c3,c4,c5]!2 c5 [c2,c3,c4,c5] [c3,c4,c5] [c3,c4] [c3,c4,c5] [c4,c5] [c3,c5] [c3,c4,c5] [c2,c3,c4] [c3,c4,c5] [c2,c3,c4,c5] c5 [c3,c4,c5]!2", // C
})).s("gm_epiano2").gain(0.2)

// chords · epiano2 · "E.PIANO 2" · soft notes
const epiano2_soft = note("<~ A@2 ~ B C@2 ~@2 D E F@2 G ~@3 H@2 ~ I ~@2 J ~ K L M N O ~@113>".pickRestart({
  A: "[~ eb2@5 ~@2]/2", B: "~@2 g3 ~@5", C: "[f3@3 ~ f3@8 ~@6 f2@13 ~, ~@12 f3@19 ~]/2",
  D: "~@4 eb3@3 ~@3 eb3@2 ~@2 bb3@2, ab3@3 ~@3 ab3@2", E: "eb3 ~@15",
  F: "[~@9 c3@3 ~ eb3 [c3,ab4] eb3, ~@3 c2@3 ~@2]/2", G: "f3@2 f3 ~@5, ab4 ~@7",
  H: "[~@8 g3@9 ~@3 g3@2 ~@10, eb3@31 ~, ~@17 bb3@10 ~@5]/2", I: "~@4 f3 ~@3", J: "~ f3@3",
  K: "~@2 c2 ~ c2 ~ c2!4 ~@3 c2!3", L: "~@2 c2!4 ~ c2 ~@4 c2!4", M: "c2!2 ~@2 c2!4 ~ c2 ~@2 c2 ~ c2!2",
  N: "c2!3 ~@2 c2!5 ~@3 c2!2 ~", O: "c2 ~@15",
})).s("gm_epiano2").gain(0.15)

// chords · epiano1 · "E.PIANO 2"
const epiano1 = note(`<
  ~@61 A B A B A B C D ~@13 A B C D ~@24 A B A B A B C D E@2 F@2 G@2 H@2 E@2 F@2 G@2 H@2 E@2 F@2 G@2 H@2 ~
>`.pickRestart({
  A: "[bb3,c4,eb4,g4]@8 ~@2 [bb3,d4,f4]@5 ~", B: "[ab3,c4,eb4]@7 ~", C: "[g3,bb3,d4,f4]@15 ~",
  D: "ab4 g4 ab4 bb4, [bb3,c4,e4]", E: "[[ab3,c4,eb4,g4]@24 ~@2 [g3,bb3,d4,f4]@3 [g3,bb3,d4,f4]@2 ~]/2",
  F: "[[ab3,c4,eb4,g4]@23 ~ [ab3,c4,eb4,g4]@3 [a3,db4,e4,ab4]@2 ~ [bb3,d4,f4,a4]@2]/2", // Abmaj7 Amaj7 Bbmaj7
  G: "[[b3,eb4,gb4,bb4]@24 ~@2 [bb3,db4,f4,ab4]@3 [bb3,db4,f4,ab4]@2 ~]/2", // Bmaj7 Bbm7
  H: "[[b3,eb4,gb4,bb4]@23 ~ [b3,eb4,gb4,bb4]@3 [bb3,d4,f4,a4]@2 ~ [a3,db4,e4,ab4]@2]/2", // Bmaj7 Bbmaj7 Amaj7
})).s("gm_epiano1").gain(0.3)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
  ~@30 A@2 B C D C ~ C D C D C D C D C D C@2 D E ~ C D C@2 D ~ E ~ F ~ G ~ G ~ H I J C D C@2 D ~ E ~ F ~ G ~ G ~ K I J C
  D C@2 D E ~ C D C@2 D ~ E ~ F ~@9 G ~ G ~ H I J C D C ~ L M L ~ C D C ~ L M L ~ C D C ~ L M L ~@2
>`.pickRestart({
  A: "[~@12 g4 f4 g4@6 ~@12]/2", B: "bb3 ~ c4 ~ g4 ~@3 eb4@2 ~ f4 ~@4", C: "~@8 bb3 ~@2 bb3 ~@3 bb3",
  D: "~@9 bb3 ~ bb3 ~@4", E: "~@8 c4 bb3 c4 eb4 ~ eb4 ~@2", F: "~@7 eb4 ~ f4 g4 ~@5",
  G: "~@4 c4 bb3 ~ eb4 ~@2 f4 ~ eb4 ~@3", H: "~@4 c4 bb3 ~ eb4 ~@2 f4 ~ f4@2 ab4 ~",
  I: "~@4 [bb3,d4,g4] ~@3 [bb3,d4,g4]!2 ~ [bb3,d4,g4] ~@4", J: "~@4 [ab3,c4,e4] ~@3 [ab3,c4,e4]!2 ~ [ab3,c4,e4] ~@4",
  K: "~@4 c4 bb3 ~ eb4 ~@2 c4 ~ f4@2 ab4 ~", L: "~@8 db4 ~@2 db4 ~@3 db4", M: "~@9 db4 ~ db4 ~@4",
})).s("gm_overdriven_guitar").gain(0.13).pan(0.8)

// other · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft = note(`<
  ~@33 A B A ~ A B A B A B A B A B A@2 B ~@2 A B A@2 B ~@5 C ~ C ~ C ~@2 A B A@2 B ~@5 C ~ C ~ D ~@2 A B A@2 B ~@2 A B
  A@2 B ~@13 C ~ C ~ C ~@2 A B A ~ E F E ~ A B A ~ E F E ~ A B A ~ E F E ~@2
>`.pickRestart({
  A: "~@10 g3 ~@2 bb3!2 ~", B: "~@10 g3 ~@5", C: "~@6 c4 ~@9", D: "~@6 c4 ~@2 eb4 ~@6", E: "~@10 bb3 ~@2 db4!2 ~",
  F: "~@10 bb3 ~@5",
})).s("gm_overdriven_guitar").gain(0.06).pan(0.8)

// chords · clavinet · "#CLAVI 2"
const clavinet = note(`<
  ~@33 A@3 ~ B@13 ~@2 B@5 ~@12 B@5 ~@12 B@5 ~@2 B@5 ~@8 C D C E F C G C G C ~@2 B@3 H I@3 J B@3 H I@3 J B@3 H I@3 J ~
>`.pickRestart({
  A: "[bb3,eb4] ~ [c4,f4] ~ [bb3,eb4] ~ [c4,f4] ~@4 [bb3,eb4] ~ [bb3,eb4] ~@2", // Eb5 F5 Eb5 F5 Eb5
  B: "[bb3,eb4] ~ [c4,f4] ~ [bb3,eb4] ~ [c4,f4] [bb3,eb4] ~@3 [bb3,eb4] ~ [bb3,eb4] ~@2", // Eb5 F5 Eb5 F5 Eb5
  C: "bb3 ~ c4 ~ bb3 ~ c4 bb3 ~@3 bb3 ~ bb3 ~ g3", D: "bb3 ~ c4 ~ bb3 ~ c4 bb3 ~ g2 bb2 [bb2,bb3] ~ [bb2,bb3] ~ g3",
  E: "bb3 ~@15", F: "bb3 ~ c4 ~ bb3 ~ c4 bb3 ~@2 [f4,bb4] [bb3,f4,bb4] ~ [bb3,f4,bb4] ~ g3",
  G: "bb3 ~ c4 ~ bb3 ~ c4 bb3 ~@2 [d4,f4] [bb3,d4,f4] ~ [bb3,d4,f4] ~ g3", // Dm Bb
  H: "[bb3,eb4] ~ [c4,f4] ~ [bb3,eb4] ~ [c4,f4] [bb3,eb4] ~@8", // Eb5 F5 Eb5 F5 Eb5
  I: "[db4,gb4] ~ [eb4,ab4] ~ [db4,gb4] ~ [eb4,ab4] [db4,gb4] ~@3 [db4,gb4] ~ [db4,gb4] ~@2", // Gb5 Ab5 Gb5 Ab5 Gb5
  J: "[db4,gb4] ~ [eb4,ab4] ~ [db4,gb4] ~ [eb4,ab4] [db4,gb4] ~@8", // Gb5 Ab5 Gb5 Ab5 Gb5
})).s("gm_clavinet").gain(0.3).pan(0.3)

// other · shamisen
const shamisen = note("<~@50 A B ~@6 A B ~@15 A B ~@14 A B ~@6 A B ~@42>".pickRestart({
  A: "~@4 [eb3,eb4] [f3,f4] [eb3,eb4] [c3,c4] [d3,d4] [eb3,eb4] [d3,d4] [bb2,bb3] [d3,d4] [eb3,eb4] [d3,d4] [bb2,bb3]", // Eb F Eb C D Eb D Bb …
  B: "[c3,c4] [d3,d4] [c3,c4] ~@13", // C D C
})).s("gm_shamisen").gain(0.21)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@5 A@4 B@4 C@3 D E@2 F@3 G H G I@4 ~@7 J K@4 L@4 M@2 N@2 O P Q R@2 N@2 O ~ P S T ~@6 U V W@2 N@2 O ~ P S T ~@6 X Y
  W@2 N@2 O P Q R@2 N@2 O ~ P S T ~@14 X Y Z@2 AA@2 AB@4 Z@2 AA@2 AB@4 Z@2 AA@2 AB@4 ~
>`.pickRestart({
  A: "[bb3@4 eb3@3 g3]/4", B: "[bb3 eb4]/4", C: "[eb4@3 eb4@5 db6@2 eb6@2]/3", D: "db6 eb6", E: "c6/2",
  F: "[bb5@2 c6]/3", G: "ab6 g6", H: "f6", I: "[~ eb6@63]/4",
  J: "~@9 g4 [ab4,bb4] [c5,d5] [eb5,f5] [g5,ab5] [bb5,c6] [d6,eb6]", // Absus2 Csus2 Ebsus2 Abmaj7 Bbsus2 Ebmaj7
  K: "[[f6,g6] ~@37 f5@2 c5@22 bb5 c6, g5@19 ~@13]/4", L: "[g5@19 f5 c6@8 bb5@2 g5 ab5]/4", M: "[g5@13 f5@3]/2",
  N: "[g5@13 bb5@3]/2", O: "g5@3 eb5 c5@4",
  P: "~@4 [eb3,eb4] [f3,f4] [eb3,eb4] [c3,c4] [d3,d4] [eb3,eb4] [d3,d4] [bb2,bb3] [d3,d4] [eb3,eb4] [d3,d4] [bb2,bb3]", // Eb F Eb C D Eb D Bb …
  Q: "[c3,c4] [d3,d4] [c3,c4]@6 ~ g4 [ab4,bb4] [c5,d5] [eb5,f5] [g5,ab5] [bb5,c6] [d6,eb6]", // C D C Absus2 Csus2 Ebsus2 Abmaj7 Bbsus2 …
  R: "[[f6,g6] ~@25 f5@6, g5@13 ~@3]/2", S: "[c3,c4] [d3,d4] [c3,c4]@6 ~@8",
  T: "~@8 [bb3,bb4] [c4,c5] ~@2 [eb4,eb5] [f4,f5] ~@2", U: "~ bb4 c5 eb5", V: "g5 bb5 c6 db6", W: "[eb5@13 f5@3]/2",
  X: "~@4 [bb4,bb5] [ab4,ab5] [g4,g5] [f4,f5] [eb4,eb5] [d4,d5] [c4,c5] [bb3,bb4] [ab3,ab4] [g3,g4] [f3,f4] [eb3,eb4]", // Bb Ab G F Eb D C Bb …
  Y: "[c3,c4] [d3,d4] [e3,e4] [f3,f4] [g3,g4] [a3,a4] [bb3,bb4] [c4,c5] [d4,d5] [e4,e5] [f4,f5] [g4,g5] [ab4,ab5] [bb4,bb5] [c5,c6] [d5,d6]", // C D E F G A Bb C …
  Z: "[eb5@15 f5]/2", AA: "[g5@24 eb5@3 e5@3 f5@2]/2", AB: "[gb5@22 ab5@2 bb5@32 gb5@3 f5@3 e5@2]/4",
})).s("gm_string_ensemble_1").gain(0.3)

// other · drawbar organ · "ORGAN 1"
const drawbar_organ = note("<~@37 [~@2 bb2 ~@3 bb2 ~@3 bb2 ~@3 bb2 ~]!65 ~@8 [~@2 bb2 ~@3 bb2 ~@3 bb2 ~@3 bb2 ~]!32 ~>")
  .s("gm_drawbar_organ").gain(0.25)

// other · drawbar organ · "ORGAN 1" · soft notes
const drawbar_organ_soft = note(`<
  ~@37
  [ab2 ~@3 ab2 ~@3 ab2 ~@3 ab2 ~@3]!65
  ~@8
  [ab2 ~@3 ab2 ~@3 ab2 ~@3 ab2 ~@3]!32
  ~
>`).s("gm_drawbar_organ").gain(0.1)

// other · english horn · "ENGL.HORN"
const english_horn = note("<~@4 A B@2 ~@5 A C@2 D@2 E@2 F@2 G@2 H I J@4 ~@114>".pickRestart({
  A: "~@4 bb4@2 ab4 g4", B: "eb4/2", C: "[ab4@2 g4@2 eb4@27 ~]/2", D: "db4 eb4", E: "[c4@6 d4 eb4]/2",
  F: "[bb3@12 c4 d4 eb4 f4]/2", G: "[g4@3 eb4]/2", H: "d4", I: "ab3 g3", J: "[~ c4@63]/4",
})).s("gm_english_horn").gain(0.15)

// chords · orchestral harp · "#HARP 2" · Abmaj7 Bb Abmaj7 Bb
const orchestral_harp = note(`<
  ~@29
  [~@4 [ab3,c4,eb4,g4] ~@2 [ab3,c4,eb4,g4] ~@2 [ab3,c4,eb4,g4] ~@2 [bb3,d4,f4] ~@2]!7
  ~@66
  [~@4 [ab3,c4,eb4,g4] ~@2 [ab3,c4,eb4,g4] ~@2 [ab3,c4,eb4,g4] ~@2 [bb3,d4,f4] ~@2]!7
  [bb4 c5 bb4 c5 bb4 c5 bb4 c5 bb4 c5 bb4 c5!2 d5 eb5 f5]
  ~@33
>`).s("gm_orchestral_harp").gain(0.2)

// other · music box
const music_box = note(`<
// … 156 more lines

More by Chaka Khan