Strudelify

Gone (version 1)

Buddy Holly

KeyG majorTempo106 bpm
0:00/0:00
// Gone (version 1) — Buddy Holly
// 106 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 74 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(106/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 · acoustic bass
const bass = note(`<
  ~ A@2 B C A@4 D C E F A@4 D C G@2 C A H@2 I B@2 J A@4 D C G@2 A@4 D C G@2 K@4 D C G@2 C A H@2 I B@2 J A@4 D C E F E F
  L M N
>`.pickRestart({
  A: "g2 ~ g2 ~", B: "a2 ~ a2 ~", C: "d2 ~ d2 ~", D: "c2 ~ c2 ~", E: "g2 ~ e2 ~", F: "a2 ~ d2 ~", G: "g2 ~ d2 ~",
  H: "c3 ~ g2 ~", I: "e2 ~ e2 ~", J: "d2 a2 d2 ~", K: "g2!2 ~@2 g2!2 ~@2", L: "g2 ~ c2 ~", M: "g2 ~@3", N: "g1 ~@3",
})).s("gm_acoustic_bass").gain(0.3)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A@2 B@2 C D E F G H I J C D E F K H ~@2 L@2 M N O P Q R S T U V K W ~@2 X Y Z ~ K W AA AB ~@3 AC K W AA AB L@2 M N O
  P Q R C D E F K AD AA AE ~@3 AF AG
