Strudelify

I Want to Be Happy

Powell Bud

KeyC majorTempo170 bpm
0:00/0:00
// I Want to Be Happy — Powell Bud
// 170 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 136 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(170/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 · acoustic guitar nylon · "I want to"
const acoustic_guitar_nylon = note(`<
  A B C D E F G H I J K L@3 M N@2 O@2 P@2 Q@2 R S@2 T U V W X Y@3 Z AA AB@3 AC AD AE AF AG AH AI@2 AC AJ AK AL AM AN
  AO@2 AP@3 AQ AR AS@2 AT AU AV@2 AW AX AY@4 AZ BA BB BC@2 BD BE BF BG BH BI BJ BK@2 BL BM@3 BN BO@2 BP BQ BR@2 BS BT BU
  BV BW BX BY@2 BZ CA@3 CB CC CD CE@3 CF CG@2 CH CI CJ CK CL@2 CM@2 CN CO CP@4 CQ CR CS CT
>`.pickRestart({
  A: "[e4,a4,d5,g5,c6]@2 ~@6 [c#4,g4,c5,f5,a5] ~@7", B: "[f3,a3,c4,e4,a4,c5,e5,g5] ~@6 [f3,b3,f4,b4,e5,g5] ~@8",
  C: "[e4,a4,d5,g5,c6] ~@7 [c#4,g4,c5,f5,a5]@2 ~ [c#4,g4,f5,a5] ~@4", // Am7 F C#aug
  D: "g5 [f3,a3,c4,e4,a4,c5] ~@6 [f3,b3,b4,d#5] ~@7", E: "e3@3 [g3,a3,c4,g4]@9 ~ e3@2 [g3,b3,d4,g4], e4@11 ~ e4@4",
  F: "~@7 [e3,a#3,c#4,e4]@5 [g3,g4]@2 ~@2, ~@7 g3@4 ~@5", // A#dim G
  G: "[f3,a3,c4,d4,f4]@6 ~ [g3,d4,g4] ~@4 [f3,f4]@3 [g3,a3,b3,d4,g4]", H: "~@7 [g3,g4] [f3,f4] [b3,d4] ~@2 [g3,g4] ~@3",
  I: "[a3,c4,d4]@4 ~@3 [g3,a3,c4,d4,g4] ~@4 [f3,f4]@3 [g3,a3,c4,d4,g4], [f3,f4]@3 ~@5", // D7 Gsus4 F Gsus4 F
  J: "~@3 [e3,e4] ~ f4 a4 [e4,f4,e5] ~ [d4,f4,b4,d5]@3 [b3,b4]@3 [c4,e4,g4,a4,c5], ~@9 g#4@6 ~", // E Fmaj7 Bdim B Am7
  K: "~@12 [a3,a#3,c#4,f4,a4]@2 ~ [g3,c4,e4,g4]", // A#m C
  L: "[~@8 [f3,g#3,c4,d4,f4]@7 [e3,g3,b3,d4,e4]@11 ~ [g3,g4] [e3,e4]@3 [a#3,d4,e4,g4]@8 ~ [e3,g3,a#3,c#4,e4]@3 [g3,g4] ~@3 [f3,a3,c4,d4,f4], ~@31 g3@6 ~@11]/3", // Dm7b5 Em7 G E Em7b5 Edim G Dm7
  M: "~@3 [g3,a3,c4,d4]@9 [f3,f4]@2 ~@2, ~@3 g4@8 ~@5", // Gsus4 F
  N: "[[g3,a3,b3,d4,g4] ~@7 [f3,f4]@3 [g3,a3,b3,d4,g4] ~@8 [g3,g4]@2 ~@6 [f3,f4]@3 [g3,a3,c4,d4,g4], ~@15 [f3,a3,c4,d4,f4]@7 ~@10]/2", // G F G F Gsus4 Dm7
  O: "[~@3 [e3,e4] ~ f4@2 c#4 [e4,f4,g#4,b4,e5]@3 c#4 [d4,f4,g#4,b4,d5]@2 ~ [c4,e4,g4,a4,c5]@2 ~@4 [c4,d4,e4,f4,a4]@2 [g#3,e4,g#4] ~ [g3,g4]@2 d#3 ~ d4@2 c3, ~@20 a3@3 c4@4 ~ [f3,f4]@3 ~]/2", // E Ddim Am7 Dm7 C#m G F
  P: "[[e3,g3,a3,c4,e4]@2 ~ [c3,a3,c4] ~@9 [a3,c4,d#4,f#4]@2 ~ [a#3,f4,g4] ~@2 [c4,d4,f4,g4,c5]@8 ~ [a#3,d4,f4,g4,a#4]@2 ~ [c4,d4,f4,g4,c5], ~@12 [g#3,a4]@2 ~ [d4,a#4]@2 ~@15]/2", // Am7 F Adim Gm7 Csus4 Gm7 Csus4 Amaj7 …
  Q: "[~@8 [a#3,e4,g#4,a#4]@3 c4 [a#3,a#4]@2 ~ [a3,c4,e4,a4]@5 ~@4 [e4,f4,a4,c5,e5]@2 ~ [d#4,f4,a4,c5,d#5] ~ [f4,a4,d5] ~ [c#4,f4,a4,c#5], ~@4 c#4 ~@9 d4 ~]/2", // A#m7b5 A# Am Fmaj7 F7 Dm C#aug
  R: "~ [d4,f4,c5] ~ [g#3,d4,f4,g#4] ~ g4 ~@2 [a#3,c4,d4,f4,a#4]@2 ~ [g#3,c4,d4,g#4] ~@3 [g3,a3,c4,e4,g4], c4@3 ~@13", // Dm7 Ddim A# Dm7b5 Am7
  S: "[~@8 [e3,e4]@3 [g3,b3,d4,g4] [e3,e4]@3 [g3,a#3,c#4,e4,g4]@9 ~ e4@3 [g3,a#3,g4] ~@3, ~@6 e3 ~]/2", // E G E Gdim Gm
  T: "[d3,f#3,g#3,c4,d4]@13 ~@2 [d3,f3,a3,c4,d4]", U: "~@3 e4 [d#4,d#5]@3 [e4,e5] c4@3 [d4,d5] ~@4",
  V: "[e3,g3,b3,d4,e4]@2 ~@6 [g3,g4]@3 [e3,e4] ~@3 [g3,b3,d4,e4,g4]", // Em7 G E Em7
  W: "~@7 [e3,g3]@5 [g3,g4]@2 ~@2, ~@7 [a#3,c#4,e4]@7 ~@2", // Em G A#dim
  X: "[f3,a3,c4,d4,f4]@2 ~@2 [g3,a3,c4,d4,g4]@2 ~@6 [f3,f4]@3 [g3,a3,c4,d4,g4]", // Dm7 Gsus4 F Gsus4
  Y: "[~@8 [f3,f4]@2 ~@2 [g3,g4]@3 [f3,a3,c4,d4,f4]@8 [g3,g4]@5 f3@3 [g3,a3,c4,d4,g4]@3 ~ e3 ~@3 [c#4,c5] [e4,f4,b4,e5]@3 ~ [b3,b4]@3 [d4,f4,g#4,b4,e5], ~@23 [a3,c4,d4]@7 ~@18, ~@14 f4@3 ~@3 g#4@2 ~@2]/3", // F G Dm7 G Gsus4 C#maj7 E B …
  Z: "~ [c4,e4,g4,a4,c5] ~@5 a3 [b3,c4,d#4,f#4,b4]@3 a3 [b3,c4,d#4,f#4,b4]@2 ~ [a3,c4,d4,f4,a4]", // Am7 B Dm7
  AA: "~@4 [e4,f4,g#4,b4,e5] ~ [d#4,f4,g#4,b4,d#5] ~", // E Fm7b5
  AB: "[[d4,e4,g4,b4,d5]@3 ~ b3@3 [d4,d#4,g4,a4,d5]@2 ~@2 [c#4,d#4,g4,a4,c#5] ~@3 [c4,e4,g4,a4,c5]@6 g#3@2 [b3,c4,d#4,f#4,b4]@4 ~ [a#3,c4,d#4,f#4,a#4]@2 ~ [a3,c4,d4,f4,a4]@3 ~@2 f3 d4@2 b3 f3 [a3,c#4,f4,a4]@2 f3 ~ [a3,c#4,f4,a4]@2 [a3,c4,f4,a4], ~@35 f4@2 ~@11]/3", // Em7 Dsus4 D#7 Am7 B Cm7b5 Dm7 Aaug …
  AC: "~@15 [e3,g3,a#3,c#4,e4]", // Edim
  AD: "~ [f3,a3,c4,d4,f4] ~ [f3,a3,c4,d4,f4] ~ [g3,g4] ~ [g3,a3,c4,d4,g4] [a3,c4,a4] f4 c4 [a3,d4,f4,a4] [c4,d4,e4,f4,a4,c5] ~@2 [c4,d4,f4]", // Dm7 G Gsus4 Am Dm Dm7
  AE: "~ [e4,f4,a4,b4,c5] ~ [d4,f4,a4,d5] ~ c5 ~ b3 ~ [b3,d#4,f4,a#4]@2 [g#3,d#4,f4,g#4] ~ g3@2 e3, e5@2 ~@2 c4@3 ~ a#3@3 b3@4 ~, ~@12 g4@3 ~", // Fmaj7 Dm Bmaj7 Fm7
  AF: "~ [g3,e4]@3 a4 g4@2 a3 ~ [c4,d#4,f#4]@2 [a3,a4] ~@4, [a3,c4,g4]@4 [c4,e4,c5]@3 ~ c5@2 ~@6, ~@9 a4 ~@6", // C Cdim A Am7 C
  AG: "~@11 [e4,f4,g#4,b4,e5] b3@3 [d4,e4,g4,b4,d5]", // E Em7
  AH: "~@3 [c4,e4,g4,a4,c5] ~@3 g#3 [b3,c4,g4]@3 [a3,a4] ~@4, ~@4 [d#4,b4] ~@3", // Am7 Cmaj7 A G#m
  AI: "[[a3,b3,d4,f#4,a4]@2 ~ g3 [b3,d4,e4,g4] ~@2 d#3 ~ [a#3,c#4,e4]@2 [a#3,e4] e3 ~@2 [g3,a3,g4]@4 [f#3,a3,c#4,d#4,f#4] ~ [a3,c4,d4,f4] ~ [g3,a3,c4,g4] ~@2 [e3,f3,a3,c4,e4]@2 ~ [d3,f3,a3,c4,d4] ~@2, ~@8 [a3,a4]@3 ~@4 [c4,e4]@2 ~@4 f3@2 ~@9]/2", // Bm7 Em7 A#dim Gsus2 D#m7b5 Dm7 Am7 Fmaj7 …
  AJ: "f4 [f3,a3] f3 [a3,c4,d4,f4] [g3,a3,c4,d4,g4] ~ [g3,a3,c4,d4,g4] ~ [a3,c4,d4,f4,a4] ~ [a3,c4,a4] [d4,f4] [c4,d4,a4,c5] ~ [c4,f4,c5] [d4,a4]", // F Dm7 Gsus4 Dm7 Am Dm D7 F5 …
  AK: "~ [f4,g#4,b4]@2 ~ [d4,d5]@2 c4 c5 [b3,f4,b4]@3 [c4,f4,c5] [d4,d5]@2 ~ b3, [e4,e5]@3 ~@13", // Fdim D Bdim F5 D E
  AL: "~ g4 ~@5 [a3,c4,e4,g4,a4] ~@2 e4 ~@2 [c4,d4,f4]@2 d#3, [c4,e4,a4,c5]@2 ~@7 [c4,g4]@2 ~ [f3,a3]@3 ~", // Am7 Dm7 Am C5 F
  AM: "[e3,g3,a3,c4,e4]@2 ~ [c3,e3,g3,a3,c4] ~@10 [a#3,a#4] [d4,f4,g4]", // Am7 A# G7
  AN: "~@7 [g4,a#4,d5,g5] ~ [f#4,d5,f#5]@2 ~ [a#3,g4,a#4,d5] ~@3, ~@4 a#4 ~@3", // Gm D Gm
  AO: "[[f4,g4,a#4,d5,f5]@2 ~@2 [e4,g4,a#4,d5,e5]@2 ~@2 [d4,f4,g#4,b4,d5]@3 a#3 [c#4,f4,g#4,a#4,c#5]@2 ~ [c4,d4,f4,a4,c5]@2 ~@2 [a#3,d4,f4,f#4,g4,a#4] ~@5 d4@2 ~ f3@4, ~@24 [a3,c4,a4]@3 ~ f4 ~@3]/2", // Gm7 Em7b5 Ddim A#m7 Dm7 Gm7 Am
  AP: "[[g3,g#3,c4,d4,g4]@3 d#3 [f#3,f#4]@2 ~ [f3,g#3,c4,d4,f4]@5 ~@3 [e3,g3,b3,d4,e4]@2 ~ e3 [g3,b3,d4,e4] ~ [f3,a3,c4,d4,f4] ~ [f3,a3,c4,d4,f4] ~ [g3,c4,g4]@3 [a3,a4]@2 ~ [a#3,c#4,e4,g4,a#4]@5 g3@3 [a3,c#4,e4,a4] ~@7 a#3, ~@25 a3 ~@5 f4@2 ~@15]/3", // Gsus4 F# Dm7b5 Em7 Dm7 C5 A A#dim …
  AQ: "~@3 [d3,f3,a3,c4,d4] ~ [e3,a3,c4,e4] ~ [e3,f3,a3,c4,e4] ~ [f3,a3,c4,d4,f4] ~ [f3,g3,a3,c4,d4,f4] [g3,g4] [a3,c4,d4] ~ [g3,a3,g4]", // Dm7 Am Fmaj7 Dm7 G D7 Gsus2
  AR: "~ [g#3,d#4,f4]@3 f3@3 [g3,b3,d#4,f4,g4] ~@4 [d#3,a#3,d#4] ~@3, [b3,g#4] ~@3", // Fm7 Gaug D#5 E
  AS: "[[e3,g3,b3,d4,e4]@8 ~ [g3,a3]@2 e3 e4 ~@2 [b3,d4,e4] ~@3 [e3,d4] ~ [d4,e4,g4] ~ [b3,d4,a4] ~ [c4,c#4,e4,f4,g4]@2 [a#3,c#4,e4,g4,a#4] ~ [a3,e4,a4]@2 [g3,g4], ~@8 [c4,g4]@3 ~@4 [g3,g4]@4 ~@5 c5@2 ~@6]/2", // Em7 Gsus2 E7 Em7 Bm7 C A#dim A5 …
  AT: "~ [b3,d4]@2 ~ [g3,a3,c4,g4]@2 ~ [f#3,a3,c#4,d#4,f#4] a3 [f3,d4] ~ [g3,a3,c4,g4] [e3,e4]@2 [d#3,f3,a#3,d#4] ~, [a3,a4] ~@7", // Bm Am7 D#m7b5 Dm Am7 E D#sus2 A
  AU: "[d3,d4]@2 [f3,d4] [d3,a3] ~@11 [d4,e5]", // D Dm D5 Dsus2
  AV: "[[e4,a4,c5,g5] d5 f#5 ~ [d4,f5] ~@3 [e4,a4,c5,g5]@2 [d#4,a4,f#5] ~ [d4,f5] ~@2 [g4,b4,d#5]@2 ~ f5 [e4,d#5] [g4,d#5,a#5]@2 ~ [f4,d#5,g#5]@2 ~ [b4,g5]@2 [d4,f5]@2 ~ [c4,g4,a4,e5], ~@2 a4@3 ~@12 f4@2 b4@6 ~@7, ~@3 [c#4,d#4,c#5]@2 ~@10 [c#4,a#5] ~@9 e4@3 ~@4]/2", // Am7 Dm Am7 D#dim Dm Gaug Emaj7 D# …
  AW: "~@4 [g3,c#4,f4,a5]@8 [g3,c#4,f4,a5]@2 ~ [f3,a3,c4,e4,a4,c5,e5,g5], ~@2 [c5,f5,c6]@5 ~", // C#aug Fmaj7 F5
  AX: "~@8 [f3,b3,e4,f4,g#4,b4,e5]@7 [e3,a3,d4,g4,a4,c5]", // E Am7
  AY: "[~@11 g5 ~ e5@2 ~@4 [e3,a3,d4] ~@9 g4@2 [f3,a3,c4,e4] ~@3 a4 ~ d5@2 [f3,c4,f5] ~ e5@2 g4 c5@2 ~@2 d5@2 ~ f4 ~@3 d5 ~ c#5@2 a4 ~ f4 ~ [f3,c4], ~@15 [g4,g5]@9 ~ [g3,c#4,e4,e5]@5 ~@34, ~@28 g5@2 ~ f5@3 ~@13 e5@2 ~@15]/4", // Dsus2 Fmaj7 F5 G C#dim
  AZ: "~ c5@2 ~@2 f4@2 f3 g4@2 ~ g#4 a4 ~ c5 ~, ~@3 a4@4 ~@9",
  BA: "a4 ~ a#4 ~ b4@2 a5 ~ g5@2 f5@2 e5@2 d5 ~, ~@6 e4@7 ~@3, ~@6 f3@5 ~@5, ~@7 b3@5 ~@4",
  BB: "e5@2 [g#3,d4,g4]@4 ~@2 [g3,c#4,f4]@7 ~", // G Gm7b5
  BC: "[[f#3,c4,e4]@7 ~ [f3,b3,e4]@5 ~@2 [e3,a3,d4]@7 ~ [a3,d#4,g4,a4] ~@3 a5@2 g5@2 [b3,d4,f#4,f5], ~@15 [c5,c6]@13 ~@4]/2", // F#m7b5 E Dsus2 Am7b5 Bm C
  BD: "~ e5@2 ~@2 d5@2 [g3,c#4]@4 a#4 ~ a4@2 g4, ~@7 c#5@3 ~@6", // Gdim
  BE: "~ f4 a4 f4 d4 [e4,g4] e4 c4 d4 f4 d4 b3 c4 e4 c4 a3", // Em
  BF: "b3 d4 b3 g3 [a3,c4]@2 a3 f3 ~ g3 e3 ~@2 f#3 ~ d3, ~@4 [g3,b3] ~ [f#3,a3] ~", // Am G F#m
  BG: "f3@3 ~@4 a4 f4 e4@2 f4 ~ a4@2 c5", BH: "~ d#5 c5 [d5,a5] ~ c5 a#4 ~ g4 [a#4,e5] g4 ~ a4 g4 d#4 c4",
  BI: "[d#4,a4] ~ c4 d4 c4 a#3 ~ g3 [a#3,e4] g3 ~ [a3,e4] g3 d#3 ~ c3", // D#dim A#dim A5
  BJ: "a3@3 c3 d3@3 c3@3 ~ a3@2 f#3 ~ g3, d#3 ~@7",
  BK: "[~ a3@2 a#3 ~ c4@2 d4 ~ f#4@2 a4@2 f#4@2 g4@2 a4@2 a#4 ~ c5@2 c#5 ~ d#5@2 c#5 ~@3 a#4]/2",
  BL: "~ a4@4 ~ e5 ~ e5@2 f5 ~ d#5 ~@2 d#5, ~@7 g5@2 ~@2 e5@2 ~@3",
  BM: "[d5@2 d#5 ~ f5@2 ~ g5 ~ g#5 ~ a#5 g5@2 ~ f5 e5@2 ~ g5 d5@2 c#5 ~ c5@2 ~ d#5 ~@4 [g3,c#4,f4] ~@3 a5 f5 ~@2 c5@2 ~@2 a4@2 ~ [f#3,c4,g4], ~@2 g4@9 ~@5 d4@12 e5@8 ~@3 [g3,c#4]@5 ~@4, ~@3 [g#3,c4,d4]@9 ~@3 [e3,g3,a3]@12 c6@10 ~@2 c#5@2 ~@2 a#4@2 ~@3]/3", // Gm7b5 C Gdim Dm7b5 A7
  BN: "f#4@2 ~ e4 ~@2 c5 [f#3,c4] [e4,e5]@2 ~ d5 ~@4, ~@5 a4@2 ~@9", // F#dim E
  BO: "[[f3,a3,c4,e4] ~@7 [f3,b3]@4 d5 ~@4 [e3,a#3] ~@6 c5@2 ~ c5@2 ~@3, ~@12 [d#4,d#5]@11 ~ [a3,d#4]@7 ~]/2", // Fmaj7 Fdim Edim D# Adim
  BP: "~ [g#3,d4]@8 ~@2 [a4,a5]@2 ~@2 [f3,a3,c4,e4,f5], ~@9 [g3,c#4]@5 ~@2", // G#dim A Fmaj7 Gdim
  BQ: "~ [a4,a5]@2 f5 e5@2 ~ [f3,a3,d5] c#5@2 ~@2 d5@2 ~ a4, ~@11 e5@2 ~@3", // A Dm
  BR: "[c#5@2 ~ a4 c5@2 ~ b4 ~@3 [g4,g5] ~@3 [f3,a3,c4,e4,f5]@4 e5@2 ~@2 g4 f5@2 ~ e5@2 ~@2 g4]/2", // G Fmaj7
  BS: "f5@2 e5@2 c5@3 g4 a#4@2 ~ g4 b4@2 c5 ~", BT: "~ [g3,a#3,c#4,f4,a4,c#5,f5,a5]",
  BU: "~ g#4@7 [f3,b3,e4,g4,b4,g5]@7 ~, [f#3,c4,f5,g#5]@7 ~@9", // Em Fm
  BV: "[e3,a3,d4,e5,c6,e6] ~@7 [a3,c4,d#4,g4,g5,g6]@3 e6 ~@3 [g3,b3,d4,f#4,g5,g6]", // Am Am7b5 Gmaj7
  BW: "~@8 [g3,a#3,c#4,e4,e5,e6] c6 ~@2 [g3,a#3,c#4,e4,e6,g6] g5 ~@2", // Gdim
  BX: "~ c6@7 ~ [g5,e6] ~ [f3,a3,c4,e4,f5,d6] ~@3 [f3,a3,b3,e4,g5,e6,g6], [f3,a3,c4,e4,f5,f6]@7 ~ [f3,a3,c4,e4,g6]@2 ~@6", // C Fmaj7 Em Fmaj7
  BY: "[~@7 e4 f5@3 ~ f5@2 ~ g5 ~ f5@2 ~ f5@2 ~@2 g5@2 ~ f5 ~@3 [f3,b3,e4,g5], ~@15 [f3,a3,c4,e4]@13 ~@4]/2", // Em Fmaj7
  BZ: "~@11 [e5,e6]@2 ~@3, ~ [f3,b3,e4]", // E
  CA: "[~@8 [g3,a#3,c#4,f4]@7 ~ [f3,a3,c4,e4]@7 ~ [f3,g#3,b3,e4]@5 ~@6 e5@5 [g4,g5]@3 g3 e5@3 ~, c6@23 ~@25, c5@16 ~@15 [e3,a3,d4]@7 ~@10]/3", // Gm7b5 Fmaj7 E G Dsus2
  CB: "~@3 [e3,b3,d4] ~@4 e5@4 ~ [g4,g5]@2 [f3,a3,c4,e4], ~ [g4,g5]@6 [g3,c#4]@6 ~@3", // E7 G Fmaj7 G Gdim
  CC: "~@4 f5@2 ~ [f3,a3,c4,e4,f5] ~@2 g5@2 ~ f5@2 ~", CD: "~ g5@2 ~@4 g5@2 f5@2 ~@2 g5@2 ~, ~ [f3,b3,e4]@13 ~@2",
  CE: "[[f3,a3,c4,e4]@4 ~@4 [g4,g5]@3 f5 ~@3 [g4,g5]@2 ~@2 [f3,a3,c4,e4] ~@4 [f3,b3,e4,e5,b5,e6]@5 ~@2 [e3,a3,d4,c5,g5,c6]@13 ~@2 f#5@2, f5 ~@23]/3", // Fmaj7 G Fmaj7 E Am7
  CF: "~ a#5 ~ f#5 ~ d#5@2 c5 ~ f5@2 d#5@2 d5@2 c5",
  CG: "[~ a#4@3 ~@5 [f4,g4]@2 [a#3,a#4] ~@3 [c4,d4,f4,g4,c5]@9 ~ [f4,g4]@2 ~ [a#3,a#4]@2 ~ [a3,d4,f4,a4], [g3,a#3]@7 ~ [c4,d4]@4 ~@12 [a#3,d4,a#4]@2 ~ c4@2 ~@3, ~@4 c5 ~@11]/2", // Fsus2 A# Csus4 Fsus2 A# Dm Gm Csus2 …
  CH: "~@3 [c4,d4,f4,a4,c5]@7 ~ [a3,c4,d4,f4,a4]@4 ~", CI: "[f3,g#3,c4,f4]@11 [g3,g#3,c4,g4]@4 ~, d4@15 ~",
  CJ: "[g3,b3,d4]@5 ~@4 [g3,b3,d4]@2 e3 e4 ~@2 [g3,a#3,c#4,e4,g4], [e3,e4]@4 g4 ~@3", // G Gdim E
  CK: "~@8 [g3,a#3,c#4,e4] e3 ~@2 [g3,g4] ~@3", // Gdim G
  CL: "[~@8 d2@2 ~@4 g#3@2 ~@3 g2@13, d4@31 ~, [f#3,a#3,c4]@13 ~ [f3,c4]@17 ~, ~@16 a3@15 ~]/2", // Cm7b5 F5
  CM: "[[e3,a3,d4,g4,c5,e5]@8 ~@5 e5@2 [e3,b3,d4,g4,b4,g5]@8 ~@2 [c#4,e4]@2 [a#3,g5] ~@4, ~@9 [f3,c4,e4,a4,c5,g5]@6 ~@9 [g3,g4,a#4,e5]@3 ~@5, ~@25 f4 ~@6]/2", // Am7 Em7 C#m D# Fmaj7 Edim
  CN: "[f3,a3,c4,d4,a4,c5,f5] ~@7 [f3,a3,c4,d4,a4,c5,g5] ~@3 [f3,a3,c4,d4,f5] ~@3", // Dm7
  CO: "[f3,b3,e4,g5]@8 [f3,b3,e4,f5]@2 ~ [f3,b3,e4,g5] ~@4, [g4,b4]@11 ~@5", // Em E Em G
  CP: "[~@7 f5@2 [c5,g5]@2 ~ f5@2 ~ [f3,a3,b3,e4,g4,b4,g5]@8 ~ f5@2 a5 ~ f5 ~@2 g#5@4 g5 ~ f#5@2 f5 ~ d#5@2 c#5 ~@3 a#4 g#4 ~@2 g4 f#4@2 f4 ~ d#4@2 c#4 ~ c4 ~ c#4 [d3,a3], ~@7 [f3,a3,c4,d4]@7 ~@9 [f3,a3,b3,e4]@6 ~@2 [f#3,a#3,c#4,f4]@7 ~ a#3@20 ~@5, ~@39 [f#3,c#4,f4]@7 ~ f#3@13 ~@4, ~@47 c4@9 ~@8]/4", // C5 Em D5 Dm7 Fmaj7 F#maj7
  CQ: "d4 ~ f4 ~ g4@2 ~ [d3,f4] c5@2 ~ [f3,a4,b4] f4@2 ~ d4", CR: "d#4@2 ~ c4 d#4@3 ~ c4@2 ~ d4 ~@3 c4, ~@4 a4 ~@11",
  CS: "~@3 [c#4,c#5]@2 [c4,c5]@2 ~@2 g3 ~ [f3,f4] e4 ~@2 [c#3,c#4], ~@7 [g#3,g#4]@2 ~@7, ~@4 g4 ~@3", // C# C F C# G#
  CT: "[c3,c4]@2 ~@5 [e3,g3,a3,a#3,d4,d5,g5,c6]@4 ~@5", // C Em7b5
})).s("gm_acoustic_guitar_nylon").gain(0.4)

