Strudelify
Alone In The Night cover art

Alone In The Night

Engelbert Humperdinck

KeyB♭ majorTempo113 bpm
0:00/0:00
// Alone In The Night — Humperdinck Engelbert
// 113 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(113/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 · piano · "BRASS"
const bass = note("<db-1 ~@117>").s("gm_piano").gain(0.05)

// other · brass section · "BRASS"
const brass_section = note("<~@27 A ~@7 B ~@24 B ~@7 A ~@16 A ~@7 B ~@7 B ~@7 A ~@8>".pickRestart({
  A: "~@3 [eb2,eb3]@4 ~", B: "~@6 [eb2,eb3]@7 ~@3",
})).s("gm_brass_section").gain(0.26).pan(0.2)

// chords · steel drums · "STEEL DRUM"
const steel_drums = note(`<
  ~@27 A B C D E F G H I J K L M N O ~@18 A P Q R E S T U V W X Y Z AA AB ~@10 I W AC AD E AE AF AG AH AI AJ AK AL AM AN
  AO AP AQ AR AS E AT AU ~ AV AW AX AY AZ BA BB BC AO
>`.pickRestart({
  A: "[g4,eb5] ~@3 [bb4,g5] ~@3 [g4,eb5] ~ [bb4,g5] ~@3 [g4,eb5] ~", // Cm Eb Cm Eb Cm
  B: "~@2 [g4,eb5] ~ [bb4,g5] ~@3 [g4,eb5] ~ [bb4,g5] ~@3 [f4,d5] ~", // Cm Eb Cm Eb Dm
  C: "~@2 [bb4,f5] ~@3 [f4,d5] ~@3 [f4,d5] ~ [bb4,f5] ~@3", // Bb5 Dm Bb5
  D: "~@2 [f4,d5] ~ [bb4,f5] ~ c5 ~ [f4,d5] ~ f5 ~ bb4 ~ d5 ~", // Dm Bb5 Dm
  E: "~@2 [eb4,c5] ~ [a4,eb5] ~@3 [eb4,c5] ~ [a4,eb5] ~@3 [eb4,c5] ~", // Cm Adim Cm Adim Cm
  F: "~@4 [a4,eb5] ~@3 [eb4,c5] ~ [a4,eb5] ~@3 [f4,d5] ~", G: "~@2 f4 ~ [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 [bb4,d5] ~",
  H: "~@2 f4 ~ [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 d5 ~", // Bb5 Dm Bb5
  I: "~@2 [g4,eb5] ~ [bb4,g5] ~@3 [g4,eb5] ~ [bb4,g5] ~@3 [g4,eb5] ~", // Cm Eb Cm Eb Cm
  J: "~@2 [g4,g5] ~ [bb4,g5] ~@3 [g4,eb5] ~ [bb4,g5] ~@3 [bb4,d5] ~", K: "~@4 [bb4,f5] ~@5 [gb4,d5] ~ a4 ~@3",
  L: "[g4,d5] ~@3 [d4,bb4] ~ [g4,d5] ~@3 [f4,a4] ~@3 [f4,c5] ~", // G5 Gm G5 F F5
  M: "~@2 eb4 ~ [g4,eb5] ~@3 [eb4,bb4] ~ [g4,eb5] ~@3 [eb4,c5] ~", N: "~@2 eb4 ~ [f4,a4] ~@3 eb4 ~ [f4,c5] ~@3 bb4 ~",
  O: "~@2 d4 ~ [f4,bb4] ~@11", P: "~@2 [bb4,g5] ~@3 [g4,eb5] ~@3 [bb4,g5] ~ [g4,eb5] ~@3",
  Q: "[f4,d5] ~@3 [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 [f4,d5] ~", // Dm Bb5 Dm Bb5 Dm
  R: "~@2 [bb4,f5] ~@3 [f4,d5] ~@3 [bb4,f5] ~@3 [f4,d5] ~", S: "~@2 [a4,eb5] ~@3 [eb4,c5] ~@3 [a4,eb5] ~@3 [eb4,c5] ~",
  T: "[bb4,d5] ~@3 [f4,f5] ~@3 d5 ~ [bb4,f5] ~@3 [f4,d5] ~", // Bb F Bb5 Dm
  U: "~@2 [f4,d5] ~ [bb4,c5] ~@3 [f4,f5] ~ [f4,f5] ~ [bb4,d5] ~@3", // Dm Bbsus2 F Bb
  V: "eb4 ~ g4 ~ [bb4,g5] ~@3 [g4,eb5] ~ [bb4,g5] ~@3 [g4,eb5] ~", // Eb Cm Eb Cm
  W: "~@2 [bb4,g5] ~@3 [g4,eb5] ~@3 [bb4,g5] ~@3 [g4,eb5] ~", // Eb Cm Eb Cm
  X: "[f4,d5] ~ f4 ~ [bb4,f5] ~@5 [gb4,d5] ~ [a4,c5] ~ [gb4,d5] ~", // Dm Bb5 D Am D
  Y: "~@2 [d4,bb4] ~ [g4,d5] ~ [d4,bb4] ~@3 [f4,a4] ~ c5 ~ [f4,a4] ~", // Gm G5 Gm F
  Z: "~@2 [eb4,bb4] ~ [g4,eb5] ~@3 [eb4,bb4] ~ [g4,eb5] ~@3 [f4,c5] ~", // Eb5 Cm Eb5 Cm F5
  AA: "~@2 [eb4,a4] ~@3 eb4 ~ [f4,eb5] ~@2 [eb4,a4] ~@2 f4 ~", AB: "~@2 d4 ~ [f4,bb4] ~@5 [f4,bb4] ~@5",
  AC: "[f4,d5] ~ [bb4,f5] ~@3 [f4,d5] ~@3 [f4,d5] ~ [bb4,f5] ~@3", // Dm Bb5 Dm Bb5
  AD: "[f4,d5] ~@3 [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~ [f4,d5] ~ [eb4,c5] ~", // Dm Bb5 Dm Bb5 Dm Cm
  AE: "~@2 [a4,eb5] ~@3 [eb4,c5] ~@3 [eb4,c5] ~ [a4,eb5] ~ c5 ~", // Adim Cm Adim
  AF: "[f4,d5] ~ [f4,d5] ~ [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 [f4,d5] ~", AG: "~@2 [bb4,f5] ~@13",
  AH: "~@2 [eb4,bb4] ~ [g4,g5] ~@3 [eb4,bb4] ~ [g4,eb5] ~@3 [eb4,bb4] ~", // Eb5 G Eb5 Cm Eb5
  AI: "~@2 eb4 ~ [g4,g5] ~ bb4 ~@3 [eb4,eb5] ~ g4 ~ d5 ~", AJ: "~@2 f4 ~ [bb4,f5] ~@5 [gb4,d5] ~ [a4,c5] ~ [gb4,d5] ~",
  AK: "~@2 [d4,bb4] ~ [g4,d5] ~ bb4 ~@5 [f4,c5] ~ [f4,d5] ~", // Gm G5 F5 Dm
  AL: "~@2 eb4 ~ [g4,eb5] ~@3 [eb4,bb4] ~ [g4,eb5] ~ [eb4,bb4] ~ [f4,c5] ~", // Cm Eb5 Cm Eb5 F5
  AM: "~@2 d4 ~ [f4,a4] ~@3 [c4,c5] ~ [f4,a4] ~@3 bb4 ~", AN: "~@2 f4 ~ [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 bb4 ~",
  AO: "[f4,d5] ~@15", AP: "~@2 [g4,eb5] ~ [bb4,g5] ~@3 [g4,eb5] ~ [bb4,g5] ~@3 [bb4,eb5] ~",
  AQ: "~@2 [g4,g5] ~@3 [g4,eb5] ~@3 g4 ~ [bb4,g5] ~ eb5 ~", // G Cm Eb
  AR: "~@2 [f4,d5] ~ [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 [f4,d5] ~", AS: "~@4 [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 d5 ~",
  AT: "~@2 [eb4,c5] ~ [a4,eb5] ~ eb4 ~ [eb4,c5] ~ [a4,eb5] ~@3 [a4,c5] ~", // Cm Adim Cm Adim Am
  AU: "~@2 [f4,d5] ~ [bb4,f5] ~ f4 ~@3 [bb4,f5] ~@3 [f4,d5] ~", // Dm Bb5 Dm
  AV: "~@2 [g4,bb4] ~ [bb4,g5] ~@3 [g4,eb5] ~ [bb4,g5] ~@3 [g4,eb5] ~", // Gm Eb Cm Eb Cm
  AW: "~@2 [bb4,g5] ~@3 [g4,eb5] ~@3 [bb4,g5] ~@3 [bb4,eb5] ~", // Eb Cm Eb Eb5
  AX: "~@2 [f4,d5] ~ [bb4,f5] ~@5 [gb4,c5] ~ [a4,d5] ~ [gb4,c5] ~", // Dm Bb5 Gbdim D5 Gbdim
  AY: "~@2 [d4,bb4] ~ [g4,d5] ~ [d4,bb4] ~@3 [c4,a4] ~ [f4,c5] ~ [c4,a4] ~", // Gm G5 Gm F F5 F
  AZ: "~@2 [eb4,g4] ~ [g4,eb5] ~@3 [eb4,bb4] ~ [g4,eb5] ~@3 [eb4,bb4] ~", // Eb Cm Eb5 Cm Eb5
  BA: "~@2 [c4,a4] ~ [f4,c5] ~@3 [c4,a4] ~ [f4,c5] ~@3 [f4,c5] ~", // F F5 F F5
  BB: "~@4 [bb4,f5] ~@3 [f4,d5] ~ [bb4,f5] ~@3 [f4,d5] ~", // Bb5 Dm Bb5 Dm
  BC: "~@2 [f4,c5] ~ [bb4,d5] ~@3 [f4,f5] ~ [bb4,d5] ~@3 [bb4,c5] ~", // F5 Bb F Bb Bbsus2
})).s("gm_steel_drums").gain(0.15).pan(0.8)