>`.pickRestart({
  A: "[[d3,d4] [d#3,d#4], [g2,b3]]/2", B: "[[a2,e3,e4] [d2,f#3,d#4], c4]/2",
  C: "[d3,d4]!2 d4 [d3,d4]!3 d4 [d3,d4]!3 d4 [d3,d4]!3 d4 [d3,d4]!3 d4 [d3,d4]!3 d4 [d3,d4]!3 d4 [d3,d4]!3 d4 [d3,d4]", // D
  D: "[d#3,d#4]!2 d#4 [d#3,d#4]!3 d#4 [d#3,d#4]!3 d#4 [d#3,d#4]!3 d#4 [d#3,d#4]!3 d#4 [d#3,d#4]!3 d#4 [d#3,d#4]!3 d#4 [d#3,d#4]!3 d#4 [d#3,d#4]", // D#
  E: "[e3,e4]!2 e4 [e3,e4]!3 e4 [e3,e4]!3 e4 [e3,e4]!3 e4 [e3,e4]!3 e4 [e3,e4]!3 e4 [e3,e4]!3 e4 [e3,e4]!3 e4 [e3,e4]", // E
  F: "[f3,f4]!2 f4 [f3,f4]!3 f4 [f3,f4]!3 f4 [f3,f4]!3 f4 [f3,f4]!3 f4 [f3,f4]!3 f4 [f3,f4] ~@8", // F
  G: "~@24 [g4,g5] [e4,f#4,f#5] [d4,e5] [c4,c5,d5] [b3,b4] [g3,a3,a4] [f#3,g4] [e3,e4,f#4]", H: "[d3,d4]@3 ~@13",
  I: "[e5,g5] [f#5,a5] e5 [f#5,g5] [e5,a5] [f#5,g5] e5 [f#5,a5] [e5,g5] [f#5,a5] e5 [f#5,g5] [e5,a5] [f#5,g5] e5 [f#5,a5] [e5,g5] [f#5,a5] e5 [f#5,g5] [e5,a5] [f#5,g5] e5 [f#5,a5] [e5,g5] [f#5,a5] e5 [f#5,g5] [e5,a5] [f#5,g5] e5 a5", // Em F#m Gmaj7 A5 Gmaj7 F#m Em F#m …
  J: "[d5,f#5] [e5,g5] d5 [e5,f#5] [d5,g5] [e5,f#5] d5 [e5,g5] [d5,f#5] [e5,g5] d5 [e5,f#5] [d5,g5] [e5,f#5] d5 g5 [c5,e5] [d5,f#5] c5 [d5,e5] [c5,f#5] [d5,e5] c5 [d5,f#5] [c5,e5] [d5,f#5] c5 [d5,e5] ~@4", // D Em Esus2 G5 Esus2 Em D Em …
  K: "~@24 g5 f#5 [f#4,e5] [d4,e4,c5,d5] [c4,b4] [a3,b3,a4] [g3,g4] [e3,f#3,e4,f#4], ~@12 g4 ~@3", // F#7 C Cmaj7 Asus2 G Esus2
  L: "~@2 e5 d#5 d5@3 ~", M: "~@24 g4@3 a4@2 c5@3", N: "d5@5 c5@3 d5@5 c5@3 d5@5 c5@3 d5@5 c5@2 ~",
  O: "~@8 [d4,g4,b4,e5] ~@2 [d4,g4,b4,e5] ~ [d4,g4,b4,e5] ~@2 [d4,g4,b4,e5] ~@2 [d4,g4,b4,e5] ~ [d4,g4,b4,e5] ~@2 [d4,g4,b4,e5] ~@2 [d4,g4,b4,e5] ~ [d4,g4,b4,e5] ~@2", // Em7
  P: "[c#4,g4,b4,e5] ~@2 [c#4,g4,b4,e5] ~ [c#4,g4,b4,e5] ~@2 [c#4,g4,b4,e5] ~@2 [c#4,g4,b4,e5] ~ [c#4,g4,b4,e5] ~@2 [c#4,g4,b4,e5] ~@2 [c#4,g4,b4,e5] ~ [c#4,g4,b4,e5] ~@2 [c#4,g4,b4,e5] ~@2 [c#4,g4,b4,e5] ~ [c#4,g4,b4,e5] ~@2", // C#m7b5
  Q: "[c4,g4,b4,e5] ~@2 [c4,g4,b4,e5] ~ [c4,g4,b4,e5] ~@2 [c4,g4,b4,e5] ~@2 [c4,g4,b4,e5] ~ [c4,g4,b4,e5] ~@2 [c4,g4,b4,e5] ~@2 [c4,g4,b4,e5] ~ [c4,g4,b4,e5] ~@2 [c4,g4,b4,e5] ~@2 [c4,g4,b4,e5] ~ [c4,g4,b4,e5] ~@2", // Cmaj7
  R: "[c4,f#4,b4,e5] ~@2 [c4,f#4,b4,e5] ~ [c4,f#4,b4,e5] ~@2 [c4,f#4,b4,e5] ~@2 [c4,f#4,b4,e5] ~ [c4,f#4,b4,e5] ~@2 [c4,f#4,b4,e5] ~@15", // Cmaj7
  S: "[g3,d4,g4]!2 [g3,g4] [g3,d4,g4]!3 [g3,g4] [g3,d4,g4]!3 [g3,g4] [g3,d4,g4]!3 [g3,g4] [g3,d4,g4] [g3,d4,d5]!2 [g3,d5] [g3,d4,d5] [g3,d4,b4]!2 [g3,b4] [g3,d4,b4] [g3,d4,g4]!2 [g3,g4] [g3,d4,g4] [g3,d4,b4]!2 [g3,b4] [g3,d4,b4]", // G5 G G5 G G5 G G5 G …
  T: "[g3,d#4,g4]!2 [g3,g4] [g3,d#4,g4]!3 [g3,g4] [g3,d#4,g4]!3 [g3,g4] [g3,d#4,g4]!3 [g3,g4] [g3,d#4,g4] [g3,d#4,d#5]!2 [g3,d#5] [g3,d#4,d#5] [g3,d#4,b4]!2 [g3,b4] [g3,d#4,b4] [g3,d#4,g4]!2 [g3,g4] [g3,d#4,g4] [g3,d#4,b4]!2 [g3,b4] [g3,d#4,b4]", // Cm G Cm G Cm G Cm G …
  U: "[g3,e4,g4]!2 [g3,g4] [g3,e4,g4]!3 [g3,g4] [g3,e4,g4]!3 [g3,g4] [g3,e4,g4]!3 [g3,g4] [g3,e4,g4] [g3,e4,e5]!2 [g3,e5] [g3,e4,e5] [g3,e4,b4]!2 [g3,b4] [g3,e4,b4] [g3,e4,g4]!2 [g3,g4] [g3,e4,g4] [g3,e4,b4]!2 [g3,b4] [g3,e4,b4]", // C G C G C G C G …
  V: "[g3,f4,a4]!2 [g3,a4] [g3,f4,a4]!3 [g3,a4] [g3,f4,a4]!3 [g3,a4] [g3,f4,a4]!3 [g3,a4] [g3,f4,a4] [g3,f4,d5]!2 [g3,d5] [g3,f4,d5] [g3,f4,b4]!2 [g3,b4] [g3,f4,b4] [g3,f4,a4]!2 [g3,a4] [g3,f4,a4] [g3,f4,b4]!2 [g3,b4] [g3,f4,b4]", // Dm Gsus2 Dm Gsus2 Dm Gsus2 Dm Gsus2 …
  W: "[d3,d4]@5 ~@27", // D
  X: "[g4,b4,d5]!2 [b4,d5] [g4,b4,d5] [b4,d5,g5]!2 [d5,g5] [b4,d5,g5] [d5,g5,b5]!2 [g5,b5] [d5,g5,b5] [b4,d5,g5]!2 [d5,g5] [b4,d5,g5] [g4,b4,d5]!2 [b4,d5] [g4,b4,d5] [b4,d5,g5]!2 [d5,g5] [b4,d5,g5] [d5,g5,b5]!2 [g5,b5] [d5,g5,b5] [b4,d5,g5]!2 [d5,g5] [b4,d5,g5]", // G Bm G G5 G G5 G Bm …
  Y: "[g4,b4,d#5]!2 [b4,d#5] [g4,b4,d#5] [b4,d#5,g5]!2 [d#5,g5] [b4,d#5,g5] [d#5,g5,b5]!2 [g5,b5] [d#5,g5,b5] [b4,d#5,g5]!2 [d#5,g5] [b4,d#5,g5] [g4,b4,d#5]!2 [b4,d#5] [g4,b4,d#5] [b4,d#5,g5]!2 [d#5,g5] [b4,d#5,g5] [d#5,g5,b5]!2 [g5,b5] [d#5,g5,b5] [b4,d#5,g5]!2 [d#5,g5] [b4,d#5,g5]", // Gaug B Gaug Baug D# Baug D#aug G …
  Z: "[g4,b4,e5]!2 [b4,e5] [g4,b4,e5] [b4,e5,g5]!2 [e5,g5] [b4,e5,g5] [e5,g5,b5]!2 [g5,b5] [e5,g5,b5] [b4,e5,g5]!2 [e5,g5] [b4,e5,g5] [g4,b4,e5]!2 [b4,e5] [g4,b4,e5] [b4,e5,g5]!2 [e5,g5] [b4,e5,g5] [e5,g5,b5]!2 [g5,b5] [e5,g5,b5] [b4,e5,g5]!2 [e5,g5] ~", // Em E5 Em G Em E5 Em G …
  AA: "[b5,d6]!4 [g5,b5]!4 [b5,d6]!4 [g5,b5]!4 [b5,d6]!4 [g5,b5]!4 [b5,d6]!4 [g5,b5]!4", // Bm G Bm G Bm G Bm G
  AB: "[b5,d6]!4 [g5,b5]!4 [b5,d6]!4 [g5,b5]!4 [b5,d6]!4 [g5,b5]!4 [b5,d6]@2 ~@6", // Bm G Bm G Bm G Bm
  AC: "~@4 [b3,d4,g4,b4] [d4,g4,b4,d5] [f4,b4,d5,f5] [a4,d5,f5,a5] [f4,b4,d5,g5]@2 ~@6", AD: "[d3,d4]@3 ~@29",
  AE: "[c6,e6]!4 [a5,c6]!4 [c6,e6]!4 [a5,c6]!4 [c6,d#6]!4 [a5,c6]!4 [c6,d#6]!4 [a5,c6]!2 ~@2", // C Am C Am Cm Am Cm Am
  AF: "~@16 [g4,g5] [f#4,f#5] e5 [e4,d5] [d4,c5] [c4,b4] b3 [a3,a4] [g3,g4] [f#3,f#4] e4 [e3,d4] [d3,c4] [c3,b3] b2 [a2,a3]", // G F# E7 D7 Cmaj7 A G F# …
  AG: "[g2,g3] ~@7", // G
})).s("gm_string_ensemble_1").gain(0.3)

// other · string ensemble 2
const string_ensemble_2 = note(`<
  ~@11 A@2 ~@6 B C D E F@2 ~@10 B C ~@6 B C ~@6 B C D E F@2 ~@10 B G B G ~@3
