Strudelify
Nights on Broadway cover art

Main Course

Nights on Broadway

Bee Gees

KeyF♯ majorTempo92 bpm
0:00/0:00
// Nights on Broadway — Bee Gees
// 92 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 95 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(92/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 2"
const piano = note(`<
  ~ A B C D A B C D E@2 F@2 G E F H I J K@2 L M N O P Q R S P Q T E@2 F@2 G E F H I J K@2 L M N O P Q R S P Q T A B C
  U@2 V@8 W X@2 Y@3 Z AA@8 AB@8 AC@3 ~
>`.pickRestart({
  A: "[d#2,d#3,c#4,f#4,a#4]@3 [d#2,c#4] [d#3,f#4,a#4] [d#2,d#4,g#4,c5] ~@5 [d#2,d#4] [d#3,a#4,c#5] [d#2,d#4,g#4,c5] ~@2", // D#m7 D#7 D#m G# D# D#7 G#
  B: "[c3,d#5] [g#2,c5] [d#2,g#4] [g#2,d#4,g#4,c5] ~ [g#2,d#4,g#4,c5] [d#2,d#3,c#4,f#4,a#4]@9 ~", // Cm G# G#5 G# D#m7
  C: "[d#2,c#4,f#4,a#4]@3 c#4 [c#4,f#4,a#4] [d#3,d#4,g#4,c5] ~@5 [d#2,d#4] [a#4,c#5] [d#4,g#4,c5] ~@2, d#3@5 ~@7 d#3@2 ~@2, a2 ~@3 d#2@2 ~@7 d#2@2 ~", // D#m7 F# G# D# A#m G#
  D: "[f2,f3] [g#2,g#3] [a#2,a#3] [c#3,c#4] ~ [c#3,c#4] [a#2,a#3]@8 ~@2", // F G# A# C# A#
  E: "d#2@4 a#1 c#2 d#2 ~@4 a#1!2 [c#2,a#3,c#4,d#4,f#4] d#2 f#2, [a#3,c#4,d#4,f#4] ~", // D#m7
  F: "a#2@4 f2 g#2 a#2 ~@4 f2!2 [g#2,g#3,a#3,c#4,f4] a#2 c#3, [g#3,a#3,c#4,f4] ~", // A#m7
  G: "d#2@2 ~@2 a#1 c#2 d#2 ~@4 a#1!2 [c#2,a#3,c#4,d#4,f#4] d#2 f#2, [a#3,c#4,d#4,f#4]@7 ~@9", // D#m7
  H: "a#2@4 f2 g#2 a#2 ~@4 f2!2 [g#2,g#3,a#3,c#4,f4] a#2 c#3, [g#3,a#3,c#4,f4]@7 ~@9", // A#m7
  I: "[b3,d#4,f#4]@4 [b3,d#4,f#4] ~@8 [b3,d#4,f#4] ~@2", J: "[b3,d4,f#4]@4 [b3,d4,f#4] ~@8 [b3,d4,f#4] ~@2",
  K: "[a#3,c#4,f#4]@4 [a#3,c#4,f#4] ~@8 [a#3,c#4,f#4] ~@2", // F#
  L: "[g#3,b3,d#4,f#4]@4 [g#3,b3,d#4,f#4] ~@8 [g#3,b3,d#4,f#4] ~@2", // G#m7
  M: "[g#3,b3,d#4,f#4]@3 ~ [g#3,b3,d#4,f#4] ~@8 [g#3,b3,d#4,f#4] ~@2", // G#m7
  N: "[d#4,f4,a#4] ~ [d#4,f4,a#4] ~ [d#4,f4,a#4]@2 ~ [d4,f4,a#4] ~ [d4,f4,a#4] ~ [d4,f4,a#4]@4 ~", // D#sus2 A#
  O: "[a#3,c#4,f#4]@15 ~", P: "[a#3,c#4,f4]@7 ~", Q: "[b3,d#4,f#4]@7 ~", R: "[b3,d4,f#4]@7 ~", S: "[a#3,c#4,f#4]@7 ~",
  T: "[b3,d4,f#4]@15 ~", U: "[[f2,f3] [g#2,g#3] [a#2,a#3] [c#3,c#4] ~ [c#3,c#4] [d#2,a#2,d#3,a#3]@18 ~@8]/2",
  V: "[[d#5,d#6]@2 [a#4,a#5]@2 [f#4,f#5]@2 [d#4,d#5]@2 ~@8 [d#5,d#6]@4 [f#4,f#5] [f4,f5] [d#4,d#5] ~@9 f#5@2 c#5@2 ~ g#5 f#5 ~@9 g#5@2 ~@2 c6 a#5 g#5@2 ~@8 g#5@2 f5@2 ~ a#5 ~@10 g#5@2 ~@2 c6 a#5 g#5@2 ~@2 f#5@2 a#4@2 ~@4 f5@2 c#5@2 a#4@2 ~@2 f4@2 ~@6 f5@2 c#5@2 f5@2 ~@4 c#5@2 a#4@2, ~@8 [f#4,f#5]@12 ~@4 a#4@4 c#4@8 ~@6 g#4@14 ~@2 g#4@13 ~@3 g#4@14 ~@6 f#4@10 ~@6 f4@10 ~@8, ~@26 f#4@10 ~@4 c5@4 d#4@12 ~@4 f4@11 ~@5 f4@12 ~@4 c#4@12 ~@4 c#4@11 ~@9, ~@30 a#4@6 a#5@2 ~@8 c5@10 c5@4 ~@2 c5@9 ~ c5@4 ~@2 c5@10 ~@16 a#4@4 ~@20, ~@50 d#5@6 ~@12 c6@2 g#5@4 ~@8 f5@4 ~@10 a#5@9 ~@7 a#5@5 ~@3 f#5@6 ~@2]/8", // D# A# F# D# F# F D# F#
  W: "f#5@2 c#5 a#4 f#5@2 c#5 a#4",
  X: "[f#5@4 c#5@2 a#4@2 ~@2 f4@2 g#4@2 ~@2 g#4@4 f5 d#5 c#5@2 f4@2 ~@2 g#4@2 f4 ~, ~@8 c#4@13 ~@11, ~@14 f4@7 ~@5 c#5@4 ~@2]/2",
  Y: "[c#5@2 [f4,c#5]@2 [f#4,d#5]@2 [g#4,f5]@2 [c#5,f#5]@2 a#4@2 [c#5,f#5]@2 a#4@2 [c#5,f#5]@2 a#4@2 [c#5,f#5]@2 a#4@2 [c#5,f#5]@2 a#4@2 [c#5,f#5]@2 a#4@2 [c#5,f#5]@2 a#4@2 [d#5,g#5]@2 c5 ~ [a#3,d#5,f#5,a#5]@2 [a#3,d#5,f#5,a#5]@4 [a#3,d#5,f#5,a#5]@2, f4 ~@7 [f#2,f#3]@15 ~ [f#2,f#3]@15 ~@9]/3", // C# D#m C# F#5 G#5 D#m F#
  Z: "[a#3,d#5,f#5,a#5]@2 [a#3,d#5,f#5,a#5]@3 ~ [a#3,d#5,f#5,a#5]@2 [g#3,c#5,f5,a#5]@2 [g#3,c#5,f5,a#5]@4 [g#3,c#5,f5,a#5]@2", // D#m A#m7
  AA: "[[g#3,f5]@2 [g#3,c#5,f5,a#5]@3 ~ [g#3,c#5,f5,a#5]@2 [d#3,c#4,g4,a#4,f5]@32 [a#3,c#4,f#4]@15 ~ [a#3,c#4,f4]@14 ~@2 [b3,d#4,f#4]@14 ~@2 [b3,d4,f#4]@14 ~@2 [a#3,c#4,f#4]@15 ~ [a#3,c#4,f4]@8, [c#5,a#5] ~@127]/8", // C# A#m7 D#7 F# A#m B Bm F# …
  AB: "[~@8 [b3,d#4,f#4]@14 ~@2 [b3,d4,f#4]@14 ~@2 [a#3,c#4,f#4]@15 ~ [a#3,c#4,f4]@14 ~@2 [b3,d#4,f#4]@14 ~@2 [b3,d4,f#4]@14 ~@2 [a#3,c#4,f#4]@15 ~ [a#3,c#4,f4]@8]/8", // B Bm F# A#m B Bm F# A#m
  AC: "[~@4 [b3,d#4,f#4]@7 ~ [b3,d4,f#4]@7 ~@5]/3", // B Bm
})).s("gm_piano").gain(0.44)