// chords · pizzicato strings · "PIZZICATO"
const pizzicato_strings = note(`<
  ~@6 A B A C D A E F G H I J K L M N O@2 P Q R S T U V G@2 A@2 W X Y Z AA AB A AC A AD AE AF G AG AH AI AJ AK AL AM O
  AN AO AP AQ AA AR AS AT AU AV AS AT AM AL Y AW AX AY AZ BA ~@4 BB BC BD BE AQ AL BF BG BH BI BJ A ~ AA BK BL BM BN BO
  A BP T AL A BQ G BR A BP AL AM BS BT BU BV BW BX BP
>`.pickRestart({
  A: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~@3 [f5,bb5] ~", // Bb Bb5 Bb Bb5
  B: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~ [f5,bb5] ~ g5 ~", // Bb Bb5 Bb Bb5
  C: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~ [f5,a5] ~ [f5,bb5] ~", // Bb Bb5 Bb F Bb5
  D: "c6 ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~ [f5,d6] ~ [g5,d6] ~", // Bb Bb5 Bb Dm G5
  E: "[bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~", // Eb5 Gm Eb5 Gm
  F: "[bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~ [g5,bb5] ~ [g5,bb5] ~", // Eb5 Gm Eb5 Gm
  G: "[a5,c6] ~ [a5,c6] ~ [f5,a5] ~ [a5,c6] ~@3 [a5,c6] ~@3 [f5,a5] ~", // Am F Am F
  H: "[a5,c6] ~ [f5,a5] ~ [a5,c6] ~ [a5,c6] ~@3 [f5,a5] ~@3 [a5,c6] ~", // Am F Am F Am
  I: "[bb5,d6] ~ [bb5,eb6] ~ bb5 ~ [bb5,d6] ~@3 [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~", // Bb Eb5 Bb Bb5 Bb
  J: "[bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~ [a5,c6] ~@3 [a5,c6] ~@3 [f5,a5] ~", // Bb Bb5 Bb Am F
  K: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~", // Bb Bb5 Bb Bb5
  L: "~@2 [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~", // Bb Bb5 Bb Bb5
  M: "[bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [g5,bb5,eb6] ~@3 [g5,bb5] ~@3 [bb5,eb6] ~", // Eb5 Gm Eb Gm Eb5
  N: "~@2 [g5,bb5] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~ [g5,bb5] ~ [g5,bb5] ~", // Gm Eb5 Gm
  O: "[c6,e6] ~ [c6,e6] ~ [g5,c6] ~ [c6,e6] ~@3 [c6,e6] ~@3 [g5,c6] ~", // C C5 C C5
  P: "~@2 bb5 ~ [g5,bb5] ~ [g5,c6] ~@3 [f5,a5,c6] ~@5", Q: "~@2 [a5,c6] ~@3 [f5,c6] ~@3 [f5,c6] ~@3 [f5,f6] ~",
  R: "~@2 [f5,f6] ~@13", S: "~@2 g5 ~ [bb5,eb6] ~ [g5,bb5] ~@3 [bb5,eb6] ~@3 g5@2, ~@14 bb5 ~",
  T: "[bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~@3 g5@2, ~@14 bb5 ~", // Eb5 Gm Eb5
  U: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~@3 f5@2, ~@14 bb5 ~", // Bb Bb5 Bb
  V: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~@3 bb5@2, ~@14 f5 ~", // Bb Bb5 Bb
  W: "~@2 [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~@3 g5@2, ~@14 bb5 ~", // Eb5 Gm Eb5
  X: "[bb5,eb6] ~ [bb5,eb6] ~@3 [g5,bb5] ~ [bb5,eb6] ~ [bb5,eb6] ~@3 [g5,bb5] ~", // Eb5 Gm Eb5 Gm
  Y: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [a5,c6] ~@3 [gb5,a5] ~", // Bb Bb5 Bb Am Gbm
  Z: "[g5,bb5] ~ [bb5,d6] ~ [g5,bb5] ~ [a5,c6] ~@3 [f5,a5] ~@3 [a5,c6] ~", // Gm Bb Gm Am F Am
  AA: "[bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [g5,bb5] ~@3 [bb5,eb6] ~", // Eb5 Gm Eb5 Gm Eb5
  AB: "[a5,c6] ~ [a5,c6] ~ [f5,a5] ~ [a5,c6] ~@3 [a5,c6] ~@3 a5@2, ~@14 f5 ~", // Am F Am
  AC: "~@2 [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [f5,bb5] ~@3 [f5,bb5] ~", // Bb Bb5 Bb Bb5
  AD: "~@2 [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [f5,bb5] ~ [bb5,d6] ~ [f5,bb5] ~", // Bb Bb5 Bb Bb5 Bb Bb5
  AE: "[bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~ [bb5,eb6] ~ bb5 ~", // Eb5 Gm Eb5
  AF: "~@2 [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [g5,bb5] ~ [bb5,eb6] ~ [bb5,eb6] ~", // Eb5 Gm Eb5 Gm Eb5
  AG: "~@2 [a5,c6] ~@3 [f5,a5] ~ [a5,c6] ~ [a5,c6] ~ [f5,a5] ~ [a5,c6] ~", // Am F Am F Am
  AH: "~@2 [bb5,eb6] ~ [bb5,eb6] ~@3 [bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~", // Eb5 Bb Bb5 Bb
  AI: "~@2 [bb5,d6] ~ [bb5,d6] ~@3 [a5,c6] ~ [a5,c6] ~ [f5,a5] ~ [a5,c6] ~", // Bb Am F Am
  AJ: "~@2 [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~ [f5,bb5] ~@3", // Bb Bb5 Bb Bb5
  AK: "[bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~ [bb5,d6] ~@3 [f5,bb5] ~ [bb5,d6] ~ [f5,bb5] ~", // Bb Bb5 Bb Bb5 Bb Bb5
  AL: "[bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~@3 [g5,bb5] ~", // Eb5 Gm Eb5 Gm
  AM: "~@2 [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [bb5,eb6] ~@3 [g5,bb5] ~", // Eb5 Gm Eb5 Gm
  AN: "~@2 [c6,e6] ~@3 [g5,c6] ~ [c6,e6] ~ [c6,e6] ~ [g5,c6] ~ [c6,e6] ~", AO: "~@2 f5 ~ f6 ~ f6 ~ f5 ~ f6 ~@3 f6 ~",
  AP: "~@2 f5 ~ f6 ~ f5 ~ f5 ~ f6 ~ f6 ~ f5 ~", AQ: "[f5,f6] ~@15",
  AR: "~@2 [g5,bb5] ~ [bb5,eb6] ~ [g5,bb5] ~@3 [bb5,eb6] ~@3 [g5,bb5] ~", // Gm Eb5 Gm Eb5 Gm
  AS: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [f5,bb5] ~@3 [bb5,d6] ~", // Bb Bb5 Bb Bb5 Bb
  AT: "~@2 [f5,bb5] ~ [bb5,d6] ~ [f5,bb5] ~@3 [bb5,d6] ~@3 [f5,bb5] ~", // Bb5 Bb Bb5 Bb Bb5
  AU: "[a5,c6] ~ [a5,c6] ~ [f5,a5] ~ [a5,c6] ~@3 [f5,a5] ~@3 [a5,c6] ~", // Am F Am F Am
  AV: "~@2 [f5,a5] ~ [a5,c6] ~ [f5,a5] ~@3 [a5,c6] ~@3 [f5,a5] ~", // F Am F Am F
  AW: "[g5,bb5] ~ [bb5,d6] ~ [g5,bb5] ~@3 [a5,c6] ~ [f5,a5] ~@3 [a5,c6] ~", // Gm Bb Gm Am F Am
  AX: "[g5,bb5] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [g5,bb5] ~@3 [g5,bb5] ~", // Gm Eb5 Gm Eb5 Gm
  AY: "[a5,c6] ~ [f5,a5] ~@3 [f5,a5] ~ [a5,c6] ~ [f5,a5] ~@3 [f5,a5] ~", // Am F Am F
  AZ: "[bb5,d6] ~ bb5 ~ [f5,bb5] ~ bb5 ~@3 bb5 ~@3 f5@2", // Bb Bb5
  BA: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [f5,bb5] ~@3 [f5,bb5] ~", BB: "~@10 f5 ~ f6 ~ f6 ~",
  BC: "f5 ~ f6 ~ f6 ~ f5 ~ f6 ~ f6 ~ f5 ~ f6 ~", BD: "f5 ~ f6 ~ f6 ~ [f5,f6] ~ [f5,f6] ~ f6 ~ [f5,f6] ~ [f5,f6] ~",
  BE: "[f5,f6] ~ f6 ~ [f5,f6] ~ [f5,f6] ~ [f5,f6] ~ f6 ~ f5 ~ f6 ~", // F
  BF: "~@2 [bb5,eb6] ~ [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~ [bb5,eb6] ~@3 g5@2, ~@14 bb5 ~", // Eb5 Gm Eb5
  BG: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~ f5 ~ [g5,d6] ~", // Bb Bb5 Bb G5
  BH: "~@2 [bb5,d6] ~@3 [f5,bb5,d6] ~@3 [g5,d6] ~ [bb5,d6] ~ [f5,bb5,d6] ~", // Bb G5 Bb
  BI: "[a5,c6] ~ [a5,c6] ~ [f5,a5] ~ [a5,c6] ~@3 [a5,c6] ~@3 f5@2, ~@14 a5 ~", // Am F Am
  BJ: "[a5,c6] ~ [a5,c6] ~@3 [f5,a5] ~@3 [a5,c6] ~@3 [f5,a5] ~", // Am F Am F
  BK: "~@2 [g5,bb5] ~ [bb5,eb6] ~ [g5,bb5] ~@3 [bb5,eb6] ~ [g5,bb5] ~ [bb5,eb6] ~", // Gm Eb5 Gm Eb5 Gm Eb5
  BL: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@5 [a5,c6] ~@3", // Bb Bb5 Bb Am
  BM: "[g5,bb5] ~ [bb5,d6] ~ [g5,bb5] ~@3 [a5,c6] ~@3 [f5,a5] ~ [a5,c6] ~", // Gm Bb Gm Am F Am
  BN: "[g5,bb5] ~ [g5,bb5] ~ [bb5,eb6] ~@3 [g5,bb5] ~ [bb5,eb6] ~ [g5,bb5] ~ [a5,c6] ~", // Gm Eb5 Gm Eb5 Gm Am
  BO: "~@2 [a5,c6] ~ [f5,a5] ~@3 [a5,c6] ~ [f5,a5] ~ [a5,c6] ~ [a5,c6] ~", BP: "[bb5,d6] ~@15",
  BQ: "[bb5,d6] ~ [f5,bb5] ~@3 [bb5,d6] ~@3 [f5,bb5] ~ [bb5,d6] ~ [f5,bb5] ~", // Bb Bb5 Bb Bb5 Bb Bb5
  BR: "~@2 [a5,c6] ~ [f5,a5] ~ [a5,c6] ~@3 [a5,c6] ~@3 [f5,a5] ~", // Am F Am F
  BS: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [a5,c6] ~@3 a5@2, ~@14 c6 ~", // Bb Bb5 Bb Am
  BT: "[g5,bb5] ~ [g5,bb5] ~ [bb5,d6] ~ [g5,bb5] ~@3 [a5,c6] ~ [f5,a5] ~ [a5,d6] ~", // Gm Bb Gm Am F D5
  BU: "[g5,bb5] ~ [g5,bb5] ~ [bb5,eb6] ~ [g5,bb5] ~@3 [bb5,eb6] ~@3 [g5,bb5]@2", // Gm Eb5 Gm Eb5 Gm
  BV: "[a5,c6] ~ [a5,c6] ~ [f5,a5] ~@3 [f5,a5] ~ [a5,c6] ~@3 a5@2, ~@14 f5 ~", // Am F Am
  BW: "[bb5,d6] ~ [bb5,d6] ~ [f5,bb5] ~ [bb5,d6] ~@3 [bb5,d6] ~@3 [bb5,d6] ~", // Bb Bb5 Bb
  BX: "~@2 [f5,bb5] ~ [bb5,d6] ~ [bb5,d6] ~@3 [bb5,d6] ~@3 [f5,bb5] ~", // Bb5 Bb Bb5
})).s("gm_pizzicato_strings").gain(0.2).pan(0.3)

