Strudelify
Beautiful Noise cover art

1996 · In My Lifetime

Beautiful Noise

Neil Diamond

KeyG majorTempo128 bpm
0:00/0:00
// Beautiful Noise — Neil Diamond
// 128 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 99 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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.

// other · acoustic guitar steel · "FOOT"
const acoustic_guitar_steel = note(`<
  ~ A@7 B C D@2 E@2 F G H@2 I J K@2 L M N O@2 ~@26 P@2 Q@7 R ~@8 S P T P@5 U P@8 ~ V W X Y Z@3 ~ AA@2
>`.pickRestart({
  A: "[~@3 f#4@5 ~ f#4@6 f#4@6 f#4@6 f#4@6 f#4@4 ~@2 f#4@5 f#4@6 [d4,f#4]@6 ~ f#4@6 f#4@5 ~ f#4@6 f#4@5 [d4,f#4]@6 f#4@6 f#4@6 f#4@6 f#4@6 f#4@6 ~ [d4,f#4]@6 f#4@6 f#4@6 [a3,d4,f#4]@6 [a3,d4,f#4]@6 d4@5 ~ f#4@2 a3@3 ~ d4@3 a3@3 f#4@3]/7", // D
  B: "a3 d4 a3 f#4 a3 d4 a3 f#4", C: "~@2 a3@3 d4@3 ~ a3@3 d4@3 a4@6 a3@3",
  D: "[d4@3 a3@3 d4@3 a4@6 a3@3 d4@3 a3@5 ~ a3@3 d4@3 a3@3 d4@3 a4@6 a3@3]/2",
  E: "[d4@3 a3@3 d4@3 a4@6 a3@3 d4@8 a3@4 c#4@3 a3@3 c#4@3 a4@5 a3@3 ~]/2", F: "c#4@3 a3@3 c#4@2 ~ a4@6 a3@3 c#4@5 ~",
  G: "~@2 a3@4 c#4@2 a3@3 ~ c#4@3 a4@6 ~@3",
  H: "[c#4@3 a3@3 c#4@3 a4@6 a3@3 c#4@3 a3@5 ~ a3@3 d4@3 a3@3 d4@2 a4@7 a3@3]/2",
  I: "d4@3 a3@3 d4@2 ~ a4@6 a3@3 d4@3 a3@3", J: "~@2 a3@4 d4@3 a3@3 d4@2 ~ a4@6 a3@3",
  K: "[d4@3 ~@3 d4@3 a4@6 a3@3 d4@3 a3@5 ~ a3@3 c#4@3 a3@3 c#4@2 a4@7 a3@3]/2",
  L: "c#4@3 a3@3 c#4@3 a4@5 a3@4 c#4@2 a3@4", M: "~ a3 c#4 a3 c#4 a4@2 a3",
  N: "c#4@3 a3@3 c#4@2 ~@6 a3@3 ~@3 a3@4, ~@9 a4@7 ~@2 c#4@4 ~@2",
  O: "[~@2 a3@4 d4@3 a3@3 d4@2 a4@6 a3@3 d4@3 a3@3 ~ d4@2 a4@6 a3@3 ~@3 a3@4, ~@21 d4@2 ~]/2", P: "~@3 g#2 ~@5 g#2 ~@2",
  Q: "~@6 g#2 ~@11 g#2 ~@5", R: "g#2 ~@23", S: "~@6 g#2@2 ~@10 g#2@3 ~@3", T: "~@6 g#2@3 ~@9 g#2@2 ~@4",
  U: "~@6 g#2@2 ~@10 g#2 ~@5", V: "~@3 g3@3 [g#2,c4]@3 g3@3 c4@3 ~@5 g3@3 ~, ~@15 g4@5 ~@4, ~@9 g#2@2 ~",
  W: "c4 g3 [g#2,c4] g4@2 g3 [g#2,c4] g3", X: "~@3 g3@3 [g#2,b3]@3 g3@2 b3@3 ~@4 g#2@3 g3@3, ~@15 g4@5 ~@4",
  Y: "b3@2 ~ g3@3 [g#2,b3]@3 g4@6 g3@3 [g#2,b3]@3 g3@3", // G#m
  Z: "[~@3 g3@3 b3@2 g3@3 ~ b3@3 ~@3 g#2@3 g3@31 ~@20, ~@6 g#2@4 ~@5 g4@6 ~@51]/3", AA: "[~@4 c2@33 ~@11]/2",
})).s("gm_acoustic_guitar_steel").gain(0.17).pan(0.3)

