Strudelify
Wouldn't It Be Nice cover art

Pet Sounds

Wouldn't It Be Nice

The Beach Boys

KeyF majorTempo186 bpm
0:00/0:00
// Wouldn't It Be Nice — The Beach Boys
// 186 bpm, 1/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 6 "Bass (muted)" named as a bass, played on electric bass finger (its electric guitar muted patch is not one)
// note: duplicate parts dropped: ch 6 "Bass (muted)" electric bass finger (copy of ch 5 "Bass" acoustic bass)
// note: Full arrangement: all 924 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(186/0.5)

// 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 · french horn · "BGround V"
const french_horn = note(`<
  ~@168 A@8 ~@16 B@8 ~@3 C@3 D@8 ~@2 E@8 ~@4 F@6 G@6 H@5 I@2 ~ I@2 ~@2 J@8 ~ K@3 L@5 M@2 ~ M@2 ~@2 F@6 G@6 H@5 I@2 ~ I@2
  ~@2 J@8 ~ K@3 N@6 O@7 ~@11 A@8 ~@16 B@8 ~@3 C@3 D@8 ~@2 E@8 ~@256 P@8 ~@16 B@8 ~@3 Q@3 R@6 S@2 T@2 B@8 ~@3 C@3 D@8 ~@2
  U@4 ~@8 V@6 W@6 X@4 Y@7 Z V@6 W@6 X@4 Y@7 Z V@6 W@6 X@4 Y@7 Z V@6 W@6 X@4 Y@7 Z V@6 W@6 X@4 Y@7 Z V@6 W@6 X@4 Y@7 Z
  V@6 W@6 X@4 Y@7 Z V@6 W@6 X@4 Y@7 ~
>`.pickRestart({
  A: "[bb3,eb4,g4]/8", B: "[c4,e4,a4]/8", C: "[[c4,e4,a4]@43 ~@5]/3", D: "[g4 f4, [bb3,d4]]/8", E: "[bb3,c4,e4]/8",
  F: "[f3,c4,f4,a4,c5]/6", G: "[[g4,bb4]@95 ~]/6", H: "[a4@77 ~@3]/5", I: "[f3,c4,f4,a4]/2", J: "[bb3,d4,f4,bb4]/8",
  K: "[[a3,c4,f4,a4]@47 ~]/3", L: "[[g3,bb3,f4,g4]@77 ~@3]/5", M: "[c3,bb3,e4,g4]/2", N: "[[g3,bb3,f4,g4]@95 ~]/6",
  O: "[[c3,bb3,e4,g4]@97 ~@15]/7", P: "[bb3,eb4]/8", Q: "[[c4,e4,a4]@23 ~]/3", R: "[[bb3,d4,g4]@47 ~]/6",
  S: "[a4@15 ~]/2", T: "[bb4@15 ~]/2", U: "[[bb3,c4,e4]@15 ~]/4", V: "[[a4,c5]@31 ~]/6", W: "[[g4,bb4]@31 ~]/6",
  X: "[[f4,a4]@61 ~@3]/4", Y: "[~@14 g4@35 ~@13 f4@35 ~@15]/7", Z: "[g4,bb4]",
})).s("gm_french_horn").gain(0.16)

// other · violin · "BGround V"
const violin = note("<~@460 A@7 ~@457>".pickRestart({
  A: "[~@13 d4@45 ~@3 d4@45 ~@6]/7",
})).s("gm_violin").gain(0.16)

// chords · string ensemble 1 · "BGround V"
const string_ensemble_1 = note("<~@467 A@8 ~@5 B@8 ~@4 A@8 ~@4 C@8 ~@412>".pickRestart({
  A: "[a3,db4,e4]/8", B: "[b3,d4,gb4]/8", C: "[gb3,b3,d4]/8",
})).s("gm_string_ensemble_1").gain(0.16)