>`.pickRestart({
  A: "[d4@8 ~@16 f#3@7 ~, g3@3 ~, b3@16 c4@15 ~, ~@8 e4@23 ~]/2", B: "d4 e4", C: "f#4 e4", D: "~@2 [c4,f4,a4]@5 ~",
  E: "~@2 [b3,f4,a4]@5 ~", F: "g3 a3", G: "e4 d#4",
})).s("gm_string_ensemble_2").gain(0.3)

// other · pizzicato strings
const pizzicato_strings = note(`<
  ~ A B C D ~@4 E ~@3 F G H ~ E I J K ~@12 E I J K ~@4 E ~@7 E ~@11 F G H ~ E ~@3 J L M ~@2
>`.pickRestart({
  A: "[d5,d6] ~@7 [b4,b5] ~@7 [d5,d6] ~@3 [b4,b5] ~@3 [d5,d6] ~@3 [b4,b5] ~@3", // D B D B D B
  B: "[d#5,d#6] ~@7 [b4,b5] ~@7 [d#5,d#6] ~@3 [b4,b5] ~@3 [d#5,d#6] ~@3 [b4,b5] ~@3", // D# B D# B D# B
  C: "[e5,e6] ~@7 [c5,c6] ~@7 [e5,e6] ~@3 [c5,c6] ~@3 [e5,e6] ~@3 [c5,c6] ~@3", // E C E C E C
  D: "[d#5,d#6] ~@7 [c5,c6] ~@7 [d#5,d#6] ~@15", E: "~@16 [g4,g5] ~@3 [g4,g5] ~@11", F: "~@16 d6 ~@4 b5 ~@2 g5 ~@7",
  G: "~@16 d#6 ~@3 b5 ~@3 g5 ~@7", H: "~@16 e6 ~@3 b5 ~@3 g5 ~@7", I: "~@31 [b5,d6]",
  J: "~@4 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3", // G Bm G Bm G Bm G
  K: "[b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3", // Bm G Bm G Bm G Bm G
  L: "[c6,e6] ~@3 [a5,c6] ~@3 [c6,e6] ~@3 [a5,c6] ~@3 [c6,d#6] ~@3 [a5,c6] ~@3 [c6,d#6] ~@3 [a5,c6] ~@3", // C Am C Am Cm Am Cm Am
  M: "~@4 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [c6,e6] ~@3 [a5,c6] ~@3 [c6,e6] ~@3 [a5,c6] ~@3", // G Bm G C Am C Am
})).s("gm_pizzicato_strings").gain(0.2).pan(0.3)

// other · orchestral harp
const orchestral_harp = note(`<
  ~@5 A B C ~ D E ~ F G H I J D E ~@9 F G H I J D E ~@5 K D E ~@5 K D E ~@9 F L M N J D E ~@7
