Strudelify

Being With You

Robinson

KeyE♭ majorTempo108 bpm
0:00/0:00
// Being With You — Robinson
// 108 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 114 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(108/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 · electric bass finger
const bass = note(`<
  ~ A@3 B C@5 D E F G@2 H F I D E F G@2 J K@2 L M N O P Q@8 R S T U V W X Y Z W AA AB V W AC Y Z AD AE@4 AF@5 AG AH@2 AI
  AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AW AY AW AX AU AZ AW AX BA AY BB BC BA BD BE BC BF AZ BG BH BA BD BE BC
  BF AZ BI@3
>`.pickRestart({
  A: "[~@9 c3@64 ~@23]/3", B: "~@25 c2@4 d2@3", C: "[~ eb2@4 f2@4 c2@32 bb1@32 ab1@64 eb2@8 ~@4 eb2@2 ~@2 eb2@7]/5",
  D: "~@5 d2@4 c2@10 ~@2 f1@4 ~@4 g1@3", E: "~ ab1@4 bb1@4 eb2@8 ~@4 eb2@2 ~@2 eb2@7",
  F: "~@5 d2@4 c2@8 ~@4 g2@4 c3@4 bb2@3",
  G: "[~ g2@4 f2@4 eb2@8 ~@4 eb2@2 ~@2 eb2@10 ~@2 d2@4 c2@10 ~@2 f2@4 ~@4 g2@3]/2",
  H: "~ ab2@4 bb2@4 eb2@6 ~@6 eb2@2 ~@2 eb2@6 ~", I: "~ g2@4 f2@4 eb2@8 ~@4 eb2@2 ~@2 eb2@7",
  J: "~ ab2@4 bb2@4 eb2@6 ~@6 eb2@2 ~@2 eb2@7",
  K: "[~@5 bb2@4 eb2@6 ~@6 eb2@2 ~@2 eb2@4 ~@2 bb1@2 bb1@4 c2@4 eb2@10 ~@2 c2@11]/2", L: "~ bb1@4 ~@4 eb2@10 ~@2 c2@11",
  M: "~ bb1@4 ~@4 ab2@12 f2@11", N: "~ eb2@6 ~@2 ab2@11 f2@12", O: "eb2@2 ~@2 eb2@5 ~ c2@6",
  P: "bb1@2 ~@2 eb2@5 ~ c2@6",
  Q: "[bb1@4 ~@4 ab2@12 f2@11 eb2@6 ~@2 ab2@12 f2@12 eb2@4 ~@4 g2@12 f2@12 d2@4 ~@4 g2@10 ~@2 f2@12 d2@4 ~@4 c2@11 bb1@12 g1@6 ~@2 c2@12 c2@2 ~@2 c2@8 bb1@4 g1@4 ab1@10 ~@2 ab2@12 eb2@4 ~@4 ab1@12 ab2@11 ab1@3]/8",
  R: "~@5 bb1@8 ~@4 bb1@2 ~@2 bb1@8 ~@3", S: "~ bb1@2 ~@2 bb1@8 ~@4 bb1@2 ~@2 bb1@4 ~@2 bb1@2 c2@3",
  T: "~ d2@4 eb2@8 ~@4 eb2@4 eb2@6 ~@5", U: "~ d2@4 c2@4 g2@4 c3@4 f2@4 ~@4 g2@4 ab2@3",
  V: "~ bb2@4 eb2@8 ~@4 eb2@2 ~@2 eb2@8 ~@3", W: "~ d2@4 c2@8 ~@4 g2@4 c3@4 bb2@4 g2@3",
  X: "~ f2@4 eb2@8 ~@4 eb2@2 ~@2 eb2@8 ~@3", Y: "~ d2@4 c2@8 ~@4 f1@4 ~@4 g1@4 ab1@3",
  Z: "~ bb1@4 eb2@8 ~@4 eb2@2 ~@2 eb2@8 ~@3", AA: "~ f2@4 eb2@8 ~@4 eb2@4 eb2@6 ~@5",
  AB: "~ d2@4 c2@8 ~@4 f2@4 ~@4 g2@4 ab2@3", AC: "~ f2@4 eb2@8 ~@4 eb2@4 eb2@8 ~@3",
  AD: "~ bb2@4 eb2@8 ~@4 eb2@4 eb2@4 ~@4 bb1@3", AE: "[~ b1@4 c2@60 g2@4 c3@46 ~@2 c2@4 d2@4 eb2@3]/4",
  AF: "[~ g2@4 c2@32 bb1@32 ab1@32 f1@32 eb2@10 ~@2 c2@12 bb1@3]/5", AG: "~@2 eb2@5 ~ c2@6 bb1@2",
  AH: "~ ab2@3 f2@3 eb2", AI: "~@4 eb2@10 ~ c2@12 bb1@4 ~", AJ: "~@3 eb2@10 ~@2 c2@12 bb1@4 ~",
  AK: "~@3 ab2@12 f2@12 eb2@5", AL: "~@3 ab2@12 f2@11 eb2@4 ~@2", AM: "~ g2@6 f2@6 d2@2 ~", AN: "~ g2@5 ~ f2@6 d2@2 ~",
  AO: "~ c2@6 bb1@6 g1@3", AP: "~ c2@12 c2@2 ~@2 c2@8 bb1@4 g1@3", AQ: "~ ab1@10 ~@2 ab2@12 eb2@4 ~@3",
  AR: "~ ab1@12 ab2@12 ab1@4 ~@3", AS: "~ bb1@8 ~@3 bb1@2 ~@2 bb1@8 ~@4 bb1@2 ~@2",
  AT: "bb1@4 ~@2 bb1 ~ bb1@2 ~ bb1 c2@2 d2@2", AU: "eb2@4 ~@2 eb2@2 eb2@3 ~@3 d2@2", AV: "c2 g2 c3 f2 ~ g2 ab2 bb2",
  AW: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 d2@2", AX: "c2@2 ~ g2 c3 bb2 g2 f2", AY: "c2@2 ~ f1 ~ g1 ab1 bb1",
  AZ: "c2@2 ~ f2 ~ g2 ab2 bb2", BA: "eb2@2 ~ eb2 eb2@2 ~ d2", BB: "eb2@5 ~ eb2 ~ eb2@5 ~ d2@2",
  BC: "c2@5 ~ g2@2 c3@2 c3@2 bb2@2 g2@2", BD: "c2@5 ~ f1@3 ~ g1@2 ab1@2 bb1@2", BE: "eb2@5 ~ eb2 ~ eb2@4 ~@2 d2@2",
  BF: "eb2@4 ~@2 eb2@2 eb2@5 ~ d2@2", BG: "eb2@5 ~ eb2@2 eb2@4 ~@2 d2@2", BH: "c2@2 ~ g2 c3!2 bb2 g2",
  BI: "[~ eb2@81 ~@14]/3",
})).s("gm_electric_bass_finger").gain(0.4)