// other · viola · "BGround V"
const viola = note("<~@521 A B@2 A B@2 C@3 D@8 ~@7 A B@2 A B@2 E@3 F@8 ~@362>".pickRestart({
  A: "b3@15 ~", B: "[db4@29 ~@3]/2", C: "[d4@11 ~]/3", D: "gb4/8", E: "[c4@11 ~]/3", F: "e4/8",
})).s("gm_viola").gain(0.21)

// chords · piano
const piano = note(`<
  ~@60 A@9 B@3 A@3 C@3 D@3 C@3 E@9 F@3 G@3 H@3 I@3 J@3 A@9 B@3 A@3 C@3 D@3 C@3 E@9 F@3 G@3 H@3 I@3 J@3 K@6 L@3 M@3 N@6
  O@3 P@3 K@6 Q@3 R@3 S@6 T@3 U@3 V@6 W@3 X@3 Y@6 Z@6 A@9 B@3 A@3 C@3 D@3 C@3 E@9 F@3 G@3 H@3 I@3 J@3 A@9 B@3 A@3 C@3
  D@3 C@3 E@9 F@3 G@3 H@3 I@3 J@3 K@6 L@3 M@3 AA@6 AB@3 AC@3 K@6 Q@3 R@3 S@6 T@3 U@3 V@6 W@3 X@3 Y@6 Z@6 AD@8 AE AF@5 AG
  AH@6 AI@3 AJ@3 AK@8 AL AM@3 AN@8 AO AP@3 AQ@8 AR AS@3 AT@8 AU AJ@3 AK@8 AL AM@3 AN@8 AO AP@3 AQ@8 AR AS@3 AT@8 AU AP@3
  AV@8 ~ AS@3 AT@8 AU AP@3 AV@8 ~ Z@9 AW@3 AX@9 AY@3 AX@3 AZ@3 BA@3 AZ@3 AX@9 AY@3 AX@3 AZ@3 BA@3 AZ@3 BB@9 BC@3 BB@3
  BD@3 BE@3 BD@3 BF@6 L@3 M@3 BG@3 BH@6 BI@3 BF@6 Q@3 BJ@3 T@3 BK@6 BL@3 W@3 BM@6 BN@3 T@3 BK@6 BL@3 W@3 BM@6 BO@3 BP@3
  ~@2 BQ BP@3 ~@3 BR@9 BS@3 BR@3 BT@3 BU@3 BV@3 BR@9 BS@3 BR@3 BT@3 BU@3 BV@3 BR@9 BS@3 BR@3 BT@3 BU@3 BV@3 BR@9 BS@3
  BR@3 BT@3 BU@3 BV@3 BR@9 BS@3 BR@3 BT@3 BU@3 BV@3 BR@9 BS@3 BR@3 BT@3 BU@3 BV@3 BR@9 BS@3 BR@3 BT@3 BU@3 BV@3 BR@9
  BS@3 BR@3 BT@3 BU@3 BV@3
>`.pickRestart({
  A: "[[f2,c4,f4,a4]@47 ~]/3", B: "[[g2,c4,f4,a4]@47 ~]/3", C: "[[d2,c4,f4,a4]@47 ~]/3", D: "[[c2,c4,f4,a4]@47 ~]/3",
  E: "[[bb1,d4,f4,bb4]@47 ~]/3", F: "[[a1,d4,f4,a4]@47 ~]/3", G: "[[g1,bb3,d4,g4]@47 ~]/3",
  H: "[g1@7 ~ d2@4, [bb3,d4,g4]@43 ~@5]/3", I: "[[c2,bb3,e4,g4]@47 ~]/3", J: "[[d2,bb3,e4,g4]@43 ~@5]/3",
  K: "[[a3,d4,f4]@43 ~@37 a1@16, a1@13 ~@3, ~@48 [a3,d4,f4]@43 ~@5]/6", L: "[a1@15 ~ bb1@8, [a3,d4,f4]@43 ~@5]/3",
  M: "[a1@15 ~ g1@8, [a3,d4,f4]@43 ~@5]/3", N: "[[eb4,g4,bb4]@43 ~@37 f2@16, f1@13 ~@3, ~@48 [eb4,g4,bb4]@43 ~@5]/6",
  O: "[f1@31 ~ c2@16, [eb4,g4,bb4]@43 ~@5]/3", P: "[f1@31 ~ g1@16, [eb4,g4,bb4]@43 ~@5]/3",
  Q: "[a1@15 ~ d2@8, [a3,d4,f4]@43 ~@5]/3", R: "[c2@30 ~@2 bb1 ~@15, [a3,d4,f4]@43 ~@5]/3",
  S: "[[a3,c4,e4]@43 ~@37 a1@16, a1@13 ~@3, ~@48 [a3,c4,e4]@43 ~@5]/6", T: "[a1@15 ~ c2@8, [a3,c4,e4]@43 ~@5]/3",
  U: "[bb1@30 ~@2 a1 ~@15, [a3,c4,e4]@43 ~@5]/3", // Am
  V: "[[bb3,d4,f4]@43 ~@37 g1@16, g1@13 ~@3, ~@48 [bb3,d4,f4]@43 ~@5]/6", W: "[g1@15 ~ bb1@8, [bb3,d4,f4]@43 ~@5]/3",
  X: "[a1@15 ~ g1@8, [bb3,d4,f4]@43 ~@5]/3", Y: "[[bb3,e4,g4]@43 ~@37 c2@16, c2@13 ~@3, ~@48 [bb3,e4,g4]@43 ~@5]/6",
  Z: "[[c2,bb3,e4,g4]@23 ~]/3", AA: "[[bb3,eb4,g4]@43 ~@37 f2@16, f1@13 ~@3, ~@48 [bb3,eb4,g4]@43 ~@5]/6",
  AB: "[f1@31 ~ c2@16, [bb3,eb4,g4]@43 ~@5]/3", AC: "[f1@31 ~ g1@16, [bb3,eb4,g4]@43 ~@5]/3",
  AD: "[~@3 [a4,a5]@5, c4]/8", AE: "[a4,a5]@15 ~", AF: "[[bb4,bb5]@33 [a4,a5]@47]/5", AG: "[c4,c5]@15 ~",
  AH: "[[d4,d5]@33 [f4,f5]@45 ~ [f4,f5]@17]/6", AI: "[d4,d5]/3", AJ: "[~@2 a3, [d2,gb3]]/3",
  AK: "[~@40 a1@8 e1@15 ~, db4@127 ~, ~ a3@3, ~@8 d2@9 ~@15, ~@48 gb4@79 ~]/8", AL: "gb1", AM: "[~@2 gb3, [g1,d3]]/3",
  AN: "[~@40 b1@8 d2@15 ~, b3@127 ~, ~ gb3@3, ~@8 g1@9 ~@15, ~@48 d4@79 ~]/8", AO: "g1", AP: "[~@2 a3, [gb1,gb3]]/3",
  AQ: "[~@5 gb1@3, db4@127 ~, ~ a3@3, ~@16 gb1@23 ~@25, ~@48 gb4@79 ~]/8", AR: "db2", AS: "[~@2 gb3, [b1,d3]]/3",
  AT: "[~@32 db2@15 ~ [b1,d4]@79 ~, b3@127 ~, ~ gb3@3]/8", AU: "db2@15 ~",
  AV: "[~@32 gb1@15 ~ gb1@47 ~ gb1@32, db4@127 ~, ~ a3@3, ~@48 gb4@79 ~]/8", AW: "[c2@7 ~ c2@4, [bb3,e4,g4]@23 ~]/3",
  AX: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, f2@47 ~]/3", AY: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, g2@47 ~]/3",
  AZ: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, d2@47 ~]/3", BA: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, c2@47 ~]/3",
  BB: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, [f2,f3]@47 ~]/3", BC: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, [g2,g3]@47 ~]/3",
  BD: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, [d2,d3]@47 ~]/3", BE: "[[c4,f4,a4]@32 [c4,f4,a4]@13 ~@3, [c2,c3]@47 ~]/3",
  BF: "[[a1,a3,d4,f4]@47 ~]/3", BG: "[f1@15 ~ a1@8, [bb3,eb4,g4]@43 ~@5]/3",
  BH: "[c2@15 ~@25 c2@8, [bb3,eb4,g4]@43 ~@5 [bb3,eb4,g4]@43 ~@5, ~@32 f2@35 ~@29]/6", // Eb
  BI: "[a1@31 ~ f1@16, [bb3,eb4,g4]@43 ~@5]/3", BJ: "[c2@15 ~ bb1@8, [a3,d4,f4]@43 ~@5]/3",
  BK: "[e2@15 ~@25 e2@8, [a3,c4,e4]@43 ~@5 [a3,c4,e4]@43 ~@5, ~@32 a2@35 ~@29]/6", // Am
  BL: "[c2@31 ~ a1@16, [a3,c4,e4]@43 ~@5]/3", // Am
  BM: "[d2@15 ~@25 d2@8, [bb3,d4,f4]@43 ~@5 [bb3,d4,f4]@43 ~@5, ~@32 g2@35 ~@29]/6", // Bb
  BN: "[bb1@31 ~ g1@16, [bb3,d4,f4]@43 ~@5]/3", BO: "[bb1@31 ~ d2@16, [bb3,d4,f4]@43 ~@5]/3",
  BP: "[[c2,bb3,e4,g4]@35 ~@13]/3", BQ: "[c2,bb3,e4,g4]", BR: "[[f2,a3,c4,f4]@47 ~]/3", BS: "[[g2,a3,c4,f4]@47 ~]/3",
  BT: "[[d2,a3,c4,f4]@47 ~]/3", BU: "[[c2,a3,c4,f4]@47 ~]/3", BV: "[d2@31 ~ c2@16, [a3,c4,f4]@43 ~@5]/3",
})).s("gm_piano").gain(0.22).pan(0.7)