>`.pickRestart({
  A: "~@16 [d5,d6] ~@3 [b4,b5] ~@3 [g4,g5] ~@7", B: "~@16 [d#5,d#6] ~@3 [b4,b5] ~@3 [g4,g5] ~@7",
  C: "~@16 [e5,e6] ~@3 [b4,b5] ~@3 [g4,g5] ~@7", // E B G
  D: "~@24 [g4,g5] [e4,f#4,f#5] [d4,e5] [c4,c5,d5] [b3,b4] [g3,a3,a4] [f#3,g4] [e3,e4,f#4]", E: "[d3,d4]@5 ~@27",
  F: "~@30 g4 b4", G: "d5 ~@29 g4 b4", H: "d#5 ~@29 g4 b4", I: "e5 ~@29 g4 b4", J: "f5 ~@31",
  K: "[g3,b3,d4,f4,a4,d5] [f5,a5] ~@30", L: "d5 ~@15 d6 ~@3 b5 ~@3 g5 ~@5 g4 b4",
  M: "d#5 ~@15 d#6 ~@3 b5 ~@3 g5 ~@5 g4 b4", N: "e5 ~@15 e6 ~@3 b5 ~@3 g5 ~@5 g4 b4",
})).s("gm_orchestral_harp").gain(0.15).pan(0.3)

// chords · celesta
const celesta = note(`<
  ~ A B C D@6 ~@2 E@6 ~@2 F@4 ~@4 E@6 ~@2 G@5 H I J K@5 H I J L@4 ~@4 E@6 ~ J ~ J ~ J ~ M
