Strudelify
Help Me Rhonda cover art

1965 · The Beach Boys Today!

Help Me Rhonda

The Beach Boys

KeyD♭ majorTempo137 bpm
0:00/0:00
// Help Me Rhonda — The Beach Boys
// 137 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// 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(137/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, A@4 for four bars: edit a riff to change every repeat.

// chords · piano
const piano = note(`<
  ~ A B C D@2 E D@2 F@2 G H I J K L M N O@2 N M O@2 P Q R I S T D@2 U P U O@2 V W O F@2 V X Y S Z L M@2 AA O AB N O@2
  P@2 F O J T D@2 AC AD AE AF AG AH AI AJ X P AK@2 AB@2 AK@2 AB@2 AK O AL P AM O J T AN@7 ~
>`.pickRestart({
  A: "[db2,db3]@6 [f2,f3]@4 [bb2,bb3]@2 [ab2,ab3]@6 [eb2,eb3]@4 [f2,f3] ~", // Db F Bb Ab Eb F
  B: "[ab1,ab2]@6 [c2,c3]@4 [f2,f3]@2 [eb2,eb3]@6 [c2,c3]@4 [eb2,eb3] ~", // Ab C F Eb C Eb
  C: "[db2,db3]@3 [f2,f3]@2 [bb2,bb3] [ab2,ab3]@3 [eb2,eb3]@2 [f2,f3]", // Db F Bb Ab Eb F
  D: "[db2,db3]@3 [f2,f3]@2 [bb2,bb3] [ab2,ab3]@3 [eb2,eb3]@2 f3, ~@22 f2 ~", // Db F Bb Ab Eb
  E: "[ab1,ab2]@3 [c2,c3]@2 [f2,f3] [eb2,eb3]@3 [bb1,bb2]@2 c3, ~@22 c2 ~", // Ab C F Eb Bb
  F: "[bb3,db4,f4]@2 ~@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2 ~@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2 ~@2 [bb3,db4,f4] ~ [bb3,db4,f4]@2 ~@2 [bb3,db4,f4] ~", // Bbm
  G: "[bb3,db4,gb4]@3 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 ~@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@3 ~ [bb3,db4,gb4] ~ [bb3,db4,gb4]@3 ~ [bb3,db4,gb4] ~", // Gb
  H: "[g3,bb3,eb4]@3 ~ [g3,bb3,eb4] ~ [g3,bb3,eb4]@2 ~@2 [g3,bb3,eb4] ~ [g3,bb3,eb4]@2 ~@2 [g3,bb3,eb4] ~ [g3,bb3,eb4]@2 ~@2 [g3,bb3,eb4] ~", // Eb
  I: "[ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4] ~", // Db Db5
  J: "[gb3,bb3,eb4]@2 ~@2 [gb3,bb3,eb4] ~ [gb3,bb3,eb4]@2 ~@2 [gb3,bb3,eb4] ~ [gb3,bb3,eb4]@2 ~@2 [bb3,eb4] ~ [gb3,bb3,eb4]@2 ~@2 [gb3,bb3,eb4] ~, ~@8 gb3 ~@3", // Ebm Eb5 Ebm
  K: "[f3,ab3,db4] ~ [db2,db3]@2 [c2,c3]@2 [db2,db3]@2", L: "[eb2,eb3]@3 [db2,db3]@3 [c2,c3]@3 [db2,db3]@2 ~",
  M: "[c4,eb4] ~@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~ [ab3,c4,eb4]@2 ~@2 [c4,eb4] ~ [c4,eb4] ~@3 [ab3,c4,eb4] ~, ab3 ~@7 ab3!2 ~@2", // Cm Ab Cm Ab
  N: "[ab3,c4,eb4]@2 ~@2 [ab3,c4,eb4] ~ [ab3,c4,eb4]@2 ~@2 [ab3,c4,eb4] ~ [c4,eb4] ~@3 [c4,eb4] ~ [ab3,c4,eb4]@2 ~@2 [ab3,c4,eb4] ~, ~@6 ab3 ~ ab3 ~@3", // Ab Cm Ab
  O: "[ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~, ~@6 db4 ~@5 db4 ~@11", // Db
  P: "[bb3,db4] ~@3 [bb3,db4,gb4] ~ [bb3,gb4]@2 ~@2 [bb3,db4,gb4] ~ [bb3,gb4]@2 ~@2 [bb3,db4,gb4] ~ [bb3,gb4]@2 ~@2 [bb3,db4,gb4] ~, gb4@2 ~@4 db4 ~@5 db4 ~@5 db4 ~@5", // Bbm Gb Ebm Gb Ebm Gb Ebm Gb
  Q: "[bb3,gb4]@2 ~@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 ~@2 [bb3,db4,gb4] ~ [bb3,db4,gb4]@2 ~@2 [bb3,db4,gb4] ~ [bb3,gb4]@2 ~@2 [bb3,db4] ~, db4 ~@17 db4 ~@5", // Ebm Gb Ebm Bbm
  R: "[bb3,db4,f4]@2 ~@2 [bb3,db4,f4] ~ [bb3,f4]@2 ~@2 [bb3,db4,f4] ~ [db4,f4] ~@3 [bb3,db4,f4] ~ [db4,f4] ~@3 [bb3,db4,f4] ~, ~@6 db4 ~@5 bb3@2 ~@4 bb3@2 ~@4", // Bbm Bb5 Bbm Db Bbm Db Bbm
  S: "[gb3,bb3,eb4]@2 ~@2 [gb3,bb3,eb4] ~ [gb3,eb4]@2 ~@2 [gb3,bb3,eb4] ~ [gb3,eb4]@2 ~@2 [gb3,bb3,eb4] ~ [bb3,eb4] ~@3 [gb3,bb3] ~, ~@6 bb3 ~@5 bb3 ~@5 gb3@2 ~@4", // Ebm Eb5 Gb
  T: "[ab3,c4,eb4] ~@11", // Ab
  U: "[ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~", // Db
  V: "[bb3,db4,gb4]@2 ~@2 [db4,gb4] ~ [bb3,db4,gb4]@2 ~@2 [db4,gb4] ~ [bb3,db4,gb4]@2 ~@2 [db4,gb4] ~ [bb3,gb4]@2 ~@2 [bb3,db4,gb4] ~, ~@4 bb3@2 ~@4 bb3@2 ~@4 bb3@2 db4 ~@5", // Gb Gb5 Gb Gb5 Gb Gb5 Ebm Gb
  W: "[ab3,db4]@2 ~@2 [db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~, ~@2 ab3 ~@9", // Db5 Db
  X: "[bb3,g4]@2 ~@2 [bb3,eb4,g4] ~ [bb3,g4]@2 ~@2 [bb3,eb4,g4] ~ [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4] ~ [bb3,eb4,g4]@2 ~@2 [bb3,eb4,g4] ~, eb4 ~@5 eb4 ~@17", // Eb
  Y: "[ab3,db4]@2 ~@2 [ab3,db4,f4] ~ [ab3,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,f4]@2 ~@2 [ab3,db4,f4] ~ [db4,f4] ~@3 [ab3,db4,f4] ~, ~@6 db4 ~@5 db4 ~@5 ab3@2 ~@4", // Db5 Db
  Z: "[db3,db4] ~@2 [db2,db3]@3 [c2,c3]@3 [db2,db3]@3", // Db C Db
  AA: "[ab3,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 ~@2 [ab3,db4,f4] ~, db4 ~@23", // Db
  AB: "[ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~ [c4,eb4] ~@3 [ab3,c4,eb4] ~ [c4,eb4] ~@3 [ab3,c4,eb4] ~ [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~, ~@3 ab3 ~@2 ab3 ~@5", // Ab Cm Ab Cm Ab
  AC: "[db3,ab3] ~@3 [db3,ab3,f4,ab4,db5] ~ [f4,ab4,db5]@4 [db3,bb3,ab4,bb4] ~ [f4,ab4]@4 [db3,ab3] ~ [db3,bb3] ~@3 [db3,bb3,f4,ab4,bb4] ~, ~@6 [db3,bb3] ~@3 f4@2 ab3@2 ~@2 f4@5 ~@3, ~@12 db3 ~@5 ab4@3 ~@3", // Db5 Db Bbm7 Fm Db5 Gb Bbm7 Gb
  AD: "[f4,ab4,b4]@4 [db3,ab3] ~ [f4,ab4,b4]@4 [db3,bb3,bb4] ~ [f4,ab4]@4 [db3,ab3,bb4] ~ [f4,ab4]@4 [db3,bb3] ~, [db3,ab3] ~@5 [db3,bb3] ~@5 [db3,ab3] ~@5 [db3,bb3] ~@5", // Fdim Db5 Fdim Gb Fm Bbm7 Fm Gb …
  AE: "ab3@2 ~@2 [db3,ab3,f4,ab4,db5] ~ [f4,ab4]@4 [db3,bb3,ab4,bb4] ~ [f4,ab4]@4 [db3,ab3] ~ [db3,bb3] ~@3 [db3,bb3,ab4,bb4] ~, db3 ~@5 db5@3 ~@3 db3 ~@5 ab4@3 ~@3, ~@6 [db3,bb3] ~@5 ab3@2 ~@2 f4@7 ~", // Db Fm Bbm7 Fm Db5 Gb Bbm7 Gb
  AF: "[f4,ab4,b4]@4 [db3,ab3] ~ [f4,ab4,b4]@4 [db3,bb3,bb4] ~ [f4,ab4]@4 [db3,ab3] ~ [db3,bb3] ~@3 [db3,ab3,bb4,db5,gb5] ~, [db3,ab3] ~@5 [db3,bb3] ~@5 [db3,ab3] ~@11", // Fdim Db5 Fdim Gb Fm Db5 Gb Db5 …
  AG: "[bb4,db5,gb5]@2 ~@2 [gb3,db4,bb4,db5,gb5] ~ [bb4,db5,gb5]@3 ~ [gb3,eb4,bb4,db5,eb5] ~ [bb4,db5]@4 [gb3,db4,bb4] ~ [bb4,db5]@3 ~ [gb3,eb4,bb4,db5,eb5] ~, [gb3,db4] ~@5 [gb3,eb4] ~@5 db4@2 ~@10, ~@12 gb3 ~@5 [gb3,eb4] ~@5", // Gb Ebm7 Bbm Gb Bbm Ebm7 Gb5 Ebm
  AH: "[bb4,db5,e5]@4 [gb3,db4,bb4] ~ [db5,e5]@3 ~ [gb3,eb4,eb5] ~ [bb4,db5]@4 [gb3,db4,eb5] ~ [gb3,eb4,bb4,db5]@3 ~ [gb3,db4] ~, db4 ~@2 bb4@2 ~@7, gb3 ~@5 [gb3,eb4] ~@5 [gb3,db4] ~@11", // Bbdim Gb Dbm Ebm Bbm Ebm7 Gb5 Ebm …
  AI: "[db3,ab3] ~@3 [db3,ab3,ab4,db5] ~ [ab4,db5]@4 [db3,bb3,bb4] ~ ab4@4 [db3,ab3,f4] ~ [f4,ab4]@3 ~ [f4,ab4,bb4]@2, ~@4 f4@2 f4@9 ~@9, ~@6 [db3,bb3] ~@5 ab3@2 ~@10, ~@12 db3 ~@5 [db3,bb3] ~@3 [db3,bb3] ~", // Db5 Gb Db Fm Bb7 Gb
  AJ: "[db3,ab3] ~@3 [db3,ab3] ~ [db3,bb3] ~@3 [db3,bb3] ~ [db3,ab3] ~@3 [db3,ab3] ~ [f4,ab4]@4 [db3,ab3] ~, ~@2 [f4,ab4,b4]@2 ~ f4@3 ~ [db3,bb3] ~@2, ~@5 bb4@2 ~ bb4 ~@3, ~@5 ab4 ab4@2 ~@4", // Db5 Gb Db5 Fm Db5 Fdim Gb
  AK: "[ab3,db4,f4] ~@3 [ab3,db4,f4] ~ [ab3,db4,f4] ~@3 [ab3,db4,f4] ~ [db4,f4] ~@3 [ab3,db4,f4] ~ [ab3,db4,f4] ~@3 [ab3,db4,f4] ~, ~@6 ab3 ~@5", // Db
  AL: "[bb3,gb4]@2 ~@2 [bb3,db4,gb4] ~ [bb3,db4,gb4] ~@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] ~@3 [bb3,db4,gb4] ~ [bb3,db4,gb4] ~@3 [bb3,db4,gb4] ~, db4 ~@23", // Ebm Gb
  AM: "[bb3,f4] ~@3 [bb3,db4,f4] ~ [bb3,db4,f4] ~@3 [bb3,db4,f4] ~ [bb3,db4,f4] ~@3 [bb3,db4,f4] ~ [bb3,db4,f4] ~@3 [bb3,db4,f4] ~, db4 ~@11", // Bb5 Bbm
  AN: "[db2,db3]@3 [f2,f3]@2 [bb2,bb3] [ab2,ab3]@2 [f2,f3] [eb2,eb3]@2 [f2,f3]", // Db F Bb Ab F Eb F
})).s("gm_piano").gain(0.31)