// other · orchestral harp · "Harp/Bari/Harm/Tr"
const orchestral_harp = note(`<
  ~@12 A@6 B@6 C@6 D@6 A@6 B@6 E@6 F@6 ~@360 G ~ H I ~ J H ~ K J ~ H L ~ K I ~ M K ~ J M ~ K G ~ H I ~ J H ~ K J ~ H L ~
  K I ~ M K ~ J M ~ K G ~ H I ~ J H ~ K J ~ H L ~ K I ~ M K ~ J M ~ K G ~ H I ~ J H ~ K J ~ H L ~ K I ~ M K ~ J M ~ K G
  ~ H I ~ J H ~ K J ~ H L ~ K I ~ M K ~ J M ~ K G ~ H I ~ J H ~ K J ~ H G ~ N I ~ O N ~ K O ~@362
>`.pickRestart({
  A: "[~@2 db5 a5 ~ e5, a4]/6", B: "[db5 ~ d5 e5 ~ db5, gb4@27 ~@5]/6", C: "[b4 ~ d5 a5 ~ gb5, a4]/6",
  D: "[d5 ~ e5 gb5 ~ [e4,d5], d4@27 ~@5]/6", E: "[~@2 c5 a5 ~ f5, a4]/6", F: "[c5 ~ d5 f5 ~ g5, c4]/6", G: "a4",
  H: "db5", I: "a5", J: "e5", K: "d5", L: "b4", M: "gb5", N: "c5", O: "f5",
})).s("gm_orchestral_harp").gain(0.16)