// bass · synth bass 1 · "SYN BASS 1"
const bass = note(`<
  ~ A B A C A B A C D@2 E@2 F D E G H I J K L M N O P Q R S T U R D V W@2 F V W G X I Y Z M@2 AA S T AB R AC AD AE AF AG
  AH AG AI@2 AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY@3 AZ BA BB BC AZ BD BB BE BF BD BG BH BF BD BG BI ~
>`.pickRestart({
  A: "d#1", B: "c2 g#1 d#1 g#1 ~ g#1 d#1@10", C: "f1 g#1 a#1 c#2 ~ c#2 a#1@10", D: "d#2@4 a#1 c#2 d#2 ~@8 f#2",
  E: "a#2@4 f2 g#2 a#2 ~@8 c#3", F: "d#2@4 a#1 c#2 d#2@2 ~@7 f#2", G: "a#2@4 f2 g#2 a#2 ~@9",
  H: "b2 g#2 f#2 d#2 b1 ~@3 b2 ~@2 b2 f#2 g#2@3", I: "b2 g#2 f#2 d2 b1@2 ~@2 b2 ~@2 b2 f#2 g#2@2 ~",
  J: "f#2 d#2 c#2 a#1 f#1@2 ~@2 f#2 ~@2 f#2 c#2 d#2@2 ~", K: "f#2 d#2 c#2 a#1 f#1 ~@3 f#2 ~@2 f#2 c#2 d#2@2 ~",
  L: "g#2 ~@2 g#2 d#2 f#2 ~@2 g#2 ~@2 g#2 d#2 f#2@2 ~", M: "g#2@2 ~ g#2 d#2 f#2@2 ~ g#2@2 ~ g#2 d#2 f#2@2 ~",
  N: "a#2 ~ a#2 ~ a#2@2 ~ a#2 ~ a#2@3 c#2 d#2 f#2 ~", O: "f#2@2 ~ f#2 f#2@2 ~ f#2 ~ f#2 ~ f#2 c#2 d#2 f#2@2",
  P: "a#2@2 ~ a#2 a#2@2 ~ a#2 ~ a#2 ~ a#2 f2 g#2 a#2 ~", Q: "b2@2 ~ b2!2 ~@2 b2 ~ b2 ~ b2 f#2 g#2 b2 ~",
  R: "b2@2 ~ b2!2 ~@4 d3 c#3 b2 g#2 f#2 d2 b1", S: "f#2@2 ~ f#2 f#2@2 ~@3 f#2 ~ f#2 c#2 d#2 f#2 ~",
  T: "a#2@2 ~ a#2 a#2@2 ~@3 a#2 ~ a#2 f2 g#2 a#2 ~", U: "b2@2 ~ b2 b2@2 ~@3 b2 ~ b2 f#2 g#2 b2 ~",
  V: "d#2@4 a#1 c#2 d#2@2 ~@7 f2", W: "a#2@4 f2 g#2 a#2@2 ~@7 c#3", X: "b2 g#2 f#2 d#2 b1@2 ~@2 b2@2 ~ b2 f#2 g#2@2 ~",
  Y: "f#2 d#2 c#2 a#1 f#1@2 ~@2 f#2@2 ~ f#2 c#2 d#2@3", Z: "f#2 d#2 c#2 a#1 f#1@2 ~@2 f#2@2 ~ f#2 c#2 d#2@2 ~",
  AA: "a#2 ~ a#2 ~ a#2 ~ a#2!2 ~ a#2 ~ a#2 c#2 d#2 f#2 ~", AB: "b2@2 ~ b2 b2@2 ~@3 b2 ~ b2 f#2 g#2 b2@2",
  AC: "f#2@2 ~ f#2!2 ~@4 f#2 ~ f#2 c#2 d#2 f#2 ~", AD: "a#2@2 ~ a#2!2 ~@4 a#2 ~ a#2 f2 g#2 a#2 ~",
  AE: "b2@2 ~ b2!2 ~@4 b2 ~ b2 f#2 g#2 b2 ~", AF: "b2@2 ~ b2!2 ~@2 d3 ~ c#3 ~ b2 ~ g#2 f#2 d2", AG: "d#2",
  AH: "c3 g#2 d#2 g#2 ~ g#2 d#2@10", AI: "[f2 g#2 a#2 c#3 ~ c#3 a#2@18 d#2@4 ~@2 d#2 ~]/2",
  AJ: "d#2@4 f3@2 d#3@2 d#2@4 ~@2 d#2 ~", AK: "d#2@4 ~@2 d#2 ~ f#2@4 ~@2 f#2 ~", AL: "f#2@4 ~@2 f#2 ~ g#2@4 ~@2 g#2 ~",
  AM: "g#2@4 ~@2 f#2@2 f2@4 ~@2 f2 ~", AN: "f2@4 ~@2 c2@2 f2@4 ~@2 f2 ~", AO: "f2@4 ~@2 c2@2 a#1@4 ~@2 a#1 ~",
  AP: "a#1@4 ~@2 a#1 ~ a#2@4 ~@2 a#1@2", AQ: "a#1@2 a#2@2 g#2@4 f#2@5 ~ f#2@2", AR: "f#2@5 ~ f#2@2 f#2@5 ~ f#2@2",
  AS: "f2@4 d#2@4 c#2@5 ~ c#2@2", AT: "c#2@5 ~ c#2@2 c#2@5 ~ c#2 ~", AU: "c#2@6 d#2 f2 f#2@2 f#2@4 f#2@2",
  AV: "f#2@6 a#1 c#2 f#2@6 f#2@2", AW: "f#2@2 f#2@2 g#2@2 g#2@2 a#2@5 ~ a#2@2", AX: "a#2@5 ~ a#2@2 g#2@5 ~ g#2 ~",
  AY: "[g#2@6 g#2 a#2 d#2@32 f#2@2 ~ f#2 f#2@2 ~@2]/3", AZ: "~ f#2 ~ f#2 c#2 d#2 f#2 ~ a#2@2 ~ a#2!2 ~@3",
  BA: "~ a#2 ~ a#2 f2 g#2 a#2 ~ b2@2 ~ b2!2 ~@3", BB: "~ b2 ~ b2 f#2 g#2 b2 ~ b2@2 ~ b2!2 ~@3",
  BC: "~ d3 c#3 b2 g#2 f#2 d2 b1 f#2@2 ~ f#2!2 ~@3", BD: "~ a#2 ~ a#2 f2 g#2 a#2 ~ b2@2 ~ b2 b2@2 ~@2",
  BE: "~ d3 ~ c#3 ~ b2 g#2 f#2 f#2@2 ~ f#2 f#2@2 ~@2", BF: "~ f#2 ~ f#2 c#2 d#2 f#2 ~ a#2@2 ~ a#2 a#2@2 ~@2",
  BG: "~ b2 ~ b2 f#2 g#2 b2 ~ b2@2 d3 c#3@2 b2 g#2 f#2", BH: "g#2 f#2 d2 b1!3 b1@2 f#2@2 ~ f#2 f#2@2 ~@2",
  BI: "g#2 f#2 d2 b1!3 b1@2 ~@8",
})).s("gm_synth_bass_1").gain(0.49)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@9 A B C D E F G H I J K L M N O P Q R S T U V W 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@4 AD@2
  AE AF@3 AG@4 AH AI AJ AK AL AM@2 AN AL AM@2 AN AL AM@2 AN AL AM@2 AO ~