// chords · acoustic guitar nylon · "I want to" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  ~@2 A B ~@2 C D ~@2 E ~@7 F G ~ A H I ~ J ~ K ~@5 L ~@6 M N ~@2 O P Q ~ R S T ~@3 U V ~ W X Y Z AA AB AC AD AE ~@5 AF
  ~@5 AG ~@3 AH AI ~@2 AJ AK ~@7 AL ~ AM ~@2 AN ~@3 AO ~@4 AP ~@7 AQ AR ~@7 AS ~@2 AT ~ AU X ~@4
>`.pickRestart({
  A: "~@11 c5 ~@4", B: "e5 ~@7 [f4,g5] ~@7", C: "~@7 [a3,c4] ~@8", D: "~@8 a3 ~@7", E: "~@15 a3", F: "~@13 [g3,c4]@2 ~",
  G: "~@3 g3 ~@12", H: "~@7 d#4 ~@8", I: "~@7 g3 ~@8", J: "~@9 c#4@3 c#4 ~@3", K: "~@8 c5@3 ~@5",
  L: "~@3 [d4,e4] ~@2 a4 ~@9", M: "~@5 [a3,c4,d4] ~@3 d4 ~@4 c5 ~", N: "~@13 d#4@2 ~", O: "~@11 d#4 ~@3 f#3",
  P: "~@12 c#4 ~@3", Q: "~@7 d4 ~@8", R: "~@13 [e4,f4] ~@2", S: "~@9 g#4 ~ g#4 ~@4",
  T: "~@10 g3 ~ d#3 ~@3, ~@9 a3@2 ~@5", U: "~@9 f4@2 ~@5", V: "~@2 [g#3,c#4,d#4] ~@5", W: "~@15 e4", X: "~@15 c4",
  Y: "~@4 f4 ~@7 [g3,c#4] ~@3", Z: "~@9 e4 ~@6", AA: "~@7 a3 ~@5 c#4@2 ~", AB: "~ [c4,f4]@2 ~@2 e4 ~@3 [c4,f4] ~@5 c4",
  AC: "~ a3 ~ c4 ~@12, [f3,c4] ~@7", AD: "~ c4 ~@2 c5 ~@6 c5 [a4,c5] ~@2 c5", AE: "~ g#5@2 ~@4 a#5@2 ~@3 b4@2 ~@2",
  AF: "~@5 a4 ~@10", AG: "~@15 [f3,a3]", AH: "e5 ~@11 e5 ~@3", AI: "~@3 a4 ~@12", AJ: "~@13 c5@2 ~",
  AK: "~@2 c5 ~@4 e5", AL: "~@7 c4 ~@8", AM: "~@5 c5@2 ~@5 c5@3 ~", AN: "~ c5@7 e5@7 ~", AO: "~@7 [f3,b3] ~@8",
  AP: "~@11 c#4 ~@3 b3", AQ: "[d4,f4]@4 ~@8 f4 ~@3", AR: "~@11 [d4,c5]@3 ~@2, ~@11 f4 ~@4", AS: "~@11 e4 ~@4",
  AT: "~@7 e5 ~@8", AU: "~@6 c5 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.24)

// bass · acoustic bass
const bass = note(`<
  A B C D E F G H I J K B E L I M N O P Q R S T U V W X Y Z AA AB AC N AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR N O
  AS AT R AU AV AW AX W AY AL AZ AA BA O BB BC AA BD BE BF BG BH BI BJ BK BL BM L BN BO N O BP BQ BR V BS BT AX W BU BV
  BE BW BA BX I BY BZ B AO AA X CA BA O CB CC BE AA AB CD CE CF CG CH R CI CJ CK AX CL CM CN AO BW CO CA N CP CQ CR N CS
  CT CU