// other · epiano1
const epiano1 = note(`<
  ~ A B C@2 D E F G@2 ~@2 H I@2 ~ J K L@2 M N@2 O P Q ~@8 R@5 S@2 ~@3 T U ~@2 V W@3 X@4 Y Z AA AB@3 ~ AC AD@2 ~@8 AE
  AF@2 AG ~ AH AI ~@3 AJ AK ~@2 AL AM AN ~ AO AP AN AP AQ AM AR AM AR AM AR AM AR AM AR AM AR AM AR AS AT@2
>`.pickRestart({
  A: "~@9 g5@23", B: "~ c6@4 g5@4 bb5@12 d5@11", C: "[~ eb5@4 f5@4 g5@48 ~@7]/2", D: "~@29 c6@3",
  E: "~ d6@4 eb6@4 d6@20 g5@3", F: "~ bb5@4 g5@4 ~@12 g6@4 f6@4 eb6@3, ~@5 a5@2 ~@25",
  G: "[~ c6@4 ab5@4 ab5@4 g5@4 [eb5,ab5]@24 ~@23]/2", H: "~@25 [f4,d5]@4 [g4,eb5]@3",
  I: "[~ [f4,d5]@4 [eb4,c5]@4 [bb3,bb4]@32 ~@23]/2", J: "~@21 c6@4 bb5@4 g5@3", K: "~ f5@4 g5@26 ~",
  L: "[~@9 [c4,d5]@4 [c4,eb5]@4 [c4,d5]@4 [g4,c5]@18 ~@25]/2", M: "~@29 [eb5,c6]@3",
  N: "[~ [c5,g5]@4 [eb5,bb5]@36 ~@23]/2", O: "~@9 [f4,d5]@4 [g4,eb5]@4 [f4,d5]@4 [eb4,c5]@11",
  P: "~ [bb3,g4]@8 [eb4,bb4]@16 g5@4 d5@3", Q: "~ bb4@4 g4@4 ~@23",
  R: "[~@23 bb5@8 c6@8 eb6@33 ~@2 c6@4 bb5@4 g5@4 f5@4 g5@4 eb5@4 c5@4 eb5@31 ~@27]/5", S: "[~@5 f5@33 ~@26]/2",
  T: "~@25 c6@4 g5@3", U: "~ g5@4 bb5@22 ~@5", V: "~@21 [f5,d6]@4 [g5,eb6]@4 [f5,d6]@3",
  W: "[~ [eb5,c6]@4 [bb4,bb5]@22 ~@2 [c5,c6]@8 [g4,g5]@12 [ab4,ab5]@20 ~@27]/3", // Cm Bb C G Ab
  X: "[~@29 [c5,c6]@8 [bb4,bb5]@24 [c5,c6]@8 [g4,g5]@12 [ab4,ab5]@20 ~@24 f6@3]/4", // C Bb C G Ab
  Y: "~ g6@4 f6@4 eb6@8 d6@4 c6@4 bb5@4 ab5@3", Z: "~ g5@28 c6@3", AA: "~ bb5@4 g5@14 ~@2 c6@4 d6@4 eb6@3",
  AB: "[~ f6@4 g6@32 ~@4 g6@8 eb6@4 c6@4 eb6@12 ~@27]/3", AC: "~@17 g6@4 f6@4 eb6@4 c6@3",
  AD: "[~ ab5@4 ab5@4 g5@4 [eb5,ab5]@24 ~@27]/2", AE: "~@9 bb5@4 c6@3",
  AF: "[~@2 eb6@33 ~@2 c6@4 bb5@4 g5@4 f5@4 g5@4 eb5@4 c5@3]/2", AG: "~ eb5@31", AH: "~ f5@31",
  AI: "f5 ~@3 f5@2 ~@2 f5 ~@3 f5 ~@3", AJ: "~@5 c6 g5!2", AK: "bb5@11 ~@5", AL: "~@4 [f5,d6] [g5,eb6] [f5,d6] [eb5,c6]",
  AM: "[bb4,bb5]@11 ~ [c5,c6]@4", AN: "[g4,g5]@3 [ab4,ab5]@5", AO: "~@3 [c5,c6]", AP: "[bb4,bb5]@3 [c5,c6]",
  AQ: "[g4,g5]@2 [c5,c6] [g4,g5]", AR: "[g4,g5]@7 ~ [g4,g5]@4 [ab4,ab5]@3 ~", AS: "~@9 d6@7 bb5@7 ~ g5@8",
  AT: "[~ f5@24 ~@7]/2",
})).s("gm_epiano1").gain(0.3).pan(0.3)