>`.pickRestart({
  A: "[a#3,d#4,a#4]@3 [f#4,a#4] [a#3,d#4,f#4,a#4] ~@2 [d#4,f#4,a#4]!2 ~ [a#3,d#4,f#4,a#4] ~ [f#4,a#4]!2 [d#4,f#4,a#4] ~, ~@12 [a#3,d#4]@3 ~", // D#5 F# D#m F# D#m D#5
  B: "[a#3,d#4,f#4,a#4]@3 [d#4,f#4,a#4] [a#3,d#4,f#4,a#4] ~ f#4 [f#4,a#4] [d#4,f#4,a#4] [f#4,a#4]!3 [d#4,f#4,a#4] [f#4,a#4] [d#4,f#4,a#4] ~, d#3@7 ~", // D#m F# D#m F# D#m F# D#m
  C: "[a#3,c#4,f4,a#4]@3 [f4,a#4] [a#3,c#4,f4,a#4] ~@6 [f4,a#4] ~ [f4,a#4] ~@2, ~@6 [a#3,c#4,f4,a#4] ~", // A#m A#5 A#m A#5 A#m
  D: "[c#4,f4,a#4]@3 [f4,a#4] [c#4,f4,a#4] ~@2 [c#4,f4,a#4]!2 ~ [c#4,f4,a#4] [f4,a#4]!3 [c#4,f4,a#4] ~", // A#m A#5 A#m A#5 A#m
  E: "[a#3,f#4,a#4]@3 [a#3,d#4,f#4,a#4] [d#4,f#4] ~@3 [a#3,d#4,f#4,a#4]@2 [d#4,f#4,a#4] [f#4,a#4] [d#4,f#4,a#4] [a#3,f#4,a#4] ~@2", // D#m F# D#m
  F: "[d#4,f#4,a#4]@3 [d#4,f#4,a#4]!2 ~@5 [d#4,f#4,a#4] a#4 [d#4,f#4] [a#3,d#4,f#4,a#4]@2 ~, a#3@5 ~@11", // D#m
  G: "[a#3,c#4,f4,a#4]@3 [f4,a#4] [a#3,c#4,f4,a#4] ~@2 [c#4,f4,a#4]!2 ~ [c#4,f4,a#4] [f4,a#4] [c#4,f4,a#4] [f4,a#4] ~@2", // A#m A#5 A#m A#5 A#m A#5
  H: "[a#3,c#4,f4,a#4]@3 [f4,a#4] [a#3,c#4,f4,a#4] ~@2 [a#3,c#4,f4,a#4] [c#4,f4,a#4] ~ [a#3,c#4,f4,a#4] [f4,a#4] [c#4,f4] [a#3,c#4,f4] ~@2", // A#m A#5 A#m A#5 C# A#m
  I: "[d#4,f#4,b4]@3 [d#4,f#4,b4]!2 ~@2 [d#4,f#4,b4]!2 ~ [d#4,f#4,b4] [f#4,b4] [d#4,f#4,b4]!2 ~@2", // B B5 B
  J: "[b3,d4,f#4,b4]@3 [f#4,b4] [b3,d4,f#4,b4] [f#4,b4] [d4,f#4,b4] [f#4,b4] ~@2 [b3,d4,f#4,b4] [f#4,b4] ~ [f#4,b4] ~@2, ~@6 [b3,d4,f#4,b4] ~", // Bm B5 Bm B5 Bm B5 Bm B5 …
  K: "[c#4,f#4,a#4]@3 [c#4,f#4,a#4]!2 ~@2 [f#4,a#4] [a#3,c#4,f#4,a#4] ~ [c#4,f#4,a#4] [f#4,a#4] [c#4,f#4,a#4] [f#4,a#4] ~@2", // F#
  L: "[f#4,a#4]!2 [c#4,f#4,a#4] [f#4,a#4] [c#4,f#4,a#4] [a#3,c#4,f#4,a#4] ~ [c#4,f#4,a#4]!2 ~ [a#3,c#4,f#4,a#4] [f#4,a#4] [a#3,c#4,f#4,a#4] [c#4,f#4,a#4] ~@2, a#3@5 ~@11, c#4 ~@7", // F#
  M: "[g#4,b4]!2 [d#4,g#4,b4] [g#4,b4] [d#4,g#4,b4] [g#4,b4] ~ [d#4,g#4,b4] [b3,d#4,g#4,b4] ~ [d#4,g#4] [g#4,b4] [d#4,g#4,b4] [g#4,b4] ~@2, b3@3 ~@5, d#4 ~@7", // G#m G#5 G#m
  N: "[g#4,b4] [g#4,b4]@5 [d#4,g#4,b4] [g#4,b4] [b3,d#4,g#4,b4] ~ [b3,d#4,g#4,b4] [g#4,b4] ~ [g#4,b4] ~@2, d#4@3 ~@3 [b3,d#4,g#4,b4] ~", // G#m
  O: "[d#4,f4,a#4]@4 [d#4,f4,a#4]@3 [f4,a#4] [d4,f4,a#4] ~ [f4,a#4]!2 [a#3,d4,f4,a#4] [d4,f4,a#4]!2 [d4,a#4]", // D#sus2 A#5 A# A#5 A# Gm
  P: "[f#4,a#4] [f#4,a#4]@2 [c#4,f#4,a#4] [a#3,c#4,f#4,a#4] ~@2 [f#4,a#4] ~@2 [c#4,f#4,a#4] [f#4,a#4] [c#4,f#4,a#4] ~ [c#4,f#4,a#4] [f#4,a#4], c#4@3 ~@13", // F#
  Q: "[a#3,c#4,f4,a#4] [f4,a#4]@2 [f4,a#4] [a#3,c#4,f4,a#4] [c#4,f4,a#4] ~ [c#4,f4,a#4] ~ [f4,a#4] ~ [f4,a#4] [a#3,c#4,f4,a#4] [f4,a#4] [c#4,f4,a#4] ~", // A#m A#5 A#m A#5 A#m A#5 A#m
  R: "[b3,d#4,f#4,b4] [f#4,b4]@2 [d#4,f#4,b4] [f#4,b4] [f#4,b4]@2 [f#4,b4]@3 [d#4,f#4,b4] [f#4,b4] [d#4,f#4,b4] [f#4,b4] [d#4,f#4,b4] ~, ~@5 [b3,d#4]@5 ~@6", // B B5 B B5 B B5 B B5 …
  S: "[f#4,b4]@2 [f#4,b4]@2 [b3,d4,f#4,b4] ~@6 [d4,f#4,b4]@2 [f#4,b4] [d4,f#4,b4] b4, d4 ~@3", // B5 Bm B5 Bm
  T: "[a#3,c#4,f#4,a#4] [f#4,a#4] ~ [f#4,a#4]!3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] [f#4,a#4] [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~, ~@4 [a#3,c#4]@3 ~@9", // F# A#m
  U: "[c#4,f4,a#4]@3 [f4,a#4] [a#3,c#4,f4,a#4] ~@2 [c#4,f4,a#4]@2 [c#4,f4,a#4]!2 ~ a#3 [c#4,f4,a#4] ~@2", // A#m A#5 A#m
  V: "[d#4,f#4,b4]@3 [f#4,b4] [d#4,f#4,b4] ~@2 [d#4,f#4,b4]@3 [f#4,b4] ~ [b3,d#4,f#4,b4] [f#4,b4] [d#4,f#4,b4] ~", // B B5 B B5 B B5 B
  W: "[d4,f#4,b4]@3 [f#4,b4] [b3,d4,f#4,b4] ~@2 [d4,f#4,b4] [b3,d4,f#4,b4] ~@4 [f#4,b4]!2 [d4,f#4,b4], ~@13 d4@2 ~", // Bm B5 Bm B5 Bm
  X: "[a#3,d#4,f#4,a#4]@3 [f#4,a#4] [a#3,d#4,f#4,a#4] ~@2 [d#4,f#4,a#4]!2 ~ [d#4,f#4,a#4] a#4 [d#4,f#4,a#4] [d#4,f#4,a#4]@2 ~", // D#m F# D#m
  Y: "[d#4,f#4,a#4]!3 [d#4,g#4,c5]@2 [d#4,g#4,c5] [a#3,d#4,f#4,a#4]@4 [d#4,f#4,a#4] a#4 [a#3,d#4,f#4,a#4] [d#4,a#4] [d#4,f#4,a#4] ~", // D#m G# D#m D#5 D#m
  Z: "[a#3,d#4,f#4,a#4]@3 a#4 [a#3,d#4,f#4,a#4] ~@2 [f#4,a#4] [a#3,d#4,f#4,a#4] ~ [d#4,f#4,a#4]!4 ~ [d#4,f#4,a#4]", // D#m F# D#m
  AA: "[a#3,d#4,f#4,a#4] [f#4,a#4] [d#4,f#4,a#4] [d#4,g#4,c#5] ~@4 [a#3,c#4,f4,a#4]@2 [a#3,c#4,f4,a#4]@2 [a#3,c#4,f4,a#4]@2 [c#4,f4,a#4]@2", // D#m F# D#m C#sus2 A#m
  AB: "[c#4,f4,a#4]@2 [c#4,f4,a#4]@2 [a#3,c#4,f4,a#4]@2 [a#3,c#4,f4,a#4] ~@3 d#4@4 d#4@2, ~ d#3", // A#m
  AC: "[~@14 d#3@2 ~@4 a#3@3 ~@13 c#4@2 a#3@2 ~@12 d#4@2 c4 ~@5 f4@4, ~ d#4@4 d#4@4 d#4@2 ~@2 f#4@4 f#4@3 ~ g#4@4 g#4@4 g#4@3, ~@4 a#3@8 a#3@8 ~@8 c#4@7 ~@11 c4@8 ~@10, ~@16 d#3@5 ~@3 f#3@6 a#3@8 ~@2 g#3@8 g#3@7 ~@9, ~@32 f#3@7 ~@17 f3@8]/4",
  AD: "[~@2 f4@2 c4@2 [f3,c4]@2 ~@12 f4@2 c4 ~ [a#3,a#4]@2 [a#3,a#4]@2 [a#3,a#4]@2 [a#3,a#4]@2, f3@6 ~@2 f3@8 f3@7 ~@9, c4 f4 c4 f4 ~@4, ~@2 g#4@6 ~@2 g#4@8 g#4@5 ~@9, ~@7 c4@4 ~@5]/2", // F5 A#
  AE: "[a#3,a#4]!8", // A#
  AF: "[[a#3,a#4]@2 [a#3,a#4]@2 [a#3,a#4]@2 [a#3,a#4]@2 c#4@2 c#4@2 ~@2 [f#4,a#4]@4 ~@4 a#3@2 ~@2 f#4 ~@3 a#3@2 ~@6 f#4@2 [g#3,c#4]@5 ~ [g#3,c#4]@2, ~ f#3 ~ f#3 f#3 ~, ~@4 a#3@2 a#3@2 ~@2 c#4@4 f#4@3 f#4@2 ~ f4 ~@3, ~@5 f#4@2 ~@2 [f#4,a#4]@4 a#4@7 ~@4, ~@8 a#3!2 ~@2]/3", // A# F# C#5 F#
  AG: "[~@6 c#4@2 f4@2 f4@2 c#4@2 ~@6 f4@2 c#4 ~@7 a#3@2 ~@2 f#4@2 ~@2 c#4@2 ~@14 c4@2 [a#3,c#4,f4,a#4]@2 [c#4,f4,a#4]@2 [a#3,c#4,f4,a#4]@2 [a#3,c#4,f4,a#4]@2, g#3@3 ~ g#3@4 [g#3,c#4]@3 ~ f#3@4 f#3@4 f#3@4 f#3@3 ~@5, c#4@2 f4@2 c#4@2 ~@12 f#4@3 f#4@2 [f#4,a#4]@2 [f#4,a#4]@3 ~@4, ~@2 g#4@8 g#4@8 g#4@5 ~@3 [f#4,a#4]@8 a#4@12 ~@18, ~@10 a#3 c#4@2 d#4 ~@2]/4", // A#m C#5 F#
  AH: "[a#3,c#4,f4,a#4]!3 [c#4,f4,a#4] [g#3,c#4,f4,a#4]!4", // A#m A#m7
  AI: "[g#3,c#4,f4,a#4]!4 [f4,a#4] [c#4,f4,a#4] [g3,c#4,f4,a#4]!2, ~@2 g3 ~", // A#m7 A#5 A#m Gm7b5
  AJ: "[g3,c#4,f4,a#4]!6 [c#4,f4,a#4] [g3,c#4,f4,a#4]", // Gm7b5 A#m Gm7b5
  AK: "[g3,c#4,f4,a#4]@2 [c#4,f4,a#4]@2 [g3,c#4,f4,a#4]@2 [g3,c#4,f4,a#4]@2 [f#4,a#4] [f#4,a#4]@2 [c#4,f#4,a#4] [a#3,c#4,f#4,a#4] ~@2 [f#4,a#4], ~@8 c#4@3 ~@5", // Gm7b5 A#m Gm7b5 F#
  AL: "~@2 [c#4,f#4,a#4] [f#4,a#4] [c#4,f#4,a#4] ~ [c#4,f#4,a#4] [f#4,a#4] [a#3,c#4,f4,a#4] [f4,a#4]@2 [f4,a#4] [a#3,c#4,f4,a#4] [c#4,f4,a#4] ~ [c#4,f4,a#4]", // F# A#m A#5 A#m
  AM: "[~ [f4,a#4] ~ [f4,a#4] [a#3,c#4,f4,a#4] [f4,a#4] [c#4,f4,a#4] ~ [b3,d#4,f#4,b4] [f#4,b4]@2 [d#4,f#4,b4] [f#4,b4] [f#4,b4]@2 [f#4,b4]@3 [d#4,f#4,b4] [f#4,b4] [d#4,f#4,b4] [f#4,b4] [d#4,f#4,b4] ~ [f#4,b4]@2 [f#4,b4]@2 [b3,d4,f#4,b4] ~@3, ~@13 [b3,d#4]@5 ~@6 d4@4 ~@4]/2", // A#5 A#m A#5 A#m B B5 B B5 …
  AN: "~@3 [d4,f#4,b4]@2 [f#4,b4] [d4,f#4,b4] b4 [f#4,a#4] [f#4,a#4]@2 [c#4,f#4,a#4] [a#3,c#4,f#4,a#4] ~@2 [f#4,a#4], ~@8 c#4@3 ~@5", // Bm B5 Bm F#
  AO: "~@3 [d4,f#4,b4]@2 [f#4,b4] [d4,f#4,b4] b4 ~@8", // Bm B5 Bm
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.1)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@9 A B C D E F G H I ~ J K L M N O ~@2 P Q ~ R S A B C D E F G H I ~ J K L M N O ~@2 P Q ~ R S T ~@2 U V@2 W X@2 Y Z
  ~ AA@3 AB@4 AC AD AE AF ~@2 AG AH ~@2 AG AH ~@2 AG AH ~@2 AG AI ~
>`.pickRestart({
  A: "d#3@5 ~@2 a#3 ~@8, f#4@3 ~@13", B: "~@7 d#4 ~@2 d#4 ~ a#3 ~@3", C: "~@11 c#4 ~@4",
  D: "a#3@5 ~@5 a#3 ~ c#4 a#3 ~@2", E: "d#4@3 ~@7 a#3 ~@5", F: "d#3@5 ~@5 a#3 ~@5", G: "~@7 a#3 ~@2 a#3 ~@5",
  H: "~@13 a#4 ~@2", I: "b3@5 ~@2 b3 ~@2 b3 ~@5", J: "a#3@5 ~@2 c#4 ~@2 a#3 ~@5", K: "~@8 a#3 ~@7",
  L: "~@10 [b3,b4] ~@5", M: "b3 ~", N: "a#3@7 ~ a#3 ~ d4!2 ~@4", O: "a#3 ~@3", P: "b3@4 ~@9 b3 ~@2",
  Q: "~@8 a#3 ~ a#3 ~ a#3 ~@3", R: "b3@4 b3 ~@5 d#4 ~@5", S: "b3@4 ~@9 b3@3", T: "~@12 a#3 ~@3", U: "~@7 a#3",
  V: "[a#3@2 a#3@2 ~@12 d#3@5 ~ d#3 ~@9, ~@6 a#3@3 ~@7]/2", W: "~@6 d#3 ~@9", X: "[~@8 c4@4 d#4@6 d#4 ~@11 c4@2]/2",
  Y: "f4@2 ~@6 f4@2 ~@2 c4 ~@3", Z: "~@2 f4 ~@13",
  AA: "[~@4 f#4 ~ c#4 ~ [f#3,a#3]@3 f#3 ~@2 c#4@3 c#4!3 ~@2 c#4 ~, ~@7 c#4@3 ~@2 a#3@3 ~@6 f4@3]/3", // F#
  AB: "[~@2 f4 ~ c#4 ~ g#3@2 ~@6 c#4@2 ~@6 g#3 ~@3 c#4@2 c#4@8 ~@6 c#4@2 a#3@10 g#3@2 ~@2 a#3@2 ~@4, ~@12 f4@7 ~@5 a#3@5 ~@35]/4",
  AC: "~@3 a#3 ~@4", AD: "~@4 c#4 ~@3", AE: "~@6 g3 ~", AF: "~ g3 ~@2 a#3@2 ~@2", AG: "~@2 b3 ~",
  AH: "~@5 b3 ~@2 a#3@4 ~@4", AI: "~@5 b3 ~@10",
})).s("gm_electric_guitar_clean").gain(0.12).pan(0.1)