>`.pickRestart({
  A: "c2 g#2 a2 d#2", B: "d2 f#2 g2 b2", C: "c3 a#2 a2 c#3", D: "d3 g#2 g2 b2", E: "c3 g2 f2 c3",
  F: "e2@4 g#2@4 a2@4 d#2@3 ~", G: "d2@3 c3 e2@4 f2@4 f#2@4", H: "g2 g#2 a2 c3", I: "d3 d2 c#3 c#2",
  J: "c3@4 a#2@3 ~ b2@4 a2@4", K: "g2 g#2 a2 d#2", L: "e2 g#2 a2 c#3", M: "c3@4 c2@4 b2@4 c#2@3 ~", N: "d2 e2 f2 f#2",
  O: "g2 g#2 a2 b2", P: "c3 d3 d#3 e3", Q: "c3@4 e3@4 a2@3 ~ g#2@4", R: "g2 a2 a#2 b2", S: "c3 c2 d2 e2",
  T: "f2 c3 f2 b2", U: "a#2 d2 f2 d#2", V: "e2 c2 g2 g#2", W: "a2 a1 e2 d#2", X: "d2 d3 f2 f#2",
  Y: "g2@4 f2@4 e2@4 d2@3 ~", Z: "c2 c3 f2 a2", AA: "e2 g#2 a2 d#2", AB: "d2@4 d3@4 c#3@4 c#2@3 ~",
  AC: "~@4 c3@3 ~ b2@4 b1@4, c2 ~", AD: "g2@4 g#2@4 a2@4 b2@3 ~", AE: "c3@4 a#2@4 a2@4 d#2@3 ~",
  AF: "d2@4 f#2@3 ~ g2@4 b2@4", AG: "c3 e3 f3 d#3", AH: "e3 a#2 a2 c#3", AI: "d3 d2 a2 g#2", AJ: "g2 g1 g2 f#2",
  AK: "f2 d2 f2 f#2", AL: "g2 g1 d2 c#2", AM: "c2@4 g#2@4 a2@4 d#2@3 ~", AN: "d2@3 c3 f#2@4 g2@4 b2@4",
  AO: "c3 g2 f2 a2", AP: "e2@4 g#2@3 ~ a2@4 c#3@4", AQ: "d3@4 d2@3 ~ c#3@4 c#2@4", AR: "c3 c2 b2 b1", AS: "c3 b2 a2 g2",
  AT: "f2 e2 d2 c2", AU: "c3 c2 g2 f#2", AV: "f2 f1 f2 g2", AW: "g#2@3 ~ f2@4 g#2@4 f2@4", AX: "e2 f2 g2 g#2",
  AY: "d2 a2@2 g#2", AZ: "c2 e2 f2 a2", BA: "d2@3 d3 e2@4 f2@4 f#2@4", BB: "c3 a2 b2 g2", BC: "a2 f#2 g2 f2",
  BD: "d2@4 f#2@3 ~ g2@4 c#2@3 ~", BE: "c2 g2 f2 a2", BF: "e2@4 g#2@4 a2@3 ~ c#3@4", BG: "d3@2 ~@2 d3@4 c#3@3 ~ c#3@4",
  BH: "c3@3 ~ c3@4 b2@3 ~ b2@4", BI: "a2@3 ~ a2@4 g2@3 ~ g2@4", BJ: "f2@3 ~ f2@4 d2@4 d#2@4",
  BK: "e2@4 d2@4 c#2@3 ~ e2@4", BL: "d2 c2 b1 d2", BM: "c2 e2 f2 d#2", BN: "d3 d2 c3 d2", BO: "b2@4 d2@4 a2@4 d2@3 ~",
  BP: "c3 ~ g2@2 e2@4 f2@4 f#2@4, ~@2 a2 ~@13", BQ: "g2@4 c2@4 f2@4 f#2@3 ~", BR: "g2 g1 f#2 f2", BS: "a2 f2 c3 b2",
  BT: "a#2@4 d#2@3 ~ d2@4 g2@4", BU: "d2@3 ~ d3@4 c#3@4 c3@4", BV: "a#2@3 ~ b2@4 g#2@3 ~ g2@4",
  BW: "e2@4 g#2@3 ~ a2@4 d#2@3 ~", BX: "g2@4 g#2@4 a2@4 c3@3 ~", BY: "c3 a#2 b2 d3", BZ: "c3@4 a#2@3 ~ a2@4 d#2@3 ~",
  CA: "g2 g1 e2 d#2", CB: "c3@4 b2@4 a2@4 d#2@3 ~", CC: "d2@4 f#2@4 g2@4 c#2@3 ~", CD: "c2@4 c3@4 b2@4 c3@3 ~",
  CE: "d3 a2 c3 a#2", CF: "b2 g2 f2 a2", CG: "e2 d2 c2 g2", CH: "d2 g2 e2 f#2", CI: "c3 e2 g2 f#2", CJ: "f2 a2 a#2 b2",
  CK: "c3 g#2 g2 f2", CL: "a2@4 a1@4 e2@3 ~ d#2@4", CM: "d2 f2 e2 g2", CN: "f2 a2 g2 b2",
  CO: "d2@3 [c3,d3] e2@4 f2@4 f#2@4", CP: "g2 g1 f2 e2", CQ: "d#2 f2 f#2 g2", CR: "g#2 d#2 f2 d#2",
  CS: "g2@4 g#2@4 a2@4 b2@2 c3 ~", CT: "~@3 c#3 c3@3 g#2 g2@2 f2 ~ e2@2 c#2 ~", CU: "c2@2 ~@5 c3@2 ~@7",
})).s("gm_acoustic_bass").gain(0.4)

// drums · kick
const kick = s("bd").struct(`<
  A B C B A C B A B D A@2 E B C B C A@3 E A B A D B C@2 A B A C A B C@4 A C A C B C A B C@3 A B A E A@2 C B A B C A B@2
  C B C@3 A@2 C D C D A C A C A C@2 A@2 C A@2 D C@2 A@2 C@3 B C A C A C A C B A B D A C A B C B C A@2 C A@2 B A D B C@2
  A B A C A B C@4 A C