// chords · epiano2
const epiano2 = note(`<
  ~ A@4 B@5 C@2 D@2 E@2 F@2 C@2 D@2 E@2 G@2 H@2 I@2 J K@8 L@4 M@12 N@6 O@6 P@4 Q@2 R@2 S@2 T@2 U@2 V W X Y V W X Y V W X
  Y V W Z AA Y AB Y AB Y AB Y AB Y AB Y AB Y AB AC@3
>`.pickRestart({
  A: "[~@9 [c4,eb4,g4]@62 ~@2 [c4,eb4,g4]@38 ~@2 bb3@4 c4@4 d4@4 eb4@3]/4", // Cm
  B: "[~ f4@4 eb4@4 [eb4,g4]@30 ~@2 [eb4,g4]@30 ~@2 [eb4,g4]@64 [g3,bb3,d4]@10 ~@2 [g3,bb3,d4]@10 ~]/5", // Eb Gm
  C: "[~ [g3,bb3,d4]@6 ~@2 [g3,bb3,eb4]@10 ~@2 [g3,bb3,eb4]@20 [g3,bb3,d4]@10 ~@2 [g3,bb3,d4]@10 ~]/2", // Gm Eb Gm
  D: "[~ [g3,bb3,d4]@6 ~@2 [g3,bb3,c4]@10 ~@2 [g3,bb3,c4]@18 ~@2 [g3,bb3,d4]@10 ~@2 [g3,bb3,d4]@11]/2", // Gm C7 Gm
  E: "[~ [g3,bb3,d4]@6 ~@2 [g3,bb3,eb4]@12 [g3,bb3,eb4]@18 ~@2 [g3,bb3,d4]@10 ~@2 [g3,bb3,d4]@11]/2", // Gm Eb Gm
  F: "[~ [g3,bb3,d4]@6 ~@2 [g3,bb3,c4]@10 ~@2 [g3,bb3,c4]@18 ~@2 [g3,bb3,d4]@10 ~@2 [g3,bb3,d4]@10 ~]/2", // Gm C7 Gm
  G: "[~ [g3,bb3,d4]@6 ~@2 [g3,bb3,d4]@10 ~@2 [g3,bb3,d4]@18 ~@2 [g3,bb3,d4]@21 ~@2]/2", // Gm
  H: "[~ [g3,bb3,d4]@35 ~@5 [g3,c4,eb4]@21 ~@2]/2", I: "[~ [g3,c4,eb4]@37 ~@2 [g3,bb3,d4]@21 ~@3]/2", J: "[g3,bb3,d4]",
  K: "[~@8 [g3,c4,eb4]@21 ~@2 [g3,c4,eb4]@37 ~@3 [g3,bb3,d4]@41 ~@3 [g3,bb3,d4]@18 ~@2 [g3,c4,eb4]@41 ~@2 [g3,c4,eb4]@12 [g3,c4,eb4]@6 ~@2 [ab3,c4,eb4]@41 ~@3 [ab3,c4,eb4]@14]/8", // Cm Gm Cm Ab
  L: "[~@5 [bb3,d4,f4]@41 ~@3 [bb3,d4,f4]@12 [bb3,d4,f4]@8 [bb3,d4,g4]@30 ~@2 [bb3,eb4,g4]@10 ~@2 [c4,eb4,f4]@15]/4", // Bb Gm Eb F7
  M: "[~@5 [bb3,d4,g4]@22 ~@2 [bb3,d4,g4]@6 ~@2 [bb3,eb4,g4]@30 ~@2 [bb3,d4,g4]@30 ~@2 [bb3,eb4,g4]@10 ~@2 [c4,eb4,f4]@15]/4", // Gm Eb Gm Eb F7
  N: "[~@5 [bb3,d4,g4]@22 ~@2 [bb3,d4,g4]@6 ~@2 [bb3,eb4,g4]@30 ~@2 [c4,eb4,g4]@96 ~@27]/6", // Gm Eb Cm
  O: "[~@5 [eb4,g4]@30 ~@2 [eb4,g4]@30 ~@2 [eb4,g4]@64 [g3,bb3,d4]@21 ~@3 [g3,bb3,d4]@35]/6", // Eb Gm
  P: "[~@4 [g3,c4,eb4]@21 ~@3 [g3,c4,eb4]@37 ~@3 [g3,bb3,d4]@21 ~@2 [g3,bb3,d4]@35 ~@2]/4", // Cm Gm
  Q: "[~@3 [g3,c4,eb4]@21 ~@3 [g3,c4,eb4]@37]/2", R: "[~@2 [g3,bb3,d4]@41 ~@3 [g3,bb3,d4]@18]/2",
  S: "[~@2 [g3,c4,eb4]@41 ~@2 [g3,c4,eb4]@12 [g3,c4,eb4]@6 ~]/2", T: "[~ [ab3,c4,eb4]@41 ~@3 [ab3,c4,eb4]@16 ~@3]/2",
  U: "[~ [bb3,d4,f4]@41 ~@2 [bb3,d4,f4]@12 [bb3,d4,f4]@8]/2", V: "[bb3,d4,g4]@15 ~",
  W: "[bb3,eb4,g4]@5 ~ [c4,eb4,f4]@8 ~@2", X: "[bb3,d4,g4]@11 ~ [bb3,d4,g4]@3 ~", Y: "[bb3,eb4,g4]@15 ~",
  Z: "[bb3,eb4,g4]@11 ~ [bb3,eb4,g4]@3 ~", AA: "[c4,eb4,g4]@15 ~", AB: "[bb3,c4,eb4]@6 [c4,eb4,f4]@9 ~",
  AC: "[~ [bb3,d4,g4]@81 ~@14]/3", // Gm
})).s("gm_epiano2").gain(0.3).pan(0.7)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~ A B C D E F G H ~@2 I ~ J ~@5 I ~ J ~@35 K L M N O@2 P ~@9 Q R S T U V W X ~@15 Y Z ~@2 AA ~ AA ~ AA ~ AA ~ AA ~ AA
  ~@3