>`.pickRestart({
  A: "d7 ~", B: "d#7 ~", C: "e7 ~",
  D: "[d#7 ~ g7 ~ g7 ~ g7 ~ g7 ~ g5 ~, ~@30 b6@16 ~@16 [b6,d#7]@16 ~@17 [b6,e7]@16 ~@15 b6@16 ~@16 c5@16 ~@18, ~@31 d7@16 ~@80 f7@16 ~@16 e5@16 ~@17]/6", // B E5
  E: "[~@2 g7 ~ g7 ~ g7 ~ g7 ~ g5 ~, ~@30 b6@16 ~@16 [b6,d#7]@16 ~@17 [b6,e7]@16 ~@15 b6@16 ~@16 c5@16 ~@18, ~@31 d7@16 ~@80 f7@16 ~@16 e5@16 ~@17]/6", // B E5
  F: "[~@2 c7 ~ b6 ~ g5 ~, ~@30 d6@16 ~@17 [d6,f6]@16 ~@15 c5@16 ~@18, ~@31 f6@16 ~@48 e5@16 ~@17]/4", // Dm
  G: "[~@2 g7 ~ g7 ~ g7 ~ g7 ~, ~@30 b6@16 ~@16 [b6,d#7]@16 ~@17 [b6,e7]@16 ~@15 b6@16 ~@18, ~@31 d7@16 ~@80 f7@16 ~@17]/5", // B E5
  H: "~ [c7,e7]@16 ~@15, g6 ~", I: "~ c7@8 ~@7, f#6 ~, ~ a6@16 ~@15", J: "~ [b6,d7]@16 ~@15, g6 ~",
  K: "[~ [g6,b6]@16 ~@15 g7@16 ~@16 g7@16 ~@16 g7@16 ~@16 g7@16 ~@16, d6@16 ~@14 b6@16 ~@16 [b6,d#7]@16 ~@17 [b6,e7]@16 ~@15 b6@16 ~@18, ~@31 d7@16 ~@80 f7@16 ~@17]/5", // G B E5
  L: "[~ [g6,b6]@16 ~@15 c7@16 ~@16 b6@16 ~@16 g5@16 ~@16, d6@16 ~@14 d6@16 ~@17 [d6,f6]@16 ~@15 c5@16 ~@18, ~@31 f6@16 ~@48 e5@16 ~@17]/4", // G Dm
  M: "~ [d7,g7]@16 ~@15, b6 ~", // G5
})).s("gm_celesta").gain(0.25).pan(0.8)

// other · flute
const flute = note(`<
  A B C D E ~@8 F G H ~@3 I@2 ~@4 J K@2 L ~@6 I@2 M N O ~@3 P Q ~@6 P Q ~@4 J K@2 L F G H ~@3 P R I R S T ~