// other · acoustic guitar steel · "FOOT" · soft notes
const acoustic_guitar_steel_2 = note("<~ A@6 ~@8 B ~@4 C ~@78>".pickRestart({
  A: "[~@3 [a3,d4]@5 ~ [a3,d4]@6 [a3,d4]@6 [a3,d4]@6 [a3,d4]@6 [a3,d4]@4 ~@2 [a3,d4]@5 [a3,d4]@6 a3@6 ~ a3@6 [a3,d4]@5 ~ d4@5 [a3,d4]@6 a3@6 [a3,d4]@6 [a3,d4]@6 [a3,d4]@6 [a3,d4]@6 [a3,d4]@6 a3@6 ~ [a3,d4]@6 [a3,d4]@6 ~@9, ~@28 d4@3 ~@3 a3@3 ~@35]/6", // D5
  B: "~@7 a3", C: "~ a3 ~@6",
})).s("gm_acoustic_guitar_steel").gain(0.11).pan(0.3)

// bass · acoustic bass · "BASS              2"
const bass = note(`<
  ~@9 A@2 B C D E D F@2 B@2 G@2 D@2 H I J K@2 L M N O P Q R S T U V W@2 X Y Z AA AB@2 AC Q AD AE AF AG AH Q AI N AJ Q@2
  AK AL AM AN AO X AP X AM AQ AR AS AT@3 AU AV AW AX AG Q AY AX AZ BA Q BB BC AM BD BE BF Q BG@2 ~@3
>`.pickRestart({
  A: "d2@5 ~ a1@4 ~@2 d2@4 ~@2 a1@4 ~@2", B: "d2@2 ~ a1@2 ~ d2@2 ~ a1@2 ~", C: "d2@5 ~ a1@4 ~@2 d2@5 ~ f#2@3 g2@3",
  D: "a2@5 ~ e2@4 ~@2 a2@4 ~@2 e2@4 ~@2", E: "a2@4 ~@2 e2@4 ~@2 a2@5 e2@4 ~@3",
  F: "[a2@4 ~@2 e2@4 ~@2 a2@5 e2@4 ~@2 d2@4 ~@3 a1@4 ~@2 d2@4 ~@2 a1@4 ~@2]/2",
  G: "[d2@4 ~@2 a1@4 ~@2 d2@4 ~@2 f#2@4 ~ a2@5 ~@2 e2@4 ~@2 a2@5 ~ e2@4 ~@2]/2", H: "a2@5 ~ e2@4 ~@2 a2@5 ~ e2@4 ~@2",
  I: "d2@5 a1@4 ~@3 d2@4 ~@2 a1@4 ~@2", J: "d2@4 ~ d2@4 ~@3 e2@4 ~@2 f#2@4 ~@2", K: "g2@2 ~ d2@2 ~ g2@2 ~ d2@2 ~",
  L: "c2@2 ~ g2@2 ~ c3@2 ~ g2@2 ~", M: "c2@4 ~@2 g2@4 ~@2 c3@4 ~@2 g2@2 c2@3 ~",
  N: "f2@3 ~@3 c2@4 ~@2 f2@4 ~@2 c2@4 ~@2", O: "f2@3 ~@3 c2@4 ~@2 f2@4 f2 ~ f2@3 f#2@3",
  P: "g2@3 ~@3 d2@4 ~@2 g1@3 ~@3 d2@5 ~", Q: "g2@2 ~ d2@2 ~ g1@2 ~ d2@2 ~",
  R: "g2@4 ~@2 d2@4 ~@2 g1@2 ~ g1@3 a#1@3 b1@3", S: "g1@23 ~", T: "c2@2 ~ g1@2 ~ c2@2 ~ g1@2 ~",
  U: "c2@4 ~@2 g1@4 ~@2 c2@4 ~@2 e2@2 f2@3 ~", V: "g2@4 ~@2 d2@4 ~@2 g2@4 ~ d2@5 ~@2",
  W: "[g2@4 ~ d2@4 ~@3 g2@4 ~ d2@4 ~@2 g1@5 ~ d2@4 ~@3 g2@4 ~@2 d2@4 ~@2]/2", X: "g1@2 ~ d2@2 ~ g2@2 ~ d2@2 ~",
  Y: "c2@4 ~@2 g1@4 ~@2 c2@4 ~@2 g1@5 ~", Z: "c2@4 ~@2 g1@5 ~ c2@3 g1@3 a1@2 ~ b1@3",
  AA: "c2@4 ~@2 g1@3 ~@3 c2@3 ~@3 g1@3 ~@3",
  AB: "[c2@4 ~ g1@4 ~@3 c2@4 ~@2 e2@4 ~ g2@3 ~@4 d2@3 ~@3 g2@4 ~@2 d2@4 ~@2]/2",
  AC: "g2@4 ~@2 d2@3 ~@3 g2@4 ~@2 d2@3 ~@3", AD: "g2@3 ~@3 d2@4 ~@2 g1@4 ~@2 d2@3 ~@3", AE: "c2 ~ g1 ~ c2 ~ g1 ~",
  AF: "c2@2 ~ c2@2 ~ d2@2 ~ e2@2 ~", AG: "f2@2 ~ c2@2 ~ f2@2 ~ c2@2 ~", AH: "f2@4 ~@2 c2@5 ~ f2@4 ~@2 f2@3 f#2@2 ~",
  AI: "g2@5 ~ g1@5 ~ b2@6 g2@3 f#2@3", AJ: "f2@4 ~@2 c2@4 ~@2 f2@3 ~ f2 ~ f2@2 f#2@3 ~",
  AK: "g2@5 ~ d2@4 ~@2 g1@2 ~ g1@3 a#1@3 b1@3", AL: "g1@7 ~", AM: "c2@3 ~@3 g1@4 ~@2 c2@4 ~@2 g1@4 ~@2",
  AN: "c2@4 ~@2 g1@4 ~@2 c2@4 ~@2 e1@2 f1@3 ~", AO: "g1@4 ~@2 d2@4 ~@2 g2@4 ~@2 d2@3 ~@3",
  AP: "g1@5 ~ d2@4 ~@2 g2@4 ~@2 d2@3 ~@3", AQ: "c2@4 ~@2 g1@4 ~@2 a1@4 ~@2 b1@3 ~@3",
  AR: "c2@4 ~@2 g1@5 ~ c2@4 ~@2 g1@4 ~@2", AS: "c2@4 ~@2 g1@4 ~@2 c2@5 ~ e1@3 f1@3",
  AT: "g1@5 ~ d2@4 ~@2 g2@4 ~@2 d2@4 ~@2", AU: "g1@5 ~ d2@5 ~ g2@4 ~@2 d2@5 ~", AV: "c2@4 ~@2 g1@4 ~@2 c2@5 ~ g1@4 ~@2",
  AW: "c2@4 ~@2 c2@4 ~@2 d2@4 ~@2 e2@5 ~", AX: "f2@2 ~ c2@2 ~ f1@2 ~ c2@2 ~",
  AY: "g2@4 ~@2 d2@3 ~@3 g1@4 ~@2 d2@3 g2@3", AZ: "f2@4 ~@2 c2@3 ~@3 f2@3 ~ e2@2 f2@3 f#2@3",
  BA: "g2@4 ~@2 d2@3 ~@3 g1@4 ~@2 d2@4 ~@2", BB: "g2@4 ~@2 d2@4 ~@2 g1 ~@2 g1@3 a#1@3 b1@3", BC: "g1@11 ~",
  BD: "c2@4 ~@2 g1@4 ~@2 c2@3 ~@2 e1 f1@2 f#1@3 ~", BE: "g1@4 ~@2 d2@4 ~@2 g2@3 ~@3 d2@4 ~@2",
  BF: "g1@4 ~@2 d2@4 ~@2 g2@3 ~@3 d2@3 ~@3", BG: "[g1@19 ~@5]/2",
})).s("gm_acoustic_bass").gain(0.3)