>`.pickRestart({
  A: "~@9 c4@2 ~@2 eb4 ~@3 d4 ~@3 bb3@2 ~@2 c4 ~@3 bb3 ~@2",
  B: "~ c4 ~ c4 ~ bb3 ~ bb3 ~ c4@2 ~@2 eb4 ~@3 d4 ~@3 bb3@2 ~@2 c4 ~ c4 ~ bb3 ~ bb3",
  C: "~ g3@2 ~@2 bb3 ~@3 c4@2 ~@2 eb4@2 ~@2 d4@2 ~@2 bb3@2 ~@2 c4 ~ c4 ~ bb3 ~ bb3",
  D: "~ g3 ~ g3 ~ bb3 ~ bb3 ~ c4@2 ~@2 g3 ~ g3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~ c4 ~ c4 ~ eb4 ~ eb4",
  E: "~ d4 ~ d4@2 g3 ~ g3@2 c4@2 ~@2 eb4 ~@3 d4 ~@3 bb3 ~ bb3 ~ c4 ~@3 bb3 ~ bb3",
  F: "~ c4 ~@3 eb4@2 ~@6 eb4 ~@3 d4 ~@3 bb3 ~@3 c4 ~ c4 ~ bb3 ~ bb3",
  G: "~ c4 ~@3 eb4 ~@7 eb4@2 ~@2 d4 ~@3 bb3 ~@3 c4 ~ c4 ~ bb3 ~ bb3", H: "~ c4 ~@3 eb4@2 ~@25",
  I: "~@5 bb4@2 c5@2 bb4@4 ~@19", J: "~ g4@4 f4@4 eb4@6 ~@17", K: "~@29 c4@3",
  L: "~ bb3@2 ~@2 c4@4 eb4@2 ~@2 d4@2 ~@2 bb3 ~ bb3 ~ c4 ~ c4 ~ bb3 ~ bb3 ~ c4 ~ c4",
  M: "~ bb3 ~ bb3 ~ c4@4 eb4@2 ~@2 d4@2 ~@2 bb3 ~ bb3 ~ c4 ~ c4 ~ bb3 ~ bb3 ~ c4 ~ c4",
  N: "~ bb3 ~ bb3 ~ c4@4 eb4@3 ~ d4@3 ~ bb3@3 ~ c4@3 ~ eb4@3 ~ f4@3",
  O: "[~ eb4@3 ~ g4@30 ~@2 c4@4 eb4@4 d4@4 eb4@4 f4@4 d4@3 ~ eb4@3]/2", P: "~ eb4@2 f4 ~@28", Q: "~@5 d4 ~@7 d4 ~@2",
  R: "~@2 d4@2 ~@2 d4 ~ d4 ~ d4 ~@3 d4 ~@3 eb4 ~@3 eb4 ~@3 c4@4 bb3@2",
  S: "~@2 c4@2 ~@2 eb4 ~ eb4 ~ eb4 ~@3 eb4 ~@3 eb4 ~@3 eb4 ~@3 f4@4 eb4 ~",
  T: "~ eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~@3 eb4 ~@3 eb4 ~@3 eb4 ~@3 f4@4 eb4@2 ~",
  U: "~ eb4 ~@3 eb4 ~ eb4 ~ eb4 ~@3 eb4 ~@3 eb4 ~@3 eb4 ~@3 f4@4 eb4 ~@2",
  V: "~ eb4 ~@3 eb4 ~ eb4 ~ eb4 ~@3 eb4 ~ eb4 ~ eb4 ~ eb4 ~ eb4 ~@3 f4@4 eb4@3",
  W: "~ f4@3 ~@5 f4@3 ~@4 f4@3 ~@5 f4@3 ~@5", X: "f4 ~@3 f4 ~@3 f4 ~@3 f4 ~@3",
  Y: "~@4 eb4@2 ~@2 eb4@4 g3@2 ~@2 bb3@2 c4@2 bb3@2 ~@2 bb3@2 g3@2 f3@3 ~", Z: "eb3@3 ~@13",
  AA: "~@8 eb4 f4 eb4 ~ eb4 f4 eb4 ~",
})).s("gm_electric_guitar_muted").gain(0.35).pan(0.3)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@8 A@2 B C B C B C B C B C B C B C D@2 E F G H I J@5 K L M N@2 O P O Q O P O Q O P O Q O P O Q ~@6 R@3 S T@2 U V W X
  Y@2 Z AA AB@2 AC AD AE AF AE AG AE AF AE AG AE AF AE AG AE AF AE AG AH AI AH AI AH AI AH AI AH AI AH AI AH AI ~@3
>`.pickRestart({
  A: "[~@17 eb4@20 ~@12 [g3,bb3,d4]@2 ~@13]/2", B: "~ [g3,bb3,d4]@2 ~@14 [g3,c4,eb4]@2 ~@13",
  C: "~ [g3,c4,eb4]@2 ~@14 [g3,bb3,d4]@2 ~@13", // Cm Gm
  D: "[~ [g3,bb3,d4]@2 ~@22 bb3@16 [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@5, ~@13 bb4@28 ~@23, ~@17 g4@24 ~@23, ~@21 d4@20 ~@23]/2", // Gm Eb
  E: "~ [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@5", // Eb
  F: "~ [bb3,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@5", // Eb Cm
  G: "~ [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4] [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@6", // Cm
  H: "[c4,eb4,g4] ~@3 [bb3,eb4,g4] ~ [bb3,eb4,g4]!3 ~@3 [bb3,eb4,g4] ~@3", // Cm Eb
  I: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~ [bb3,eb4,g4]!3 ~@3 [bb3,eb4,g4] ~@3", // Eb
  J: "[[bb3,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@5 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@14 [g3,bb3,d4]@2 ~@14 [g3,bb3,d4]@2 ~@14 [g3,bb3,d4]@2 ~@14 [g3,bb3,d4]@2 ~@13 [g3,c4,eb4]@2 ~@14 [g3,c4,eb4]@2]/5", // Eb Cm Gm Cm
  K: "~@7 [g3,c4,eb4] ~@7 [g3,c4,eb4]", L: "~@7 [ab3,c4,eb4] ~@7 [ab3,c4,eb4]",
  M: "~@14 [ab3,c4,eb4]@2 ~@13 [ab3,c4,eb4]@2 ~", N: "~@13 [bb3,d4,f4]@2 ~@14 [bb3,d4,f4]@2 ~",
  O: "~@13 [bb3,d4,g4]@2 ~@14 [bb3,d4,g4]@2 ~", P: "~@13 [bb3,c4,eb4]@2 ~@14 [c4,eb4,f4]@2 ~",
  Q: "~@13 [bb3,c4,eb4]@2 ~@14 [bb3,c4,eb4]@2 ~", // Cm7
  R: "[~@5 f5@30 ~@2 f5@2 g5@2 f5@4 eb5@24 [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~]/3", // Eb
  S: "~@2 [bb3,eb4,g4] ~ [bb3,eb4,g4]!3 ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~", // Eb
  T: "~@2 [c4,eb4,g4] ~ [c4,eb4,g4]!3 ~@3 [c4,eb4,g4] ~@3 [c4,eb4,g4] ~", // Cm
  U: "~@4 [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@3", // Eb
  V: "~@3 [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@6 [bb3,eb4,g4]@2 ~@3", // Eb
  W: "~@3 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@3", // Cm
  X: "~@3 [c4,eb4,g4]@2 ~@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 [c4,eb4,g4]@2 ~@6 [c4,eb4,g4]@2 ~@5 [c4,eb4,g4]@2 ~@4", // Cm
  Y: "~@5 [g3,bb3,d4] ~@7 [g3,bb3,d4] ~@2", Z: "~@5 [g3,c4,eb4] ~@7 [g3,c4,eb4] ~@2",
  AA: "~@9 [g3,c4,eb4]@2 ~@14 [g3,c4,eb4]@2 ~@5", AB: "~@9 [ab3,c4,eb4]@2 ~@14 [ab3,c4,eb4]@2 ~@5",
  AC: "~@9 [bb3,d4,f4]@2 ~@13 [bb3,d4,f4]@2 ~@6", AD: "~@4 [bb3,d4,f4] ~@7 [bb3,d4,f4] ~@3",
  AE: "~@4 [bb3,d4,g4] ~@7 [bb3,d4,g4] ~@3", AF: "~@4 [bb3,c4,eb4] ~@7 [c4,eb4,f4] ~@3",
  AG: "~@4 [bb3,c4,eb4] ~@7 [bb3,c4,eb4] ~@3", AH: "~@4 [g3,bb3,eb4] ~@7 [g3,bb3,eb4] ~@3",
  AI: "~@4 [g3,c4,eb4] ~@7 [g3,c4,eb4] ~@3", // Cm
})).s("gm_electric_guitar_clean").gain(0.25).pan(0.7)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A@8 ~@16 B@4 C@2 D@6 E@5 F@8 G@7 H@8 I@2 J@8 K@2 L@2 M@2 ~ N O P Q R S@2 ~ N O P Q R S@2 ~@17
>`.pickRestart({
  A: "[~@9 [g3,c4,eb4]@64 [g3,c4,eb4]@64 c3@32 bb2@32 ab2@55]/8", B: "[~@5 g4@4 bb4@59 ~ c5@4 g4@39 f4@8 eb4@8]/4",
  C: "[f4@8 bb4@55 ~]/2", D: "[c5@8 g4@51 g5@4 f5@4 eb5@4 d5@55 ~ c5@4 d5@4 eb5@51 f5@4 eb5@2]/6",
  E: "[~@2 d5@4 eb5@63 f5@63 ~@28]/5",
  F: "[~@21 g4@8 ab4@8 bb4@24 c5@8 g4@24 f4@8 eb4@24 d4@8 c4@20 f4@12 eb4@64 ~@27]/8",
  G: "[~@21 g4@8 ab4@8 bb4@24 c5@8 g4@24 f4@8 eb4@24 d4@8 c4@20 f4@12 eb4@59]/7",
  H: "[~@5 [g3,c4,eb4]@64 [g3,c4,eb4]@64 c3@32 bb2@32 ab2@32 f2@27]/8", I: "[~ g4@4 bb4@59]/2",
  J: "[c5@4 g4@39 ~ f4@8 eb4@8 f4@8 bb4@55 c5@8 g4@51 g5@4 f5@4 eb5@4 d5@55 ~ c5@4 d5@2]/8",
  K: "[~@2 eb5@51 f5@4 eb5@4 d5@3]/2", L: "[~ eb5@63]/2", M: "[~ f5@63]/2", N: "~@2 g4 ab4", O: "bb4@3 c5",
  P: "g4@3 f4", Q: "eb4@3 d4", R: "c4@5 f4@3", S: "eb4/2",
})).s("gm_string_ensemble_1").gain(0.3)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@5 A@5 ~@15 B@8 C@8 D@8 E@8 ~@4 F@8 G@4 H@6 I@2 J@2 K@2 J@2 K@2 J@2 K@2 J@2 L@2 M@14 N@3
>`.pickRestart({
  A: "[~@9 c4@32 bb3@32 c4@64 ~@23, ~@9 [eb4,g4]@128 ~@23]/5", // Eb
  B: "[~@9 [bb3,d4]@63 ~ [c4,eb4]@63 [bb3,d4]@63 ~ [c4,eb4]@56, ~@9 g3@126 ~ g3@120]/8", // Bb Cm Bb Cm
  C: "[~@7 [bb3,d4]@63 ~@64 ab3@63 [bb3,d4,f4]@59, ~@7 g3@126 ~@123, ~@71 [c4,eb4]@126 ~@59]/8", // Bb Cm
  D: "[~@5 d4@32 ~@16 [ab3,c4]@16 d4@32 eb4@32 d4@32 ~@16 [ab3,c4]@16 d4@32 eb4@27, ~@5 [g3,bb3]@48 ~@16 [g3,bb3]@64 [g3,bb3]@48 ~@16 [g3,bb3]@59, ~@37 eb4@32 ~@96 eb4@32 ~@59]/8", // Ab Gm
  E: "[~@5 d4@32 ~@16 [ab3,c4]@16 d4@32 eb4@32 d4@32 ~@16 [ab3,c4]@16 [g3,bb3,eb4]@59, ~@5 [g3,bb3]@48 ~@16 [g3,bb3]@64 [g3,bb3]@48 ~@75, ~@37 eb4@32 ~@96 eb4@32 ~@59]/8", // Ab Eb Gm
  F: "[~@5 c4@32 bb3@32 c4@64 [bb3,d4]@63 [c4,eb4]@60, ~@5 [eb4,g4]@128 g3@123]/8", // Bb Cm Eb
  G: "[~@4 [bb3,d4]@63 [c4,eb4]@61, ~ g3@31]/4", H: "[~@2 [bb3,d4]@63 ~@64 ab3@63, ~ g3@63 ~@32, ~@11 [c4,eb4]@21]/6",
  I: "[~ [bb3,d4,f4]@63]/2", J: "[d4@2 ~ [ab3,c4], [g3,bb3]@3 ~, ~ eb4]/2", K: "[d4 eb4, [g3,bb3]]/2",
  L: "[bb3 c4, [g3,eb4]]/2", M: "[[g3,bb3]@11 [c4,f4]@5, eb4]/2", N: "[~ [g3,bb3,d4]@81 ~@14]/3",
})).s("gm_string_ensemble_2").gain(0.25)