// bass · acoustic bass
const bass = note(`<
  ~ A B C@3 D C@2 E F G H C I J K L@2 M@2 L@2 M@2 N@2 O P Q R C A C S C@3 S C@2 E T G U C V J W L@2 M@2 L@2 M@2 X@2 Y P
  Q R C@2 Z@4 AA@2 AB@2 Q AC AB@2 AD P AB@2 P@2 AB AE AF@2 AG P Q R C@7 AH
>`.pickRestart({
  A: "db2@6 f2@4 bb2@2 ab2@4 f2@2 eb2@4 f2 ~", B: "ab1@6 c2@4 f2@2 eb2@6 c2@4 eb2 ~",
  C: "db2@3 f2@2 bb2 ab2@2 f2 eb2@2 f2", D: "ab1@6 c2@4 f2@2 eb2@4 c2@2 bb1@4 c2 ~",
  E: "bb1@5 ~ bb1@5 ~ bb1@5 ~ bb1@5 ~", F: "bb1@5 ~ bb1@5 ~ bb1@5 ~ ab1@6", G: "gb1@5 ~ gb1@5 ~ gb1@5 ~ gb1@5 ~",
  H: "eb2@5 ~ eb2@6 f2@6 eb2@3 ~@3", I: "eb2@5 ~ eb2@5 ~ ab2@6 eb2@4 ab2@2", J: "db2@2 ~@4 db2@6 c2@5 ~ db2@5 ~",
  K: "eb2@6 db2@5 ~ c2@6 db2@4 ~@2", L: "ab1@3 c2@3 eb2@3 c2@2 eb2", M: "db2@3 f2@3 ab2@3 f2@2 ab2",
  N: "gb2@3 bb2@3 db3@3 bb2@2 db3", O: "bb2@5 ~ bb2@5 ~ bb2@5 ~ bb2@5 ~", P: "ab1@5 ~ ab1@5 ~ ab1@5 ~ ab1@6",
  Q: "eb2@5 ~ eb2@4 ~@2 eb2@5 ~ eb2@5 ~", R: "ab2 ~@7", S: "gb1@3 bb1@2 eb2 db2@2 bb1 ab1@2 bb1",
  T: "bb1@4 ~@2 bb1@5 ~ bb1@5 ~ ab1@5 ~", U: "eb2@5 ~ eb2@5 ~ f2@5 ~ eb2@5 ~", V: "eb2@5 ~ eb2@5 ~ f2@6 eb2@4 f2@2",
  W: "eb2@6 db2@6 c2@6 db2@5 ~", X: "gb2@6 gb2@5 ~ gb2@5 ~ gb2@5 ~", Y: "f2@5 ~ f2@5 ~ bb1@5 ~ bb1@6",
  Z: "db2@5 ~ db2@4 bb2@2 ab2@4 f2@2 eb2@4 f2@2", AA: "gb2@6 gb2@3 ~ gb2 ~ gb2@5 ~ gb2@3 ~ gb2 ~",
  AB: "db2@5 ~ db2@5 ~ db2@4 ~@2 db2@5 ~", AC: "gb2@5 ~ gb2@5 ~ gb2@5 ~ gb2@6", AD: "ab1@5 ~ ab1@5 ~ ab1@5 ~ ab1@5 ~",
  AE: "db2@4 ~@2 db2@5 ~ db2@4 ~@2 db2@4 ~@2", AF: "gb2@5 ~ gb2@5 ~ gb2@4 ~@2 gb2@4 ~@2",
  AG: "bb1@5 ~ bb1@5 ~ bb1@4 ~@2 bb1@5 ~", AH: "db2 ~@5",
})).s("gm_acoustic_bass").gain(0.44)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@3 A@2 ~@2 A@2 B C D E F G H ~ I J K L M@2 N O P Q R S T U ~@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ ~ J@2 AK L AL
  AM AN AO AP AQ AR AS AT U ~@2 AU AV AW AX AY AZ BA BB BC BD BE BF BG BH AX BI J BJ BK@2 BL BM BN BO BP U ~@2 A@5 ~