// other · pad poly · "POLYSNTH"
const pad_poly = note(`<
  A B C D E@2 F G H I B J K L M N O I D P Q R S T U V W X Y Z AA AB AC AD AE@2 AF AG AH AI AJ@2 AK AL AM AN AO AP AQ@2
  AR@3 AS AT AU AV AW@2 AX@2 AY AF AZ BA BB@2 AF@2 BC BA BD BE BF@2 BG BF BH BI BJ@2 BK BL BM@2 BN BO BP BQ BR BS BT AF
  BU BQ ~@4
>`.pickRestart({
  A: "~@9 a2@2 ~", B: "d3@5 ~@19", C: "~@18 a2@5 ~", D: "d3 ~@3", E: "[~@18 a2@4 ~ d3@5 ~@8 g4 a4@7 ~@4]/2",
  F: "d3@5 ~@7 a4@6 ~@6, ~@12 g4 ~@11", G: "d3@4 ~@2 a4@4 ~@2 d3@4 ~ g4 a4@5 ~, ~@6 g4 ~@17",
  H: "d3@4 ~@2 a4@3 ~@3 a4@3 ~@3 a4@4 ~@2, ~@6 g4 ~@5 g4 ~@5 g4 ~@5", I: "d3@5 ~@13 a2@5 ~", J: "d3@4 ~@14 a2@5 ~",
  K: "d3 ~@5", L: "a2@5 ~@13 e3@5 ~", M: "a3@5 ~@19", N: "a2@6 ~@12 e3@5 ~", O: "a3 ~@5",
  P: "d3@5 ~@7 d3@4 ~@2 a2@4 ~@2", Q: "d3@5 ~@7 d3@4 ~@2 f#2@4 ~@2", R: "a2@5 ~@7 a2@5 ~ e3@4 ~@2",
  S: "a2@5 ~@7 a2@5 ~ e3@6", T: "a2@5 ~@7 a2@4 ~@2 e3@3 ~@3", U: "a3@5 ~@7 a3@5 ~ e3@5 ~", V: "d3@6 ~@6 d3@5 ~ a2@5 ~",
  W: "d3@4 ~@2 d3@3 d5@2 ~ e3@2 d5@2 ~ f#3 f#5@2 d5@2 ~@2", X: "g3@2 ~ d3@2 ~ g3@2 ~ d3@2 ~",
  Y: "g3@4 ~@2 d3@4 ~@2 g3@4 ~ d3@4 ~@3", Z: "c3@4 ~@2 g3@5 ~ c3@5 ~ g3@4 ~@2", AA: "c3@4 ~@2 g3@4 ~@2 c3@4 ~@2 g3@5 ~",
  AB: "f3@5 ~ c3@4 ~@2 f3@5 ~ c3@4 ~@2", AC: "f3@5 ~ c3@5 ~ f3@4 ~@2 c3@4 ~@2", AD: "g2@2 ~ g3@2 ~ g2@3 ~@3",
  AE: "[g2@4 ~@2 g3@5 ~ g2@6 ~@5 g2@5 ~@2 g3@5 ~ g2@6 g3@5 ~]/2", AF: "g2@5 ~@19",
  AG: "c3@5 ~ g2@4 ~@2 c3@5 ~ g2@4 ~@2", AH: "c3@5 ~ g2@5 ~ c3@4 ~@2 g2@4 ~@2", AI: "g2@4 ~@2 d3@5 ~ g2@4 ~@2 d3@5 ~",
  AJ: "[g2@5 ~ d3@4 ~@2 g2@4 ~@2 d3@4 ~ g2@5 ~@2 d3@4 ~ g2@5 ~@2 d3@5 ~]/2", AK: "g2@4 ~@2 d3@5 ~ g2@4 ~@2 d3@4 ~@2",
  AL: "c3@5 ~ g2@4 ~@2 c3@4 ~@2 g2@4 ~@2", AM: "c3@4 ~@2 g2@4 ~@2 c3@5 ~ g2@4 ~@2", AN: "c3@5 ~ g2@5 ~ c3@4 ~ g2@5 ~@2",
  AO: "c3@6 g2@4 ~@2 c3@5 g2@4 ~@3", AP: "g2@5 ~ d3@5 ~ g2@5 ~ d3@5 ~",
  AQ: "[g2@5 ~ d3@5 g2@5 ~@2 d3@5 g2@6 ~ d3@5 ~ g2@5 ~ d3@5 ~]/2",
  AR: "[g2@5 ~ d3@5 ~ g2@5 ~ d3@5 c3@6 ~ g2@4 ~@2 c3@5 g2@4 ~@2 c3@4 ~@3 c3@2 ~ c5@2 ~ d3@2 ~ c5@2 ~ e3@3 c5@2 ~]/3",
  AS: "f3@4 ~@2 c3@5 ~ f3@4 ~@2 c3@4 ~@2", AT: "f3@4 ~ c3@5 ~@2 f3@5 ~ c3@5 ~", AU: "g3@4 ~@2 d3@5 ~ g3@5 ~ d3@5 ~",
  AV: "g3@5 ~ d3@5 ~ g3@5 d3@5 ~@2", AW: "f3@5 ~ c3@5 ~ f3@5 ~ c3@5 ~",
  AX: "[g2@5 ~ g3@6 g2@7 ~@4 g2@5 ~@2 g3@6 g2@6 ~@6]/2", AY: "g2@5 ~ g3@6 g2@5 ~ g3@5 ~", AZ: "c3 ~@3", BA: "c3@5 ~@19",
  BB: "g2@7 ~@17", BC: "c3@6 ~@6 c3@5 ~ g2@5 ~", BD: "c3@2 ~@4 c3@2 ~ g2@2 ~", BE: "c3@5 ~@7 c3@5 ~ e2@4 ~@2",
  BF: "g2@5 ~@7 g2@4 ~@2 d3@4 ~@2", BG: "g2@2 ~@4 g2@2 ~ d3@2 ~", BH: "c3@4 ~@8 c3@5 ~ g2@4 ~@2",
  BI: "c3@5 ~ c3@3 c5@3 d3@2 ~ c5@3 e3@2 ~ c5@3",
  BJ: "[f3@5 ~ c3@3 ~@3 f3@3 ~@3 c3@3 ~@2 f3@3 ~@4 c3@3 ~@3 f3@3 ~@3 c3@3 ~@3]/2", BK: "g3 ~ d3 ~ g3 ~ d3 ~",
  BL: "g3@4 ~@2 d3@3 ~@3 g3@4 ~@2 d3@3 ~@3", BM: "f3@4 ~@2 c3@3 ~@3 f3@3 ~@3 c3@3 ~@3",
  BN: "g2@3 ~@3 g3@3 ~@3 g2@5 ~@7", BO: "g2@5 ~ g3@4 ~@2 g2@3 ~@2 g2 ~@6", BP: "g2@2 ~ g3@2 ~ g2@2 ~ g3@2 ~",
  BQ: "g2 ~@3", BR: "c3@6 ~@12 g3@5 ~", BS: "c3 ~@2", BT: "g2@5 ~@13 d3@5 ~", BU: "g2@7 ~@11 d3@4 ~@2",
})).s("gm_pad_poly").gain(0.43).pan(0.4)