// bass · baritone sax · "Harp/Bari/Harm/Tr"
const bass = note("<~@156 A@8 ~@16 A@8 ~@136 A@8 ~@16 A@8 ~@280 A@8 ~@16 A@8 ~@256>".pickRestart({
  A: "d2/8",
})).s("gm_baritone_sax").gain(0.36)

// other · harmonica · "Harp/Bari/Harm/Tr"
const harmonica = note("<~@399 A@5 B C@5 D E@4 ~ F G@2 ~@505>".pickRestart({
  A: "[a4@9 ~]/5", B: "~@3 [f3,f4]@5", C: "[[bb3,bb4]@33 [a3,a4]@33 ~@14]/5", D: "~@3 [c3,c4]@5",
  E: "[[d3,d4]@33 [f3,f4]@30 ~]/4", F: "~ [f3,f4]@15", G: "[[d3,d4]@25 ~@7]/2",
})).s("gm_harmonica").gain(0.29)

// other · trumpet · "Harp/Bari/Harm/Tr"
const trumpet = note(`<
  ~@566 A@5 B@6 C@6 D@5 ~@2 A@5 B@6 C@6 D@5 ~@122 A@5 B@6 C@6 D@5 ~@2 A@5 B@6 C@6 D@5 ~@2 A@5 B@6 C@6 D@5 ~@2 A@5 B@6
  C@6 D@5 ~@2 A@5 B@6 C@6 D@5 ~@2 A@5 B@6 C@6 D@5 ~@2 A@5 B@6 C@6 D@5 ~@2 A@5 B@6 C@6 D@5
>`.pickRestart({
  A: "[~@3 a3@13]/5", B: "[~@15 a3@12 ~@4 bb3@26 ~@6 a3@33]/6", C: "[~@15 c3@12 ~@4 d3@26 ~@6 f3@33]/6",
  D: "[~@15 f3@12 ~@4 d3@35 ~@14]/5",
})).s("gm_trumpet").gain(0.8)