// other · french horn · "FR.HORN"
const french_horn = note("<~@2 [~@5 bb3 d4 f4] [bb4@3 ~@5] [~@5 a3 c4 f4] [a4@5 ~@3] ~@112>")
  .s("gm_french_horn").gain(0.31)

// chords · vibraphone
const vibraphone = note(`<
  ~@2 A@2 B@2 C@2 ~@12 D@4 E@2 F G@4 H@2 I@5 J K L M@2 ~@7 N O ~@2 P Q@2 R@3 S@3 T U@2 V@4 W J X Y@3 Z AA AB AC AD@2
  AE@3 ~@7 AF AG AH@2 J X AI AJ AK@5 U@2 AL@4 AM J X AI AN@3
>`.pickRestart({
  A: "[[g4,bb4,eb5]@5 ~ [f4,bb4,d5]@18 ~@4 [bb4,d5]@2 ~@2]/2", B: "[[bb4,d5]@3 [a4,c5]@10 ~ a4@2]/2", C: "[f4@5 ~@3]/2",
  D: "[~@16 bb4@6 ~@6 bb4@2 ~@2 c5@6 ~@10 c6@6 bb5@6 g5@3 ~, ~@8 g4@14 eb5@9 ~ e5@31 ~, ~@28 g5@21 ~@15]/4",
  E: "[[bb3,eb4,g4]@5 ~ [a3,c4,f4]@5 ~ [bb3,eb4,g4]@5 ~ [c4,f4,a4]@3 ~@3 [eb4,g4,bb4]@4 [f4,a4,c5]@4, f3@29 ~@3]/2", // Eb F Eb F Eb F
  F: "[f3,f4] ~@5 [f4,d5] ~ d5@2 ~ eb4@2 ~ [d4,bb4] ~, ~@8 f4 ~@2 c5 ~@4", // F Dm Gm
  G: "[eb5@8 ~@22 bb4 ~, g4@31 ~@23 f4@8 ~@2, ~@8 eb4@7 ~@9 d4@7 ~, ~@12 bb4@15 ~@5]/4",
  H: "[c4@16 c4@13 ~@3, [eb4,f4,a4]@15 ~]/2", // F7
  I: "[[d4,f4,bb4]@19 ~@3 [f4,d5] ~ [f4,d5]@2 ~ [eb4,c5]@2 ~ d4 ~ [g4,eb5]@29 ~@3 d5@8 [gb4,c5]@8, ~@15 bb4@21 ~@4, ~@32 f4@3 ~@5]/5", // Bb Dm Cm Gbdim
  J: "[g4,bb4] a4", K: "g4@15 ~", L: "f4", M: "[[d4,bb4]@23 ~@9]/2", N: "~@15 [d6,f6], ~@7 bb6", O: "bb5 ~@15",
  P: "~ bb4 bb5@2", Q: "[g5@16 c6@6 bb5@6 g5 ~@3, e5@29 ~@3]/2",
  R: "[[bb3,eb4,g4]@5 ~ [a3,c4,f4]@5 ~ [bb3,eb4,g4]@5 ~ [c4,f4,a4]@4 ~@2 [eb4,g4,bb4]@4 [f4,a4,c5]@5 ~@5 [f4,d5] ~ d5@2 ~ c5@2 ~ [d4,bb4] ~, f3@33 ~@7 f4 ~@2 eb4 ~@4]/3", // Eb F Eb F Eb F Dm Gm
  S: "[g4@15 ~ d5@6 ~@2, eb5@25 ~@6 f4@17]/3", T: "~@8 bb4@7 ~, d4@15 ~, ~@4 f4@11 ~", U: "[[eb4,f4,a4]@15 ~]/2",
  V: "[[d4,f4]@20 ~@2 [f4,d5] ~ [f4,d5]@3 c5@2 ~ d4 ~ [g4,eb5]@30 ~@2, ~@27 eb4 ~@2 bb4@33 ~]/4", // Dm Cm
  W: "[bb4,d5] [gb4,c5], f4@3 ~@5", X: "g4", Y: "[a4@2 [d4,bb4]@3 ~, f4@5 ~]/3", Z: "d6@3 bb5 ~@2 g5@7 ~@3",
  AA: "d6@3 a5@3 f5@6 ~@4", AB: "g5@3 eb5@3 bb4@6 eb5@2 g5@2", AC: "[c5,e5]@8 [d5,f5]@4 [e5,g5] ~@3",
  AD: "[[bb3,eb4,g4]@4 ~@2 [a3,c4,f4]@5 ~ [bb3,eb4,g4]@4 ~@2 [c4,f4,a4]@3 ~@3 [eb4,g4,bb4]@3 ~ [f4,a4,c5] ~@3, f3@15 ~]/2", // Eb F Eb F Eb F
  AE: "[[bb4,eb5,g5]@4 ~@2 [a4,c5,f5]@5 ~ [bb4,eb5,g5]@5 ~ [c5,f5,a5]@3 ~@3 [eb5,g5,bb5]@4 [f5,a5,c6]@5 ~@15, f3@11 ~@5]/3", // Eb F Eb F Eb F
  AF: "~@6 [f4,d5] ~ [f4,d5] ~@2 [eb4,c5] ~ [d4,bb4] ~@2", AG: "[g4,eb5]",
  AH: "[~@2 [bb4,d5] [gb4,c5], ~@15 f4@6 ~@11]/2", AI: "a4@15 ~", AJ: "[d4,bb4]",
  AK: "[~@6 f4 ~ f4 ~@2 [eb4,c5]@2 ~ d4 ~ [g4,eb5]@14 ~@18 d5@20 ~@4 d4@6 ~@2, ~@3 d5@2 ~@2 bb4@9 g4@7 ~ f4@15 ~, ~@19 bb4@20 ~]/5", // Cm
  AL: "[[d4,f4,bb4]@19 ~@3 [f4,d5] ~ d5@2 ~ [eb4,c5]@2 d4 ~@2 g4@29 ~@3, ~@24 f4 ~@4 bb4@32 ~@3, ~@32 eb5@15 ~@17]/4", // Bb Dm Cm
  AM: "[f4,bb4,d5] [gb4,c5]", AN: "[~@30 bb6 [d6,f6] bb5 ~@15, [d4,f4,bb4]@17 ~@7]/3",
})).s("gm_vibraphone").gain(0.2).pan(0.3)