// chords · banjo · "BANJO  L"
const banjo = note("<~@5 A B C D ~@80 E F G H@5 I@2>".pickRestart({
  A: "a3 ~@2", B: "a3@5 ~@7", C: "a3@6 ~@6 a3@5 ~@7", D: "a3@3 ~@3 a3@3 ~@3 a3@3 ~@2 a3@3 ~@4",
  E: "c3@3 ~ c3@2 d3@3 [g3,c4]@2 e3 e3@3 ~@3 d3@3 ~ e3@2, ~ [g3,c4] ~@3 [g3,c4] ~ [g3,c4], ~@4 c3 ~", // C5
  F: "c3@3 ~@3 g2@3 ~@3 c3@3 ~@3 g2@3 ~ e3@2, ~ [g3,c4] ~ [g3,c4] ~ [g3,c4] ~ [g3,c4], ~@2 c3@2 ~ e3@2 ~ c3@2 ~@2", // C5
  G: "d3@3 g3 g3@2 e3@3 g3 d3@2 f3@3 g3 g3@2 e3@3 ~ d3 ~, ~@3 b3@3 ~@3 b3@3 ~@3 b3@2 ~@4 [g3,b3]@3", // G
  H: "[d3@3 g3 g3@2 g2@2 ~@2 d3@2 d3@3 g3 g3@2 g2@3 ~ d3 d3@3 b3@2 g3@2 e3@3 ~ f3@2 f3@3 g3 g3@2 e3@3 ~@3 d3@2 ~@33 c3@7 ~ d3@7 e3@8 ~@2 d3@2 e3@2 d3@8, ~@3 b3@3 ~@3 [g3,b3]@3 ~@3 b3@3 ~@3 [g3,b3]@3 ~@2 g3 ~@6 [g3,b3]@3 ~@3 b3@3 ~@3 [g3,b3]@3 ~@72, ~@46 f3@29 ~@45]/5", // G
  I: "[~@5 c5@28 ~@15, ~ c3@11 ~@4, ~@2 [e4,g4]@15 ~@7]/2", // Em
})).s("gm_banjo").gain(0.13).pan(0.3)