>`.pickRestart({
  A: "~@31 d6", B: "~@8 b5 ~@7 d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3", C: "d#6 ~@7 b5 ~@7 d#6 ~@3 b5 ~@3 d#6 ~@3 b5 ~@3",
  D: "e6 ~@7 c6 ~@7 e6 ~@3 c6 ~@3 e6 ~@3 c6 ~@3", E: "d#6 ~@7 c6 ~@7 d#6 ~@15", F: "~@16 d6 ~@3 b5 ~@3 g5 ~@7",
  G: "~@16 d#6 ~@3 b5 ~@3 g5 ~@7", H: "~@16 e6 ~@3 b5 ~@3 g5 ~@7",
  I: "d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3",
  J: "~@8 e6 ~@2 e6 ~ e6 ~@2 e6 ~@2 e6 ~ e6 ~@2 e6 ~@2 e6 ~ e6 ~@2",
  K: "e6 ~@2 e6 ~ e6 ~@2 e6 ~@2 e6 ~ e6 ~@2 e6 ~@2 e6 ~ e6 ~@2 e6 ~@2 e6 ~ e6 ~@2",
  L: "e6 ~@2 e6 ~ e6 ~@2 e6 ~@2 e6 ~ e6 ~@2 e6 ~@15", M: "d5 ~@3 g5 ~@3 b5 ~@3 g5 ~@3 d5 ~@3 g5 ~@3 b5 ~@3 g5 ~@3",
  N: "d#5 ~@3 g5 ~@3 b5 ~@3 g5 ~@3 d#5 ~@3 g5 ~@3 b5 ~@3 g5 ~@3",
  O: "e5 ~@3 g5 ~@3 b5 ~@3 g5 ~@3 e5 ~@3 g5 ~@3 b5 ~@3 g5 ~@3",
  P: "d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3 d6 ~@4 b5 ~@2 d6 ~@3 b5 ~@3", Q: "d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3 d6 ~@7",
  R: "e6 ~@3 c6 ~@3 e6 ~@3 c6 ~@3 d#6 ~@3 c6 ~@3 d#6 ~@3 c6 ~@3",
  S: "d6 ~@3 b5 ~@3 d6 ~@3 b5 ~@3 e6 ~@3 c6 ~@3 e6 ~@3 c6 ~@3", T: "d6 ~@31",
})).s("gm_flute").gain(0.3).pan(0.7)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~ A B C D A B E F G H I J A B E F G H A@2 K F G@2 A L C M A B E F G H A@3 B E F G H A@3 B E F G H A@2 K F G@2 A L C M
  A B E F G H A N A N O P ~
>`.pickRestart({
  A: "~@4 [d3,g3,b3] ~@7 [d3,g3,b3] ~@3", B: "~@4 [d#3,g3,b3] ~@7 [d#3,g3,b3] ~@3",
  C: "~@4 [e3,g3,c4] ~@7 [e3,g3,c4] ~@3", D: "~@4 [d#3,f#3,c4] ~@7 [d#3,f#3,c4] ~@3",
  E: "~@4 [e3,g3,b3] ~@7 [e3,g3,b3] ~@3", F: "~@4 [d3,f3,b3] ~@7 [d3,f3,b3] ~@3",
  G: "~@4 [e3,a3,c4] ~@7 [e3,a3,c4] ~@3", H: "~@4 [f#3,a3,c4] ~@7 [f#3,a3,c4] ~@3", I: "~@4 [d3,b3] ~@7 [d3,b3] ~@3",
  J: "~@4 [g3,c4] ~@7 [f#3,c4] ~@3", K: "~@4 [f3,a3,c4] ~@7 [f3,a3,c4] ~@3", L: "~@4 [e3,g3,c#4] ~@7 [e3,g3,c#4] ~@3",
  M: "~@4 [d3,f#3,c4] ~@3 [d3,f#3,c4] ~@7", N: "~@4 [e3,g3,c4] ~@7 [d3,f#3,c4] ~@3",
  O: "~@4 [d3,g3,b3] ~@7 [e3,a3,c4] ~@3", P: "[d3,g3,b3] ~@15",
})).s("gm_electric_guitar_jazz").gain(0.1)