// chords · french horn · "FR.HORN"
const french_horn = note(`<
  ~@10 A B ~@2 A C D E F G H I J K L M N O P Q R S ~ T U ~@2 V@2 W X F G H I J K L M N O P Q R Y ~@6 Z AA ~@2 AB AC AD@2
  AE@2 AF@2 AB AG AH@3 AI AJ AK@2 AL@2 AM@2 AI AJ AN@2 AL@2 AO@2 ~
>`.pickRestart({
  A: "~@4 d#5 f5@3 f#5@4 f5 d#5@3", B: "c#5@2 a#4 ~", C: "c#5@4 a#4@3 ~", D: "~@6 c#5@2 c#5@3 d#5@3 f5@2",
  E: "g#5@6 f#5 f5 f#5@4 ~@4", F: "~@6 [d5,f#5]@2 [d5,f#5]@3 [d5,g#5]@2 [d5,f#5]@2 ~", G: "[c#5,f#5]@3 [c#5,f#5]!2 ~@3",
  H: "~@7 [a#4,f#5] [c#5,f#5] [d#5,f#5]@2 [c#5,f5,g#5]@2 [a#4,c#5,f#5]@2 ~", I: "[d#5,f#5]@6 [d#5,f#5]!2 ~@8",
  J: "~@6 [d#5,f#5]@2 [d#5,f#5]@3 [d#5,f5]@3 [d#5,f#5]@2", K: "[f5,g#5]@10 ~@2 [a#4,a#5]!3 [c#5,a#5]",
  L: "~@9 [a#4,c#5]!2 [a#4,c#5]@2 [a#4,c#5]@2 ~", M: "[a#4,c#5,a#5]@3 [a#4,c#5,g#5]@2 f#5 d#5 c#5 ~@4 c#5!2 c#5@2",
  N: "[d#5,f#5]@3 [d#5,f#5]@3 ~@6 [b4,d#5]!3 ~", // D#m B
  O: "~@2 [b4,d5]@2 [b4,d5]@2 [b4,d5] [b4,d5]@2 [b4,d5] ~@2 [b4,d5]!3 [a#4,c#5]", // Bm A#m
  P: "~@9 [a#4,c#5]!2 [a#4,c#5]@2 [a#4,c#5]@3", Q: "[a#4,c#5,a#5]@3 [a#4,c#5,g#5]@2 f#5 d#5 c#5@2 ~@3 c#5!2 c#5@2",
  R: "[b4,d#5]@3 [b4,d#5]@3 ~@6 [b4,d#5]!2 ~@2", S: "~ [b4,d5]@2 [b4,d5] [b4,d5]@2 [b4,d5] [b4,d5]@2 ~@7",
  T: "~@4 f#5 g#5@3 a#5@4 g#5 f#5@3", U: "f5@4 c#5@3 ~",
  V: "[~@6 f#5 f#5@2 f#5 f#5@2 f5@2 d#5 c#5@8 [c5,c#5] a#4@2 ~@6]/2", W: "~@6 c#5@2 c#5@3 d#5@2 f5@3",
  X: "g#5@6 f#5 f5 f#5@2 ~@6", Y: "~ [b4,d5]@2 [b4,d5] [b4,d5]@2 [b4,d5]!2 ~@8", Z: "~@4 [c#4,f#4,a#4]!4",
  AA: "[c#4,f#4,a#4]@2 ~@4 [c#4,f#4,a#4]@2 [c4,d#4,a#4]@2 [c4,d#4,g#4]@2 [c4,d#4,g#4]@3 ~", AB: "~@4 [d#5,f#5]!4",
  AC: "[d#5,f#5]@4 [f5,g#5]@2 [f5,g#5] [d#5,f#5] [c#5,f5]@2 [c#5,f5]@4 ~@2", // D#m Fm D#m C#
  AD: "[~@2 [c#5,f5]@2 [d#5,f#5]@2 [f5,g#5]@2 [f5,g#5]@3 [f#5,a#5]@3 [f#5,a#5]@11 ~@5 [d#5,a#5]@2]/2", // C# D#m Fm F# D#5
  AE: "[g#5@2 [f#5,a#5]@2 [f5,g#5]@2 [d#5,f#5]@2 [c#5,d#5]@3 [c#5,f5]@3 [c#5,f5]@10 ~@8]/2", // F# Fm D#m C#sus2 C#
  AF: "[[c#5,f5]@2 [c#5,f5]@2 [d#5,f#5]@2 [f5,g#5]@2 [f5,g#5]@3 [f#5,a#5]@3 [f#5,a#5]@14 ~@4]/2", // C# D#m Fm F#
  AG: "[d#5,f#5]@4 [f5,g#5]@2 [f5,g#5] [d#5,f#5] [c#5,f5]@2 [c#5,f5]@5 ~", // D#m Fm D#m C#
  AH: "[[c#4,c#5,a#5]@3 [a#4,f5,c#6]@2 ~ [f4,c#5,a#5]@4 [c#4,a#4,c#5,f5]@14 [a#4,c#5,f5,a#5]@11 ~ [a#4,a#5]!3 [c#5,a#5] ~@8]/3", // F# A#m A# F#
  AI: "~ [a#4,c#5]!2 [a#4,c#5]@2 [a#4,c#5]@2 ~ [a#4,c#5,a#5]@3 [a#4,c#5,g#5]@2 f#5 d#5 c#5", // A#m A#m7
  AJ: "~@4 c#5!2 c#5@2 [d#5,f#5]@3 [d#5,f#5]@3 ~@2", // D#m
  AK: "[~@4 [b4,d#5]!3 ~@3 [b4,d5]@2 [b4,d5]@2 [b4,d5] [b4,d5]@2 [b4,d5] ~@2 [b4,d5]!3 [a#4,c#5] ~@8]/2", // B Bm A#m
  AL: "[~ [a#4,c#5]!2 [a#4,c#5]@2 [a#4,c#5]@3 [a#4,c#5,a#5]@3 [a#4,c#5,g#5]@2 f#5 d#5 c#5@2 ~@3 c#5!2 c#5@2 [b4,d#5]@3 [b4,d#5]@3 ~@2]/2", // A#m A#m7 B
  AM: "[~@4 [b4,d#5]!2 ~@3 [b4,d5]@2 [b4,d5] [b4,d5]@2 [b4,d5] [b4,d5]@2 ~@3 [a#4,a#5]!3 [c#5,a#5] ~@8]/2", // B Bm A# F#
  AN: "[~@4 [b4,d#5]!3 ~@3 [b4,d5]@2 [b4,d5]@2 [b4,d5] [b4,d5]@2 [b4,d5] ~@2 [b4,d5]!3 [a#4,c#5]@2 ~@7]/2", // B Bm A#m
  AO: "[~@4 [b4,d#5]!2 ~@3 [b4,d5]@2 [b4,d5] [b4,d5]@2 [b4,d5] [b4,d5]@2 ~@3 [b4,d5]!3 [f#4,a#4,c#5]@5 ~@4]/2", // B Bm F#
})).s("gm_french_horn").gain(0.28).pan(0.6)