// chords · banjo · "BANJO  R"
const banjo_2 = note(`<
  ~ A B C@2 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 AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT@2
  AU@2 AV AW AX AY AZ BA BB BC BD BE BF AI BG BH BI BJ@2 BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE
  CF CG BR CH CI CJ CK@4
>`.pickRestart({
  A: "d3@3 f#4@2 ~@4 f#4@2 ~ d3@3 f#4@3 a2@3 f#4@3", B: "d3 f#4 ~@2 d3 f#4 ~ f#4, ~@18 a2@5 ~",
  C: "[d3@3 f#4@3 ~@6 d3@3 ~@3 a2@4 ~ d3@4 ~@9 d3@3 f#4@2 ~ a2@4 ~@2]/2", D: "d3@3 f#4@2 ~@6 d3@3 ~@4 a2@4 ~@2",
  E: "a3@5 ~@7 d3@3 ~@3 a2@4 ~ g3, d3 ~@7, g3 ~@23",
  F: "d3@3 f#4@3 ~@6 d3@3 f#4@2 ~ a2@3 f#4@3, a3@5 ~@7 a3@5 ~@7, ~@12 g3 ~@11",
  G: "[d3,a3]@3 ~@3 a3@3 ~@3 [d3,a3]@3 [d4,f#4]@2 g3 [a2,a3]@3 [d4,f#4]@3, g3 ~@5 g3 ~@5 g3 ~@11", // D5 D A D
  H: "d3@3 f#4@2 ~ a2@3 f#4@2 ~ d3@3 f#4@2 ~ a2@3 f#4@2 ~",
  I: "d3@3 f#4@2 ~@4 f#4@2 ~@4 f#4@2 ~@4 f#4@2 ~, ~@6 a2@5 ~ d3@5 ~ a2@5 ~",
  J: "d3@5 ~ a2@4 ~@2 d3@3 f#4@3 a2@3 f#4@2 ~", K: "d3@4 ~@2 a2@3 f#4@2 ~ d3@4 ~@2 a2@4 ~@2",
  L: "a2@3 e4@2 ~ e3@3 ~@3 a2@3 ~@2 e3@4 e4@2 ~, ~@3 c#4 ~@20",
  M: "a2@3 [c#4,e4]@2 ~@4 e4@2 ~ a2@5 ~ e3@5 ~, ~@6 e3@5 ~@13, ~@4 c#4 ~@7", // C#m
  N: "~@3 e4@2 e3@4 e4@2 ~ a2@4 ~@4 e4@3 ~, a2@5 ~@13 e3@4 ~@2", O: "a2@3 e4@2 ~ e3@4 ~@2 a2@4 ~@2 e3@3 ~@3",
  P: "~@3 f#4@2 ~@10 f#4@2 ~ a2@3 f#4@2 ~, d3@5 ~@7 d3@5 ~@7",
  Q: "~@3 f#4@2 ~ a2@4 ~@2 d3@3 f#4@2 ~ a2@3 ~@3, d3@5 ~@19", R: "d3@3 f#4@2 ~ a2@3 ~@3 d3@3 ~@3 a2@3 f#4@2 ~",
  S: "d3@3 f#4@2 ~@4 f#4@2 ~ d3@3 f#4@2 ~ a2@3 f#4@2 ~", T: "a2@2 ~@4 e3@3 e4@2 ~ a2@3 e4@2 ~ e3@3 ~@3",
  U: "a2@3 ~@3 e3@3 ~@3 a2@2 e4@2 ~@2 e3@3 e4@3", V: "a2@3 ~@3 e3@3 e4@2 ~ a2@3 ~@3 e3@3 ~@3",
  W: "a2@2 ~@4 e3@3 ~@3 a2@3 ~@3 e3@3 ~@3", X: "d3@2 d4@3 ~ a2@2 ~ f#4@2 ~ d3@3 f#4@2 ~ a2@3 f#4@2 ~",
  Y: "d3@3 ~@2 d3@3 d4@3 e3@3 d4@3 ~ f#3@3 d4@3", Z: "d3@5 ~ g2@4 ~@2 d3@3 ~@3 g2@3 ~@3",
  AA: "d3@3 ~@3 g2@3 ~@3 d3@5 ~ g2@3 ~@3", AB: "c3@4 ~@2 g2@4 ~@2 c3@4 ~@2 g2@3 ~@3", AC: "c3@2 ~ g2@2 ~ c3@2 ~ g2@2 ~",
  AD: "f3@4 ~@2 c3@5 ~ f3@4 ~@2 c3@5 ~", AE: "f3@4 ~@2 c3@5 ~ f3@4 ~@2 c3@4 ~@2", AF: "d3@5 ~ g2@4 ~@2 d3@6 ~@6",
  AG: "d3@5 ~ g2@4 ~@2 d3@4 ~@8", AH: "d3@5 ~ e3@5 ~ f3@4 ~@2 e3@5 ~", AI: "d3@7 ~@17",
  AJ: "~@3 g4 ~@2 d3@3 g4@2 ~@4 g4@2 ~@4 g4@2 ~, c3@5 ~@7 e3@6 d3@5 ~",
  AK: "~@3 g4@2 ~@4 g4 ~@5 g4 ~@5 g4 ~@2, c3@5 ~ g2@5 ~ c3@5 ~ g2@5 ~",
  AL: "~@3 g4 ~@5 g4 ~@5 g4 ~@5 g4 ~@2, d3@5 ~ e3@5 ~ f3@5 ~ e3@5 ~",
  AM: "~@3 g4 ~@5 g4 ~@5 g4 ~@5 g4 ~@2, d3@5 ~ g2@5 ~ d3@5 ~ g2@5 ~",
  AN: "~@3 g4 ~@5 g4 ~@5 g4 ~@5 g4 ~@2, d3@5 e3@6 ~ f3@5 ~ e3@6",
  AO: "~@3 g4 ~@5 g4 ~@5 g4 ~@5 g4 ~@2, d3@5 ~ g2@6 d3@5 ~ g2@5 ~",
  AP: "~@3 g4 ~@5 g4 ~@5 g4 ~@5 g4 ~@2, e3@5 ~ f3@5 ~ a3@5 ~ g3@6",
  AQ: "~@3 g4 ~@5 g4@2 ~@4 g4@2 ~@4 g4@2 ~, e3@6 g2@5 ~ e3@5 ~ g2@5 ~",
  AR: "~@3 g4@2 ~@4 g4@2 ~@4 g4@2 ~@4 g4@2 ~, e3@5 ~ f3@5 ~ a3@5 ~ g3@5 ~",
  AS: "~@3 g4@2 ~ g2@6 ~@3 g4@2 ~@4 g4@2 ~, e3@6 ~@6 e3@5 g2@6 ~",
  AT: "[~@3 g4@2 ~@4 g4@2 ~@4 g4@2 e3@4 g4@2 ~@4 g4@2 g2@4 g4@2 ~@4 g4@2 g2@4 g4@2 ~, d3@5 e3@6 ~ f3@6 ~@5 d3@6 ~@6 d3@6 ~@7]/2",
  AU: "[~@3 g4@2 ~@4 g4@2 ~@4 g4@2 ~@4 g4@2 d3@4 g4@2 ~@4 g4@2 ~@4 g4@2 ~@4 g4@2 ~, d3@5 e3@6 ~ f3@6 e3@5 ~@7 g2@6 d3@5 ~ e3@5 ~]/2",
  AV: "~@3 g4@2 ~@4 g4@2 ~@4 g4@2 ~@4 g4@2 ~, c3@5 ~ d3@5 ~ e3@5 ~ d3@6",
  AW: "~@3 g4@2 ~@4 g4@2 ~ f3@5 ~ g3@3 g4 ~@2, c3@5 ~ e3@5 ~@13", AX: "f3@5 ~ c3@6 f3@6 c3@5 ~",
  AY: "f3@5 ~ c3@5 ~ f3@6 c3@5 ~", AZ: "g2@5 ~ d3@6 g2@5 ~ d3@5 ~", BA: "g2@5 ~ d3@5 ~ g2@6 d3@5 ~",
  BB: "f3@5 ~ c3@5 ~ f3@6 c3@6", BC: "f3@6 c3@5 ~ f3@6 c3@6", BD: "d3@5 ~ g2@6 d3@11 ~", BE: "d3@6 g2@5 ~ d3@11 ~",
  BF: "d3 e3 f3 e3", BG: "~ c3@5 d3@6 e3@5 ~ d3@5 ~", BH: "c3@6 g2@5 ~ e3@3 f3@3 e3@6", BI: "d3@5 e3@6 ~ f3@6 e3@6",
  BJ: "[d3@6 g2@5 ~ f3@6 e3@5 d3@5 ~ g2@5 ~@2 f3@5 e3@6 ~]/2", BK: "d3@5 g2@5 ~@2 e3@6 d3@6", BL: "c3 d3 e3 d3",
  BM: "c3@5 ~ g2@5 ~ a2@5 ~ b2@5 ~", BN: "e3@5 ~ f3@5 ~ a3@5 ~ g3@6", BO: "e3@5 ~ g2@5 ~ c3@5 ~ g2@5 ~",
  BP: "d3@5 e3@5 ~@2 f3@5 ~ e3@6", BQ: "d3@5 ~ g2@5 ~ d3@5 ~ g2@6", BR: "d3@5 ~ e3@5 ~ f3@5 ~ e3@6",
  BS: "d3@6 g2@5 ~ d3@5 ~ g2@5 ~", BT: "c3@5 ~ d3@5 ~ e3@6 d3@6", BU: "c3@5 ~ e3@5 ~ f3@5 ~ g3@5 ~",
  BV: "f3@5 ~ c3@5 ~ f3@3 ~@3 c3@4 ~@2", BW: "f3@3 ~@2 c3@4 ~@3 f3@3 ~@3 c3@3 ~@3", BX: "g3 ~ d3 ~ g3 ~ d3 ~",
  BY: "g3@4 ~@2 d3@3 ~@3 g3@4 ~@2 d3@4 ~@2", BZ: "f3 ~ c3 ~ f3 ~ c3 ~", CA: "f3@3 ~@3 c3@3 ~@3 f3@3 ~@3 c3@4 ~@2",
  CB: "d3@4 ~@2 g2@4 ~@2 d3@5 ~@7", CC: "d3@2 ~ g2@2 ~ d3@2 ~@4", CD: "d3@5 ~ e3@4 ~@2 f3@4 ~@2 e3@5 ~", CE: "d3 ~@3",
  CF: "c3@5 ~ d3@5 ~ e3@5 ~ d3@5 ~", CG: "c3@5 ~ g2@5 ~ c3@6 ~@6", CH: "d3@5 ~ g2@5 ~@7 g2@4 ~@2",
  CI: "d3@5 ~ e3@5 ~ f3@6 e3@4 ~@2", CJ: "d3 ~@5",
  CK: "[~@11 [c3,c4]@7 [d3,c4]@8 [e3,c4]@8 ~@4 e3@2 d3@8 ~@4 e4@33 ~@11, ~@35 d3@3 ~@12 c3@35 ~@11, ~@36 c4@14 ~ [g3,c4]@34 ~@11]/4", // C D7 C C5
})).s("gm_banjo").gain(0.13).pan(0.8)