// bass · acoustic bass · "Bass"
const bass_2 = note(`<
  ~@59 A B@9 C@3 B@3 D@3 E@3 D@3 F@9 G@3 H@3 I@2 J E@3 K@3 B@9 C@3 B@3 D@3 E@3 D@3 F@9 G@3 H@3 I@2 J E@3 K@3 L@5 M N@2 O
  N@2 P Q@5 R S@2 T S@2 P L@5 M N@2 J U@2 O L@5 M N@2 T V@2 M W@5 P X@2 O N@2 P Y@5 T Z@6 B@9 C@3 B@3 D@3 E@3 D@3 F@9
  G@3 H@3 I@2 J E@3 K@3 B@9 C@3 B@3 D@3 E@3 D@3 F@9 G@3 H@3 I@2 J E@3 K@3 L@5 M N@2 O N@2 P Q@5 R S@2 T S@2 P L@5 M N@2
  J U@2 O L@5 M N@2 T V@2 M W@5 P X@2 O N@2 P Z@12 AA@3 ~@21 AB@5 AC@3 M AD@2 AE W@5 AF@3 AG AH@2 P AI@5 AJ@3 AK@3 AL
  AM@5 AN AM@5 AN AB@5 AC@3 M AD@2 AE W@5 AF@3 AG AH@2 P AI@5 AJ@3 AK@3 AL AM@5 AN AM@5 AN AI@5 AO AP@6 AM@5 AN AM@5 AN
  AI@5 AO AP@6 Z@9 AQ@2 T B@9 C@3 B@3 D@3 E@3 D@3 B@9 C@3 B@3 D@3 E@3 D@3 B@9 D@3 E@3 D@3 E@3 D@3 G@6 N@2 O N@2 P AR@2 M
  U@2 AS@3 T AT@2 AU G@6 N@2 J U@2 O N@2 T AV@2 AW@3 AX AY@2 M X@2 O AH@2 AZ@3 J BA@2 P N@2 T AV@2 AW@3 AX AY@2 M X@2 O
  AH@2 AZ@3 J BA@2 J BB@3 ~@2 T BB@3 ~@3 B@9 C@3 B@3 D@3 E@3 BC@2 T B@9 C@3 B@3 D@3 E@3 BC@2 T B@9 C@3 B@3 D@3 E@3 BC@2
  T B@9 C@3 B@3 D@3 E@3 BC@2 T B@9 C@3 B@3 D@3 E@3 BC@2 T B@9 C@3 B@3 D@3 E@3 BC@2 T B@9 C@3 B@3 D@3 E@3 BC@2 T B@9 C@3
  B@3 D@3 E@3 BC@2 T
>`.pickRestart({
  A: "c2@15 ~", B: "[f2@47 ~]/3", C: "[g2@47 ~]/3", D: "[d2@47 ~]/3", E: "[c2@47 ~]/3", F: "[bb1@47 ~]/3",
  G: "[a1@47 ~]/3", H: "[g1@47 ~]/3", I: "[g1@7 ~]/2", J: "d2", K: "[d2@5 ~]/3", L: "[a1@39 ~]/5", M: "a1",
  N: "[a1@15 ~]/2", O: "bb1", P: "g1", Q: "[f1@39 ~]/5", R: "f2", S: "[f1@31 ~]/2", T: "c2", U: "[c2@15 ~]/2",
  V: "[bb1@15 ~]/2", W: "[g1@39 ~]/5", X: "[g1@15 ~]/2", Y: "[c2@39 ~]/5", Z: "[c2@23 ~]/3", AA: "[f2@23 ~]/3",
  AB: "[d2@39 ~]/5", AC: "[d2@3 ~]/3", AD: "[e1@15 ~]/2", AE: "gb1", AF: "[g1@3 ~]/3", AG: "b1", AH: "[d2@15 ~]/2",
  AI: "[gb1@39 ~]/5", AJ: "[gb1@23 ~]/3", AK: "gb1/3", AL: "db2", AM: "[b1@39 ~]/5", AN: "db2@15 ~", AO: "gb1@15 ~",
  AP: "[gb1@47 ~]/3", AQ: "[c2@7 ~]/2", AR: "[f1@15 ~]/2", AS: "[f2@35 ~@13]/3", AT: "[a1@31 ~]/2", AU: "f1",
  AV: "[e2@15 ~]/2", AW: "[a2@35 ~@13]/3", AX: "e2", AY: "[c2@31 ~]/2", AZ: "[g2@35 ~@13]/3", BA: "[bb1@31 ~]/2",
  BB: "[c2@35 ~@13]/3", BC: "[d2@31 ~]/2",
})).s("gm_acoustic_bass").gain(0.54)