// chords · vibraphone · soft notes
const vibraphone_soft = note(`<
  ~@4 A@2 B@3 ~@18 C@2 D ~@9 E@2 ~@11 F@3 ~@5 G@4 ~@2 H@2 ~@25 I ~@4 J ~@15 K ~@3
>`.pickRestart({
  A: "[~@3 f4@10 ~@3]/2", B: "[d4@17 ~@7, bb4@5 ~@11]/3", C: "[bb4@5 ~@3]/2", D: "[f4,d5]@15 ~", E: "[~@7 a4@9]/2",
  F: "[~@4 eb5@5 ~@3, ~@5 g4@2 ~@9, ~@16 bb4@7 ~@25]/3", G: "[bb4@49 ~@15]/4", H: "[bb4@11 ~@5]/2", I: "bb4",
  J: "f4, eb4@7 ~", K: "[eb4,f4]@15 ~",
})).s("gm_vibraphone").gain(0.1).pan(0.3)

// bass · acoustic bass · "ACOU BASS"
const bass_2 = note(`<
  ~@6 A B@2 A C D E F G H I J B I K L M N O P Q R S T U V W X Y R S Z AA R J X A@2 AB AC AD AE AF I J B I AG AH M AI AJ
  AK AL AM S X@2 AN@2 AO AP S R AQ AA R AR AO AS AT AU AV AW AX AY AZ BA AL S R X AO V BB AO BC S R BD BE R V BF BG AM R
  X AO AN BH BI BC S@2 BJ BK R V B@2 BL
>`.pickRestart({
  A: "bb2@4 ~@2 bb2 ~ bb2@4 ~@2 f2@2", B: "bb2@4 ~@2 bb2 ~ bb2@5 ~ f2@2", C: "bb2@4 ~@2 bb2 ~ bb2@5 ~ bb2 ~",
  D: "bb2@4 ~@2 bb2 ~ bb2@4 ~@2 bb2@2", E: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 eb2 ~", F: "eb2@4 ~@2 eb2 ~ eb2@4 ~@2 eb2@2",
  G: "f2@4 ~@2 f2 ~ f2@5 ~ c2@2", H: "f2@4 ~@2 f2 ~ f2@5 ~ f2 ~", I: "bb2@4 ~@2 bb2 ~ bb2@5 ~ bb2@2",
  J: "f2@4 ~@2 f2 ~ f2@5 ~ f2@2", K: "eb2@4 ~@2 eb2 ~ eb2@5 ~ eb2 ~", L: "eb2@2 ~ eb2 eb3@2 d3@2",
  M: "c3@4 ~@2 c3 ~ c3@4 ~@2 g2@2", N: "c3@5 ~ c3 ~ c3@5 ~ g2 ~", O: "f2@5 ~ f2 ~ f2@4 f3@2 f2 ~",
  P: "f2@5 ~ f3@2 f2 ~ f2@2 f3@2 f2 ~", Q: "f2@5 ~@11", R: "eb2@4 ~@2 eb2 ~ eb2@5 ~@3", S: "eb2@4 ~@2 eb2 ~ eb2@4 ~@4",
  T: "bb2@4 ~@2 bb2 ~ bb2@5 ~ f2 ~", U: "bb2@4 ~@2 bb2 ~ bb2@5 ~@3, g2 ~@15", V: "f2@4 ~@2 f2 ~ f2@5 ~@3",
// … 186 more lines

More by Engelbert Humperdinck