>`.pickRestart({
  A: "db6 ~ db6 ~ db6 ~ bb5@2 ~@2 f5@2 ab5@2 ~@2 ab5@2 gb5@4 f5@2",
  B: "~@4 [f4,bb4]@2 [f4,bb4]@4 [f4,bb4] ~@5 [db4,f4,bb4]@2 [f4,bb4]@4 [f4,bb4]@2, ~@4 db4@7 ~@13", // Bb5 Bbm Bb5
  C: "~@4 [db4,f4,bb4]@2 [f4,bb4]@4 [f4,bb4]@2 ~@4 [db4,f4,bb4]@2 [db4,f4,bb4]@4 [f4,bb4] ~", // Bbm Bb5 Bbm Bb5
  D: "~@4 [gb4,bb4]@2 [gb4,bb4]@4 [db4,gb4,bb4] ~@5 [gb4,bb4]@2 [gb4,bb4]@4 [gb4,bb4] ~, ~@4 db4@6 ~@6 db4@7 ~", // Gb
  E: "~@4 eb4@2 eb4@4 [eb4,g4] ~@5 [bb3,eb4,g4]@2 [eb4,g4]@4 [eb4,g4]@2, ~@4 [bb3,g4]@7 ~@7 bb3@6", // Eb
  F: "~@2 [ab3,f4] f4@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4]@2 [db4,f4], ~@4 db4@6 ~@8 f4@3 ~@3, ~ ab3 ~@2", // Db Db5 Db
  G: "~@4 [db4,gb4]@2 [db4,gb4]@4 [db4,gb4] ~@5 [db4,gb4]@2 [bb3,db4,gb4]@4 [db4,gb4] ~, ~@4 bb3@7 ~@13", // Gb5 Gb Gb5
  H: "[db4,f4] ~@7", I: "~@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,ab4] ~@5 [eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4] ~",
  J: "~@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [eb4,ab4] ~@5 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [eb4,ab4] ~", // Ab Ab5 Ab Ab5
  K: "~@2 [ab3,db4,f4] [db4,f4]@2 [db4,f4] ~@2 [db4,f4] [ab3,db4,f4]@2 [db4,f4]", // Db
  L: "~@2 [db4,f4] [db4,f4]@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [db4,f4], ~@2 ab3@3 ~@7", // Db
  M: "[~@4 [c4,eb4]@2 [eb4,ab4]@4 [eb4,ab4]@2 ~@4 [c4,eb4,ab4]@2 [eb4,ab4]@4 [eb4,ab4]@2 ~@4 [eb4,ab4]@2 [eb4,ab4]@4 [c4,eb4,ab4]@2 ~@4 [c4,eb4,ab4]@2 [c4,eb4]@4 [eb4,ab4] ~, ~@6 c4@6 ~@6 c4@8 ~@2 c4@6 ~@8 ab4@3 ~@3, ~@5 ab3 ~@2]/2", // Cm Ab5 Ab Ab5 Ab Cm Ab5
  N: "~@4 f4@2 f4@4 [ab3,db4,f4] ~@5 [db4,f4]@2 [ab3,db4,f4]@4 [db4,f4]@2, ~@2 [ab3,db4]@3 ~@7", // Db Db5
  O: "~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [db4,f4] ~@2 f4 f4@2 [db4,f4], ~@16 [ab3,db4]@7 ~", // Db Db5
  P: "~@4 [db4,gb4]@2 [db4,gb4]@4 [db4,gb4]@2 ~@4 bb3@2 bb3@4 [bb3,db4,gb4] ~, ~@2 bb3@4 ~@2 [db4,gb4]@3 ~", // Gb5 Gb Gb5
  Q: "~@4 [db4,gb4]@2 [bb3,db4,gb4]@4 [bb3,db4,gb4] ~@5 [db4,gb4]@2 [db4,gb4]@4 [db4,gb4]@2, ~@3 bb3", // Gb5 Gb Gb5
  R: "~@4 [bb3,db4,f4]@6 [db4,f4] ~@5 [db4,f4]@2 f4@4 [bb3,f4]@2, ~@8 bb3@3 ~, ~@3 [f3,db4]", // Bbm Db Bb5 Db
  S: "~@2 [ab3,f4] [ab3,f4]@2 [ab3,db4,f4] ~@2 [db4,f4] [ab3,db4,f4]@2 [db4,f4], ~@4 db4@6 ~@6 ab3 ~@7", // Db
  T: "~@4 [bb3,eb4,gb4]@2 [bb3,eb4,gb4]@4 [bb3,gb4] ~@5 [bb3,eb4,gb4]@2 [bb3,eb4,gb4]@4 bb3@2", U: "[c4,eb4,ab4] ~@7",
  V: "~@4 [db4,f4]@2 [db4,f4]@4 [db4,f4] ~@5 [db4,f4]@2 [ab3,db4,f4]@4 f4@2, ~@4 ab3@6 ~@6 ab3 ~@7", // Db
  W: "~@4 [db4,gb4]@6 [bb3,gb4] ~@5 [bb3,db4,gb4]@2 [bb3,db4,gb4]@4 [db4,gb4] ~, ~@2 bb3 ~@9", // Gb5 Ebm Gb Gb5
  X: "~@2 [db4,f4] db4@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [db4,f4], ~@4 ab3@7 ~@13", // Db
  Y: "~@2 [ab3,db4,f4] [ab3,f4]@2 [ab3,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [ab3,db4,f4], ~ [f3,db4] ~@2", // Db
  Z: "~@2 [ab3,db4,f4] [db4,f4]@2 [db4,f4] ~@2 [ab3,f4] [ab3,f4]@2 [db4,f4], ~@3 [f3,ab3]@3 ~@2 db4@3 ~", // Db Fm
  AA: "~@4 [bb3,gb4]@2 ~@4 [db4,gb4] ~@5 [bb3,db4,gb4]@2 [bb3,db4,gb4]@4 [bb3,db4,gb4] ~, ~@2 db4@3 ~@7, ~ bb3 ~@2", // Ebm Gb5 Gb
  AB: "~@2 [ab3,db4,f4]@3 [ab3,db4,f4] ~@2 [ab3,db4] [ab3,db4]@2 [db4,f4], ~@8 f4@3 ~", // Db Db5 Db
  AC: "~@4 [ab3,db4]@2 [ab3,db4]@4 [ab3,db4,f4] ~@5 [ab3,f4]@2 [ab3,f4]@4 [ab3,db4,f4] ~, ~@2 f4@3 ~@3 db4@3 ~", // Db5 Db
  AD: "~@4 [db4,f4,bb4]@2 [db4,f4]@4 [f4,bb4] ~@5 [db4,f4,bb4]@2 [bb3,db4,f4,bb4]@4 [f4,bb4] ~", // Bbm Db Bb5 Bbm Bb5
  AE: "~@4 [db4,f4,bb4]@2 [db4,f4,bb4]@4 [f4,bb4] ~@5 [db4,f4,bb4]@2 [db4,f4,bb4]@4 [f4,bb4]@2", // Bbm Bb5 Bbm Bb5
  AF: "~@4 [gb4,bb4]@2 [db4,gb4,bb4]@4 [gb4,bb4] ~@5 [db4,gb4,bb4]@2 [db4,gb4,bb4]@4 [db4,bb4] ~, ~@4 db4 ~@19", // Gb
  AG: "~@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4,g4] ~@5 [eb4,g4]@2 [eb4,g4]@4 [eb4,g4]@2, ~@16 bb3 ~ bb3@6", // Eb
  AH: "~@4 [ab3,db4,f4]@2 [ab3,db4]@4 [db4,f4]@2 ~@4 [ab3,f4]@2 [ab3,f4]@4 [ab3,db4,f4] ~, ~@6 f4@3 ~@7 db4@6 ~@2", // Db Db5 Db
  AI: "~@4 [bb3,eb4,gb4]@2 [bb3,eb4,gb4]@4 [eb4,gb4] ~@5 [bb3,eb4,gb4]@2 [bb3,eb4,gb4]@3 ~ gb4 ~", // Ebm
  AJ: "[ab3,db4,f4] ~@11", AK: "~@2 [db4,f4] [db4,f4]@2 [db4,f4] ~@2 db4 db4@2 [ab3,f4], ~@4 ab3@7 ~@5 [ab3,f4]@6 ~@2",
  AL: "~@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4] ~@2 [c4,eb4,ab4] [eb4,ab4]@2 [eb4,ab4], ~@3 [ab3,c4]", // Ab Ab5 Ab
  AM: "~@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 ~@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4] ~", // Ab
  AN: "~@4 [ab3,db4,f4]@2 [ab3,f4]@4 [ab3,f4] ~@5 [ab3,db4,f4]@2 [ab3,db4,f4]@4 [db4,f4]@2, ~ db4 ~@2", // Db
  AO: "~@2 [ab3,db4,f4] [f3,ab3,db4,f4]@2 [ab3,f4] ~@2 [ab3,db4,f4] [ab3,f4]@2 [ab3,f4], ~@3 db4", // Db
  AP: "~@4 [bb3,db4,gb4]@2 [bb3,db4,gb4]@4 [db4,gb4] ~@5 [bb3,db4,gb4]@2 [bb3,db4,gb4]@4 [bb3,db4,gb4] ~", // Gb Gb5 Gb
  AQ: "~@4 [bb3,db4,gb4]@2 [db4,gb4]@4 [db4,gb4]@2 ~@4 [db4,gb4]@2 [db4,gb4]@4 [db4,gb4] ~, ~@6 bb3@6 ~@4 bb3 ~ bb3@6", // Gb Gb5
  AR: "~@4 [db4,f4,bb4]@2 [db4,f4]@4 [f4,bb4] ~@5 [db4,f4,bb4]@2 [db4,f4,bb4]@4 [db4,bb4] ~", // Bbm Db Bb5 Bbm Gb
  AS: "~@2 [db4,f4] [db4,f4]@2 [ab3,db4,f4] ~@2 db4 db4@2 [ab3,db4,f4], ~@2 ab3@3 ~@3 [ab3,f4]@3 ~", // Db
  AT: "~@2 [bb3,eb4,gb4] [bb3,eb4,gb4]@2 [bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] [gb3,bb3,eb4,gb4]@2 bb3", // Ebm
  AU: "~@4 f4@2 f4@4 [db4,f4] ~@5 [ab3,db4,f4]@2 [ab3,db4,f4]@4 [db4,f4]@2, ~@2 [ab3,db4]@3 ~@7", // Db Db5
  AV: "~@2 [ab3,db4,f4] [ab3,db4]@2 [db4,f4] ~@2 [ab3,db4,f4] [db4,f4]@2 [db4,f4]", // Db Db5 Db
  AW: "~@4 [db4,f4]@2 [ab3,db4,f4]@4 [db4,f4]@2 ~@4 [db4,f4]@2 [db4,f4]@4 [db4,f4] ~, ~@4 ab3 ~@11 ab3@6 ~@2", // Db
  AX: "~@4 [ab3,db4,f4]@2 [ab3,db4,f4]@4 [db4,f4]@2 ~@4 [ab3,db4,f4]@2 [ab3,f4]@4 [ab3,f4] ~, ~@3 db4", // Db
  AY: "~@4 [db4,gb4]@2 [db4,gb4]@4 [db4,gb4]@2 ~@4 [bb3,db4,gb4]@2 [bb3,db4,gb4]@4 [bb3,db4,gb4] ~, ~@4 bb3@7 ~@13", // Gb5 Gb
  AZ: "~@4 [bb3,db4,gb4]@2 [bb3,db4,gb4]@4 [db4,gb4] ~@5 [db4,gb4]@2 [db4,gb4]@4 [db4,gb4]@2, ~@3 bb3", // Gb Gb5
  BA: "~@2 [db4,f4] [db4,f4]@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [ab3,db4,f4], ~@4 ab3@6 ab3 ~@13", // Db
  BB: "~@2 [ab3,db4,f4] [db4,f4]@2 [db4,f4] ~@2 [db4,f4] [ab3,db4,f4]@2 [db4,f4], ~@6 ab3@6 ~@4 ab3 ~@7", // Db
  BC: "~@4 [eb4,g4]@2 [bb3,eb4,g4]@4 [eb4,g4]@2 ~@4 g4@2 g4@4 [bb3,eb4,g4] ~, ~@4 bb3 ~@11 [bb3,eb4]@6 ~@2", // Eb Eb5
  BD: "~@4 [bb3,db4,gb4]@2 [db4,gb4]@4 [db4,gb4] ~@5 [bb3,gb4]@2 gb4@4 [db4,gb4] ~, ~@3 bb3@3 ~@2 db4@3 ~, ~@3 bb3", // Gb Gb5 Ebm Gb5
  BE: "~@4 f4@2 f4@3 ~ [ab3,db4,f4]@2 ~@4 [ab3,db4]@2 db4@4 [db4,f4]@2, ~@2 [ab3,db4]@3 ~@3 f4@3 ~, ~@3 ab3", // Db Db5 Db Db5
  BF: "~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [db4,f4]", // Db
  BG: "~@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4] ~@5 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4] ~", // Ab
  BH: "~@4 [c4,ab4]@2 ab4@4 [eb4,ab4]@2 ~@4 [c4,eb4,ab4]@2 [ab3,c4,eb4,ab4]@4 [c4,eb4,ab4] ~, ~@2 eb4@3 ~@7, ~ c4 ~@2", // Fm Ab5 Ab
  BI: "~@2 [db4,f4] [db4,f4]@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [ab3,db4,f4], ~@2 ab3@3 ~@7", // Db
  BJ: "~@4 [c4,eb4,ab4]@2 [eb4,ab4]@4 [eb4,ab4]@2 ~@4 [c4,eb4,ab4]@2 [ab3,c4,eb4,ab4]@4 [eb4,ab4] ~, ~ c4 ~@2", // Ab Ab5 Ab Ab5
  BK: "[~@2 [db4,f4] [db4,f4]@2 [db4,f4] ~@2 [ab3,db4,f4] [db4,f4]@2 f4@2 ~ [ab3,db4,f4] [ab3,db4,f4]@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [ab3,db4,f4], ~@2 ab3@3 ~@4 ab3@3 ~@12, ~@11 db4 ~@12]/2", // Db
  BL: "~@4 [bb3,db4,gb4]@2 [db4,gb4]@4 [db4,gb4] ~@5 [bb3,db4,gb4]@2 [db4,gb4]@4 [db4,gb4]@2, ~ bb3 ~ bb3", // Gb Gb5 Gb Gb5
  BM: "~@4 [bb3,db4,gb4]@2 [db4,gb4]@4 [db4,gb4]@2 ~@4 [bb3,db4,gb4]@2 [gb3,bb3,db4,gb4]@4 [db4,gb4] ~, ~ [gb3,bb3] ~@2", // Gb Gb5 Gb Gb5 Gb
  BN: "~@4 [bb3,db4,f4]@2 [bb3,db4,f4]@4 [db4,f4] ~@5 [bb3,db4,f4]@2 [bb3,db4,f4]@4 [db4,f4]@2", // Bbm Db Bbm Db
  BO: "~@2 [db4,f4] [db4,f4]@2 [db4,f4] ~@2 [ab3,db4,f4] [ab3,db4,f4]@2 [ab3,db4,f4]", // Db
  BP: "~@2 [bb3,db4,gb4] [bb3,db4,gb4]@2 [bb3,db4,gb4] ~@2 [db4,gb4] [bb3,db4,gb4]@2 ~, ~@8 gb3@3 ~, ~@16 bb3 ~@7", // Gb Gb5 Gb
})).s("gm_electric_guitar_clean").gain(0.27).pan(0.3)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@9 A B C D E F G ~ H I J E I K L M N O P M Q ~@3 R S T U V W E M X Y C D Z AA AB ~ AC AD AE AF AG I AH V AI AJ AK AL
  AM ~@3 AE AN AE@2 N AO AP AE AQ AR AE M AS AT AF AE I AU AF AE AJ AV AF AW AX ~@9
>`.pickRestart({
  A: "~@4 bb3@7 ~@7 db4@4 ~@2, ~@8 bb3@3 ~", B: "~@4 bb3@2 [bb3,db4]@5 ~@5 bb3@7 ~", C: "~@4 bb3@7 ~@5 bb3@7 ~",
  D: "~@4 g3@7 ~@5 g3@7 ~", E: "~@4 f3 ~ f3@6 ~@4 f3@2 f3@5 ~", F: "~@2 gb3@3 ~@3 bb3 gb3@2 ~", G: "ab3 ~@7",
  H: "~@2 ab3 ab3@2 ~@3 [ab3,c4] ab3@2 ~", I: "~@4 ab3@2 ab3@5 ~@5 ab3@2 ab3@6",
  J: "~@6 ab3@5 ~@5 [f3,ab3]@2 f3@5 ~, ~@4 f3@7 ~@13", K: "~@4 ab3@2 ~@10 ab3@2 ab3@5 ~",
  L: "~@4 f3@7 ~@5 [f3,ab3]@2 f3@4 ~@2", M: "~@4 f3@2 f3@5 ~@5 f3@7 ~", N: "~@4 gb3@7 ~@5 gb3 ~ gb3@5 ~",
  O: "~@2 bb3 gb3@2 ~@3 bb3 gb3@3", P: "~@16 f3 ~@7", Q: "~@4 gb3@7 ~@5 gb3@6 gb4@2", R: "~@16 f3@7 ~",
  S: "~@3 bb3@2 ~@3 gb3 gb3@3, ~@4 gb3@7 ~@13", T: "~@6 f4@4 ~@6 f3@7 ~, ~@4 f3@7 ~@13", U: "~@2 f3 ~@5 f3@3 f3",
  V: "~@4 f3@2 ~@10 f3 ~ f3@5 ~", W: "~@4 gb3 ~ [gb3,gb4]@5 ~@5 gb3@2 gb3@5 ~", X: "~@3 [bb3,bb4]@2 ~@3 bb3 ~@3",
  Y: "~@4 bb3@2 bb3@5 ~@5 bb3@6 ~@2", Z: "~@4 f3@7 ~@5 f3@2 f3@4 ~@2", AA: "~@4 gb3@7 ~@5 gb3@2 gb3@3 ~ bb3 ~",
  AB: "f3 ~@11", AC: "~@4 ab3@7 ~@5 ab3@7 ~", AD: "~@4 ab3@7 ~@5 ab3@2 ab3@6", AE: "~@4 f3@7 ~@5 f3@7 ~",
  AF: "~@4 f3@7 ~@5 f3@2 f3@6", AG: "~@4 ab3@7 ~@5 ab3@2 ~@6", AH: "~@4 f3@6 f3 ~@5 f3@2 f3@5 ~",
  AI: "~@4 gb3@2 gb3@4 bb3 ~@5 gb3@7 ~", AJ: "~@4 gb3@2 gb3@5 ~@5 gb3@6 ~@2", AK: "~@4 bb3@2 [bb3,bb4]@5 ~@5 bb3@7 ~",
  AL: "~@4 e3@5 ~@7 f3@6 f3@2", AM: "~@2 gb3@3 ~@3 gb3 ~@2 gb4", AN: "~@4 f3@2 [f3,f4]@5 ~@7 ab3@4 ~@2, ~@16 f3@7 ~",
  AO: "~@4 gb3@2 gb3@5 ~@5 bb3@2 ~@6", AP: "~@4 e3@6 e3@3 ~@3 f3@7 ~", AQ: "~@4 g3@5 ~@7 g3@6 ~@2",
  AR: "~@4 gb3@7 ~@5 gb3@7 ~", AS: "~@2 ab3 ab3@2 ~@3 ab3 ab3@3", AT: "~@6 ab3@5 ~@5 ab3@2 ~@6",
  AU: "~@2 ab3 ab3@2 ab3 ~@2 ab3 ~@3", AV: "~@2 gb3 ~@5 gb3 ~@3", AW: "~@6 f3@5 ~@5 f3@2 f3@6, ~@4 ab3@7 ~@13",
  AX: "~@4 gb3@6 ~@12 gb3 ~",
})).s("gm_electric_guitar_clean").gain(0.11).pan(0.3)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@16 A B@2 C@2 D@2 E@2 F@2 G@2 H I@2 ~@15 J K B@2 C@2 D@2 E@2 F@2 G@2 H L@2 ~@11 M N B@2 C@2 D@2 E@2 F@2 G@2 H O@2 ~@7
>`.pickRestart({
  A: "~@8 db3 c3@2 db3",
  B: "[eb3@3 [c4,ab4]@2 [c4,f4] [c4,eb4]@3 [c4,eb4]@2 c4 ~@5 [c4,f4] [eb3,c4,eb4]@3 ab2@2 ab2, ~ ab2 ab2@2 ab3 f3 ~@2, ~@11 ab4@3 [c4,ab4]@3 ~@4 [c4,eb4]@3]/2", // Fm F5 Cm F5 Cm Fm Cm
  C: "[db3@3 [db4,ab4]@2 [db4,gb4] [db4,f4]@3 [db4,f4]@2 db4 ~@5 [db4,gb4] [db3,db4,f4]@3 [f3,db4,f4]@3, ~@3 ab2@3 ab2@5 ab4@3 [db4,ab4]@3 ~@7, ~@4 ab2 bb2 ~@2]/2", // Db5 Gb5 Db Gb5 Db Db5
  D: "[ab3@3 [c4,ab4]@2 [c4,f4] [ab2,c4,eb4]@3 [c4,eb4]@2 c4 ~@5 [c4,f4] [eb3,c4,eb4]@3 [c4,eb4]@2 ~, ~ eb3 ~ eb3 ab3 f3 ~ ab2, ~@11 ab4@3 [c4,ab4]@3 ~@7]/2", // Fm F5 Ab Cm F5 Cm Fm
  E: "[db3@3 [db4,ab4]@2 [db4,gb4] [db4,f4]@3 [db4,f4]@2 db4 ~@5 [db4,f4] [db3,db4,f4]@3 [db4,f4]@2 ~, ~@3 ab2@3 ab2@5 ab4@3 [db4,ab4]@3 ~@7, ~@4 ab2 bb2 ~ f3]/2", // Db5 Gb5 Db Db5
  F: "[~@3 [db4,bb4]@2 [db4,ab4] [db4,gb4]@3 [db4,gb4]@2 db4 ~@2 [db4,bb4]@3 [db4,ab4] [db4,gb4]@3 [db4,gb4]@2 ~, gb3 db3 gb3 db3, ~@11 bb4@3 ~@10]/2", // Gb Db5 Gb5 Gb Db5 Gb5
  G: "[~@3 [db4,ab4]@2 [db4,gb4] [db4,f4]@3 [db4,f4]@2 db4 ~@5 [db4,gb4] [db3,db4,f4]@3 [db4,f4]@2 ~, f3@2 db3@2 ab2 bb2 ~ f3, ~@11 ab4@3 [db4,ab4]@3 ~@7]/2", // Db5 Gb5 Db Gb5 Db Db5
  H: "[eb3,gb3,bb4,db5] [eb3,gb3,bb4,eb5] [eb3,gb3,bb4,db5] [eb3,bb3,gb4,bb4]", // Ebm7 Ebm Ebm7 Ebm
  I: "[[c4,eb4,ab4]@5 ~ f4@4 f4@2 db4@4 db4@2 bb3@4 db4@24 ~@2, ab2 ~@15]/2", J: "~ db3 c3 db3", K: "eb3 db3 c3 db3",
  L: "[[c4,eb4,ab4]@5 ~ f4@4 f4@2 db4@4 db4@2 bb3@4 db4@16 ~@10, ab2 ~@15]/2", M: "~@11 ab2", N: "ab2!4",
  O: "[[c4,eb4,ab4]@5 ~ f4@4 f4@2 db4@4 db4@2 bb3@4 db4@20 ~@6, ab2 ~@15]/2", // Ab
})).s("gm_acoustic_guitar_steel").gain(0.45)

// other · electric guitar clean
const electric_guitar_clean_3 = note("<~@3 A@2 ~@2 A@2 ~@22 A@2 ~@30 A@2 ~@8 B C D ~@17 A@5 ~>".pickRestart({
  A: "db5 ~ db5 ~ db5@2 bb4@2 ~@2 f4@2 ab4@2 ~@2 ab4@2 gb4@4 f4@2",
  B: "[bb4,eb5]@2 [bb4,eb5]@2 [bb4,eb5]@2 [bb4,eb5]@4 [db5,eb5]@3 ~@3 [c5,eb5]@2 [bb4,eb5]@4 ~@2", // Eb5 Dbsus2 Cm Eb5
  C: "db5@4 eb5@2 gb5@3 ~ gb5@8 ~ gb5@4 ~", D: "~@4 [b4,f5]@3 ~@3 [b4,f5]@3 ~@3 [b4,f5]@4 ~@4",
})).s("gm_electric_guitar_clean").gain(0.38)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  ~@2 A B C ~ A D E ~@6 F G ~@13 A B H I ~@13 F G ~@13 A J K L ~@26 A D J B@2 J ~
>`.pickRestart({
// … 46 more lines

More by The Beach Boys