// chords · drawbar organ · "Organ"
const drawbar_organ = note(`<
  ~@60 A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B C ~ D C ~ D C ~ D E ~ F G ~ H G ~ H I ~ J I ~ J A ~ B A ~ B A ~ B
  A ~ B A ~ B A ~ B A ~ B A ~ B C ~ D C ~ D C ~ D E ~ F G ~ H G ~ H I ~ J I ~ J ~@12 K@8 ~@16 L@8 ~@4 M@8 ~@4 N@8 ~@4 A
  ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B C ~ D C ~ D C ~ D E ~ F G ~ H G ~ H I ~ J I ~ J A ~ B A ~ B A ~ B A ~ B
  A ~ B A ~ B A ~ B A ~ B C ~ D C ~ D C ~ D E ~ F G ~ H G ~ H I ~ J I ~ J ~@12 K@8 ~@16 L@8 ~@4 M@8 ~@4 N@8 ~@172 A ~ B
  A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B ~@120 A ~ B A ~ B A ~ B A ~
  B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A
  ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B
  A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~ B A ~
  B A ~ B
>`.pickRestart({
  A: "[c5,f5,a5]", B: "[c5,f5,a5]@13 ~@3", C: "[d5,f5,bb5]", D: "[d5,f5,bb5]@13 ~@3", E: "[d5,f5,a5]",
  F: "[d5,f5,a5]@13 ~@3", G: "[bb4,d5,g5]", H: "[bb4,d5,g5]@13 ~@3", I: "[bb4,e5,g5]", J: "[bb4,e5,g5]@13 ~@3",
  K: "[bb4,eb5,g5]/8", L: "[a4,c5,e5]/8", M: "[bb4,d5,f5]/8", N: "[bb4,e5,g5]/8",
})).s("gm_drawbar_organ").gain(0.12)