// chords · pizzicato strings
const pizzicato_strings_2 = note(`<
  ~ A B C D ~@4 E ~@3 F G H ~ E ~ I@2 ~@12 E ~ I@2 ~@3 J E ~@3 K L M ~ E ~@11 F G H ~ E ~@3 I N O P ~
>`.pickRestart({
  A: "[d5,d6] ~@7 [b4,b5] ~@7 [d5,d6] ~@3 [b4,b5] ~@3 [d5,d6] ~@3 [b4,b5] ~@3", // D B D B D B
  B: "[d#5,d#6] ~@7 [b4,b5] ~@7 [d#5,d#6] ~@3 [b4,b5] ~@3 [d#5,d#6] ~@3 [b4,b5] ~@3", // D# B D# B D# B
  C: "[e5,e6] ~@7 [c5,c6] ~@7 [e5,e6] ~@3 c6 ~@3 [e5,e6] ~@3 [c5,c6] ~@3", // E C E C
  D: "[d#5,d#6] ~@7 [c5,c6] ~@7 [d#5,d#6] ~@15", E: "~@16 [g4,g5] ~@3 [g4,g5] ~@11", F: "~@16 d6 ~@3 b5 ~@3 g5 ~@7",
  G: "~@16 d#6 ~@3 b5 ~@3 g5 ~@7", H: "~@16 e6 ~@3 b5 ~@3 g5 ~@7",
  I: "[b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3", // Bm G Bm G Bm G Bm G
  J: "~@8 [d4,f4,a4,d5] ~@2 f5 ~ [f4,a4,d5,a5] ~@2 [f4,b4,d5,g5] ~@15", // Dm G7
  K: "[g4,b4,d5] ~@3 [b4,d5,g5] ~@3 [d5,g5,b5] ~@3 [b4,d5,g5] ~@3 [g4,b4,d5] ~@3 [b4,d5,g5] ~@3 [d5,g5,b5] ~@3 [b4,d5,g5] ~@3", // G
  L: "[g4,b4,d#5] ~@3 [b4,d#5,g5] ~@3 [d#5,g5,b5] ~@3 [b4,d#5,g5] ~@3 [g4,b4,d#5] ~@3 [b4,d#5,g5] ~@3 [d#5,g5,b5] ~@3 [b4,d#5,g5] ~@3", // Gaug Baug D#aug Baug Gaug Baug D#aug Baug
  M: "[g4,b4,e5] ~@3 [b4,e5,g5] ~@3 [e5,g5,b5] ~@3 [b4,e5,g5] ~@3 [g4,b4,e5] ~@3 [b4,e5,g5] ~@3 [e5,g5,b5] ~@3 [b4,e5,g5] ~@3", // Em
  N: "[c6,e6] ~@3 [a5,c6] ~@3 [c6,e6] ~@3 [a5,c6] ~@3 [c6,d#6] ~@3 [a5,c6] ~@3 [c6,d#6] ~@3 [a5,c6] ~@3", // C Am C Am Cm Am Cm Am
  O: "[b5,d6] ~@3 [g5,b5] ~@3 [b5,d6] ~@3 [g5,b5] ~@3 [c6,e6] ~@3 [a5,c6] ~@3 [c6,e6] ~@3 [a5,c6] ~@3", // Bm G Bm G C Am C Am
  P: "[b5,d6] ~@31", // Bm
})).s("gm_pizzicato_strings").gain(0.3).pan(0.3)

// drums · hihat
const hihat = s("hh").struct(`<
  [x!4]
  [x ~@3 x ~@2 x!2 ~@3 x ~@2 x]!27
  [x ~@3 x ~@2 x!2 ~@7]
  [x ~@3 x ~@2 x!2 ~@3 x ~@2 x]!31
  [x ~@3 x ~@2 x!2 ~@7]
  [x ~@3 x ~@2 x!2 ~@3 x ~@2 x]!11
  x!2
>`).gain(0.35)

stack(
  bass, string_ensemble_1, string_ensemble_2, pizzicato_strings, orchestral_harp, celesta, flute, electric_guitar_jazz,
  pizzicato_strings_2, hihat
)

More by Buddy Holly