// chords · banjo · "BANJO  R" · soft notes
const banjo_soft = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S J T U V W X Y ~@19 Z ~@5 AA ~@37 AB ~ AC ~@6
>`.pickRestart({
  A: "~@3 d4@3 ~ d3@2 d4@3 ~@3 d4@3 ~@3 d4@3", B: "~@3 d4@3 ~@3 [d4,f#4]@2 ~@4 d4@3 ~@3 d4@3",
  C: "~@3 d4@3 d3@3 [d4,f#4]@3 ~@2 [d4,f#4]@3 ~@4 [d4,f#4]@2 ~", // D
  D: "~@3 [d4,f#4]@2 ~@4 [d4,f#4]@3 ~@3 d4@3 ~@3 [d4,f#4]@2 ~", // D
  E: "~@3 d4@2 d3@2 ~ [d4,f#4]@2 ~@4 [d4,f#4]@3 ~@3 [d4,f#4]@3 ~", // D
  F: "~@3 [d4,f#4]@3 d3@2 ~ [d4,f#4]@3 ~@3 [d4,f#4]@2 ~@4 d4@3, ~@20 f#4@3 ~", // D
  G: "~@3 d4@3 ~ d3 ~ [d4,f#4]@3 ~@3 d4@2 ~@4 d4@3", H: "~@3 [d4,f#4]@2 ~@4 [d4,f#4]@3 ~@12",
  I: "~@3 d4@3 ~@3 d4@3 ~@3 d4@3 ~@3 d4@2 ~", J: "~ d4 ~ d4 ~ d4 ~ d4",
  K: "~@3 d4@3 ~@3 [d4,f#4]@3 ~@3 d4@3 ~@3 d4@2 ~, ~@3 f#4 ~@20", L: "~ [d4,f#4] ~ d4 ~ [d4,f#4] ~ [d4,f#4]",
  M: "~@9 [c#4,e4]@2 ~@3 [c#4,e4]@2 ~@5 c#4@2 ~", N: "~@15 [c#4,e4]@2 ~@4 [c#4,e4]@2 ~",
  O: "~@3 c#4@2 ~@4 c#4@2 ~@4 [c#4,e4]@2 ~@4 c#4@2 ~", P: "~@3 c#4@2 ~@4 [c#4,e4]@2 ~@4 [c#4,e4]@2 ~@4 [c#4,e4]@3",
  Q: "~@2 d4@3 ~ a2@3 [d4,f#4]@3 ~@3 d4@3 ~@3 d4@2 ~", R: "~@3 d4@2 ~@4 [d4,f#4]@3 ~@3 d4@2 ~@4 [d4,f#4] ~@2",
  S: "~ d4 ~ [d4,f#4] ~ [d4,f#4] ~ d4", T: "~@3 [c#4,e4]@2 ~@4 c#4@2 ~@4 c#4@2 ~@3 [c#4,e4]@3 ~",
  U: "~@2 [c#4,e4]@2 ~@4 [c#4,e4]@3 ~@3 c#4@2 ~@5 c#4@3", V: "~@3 [c#4,e4]@2 ~@4 c#4@2 ~@4 [c#4,e4]@2 ~@4 [c#4,e4]@2 ~",
  W: "~@2 [c#4,e4]@2 ~@5 e4@2 ~@4 [c#4,e4]@2 ~@4 [c#4,e4]@2 ~, ~@4 c#4 ~@7", X: "~@4 f#4 ~@4 d4@2 ~@4 d4@2 ~@4 d4@3",
  Y: "~@3 [d4,f#4]@2 ~@19", Z: "~@9 g4@2 ~@13", AA: "~@15 g4@2 ~@7", AB: "~@18 g2@5 ~", AC: "~@2 d3 ~",
})).s("gm_banjo").gain(0.05).pan(0.8)

// chords · brass section · "BRASS1 R"
const brass_section = note(`<
  ~@27 A@2 B@2 C@2 D E F@2 ~@7 G@8 H I J K@4 L@2 M N@2 ~@7 O@2 P@2 Q@4 R S T U@2 V W X Y Z ~@10
>`.pickRestart({
  A: "[[g4,b4]@47 ~]/2", B: "[[g4,c5]@47 ~]/2", C: "[[f4,a4]@23 ~]/2", D: "[g4,b4]@23 ~", E: "[g4,b4]@11 ~",
  F: "[g4,b4]", G: "[~@3 g4@61]/8", H: "~ e4 f4 g4", I: "a4@9 [a4,c5]@2 ~@4 [a4,c5]@5 ~ [g#4,b4]@3",
  J: "[a4,c5] [g#4,b4] [a4,c5]@6", // Am G#m Am
// … 163 more lines

More by Neil Diamond