// chords · banjo
const banjo = note(`<
  ~@59 A@3 B@21 C@3 D@6 E@3 F@3 G@3 H@3 I@3 J@3 B@21 C@3 D@6 E@3 F@3 G@3 H@3 I@3 K ~@71 A@3 B@21 C@3 D@6 E@3 F@3 G@3 H@3
  I@3 J@3 B@21 C@3 D@6 E@3 F@3 G@3 H@3 I@3 K ~@239 A@3 B@45 L@3 ~@34 M@6 N O N O N O ~@12 P@6 Q R Q R S ~ T@6 U V U V W
  ~ P@6 Q R Q R S ~ T@6 U V U V W ~ X@3 ~@2 Y X@3 ~@2 A@3 B@189 Z
>`.pickRestart({
  A: "[~@17 c5@24 ~@7, ~@5 f4@8 ~@3, ~@2 a4@3 ~]/3",
  B: "[~@3 f4@12 ~@2 c5@24 ~@7, ~ c5@13 ~@2 a4@24 ~@8, ~@2 a4@13 f4@24 ~@9]/3",
  C: "[~@3 f4@12 ~@2 d5@24 ~@7, ~ c5@13 ~@2 bb4@24 ~@8, ~@2 a4@13 f4@24 ~@9]/3",
  D: "[~@3 f4@12 ~@2 d5@24 ~@7, ~ d5@13 ~@2 bb4@24 ~@8, ~@2 bb4@13 f4@24 ~@9]/3",
  E: "[~@3 f4@12 ~@2 d5@24 ~@7, ~ d5@13 ~@2 a4@24 ~@8, ~@2 bb4@13 f4@24 ~@9]/3",
  F: "[~@3 f4@12 ~@2 bb4@24 ~@7, ~ d5@13 ~@2 g4@24 ~@8, ~@2 a4@13 d4@24 ~@9]/3",
  G: "[~@3 d4@12 ~@2 bb4@24 ~@7, ~ bb4@13 ~@2 g4@24 ~@8, ~@2 g4@13 d4@24 ~@9]/3",
  H: "[~@3 d4@12 ~@2 bb4@24 ~@7, ~ bb4@13 ~@2 g4@24 ~@8, ~@2 g4@13 e4@24 ~@9]/3",
  I: "[~@3 e4@12 ~@2 bb4@24 ~@7, ~ bb4@13 ~@2 g4@24 ~@8, ~@2 g4@13 e4@24 ~@9]/3",
  J: "[~@3 e4@12 ~@2 c5@24 ~@7, ~ bb4@13 ~@2 a4@24 ~@8, ~@2 g4@13 f4@24 ~@9]/3",
  K: "~@3 e4@13, ~ bb4@13 ~@2, ~@2 g4@13 ~", L: "[~ c5 a4 f4 ~@13 c5@24 ~@7, ~@5 f4@8 ~@3, ~@2 a4@3 ~]/3",
  M: "[[eb4,g4,bb4]@6 [eb4,g4,bb4]@6 ~ [eb4,g4,bb4]@6 [eb4,g4,bb4]@6 [eb4,g4,bb4]@6 ~]/2", // Eb
  N: "[eb4,g4,bb4]@3 [eb4,g4,bb4]@3 [eb4,g4,bb4]@2", O: "~@3 [eb4,g4,bb4]@6 [eb4,g4,bb4]@6 ~",
  P: "[[c4,e4,a4]@6 [c4,e4,a4]@6 ~ [c4,e4,a4]@6 [c4,e4,a4]@6 [c4,e4,a4]@6 ~]/2", // Am
  Q: "[c4,e4,a4]@3 [c4,e4,a4]@3 [c4,e4,a4]@2", R: "~@3 [c4,e4,a4]@6 [c4,e4,a4]@6 ~", S: "[c4,e4,a4]@3 [c4,e4,a4]@3 ~@2",
  T: "[[d4,g4,bb4]@6 [d4,g4,bb4]@6 ~ [d4,g4,bb4]@6 [d4,g4,bb4]@6 [d4,g4,bb4]@6 ~]/2", // Gm
  U: "[d4,g4,bb4]@3 [d4,g4,bb4]@3 [d4,g4,bb4]@2", V: "~@3 [d4,g4,bb4]@6 [d4,g4,bb4]@6 ~",
  W: "[d4,g4,bb4]@3 [d4,g4,bb4]@3 ~@2", X: "[[e4,g4,bb4]@35 ~@13]/3", Y: "[e4,g4,bb4]", Z: "~@2 a4@13 ~, ~ c5@13 ~@2",
})).s("gm_banjo").gain(0.07).pan(0.3)