// chords · clavinet
const clavinet = note(`<
  ~ A B C D E B F G H@2 I@2 H@2 I@2 J K L@2 M@2 N ~@8 H@2 I@2 H@2 I@2 J K L@2 M@2 N ~@8 A B C O@2 ~@35
>`.pickRestart({
  A: "[d#2,f#3,a#3]@3 d#2 [d#2,f#3,a#3] [g#3,c4] ~@5 d#2 [d#2,a#3,c#4] [g#3,c4]@2 ~, ~@13 d#2 ~@2", // D#m G# D#7 G#
  B: "c3 g#2 d#2 [g#2,g#3,c4] ~ [g#2,g#3,c4] [f#3,a#3]@10, ~@6 d#2@7 ~@3", // G# F#
  C: "[d#2,f#3,a#3]@3 d#2 [d#2,f#3,a#3] [g#3,c4] ~@5 d#2 [d#2,a#3,c#4] [g#3,c4] ~@2, ~@13 d#2@2 ~", // D#m G# D#7 G#
  D: "f2 g#2 a#2 c#3 ~ c#3 a#2@9 ~",
  E: "[d#2,f#3,a#3]@3 d#2 [d#2,f#3,a#3] [g#3,c4] ~@5 d#2 [d#2,a#3,c#4] [g#3,c4] ~ d#2, ~@13 d#2@2 ~", // D#m G# D#7 G#
  F: "[d#2,f#3,a#3]@3 d#2 [d#2,f#3,a#3] [g#3,c4] ~@5 d#2 [d#2,a#3,c#4] [a#2,g#3,c4] d#3 ~", // D#m G# D#7 Fm
  G: "f2 g#2 a#2 c#3 ~ c#3 a#2@10", H: "[a#2,d#3]@4 [a#2,d#3] ~@6 a#2!2 [c#3,f#3] ~@2",
  I: "[c#3,f3]@4 [c#3,f3] ~@6 f2!2 [c#3,f3] ~@2", // C#
  J: "[b3,d#4,f#4]@4 [b3,d#4,f#4] ~@5 [b3,d#4,f#4] ~@2 [b3,d#4,f#4] ~@2", // B
  K: "[b3,d4,f#4]@4 [b3,d4,f#4] ~@5 [b3,d4,g#4] ~@2 [b3,d4,f#4] ~@2", // Bm G#dim Bm
  L: "[f#3,a#3,c#4]@4 [f#3,a#3,c#4] ~@7 c#4 d#4 ~@2, ~@6 [f#3,a#3] ~", // F#
  M: "[f#3,g#3,b3]@4 [f#3,g#3,b3] ~@5 [f#3,g#3,b3] ~@2 [f#3,g#3,b3] ~@2", N: "[g#3,a#3,f4]@7 ~",
  O: "[f2 g#2 a#2 c#3 ~ c#3 a#2@18 ~@8]/2",
})).s("gm_clavinet").gain(0.38).pan(0.7)

// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<~@24 A B C D A B C D ~@15 A B C D A B C D ~@4 E@8 F@6 G@3 H I@16 ~@2>".pickRestart({
  A: "[a#4,c#5,f#5]", B: "[a#4,c#5,f5]", C: "[b4,d#5,f#5]", D: "[b4,d5,f#5]", E: "[a#5@7 g#5@6 a#5@3]/8",
  F: "[~ f#5@4 f5@4 f#5@3]/6", G: "[~ g#5 a#5@8 ~@2]/3", H: "~ f6",
  I: "[~ [a#4,c#5,f#5]@2 [a#4,c#5,f5]@2 [b4,d#5,f#5]@2 [b4,d5,f#5]@2 [a#4,c#5,f#5]@2 [a#4,c#5,f5]@2 [b4,d#5,f#5]@2 [b4,d5,f#5]]/8", // F# A#m B Bm F# A#m B Bm
})).s("gm_synth_strings_1").gain(0.3).pan(0.6)

// chords · trombone
const trombone = note("<~@66 A B@6 C@3 ~@19>".pickRestart({
// … 84 more lines

More by Bee Gees