// other · vibraphone
const vibraphone = note(`<
  ~@25 A B C D E F G@6 H@4 ~@8 I@3 ~ J@3 ~@9 K@8 L@2 M@2 N@2 O ~@9 P Q ~@2 R S R T U V U V U V U V U V U V U V W@2 ~
>`.pickRestart({
  A: "~@9 bb6@12 c7@11", B: "~ bb6@8 eb6@12 c7@11", C: "~ bb6@8 eb6@12 f7@11", D: "~ eb7@8 eb6@11 f7@12",
  E: "eb7@2 bb6@3 c7@3", F: "bb6@2 eb6@3 c7@3",
  G: "[bb6@8 eb6@12 f7@11 eb7@8 eb6@12 f7@12 eb7@8 d7@47 ~ bb6@16 eb7@51 g7@4 f7@2]/6",
  H: "[~@2 c7@4 eb7@63 f7@31 ~@28]/4", I: "[~@5 bb6@22 ~@2 c7@6 ~@2 g6@10 ~@2 ab6@18 ~@29]/3",
  J: "[~@5 bb6@24 c7@8 g6@12 ab6@18 ~@29]/3",
  K: "[~@5 bb6@12 c7@12 bb6@7 eb6@12 c7@12 bb6@8 eb6@12 f7@12 eb7@8 eb6@12 f7@12 eb7@8 bb6@11 c7@12 bb6@8 eb6@12 c7@12 bb6@8 eb6@12 f7@12 eb7@8 eb6@12 f7@11 eb7@6]/8",
// … 76 more lines

More by Robinson