// other · taiko drum · "Big Drum"
const taiko_drum = note(`<
  ~@48 A ~@14 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~ C@3 ~@2 D@4
  ~@3 E@4 ~ D@4 ~@3 F@3 ~@2 D@4 ~@3 F@3 ~@2 D@4 ~@3 G H@2 ~ I@3 H@2 ~ I@3 H@2 ~ J@2 K L ~@4 K L ~@2 B ~@5 B ~@5 B ~@5 B
  ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~ C@3 ~@2 D@4 ~@3 E@4 ~ D@4 ~@3 F@3 ~@2 D@4
  ~@3 F@3 ~@2 D@4 ~@3 G H@2 ~ I@3 H@2 ~ I@3 J@2 M N@2 O P@2 Q R@2 L@2 ~@19 S R@2 T U ~@107 H@2 ~ I@3 H@2 ~ I@3 H@2 ~ I@3
  H@2 ~ I@3 J@2 M N@2 O P@2 Q R@2 L@2 ~@2 B ~@5 B ~@5 B ~@5 B ~@5 B ~@5 B ~@2 V W X Y@2 Z AA@2 AB AC@2 AD AE@8 ~@15 C@3
  ~@5 D@4 E@4 ~@4 D@4 F@3 ~@5 D@4 F@3 ~@5 D@4 F@3 ~@5 D@4 F@3 ~@5 D@4 F@3 ~@5 D@4 AF AG@2 ~@3 AF AG@2 ~@3 AF P@2 ~ B ~@5
  B ~@5 B ~@4 AH P@2 AF AG@2 ~ B ~@5 B ~@5 B ~@4 AH P@2 AF AG@2 ~ B ~@5 B ~@5 B ~@4 AH P@2 AF AG@2 ~ B ~@5 B ~@5 B ~@4
  AH P@2 AF AG@2 ~ B ~@5 B ~@5 B ~@4 AH P@2 AF AG@2 ~ B ~@5 B ~@5 B ~@4 AH P@2 AF AG@2 ~ B ~@5 B ~@5 B ~@4 AH P@2 AF
  AG@2 ~ B ~@5 B ~@5 B ~@4 AH P@2 AF
>`.pickRestart({
  A: "db3@15 ~", B: "g3@15 ~", C: "[~@16 g3@31 ~, ~@15 a3@31 ~@2]/3", D: "[~@4 g3@9 ~@3, ~@15 a3@36 ~@13]/4",
  E: "[g3@15 ~ g3@31 ~@17, ~@15 a3@36 ~@13]/4", F: "[g3@15 ~ g3@31 ~, ~@15 a3@31 ~@2]/3", G: "g3", H: "[g3@31 ~]/2",
// … 81 more lines

More by The Beach Boys