>`.pickRestart({
  A: "x ~@6 x ~@7 x", B: "~@7 x ~@8", C: "x ~@6 x ~@8", D: "~@3 x ~@7 x ~@3 x", E: "~@7 x ~@7 x",
})).gain(0.05)

// drums · rim
const rim = s("rim").struct("<[~@3 x]!135 ~>").gain(0.35)

// drums · snare
const snare = s("sd").struct(`<
  A@4 B C ~@5 D ~@2 C ~ C ~@2 E ~@6 C D A F A G D ~ C H I C ~ J B C ~ D@2 ~ C K B ~@2 D ~@3 C ~@3 D L ~@2 D ~ C@2 D ~@2
  C ~ C ~@2 D ~ C ~ C@2 ~@2 D ~@3 C@2 ~@2 M C@2 ~ D L D ~ D B C ~@5 D ~@2 C ~ C ~@2 D A@3 F A@3 G ~ L B D@2 ~ C N C@2 O
  P
>`.pickRestart({
  A: "~ x ~ x", B: "x", C: "~@3 x ~@12", D: "~@15 x", E: "~@11 x!2 ~@2 x", F: "~@4 x ~@6 x!2 ~@3",
  G: "~@4 x ~@7 x ~@2 x", H: "~@8 x ~@3 x ~@2 x", I: "x ~@2 x ~@12", J: "~@3 x ~@7 x!2 ~@3",
  K: "~@3 x ~@3 x ~@3 x ~@3 x", L: "~@3 x", M: "~@7 x!3 ~ x!2 ~@3", N: "~@7 x!2 ~@3 x ~@2 x",
  O: "~@3 x!2 ~@3 x ~@3 x ~@3", P: "x ~@2 x!2 ~@2 x ~@8",
})).gain(0.2)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<A ~@11 B ~@39 C ~@23 B ~@21 D ~@9 B ~@27>".pickRestart({
  A: "~@3 x ~@12", B: "~@3 x!2 ~@7 x!2 ~@2", C: "~@3 x!2 ~@7 x ~@3", D: "~@3 x!2 ~@11",
})).gain(0.1)

// drums · low tom
const low_tom = s("lt").struct("<~@52 [~@13 x ~@2] ~@45 [~@13 x ~@2] ~@37>").gain(0.05)

// drums · hihat
const hihat = s("hh").struct("<[x!4]!92 [~ x!3] [x!4]!42 [x!2 ~@2]>").gain(0.35)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@11 A ~@15 A ~@3 A ~@11 A ~@7 A ~@7 A ~@3 A ~@3 A ~@7 A ~@7 A ~@7 A ~@3 A ~ A ~ A ~@7 A ~@7 A ~@7 A ~@3 A ~@3 A ~@4
>`.pickRestart({
  A: "~@11 x ~@4",
})).gain(0.2)

// drums · mid tom · soft notes
// … 24 more lines

More by Powell Bud