Strudelify
Sei grande cover art

5030

Sei grande

Nek

KeyD majorTempo122 bpm
0:00/0:00
// Sei grande — Nek
// 122 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 131 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122/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 · electric bass finger
const bass = note(`<
  ~ A B C D E F G H I J E K L M N L I J O P L 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 AU AV AW AX AY AZ BA BB@2 R S T U V W X Y BC BD BE BF BG BH BI BJ BK BL BM BN BO BP AQ BQ BR BS@4 BT BU BT BV BW
  AU BX BY BZ CA CB CC CD CE CF CG CH CI BH CJ CK AQ BL CL CM AI AJ CN AL CO CP AO AP AQ AR CQ CR@2 CS@2 ~
>`.pickRestart({
  A: "d2@5 ~ d2@2 d2@7 ~", B: "d2 ~ d2@4 d2@2 d2@6 ~@2", C: "b1@2 b1@3 ~ b1@2 b1@7 ~", D: "b1@2 b1@3 ~ b1@2 b1@5 ~@3",
  E: "g1@5 ~ g1@2 g1@7 ~", F: "e1@5 ~ e1@2 e1@6 ~@2", G: "d2@2 ~ d2 d2@2 ~@2", H: "d2@2 d2@2 ~@2 d2@2 d2@4 d2 ~@3",
  I: "b1@2 b1@2 ~@2 b1@2 b1@4 b1 ~ b1 ~", J: "b1@2 b1@2 b1 ~ b1@2 b1@4 b1 ~ a1 ~", K: "a1@5 ~ a1@2 a1@7 ~",
  L: "d2@2 d2@2 ~@2 d2@2 d2@4 d2 ~ d2 ~", M: "d2!2 ~ d2!2 a1 g1 f#1", N: "d1@2 d1@2 ~@2 d1@2 d1@4 d1 ~ d2 ~",
  O: "g1@5 ~ g1@2 g1@6 ~@2", P: "a1@5 ~ a1@2 a1@4 ~@4", Q: "d2@2 d2@2 ~@2 d2@2 d2@4 d2 ~ c2 ~",
  R: "a1@5 ~ a1@2 a1@5 ~ a1@2", S: "a1@5 ~ a1@2 a1@5 ~ e1@2", T: "d1@5 ~ d1@2 d1@5 ~ d1@2", U: "d1@5 ~ d1@2 d1@4 e1@4",
  V: "a1@5 ~ a1 ~ a1@5 ~ a1@2", W: "a1@5 ~ a1@2 a1@6 e1@2", X: "d1@6 d1@2 d1@5 ~ d1@2", Y: "d1@5 ~ d1@2 d1@4 d2@4",
  Z: "c2@6 c2@2 c2@5 ~ c2@2", AA: "c2@5 ~ c1@2 c1@4 g2@2 c3@2", AB: "b2@5 ~ b2@2 b2@6 b2@2",
  AC: "b2@5 ~ b2@2 b2@3 ~ g2@2 b2@2", AD: "a#2@4 a#1@3 ~ a#1@6 a#1@2", AE: "a#1@5 ~ a#1@2 a#1@5 ~ a#1@2",
  AF: "a1@5 ~ a1@4 a1@5 ~", AG: "a1@2 a1@2 a1@2 a1 ~ a1 ~ a1 ~ a1@4", AH: "d1@2 d1@2 d1@2 d1 ~ d1 ~ d1 ~ d1@2 d1 ~",
  AI: "d1!6 f#1 a1", AJ: "b1@2 b1@2 b1 ~ b1@2 b1@2 b1 ~ b1@2 b1@2", AK: "b1@2 b1 ~ b1@2 b1@2 b1 ~ b1 a1 e1@2 f#1@2",
  AL: "g1@2 g1@2 g1@2 g1 ~ g1@2 g1@2 g1@2 f#1@2", AM: "e1 ~ e1@2 e1 ~ e1@2 e1@2 e1@2 e1 ~ e1@2",
  AN: "d1@2 d1@2 d1@2 d1 ~ d1 ~ d1 ~ d1@2 d1@2", AO: "d1@2 d1@2 d1@2 d1@2 d1 ~ d1@2 f#1@2 a1@2",
  AP: "b1@2 b1@2 b1@2 b1 ~ b1@2 b2@2 b1 ~ a2@2", AQ: "b1 ~ f#2@2 b1 ~ e2@2 b1 ~ d2@2 e1@2 f#1@2",
  AR: "g1@2 g1 ~ g1@2 g1@2 g1@2 g1 ~ g1@2 g1@2", AS: "g1 ~ g1@2 g1@2 g1@2 g1 ~ g1@2 g1@2 g1@2",
  AT: "a1@2 a1@2 a1@2 a1 ~ a1@2 a1@2 a1@2 a2@2", AU: "a2!7 a1", AV: "d1@2 d1 ~ d1@2 d1 ~ d1 ~ d1 ~ d1@2 d1@2",
  AW: "d1 ~ d1@2 d1@2 d1@2 d1@2 d1@2 f#1@2 a1@2", AX: "b1@2 b1@2 b1@2 b1@2 b1@2 b1@2 b1 ~ b1@2",
  AY: "b1@2 b1@2 b1 ~ b1@2 b1@2 b1 a1 e1@2 f#1@2", AZ: "g1@2 g1 ~ g1@2 g1@2 g1 ~ g1@2 g1@2 f#1@2",
  BA: "e1 ~ e1@2 e1@2 e1 ~ e1@2 b1@2 d2@2 e2@2", BB: "[d2@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2 d1@16 ~@2]/2",
  BC: "c2@5 ~ c2@2 c2@4 g2@2 c3@2", BD: "b2@3 b2 b2@2 g2 b2", BE: "a#2@5 ~ a#1@2 a#1@5 ~ a#1@2",
  BF: "a1@5 ~ a1@3 ~ a1@6", BG: "a1@2 a1@2 a1@2 a1 ~ a1 ~ a1 ~ a1@3 ~", BH: "d1@2 d1@2 d1 ~ d1 ~ d1 ~ d1 ~ d1 ~ d1@2",
  BI: "d1@2 d1@2 d1@2 d1@2 d1@2 d1 ~ f#1@2 a1@2", BJ: "b1@2 b1@2 b1@2 b1@2 b1 ~ b1@2 b1@2 b1@2",
  BK: "b1@2 b1@2 b1@2 b1 ~ b1@2 b1 a1 e1@2 f#1@2", BL: "g1@2 g1@2 g1 ~ g1@2 g1@2 g1@2 g1@2 f#1@2",
  BM: "e1 ~ e1 ~ e1@2 e1@2 e1@2 e1 ~ e1@2 a1@2", BN: "d2@2 a1@2 d1@2 d1 ~ d1 ~ d1 ~ d1@2 d1 ~",
  BO: "d1@2 d1@2 d1@2 d1 ~ d1@2 d1@2 f#1@2 a1@2", BP: "b1@2 b1@2 b1 ~ b1@2 b1@2 b2@2 b1 ~ a2@2",
  BQ: "g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1 ~", BR: "e1@2 e1@2 e1@2 e1@2 e1@2 e1@2 e1 ~ e1@2",
  BS: "[a1@2 a1@2 a1 ~ a1@2 a1@2 a1 ~ a1@2 a2@4 a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 c3 d3@6 ~ c3@7 ~ b2@7 ~ a2@2 a2@4 ~@2 c#3@2]/4",
  BT: "d3@5 ~ c3@2 c3@5 ~ b2@2", BU: "b2@5 ~ a2@2 a2@4 c#3@2 ~@2", BV: "b2@5 ~ a2@2 a2@7 ~", BW: "a2@2 a1@2 a1!3 a2",
  BX: "d1@2 d1@2 d1@2 d1 ~ d1 ~ d1 ~ d1 ~ d1@2", BY: "d1@2 d1@2 d1 ~ d1@2 d1@2 d1@2 f#1@2 a1@2",
  BZ: "b1@2 b1 ~ b1@2 b1@2 b1@2 b1@2 b1@2 b1@2", CA: "b1 ~ b1@2 b1@2 b1@2 b1@2 b1 a1 e1@2 f#1@2", CB: "g1!7 f#1",
  CC: "e1 ~ e1@2 e1 ~ e1@2 e1@2 b1@2 d2@2 e2@2", CD: "d2@2 a1 ~ d1@2 d1 ~ d1 ~ d1 ~ d1@2 d1@2",
  CE: "d1 ~ d1@2 d1@2 d1 ~ d1@2 d1@2 f#1@2 a1@2", CF: "b1@2 b1@2 b1 ~ b1@2 b1@2 b1@2 b1 ~ b1@2",
  CG: "b1@2 b1@2 b1@2 b1@2 b1@2 b1 a1 e1@2 f#1@2", CH: "g1@2 g1@2 g1@2 g1@2 g1 ~ g1@2 g1@2 f#1@2",
  CI: "e1 ~ e1@2 e1@2 e1 ~ e1@2 e2@2 e1@2 d2@2", CJ: "d1@2 d1 ~ d1@2 d1@2 d1@2 d1 ~ f#1@2 a1@2",
  CK: "b1 ~ b1@2 b1@2 b1@2 b1 ~ b2@2 b1 ~ a2@2", CL: "e1@2 e1 ~ e1@2 e1@2 e1@2 e1@2 e1@2 e1@2",
  CM: "~ d1 d1@2 d1@2 d1 ~ d1 ~ d1 ~ d1@2 d1 ~", CN: "b1@2 b1 ~ b1@2 b1@2 b1@2 b1 a1 e1@2 f#1@2",
  CO: "e1 ~ e1@2 e1 ~ e1@2 e1@2 b1@2 d2 ~ e2@2", CP: "d2 b1 a1 e2 d2 b1 a1 e1 d1@2 d2 ~ d1@2 d1@2",
  CQ: "e1 ~ e1@2 e1@2 e1@2 e1 ~ e1@2 e1@2 e1@2",
  CR: "[a1@2 a1@2 a1@2 a1 ~ a1@2 a1@2 a1@2 a2@4 a2@2 a2@2 a2@2 a2@4 ~@2 a1@2]/2", CS: "[d2 a1 d1@14]/2",
})).s("gm_electric_bass_finger").gain(0.64)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@21 A@2 B@2 A@2 B@2 A@2 C@8 D@6 E@8 F@6 A@2 B@2 A@2 B@2 A@2 G@5 D@6 H@8 ~@8 D@12 I@6 D@6 H@8 J@2 ~
>`.pickRestart({
  A: "[f#3,a3,d4]/2", B: "[g3,c4,e4]/2",
  C: "[[c4,e4]@8 f#4@8 b3@16 a#3@16 f#4@8 [c#4,e4]@7 ~, g3@96 a3@31 ~, ~ d4@6 ~, ~ g4@2 ~]/8", // C C#m
  D: "[a3@2 ~@3 e3, d4@5 ~, f#3@2 g3, ~ b3@2]/6", E: "[a3@2 ~@2 g3@2 ~ c#4, d4@7 ~, f#3@2 ~ [e3,a3], ~ b3@2 ~]/8",
  F: "[a3 ~@79 e3@16, d4@5 ~, f#3@2 g3, ~ b3@2]/6",
  G: "[[c4,e4]@8 b3@8 a#3@8 ~@8 c#4@7 ~, g3@48 [e3,a3]@31 ~, ~ d4@3 ~]/5", // C A5
  H: "[a3@32 ~@32 g3@32 ~@16 c#4@15 ~, d4@7 ~, f#3@2 ~ [e3,a3], ~ b3@2 ~]/8", I: "[a3 ~ g3, d4, f#3@2 ~, ~ b3@2]/6",
  J: "[~ [d3,a3,d4]@7]/2", // D5
})).s("gm_synth_strings_1").gain(0.24)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  A@5 B@4 ~ C@7 ~ D@2 E F@8 G@4 H@5 I J@4 K L J@4 K@2 M@2 J N O@2 P Q@3 R@8 S T@2 U V J@4 K L J@4 K@2 W@2 X Y@2 Z AA
  AB@3 J@4 K AC J@4 K L J@4 K AD J@4 K AE J@4 K@2 W@2 AF@3
>`.pickRestart({
  A: "[~@16 [d4,f#4]@30 ~@2 [d4,f#4]@30 ~ [g3,b3], ~@15 [d3,a3]@30 ~@2 [b2,b3]@30 ~@3]/5", // D G D5 B
  B: "[[d4,g4]@15 ~ [b3,e4]@15 ~ [d4,f#4]@29 ~@3, ~@15 [e3,g3]@16 [d3,a3]@29 ~@4]/4", // G5 E5 D Em D5
  C: "[~@16 g4@15 ~ [e3,a3,c#4]@15 ~ [a3,d4]@31 ~ [d4,f#4]@31 ~, ~@14 g3@16 ~ a2@15 ~@66, ~@15 [b3,d4]@16 ~@16 f#3@31 ~ [d3,a3]@30 ~@3]/7", // A D5 D Bm D5
  D: "[~@16 g4@15 a2, ~@7 g3@8 ~, ~@15 [b3,d4]@16 ~]/2", E: "[e3,a3,c#4]@15 f#3",
  F: "[[a3,d4,f#4]@31 ~ [c4,e4]@30 ~@2 d4@30 ~@2 g3@29 ~@2 a3, ~@31 [g3,b3]@31 ~ [f#3,a3]@31 ~ [b3,c4,e4]@31 ~@2]/8", // D C G F#m Cmaj7
  G: "[[d4,f#4]@15 ~ [c4,d4]@15 ~, ~@31 g3@30 ~@3]/4", // D Csus2
  H: "[[d3,g3,d4]@30 ~@2 [a#3,d4]@31 ~ [a3,d4]@15 ~, ~@31 g3@32 e3@15 ~@2]/5", I: "[e3,a3,c#4]", J: "[a3,d4]!8",
  K: "[b3,d4]!8", L: "[g3,b3,e4] [g3,b3]!3 [g3,b3,e4] [g3,b3] [g3,b3,e4] [g3,b3], ~ e4 ~@2",
  M: "[[e3,a3,d4] [e3,a3]!3 [e3,a3,d4] [e3,a3] [e3,a3,d4] [e3,a3] a3 [e3,a3]!3 [e3,a3,c#4] [e3,a3] [e3,a3,c#4] [e3,a3], ~@4 d4@4 ~@6 c#4@5 ~ c#4@4 ~@8]/2", // Dsus2 A5 Dsus2 A5 Dsus2 A5 A A5 …
  N: "[a3,d4]!5 [d3,a3,d4] [e3,a3,d4] [f#3,a3,d4]", // D5 Dsus2 D
  O: "[[a3,d4]!8 [a3,d4]!5 [b2,a3,d4] [c#3,a3,d4] [d3,a3,d4], b2@25 ~@7]/2", P: "[b3,d4]!8, g2@15 ~",
  Q: "[[g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@3 ~ d4@30 ~ g3, e2@15 d3@31 ~@2, ~@15 a3@29 ~@4]/3", // G
  R: "[[b3,c4,e4]@30 ~@2 d4@30 ~@2 g3@29 ~@3 [d4,f#4]@30 ~ g3, ~@31 [f#3,a3]@31 ~ [b3,c4,e4]@31 ~ a3@30 ~@3]/8", // Cmaj7 D F#m Cmaj7
  S: "[c4,d4]", T: "[[d3,g3,d4]@15 ~@9 g4@7 ~, ~@15 g3@8 ~@9, ~ [a#3,d4]]/2", U: "[e3,a3,d4]@4 [e3,a3,d4]@11 ~",
  V: "[e3,a3,c#4]@15 ~", W: "[[e3,a3,d4] [e3,a3]!3 [e3,a3,d4] [e3,a3] [e3,a3,d4] [e3,a3,c#4]@8 ~, ~ d4 ~@6]/2",
  X: "d4@6 e4 d4 c4@6 d4 c4", Y: "[b3@6 c4 b3 a3@4 c#4@2 f#4@8 g4 f#4 e4@6 f#4 e4]/2", Z: "d4@6 e4 d4 e4@4 c#4@4",
  AA: "a4@6 b4 a4 g4@6 a4 g4",
  AB: "[f#4@6 g4 f#4 e4@4 e4@2 f#4@4 f#4@2 e4@4 f#4@2 f#4@2 e4@2 f#4@4 f#4@2 e4@4 f#4@2 f#4@2 e4@3 ~]/3",
  AC: "[g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@2 [g3,b3]@3 ~", AD: "[g3,d4]!8", AE: "[g3,b3]!8",
  AF: "[[a3,d4]@2 d3@2 [d3,a3]@41 ~@3, d3 ~@3 d4@43 ~]/3", // D5
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.4)

// chords · electric guitar clean
const electric_guitar_clean_2 = note(`<
  ~ A@2 B@2 C D ~@3 E C ~ F@3 ~ B@2 C G@3 H@2 I@2 J@2 K@2 L@7 M N@6 O@8 P@8 J@2 I@2 H@2 K@2 Q R S T U V@6 W@8 X@8 Y@8
  Z@4 AA@6 AB@6 AC@8 AD@2 ~
>`.pickRestart({
  A: "[d3@25 ~ d3@2 e3@2 f#3@2]/2", B: "[b2@25 ~ b2@2 c#3@2 d3@2]/2", C: "g2", D: "~@3 d4@5, e2, ~@2 f#3@13 ~, ~ g3@3",
  E: "~@5 b2 c#3 d3", F: "[~@22 d5@13 ~@13, ~@10 a4@17 ~@21, ~@4 d5@3 ~@9, ~@14 f#5@17 ~@17]/3",
  G: "[a2@14 ~@24 a3@9 ~, ~@7 e4@8 e4@8 ~, ~@15 a3@22 ~@11, ~@15 d4@19 d4@12 ~@2]/3",
  H: "[~@6 c5@5 ~@3 b4@6 ~@2 a4@6 c4@4, ~ e4@2 ~@13, ~ c4 ~ c4 ~ c4 ~@2]/2",
  I: "[~@6 a4@5 ~@11 f#4@6 a3@4, ~ d4@2 ~@4 g4@3 a3@2 ~@4, ~@2 a3@2 ~@2 a3@2 ~ d4@2 ~@5]/2",
  J: "[~@6 c5@5 ~@11 a4@6 c4@4, ~ e4@2 ~@4 b4@3 c4@2 ~@4, ~@2 c4@2 ~@2 c4@2 ~ e4@2 ~@5]/2",
  K: "[~@6 a4@5 ~@3 g4@6 ~@2 f#4@6 a3@4, ~ d4@2 ~@13, ~ a3 ~ a3 ~ a3 ~@2]/2",
  L: "[~ c4@2 d4@2 ~@2 e4@3 ~ d4@2 d3 e3 ~@6 g3@2 ~@2 e4@2 ~@2 d3 ~@13 e4@3 ~ g3 ~@3 d4@2 e4@3, ~@30 g3@12 ~@4 g3@12 ~@4 g3@15 ~ g3@15 ~@5 e3@14, ~@38 d4@9 ~@7 e4@8 ~@8 d4@13 ~@9 d4@8 ~@12]/7",
  M: "~@2 [a3,c#4]!6", // A
  N: "[~@3 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 d4@2 ~@2 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 ~ f#3 ~@8 f#3 ~@4 d4 g3, ~@2 a3@4 ~@6 a3@7 ~ a3@7 ~@7 a3@4 ~@6 a3@7 ~ a3@9 ~@5 g3@7 ~ g3@7 ~@3 g3@5 ~ g3@4 ~@2, ~@4 d4@4 ~@2 e4@6 ~@2 f#4@4 ~@14 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@7 ~ d4@7 ~ d4@7 ~ d4@6 ~@4]/6",
  O: "[~@6 f#4@4 ~@4 g4@4 ~@4 e4@4 f#4@2 e4@2 d4@4 ~@4 f#4@4 ~@4 g4@4 ~@4 e4@4 d4@3 ~@5 f#3@2 ~@26 g3@4 ~@20 e4@6 e4@4, ~@2 a3@4 ~@6 a3@7 ~ a3@7 ~@7 a3@4 ~@6 a3@7 ~ a3@9 ~@7 g3@6 g3@8 g3@7 ~ g3@4 ~@4 e3@7 ~ e3@7 ~ e3@10 ~@4, ~@4 d4@4 ~@2 e4@6 ~@2 f#4@4 ~@14 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@9 ~ d4@5 ~ e4@7 ~ d4@6 d4@5 ~@3 g3@22 ~@6, ~@51 d4@4 c#4@4 ~@5]/8",
  P: "[~@2 [d4,f#4] [d4,f#4]@2 [d4,f#4] [d4,f#4]@4 [d4,e4]@4 [d4,g4]@4 [d4,f#4]@4 [d4,e4]@4 [d4,f#4]@2 [d4,e4]@2 [a3,d4]@4 [d4,f#4] [d4,f#4]@2 [d4,f#4] [d4,f#4]@4 [d4,e4]@4 [d4,g4]@4 [d4,f#4]@4 [d4,e4]@4 f#4@2 [d4,e4]@2 [g3,d4]@4 [d4,f#4] [d4,f#4]@2 [d4,f#4] [d4,f#4]@4 [d4,e4]@4 [d4,g4]@4 [d4,f#4]@4 [d4,e4]@4 [d4,f#4]@2 [d4,e4]@2 [a3,d4]@11 ~@5 [a4,d5,f#5]@15 ~@3]/8", // D Dsus2 G5 D Dsus2 D Dsus2 D5 …
  Q: "~@3 d4@2 ~@3, ~ g3@2 ~@5, ~ e3@2 ~", R: "~@3 d4@2 ~@3, ~ b3@2 ~@5, ~ g3@2 ~", S: "~@3 d4@5, ~@2 a#3@7 ~@7",
  T: "~@4 d4@3 ~ [a3,d4]@4 [e3,a3,d4]@4", U: "~@4 a3 ~ c#4@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2 [e3,a3,c#4]@2",
  V: "[~@3 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 d4@2 ~@2 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 ~ f#3 ~@8 f#3 ~@5 g3, ~@2 a3@4 ~@6 a3@7 ~ a3@7 ~@7 a3@4 ~@6 a3@7 ~ a3@9 ~@5 g3@7 ~ g3@7 ~@3 g3@6 g3@4 ~@2, ~@4 d4@4 ~@2 e4@6 ~@2 f#4@4 ~@14 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@7 ~ d4@7 ~ d4@7 ~ d4@6 d4@4]/6",
  W: "[~@3 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 d4@2 ~@2 f#4@2 ~@2 g4@2 ~@2 e4@2 d4@2 ~@2 f#3 ~@13 g3@2 ~@2 d4@2 c#4 b3@9 ~, ~@2 a3@4 ~@6 a3@7 ~ a3@7 ~@7 a3@4 ~@6 a3@7 ~ a3@9 ~@7 g3@6 g3@8 g3@7 ~ g3@4 ~@4 e3@21 ~@9, ~@4 d4@4 ~@2 e4@6 ~@2 f#4@4 ~@14 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@9 ~ d4@6 e4@7 ~ d4@6 d4@5 ~@3 g3@22 ~@6]/8",
  X: "[~@3 a3 ~@3 a3 g3 ~@5 c#4 ~@8 a3 g3 ~@5 c#4 ~@4 a3 ~@3 a3 ~@6 c#4 d4@2 ~@3 d4!2 c#4 d4@2 c#4!2 [a3,e4]@4 ~, d3@8 c3@8 b2@8 a2@7 ~ d3@8 c3@8 b2@8 a2@7 ~@3 a3@4 ~@4 a3@4 ~@2 g3@4 d4@6 ~@10 c#4@4 ~@24, ~@2 a3@4 ~@4 a3@4 ~@4 g3@4 g3@4 g3@6 ~@2 a3@4 a3@4 a3@4 ~@4 g3@4 g3@6 ~@2 d4@5 ~ d4@6 ~@2 d4@6 d3@6 ~@40, ~@4 d4@6 ~@2 d4@7 ~ d4@6 ~@4 d4@6 d4@7 ~ d4@7 ~ d4@6 e3@6 d3@8 c3@8 b2@8 a2@13 ~@5 a2@15 ~@7, ~@86 g3@4 g3@7 ~ g3@4 g3@4 ~@4 a3@8 ~@10]/8", // A5
  Y: "[~@2 [d4,f#4]@2 [d4,f#4]@2 [d4,f#4]@4 [d4,e4]@4 [d4,g4]@4 [d4,f#4]@4 [d4,e4]@4 [d4,f#4]@2 [d4,e4]@2 ~@4 [d4,f#4] [d4,f#4]@2 [d4,f#4] [d4,f#4]@4 [d4,e4]@4 [d4,g4]@4 [d4,f#4]@4 [d4,e4]@4 [d4,f#4]@2 [d4,e4]@2 ~@2 a3@2 [d4,f#4]@2 [d4,f#4]@2 [d4,f#4]@4 [d4,e4]@4 [d4,g4]@4 [d4,f#4]@4 [d4,e4]@4 [d4,f#4]@2 [d4,e4]@2 a3@3 ~@5 f#4@4 ~@4 g4@4 ~@4 e4@4 f#4@2 e4@2 d4@2, ~@15 d4@2 ~@14 d4@2 ~@14 d4@3 d4@2 ~ e4@3 ~ f#4@2 ~@5, ~@32 a3@4 ~@62 a3@6 ~@4 a3@7 ~ a3@7 ~@5]/8", // D Dsus2 G5 D Dsus2 D Dsus2 D …
  Z: "[~@3 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 ~ f#3 ~@8 f#3 ~@4 d4 g3, ~@2 a3@4 ~@6 a3@7 ~ a3@9 ~@5 g3@7 ~ g3@7 ~@3 g3@5 ~ g3@4 ~@2, ~@4 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@7 ~ d4@7 ~ d4@7 ~ d4@6 ~@4]/4",
  AA: "[~@6 f#4@4 ~@4 g4@4 ~@4 e4@4 f#4@2 e4@2 d4@4 ~@4 f#4@4 ~@4 g4@4 ~@4 e4@4 d4@3 ~@5 f#3@2 ~@26 g3@2, ~@2 a3@4 ~@6 a3@7 ~ a3@7 ~@7 a3@4 ~@6 a3@7 ~ a3@9 ~@7 g3@6 g3@8 g3@7 ~ g3@4 ~@2, ~@4 d4@4 ~@2 e4@6 ~@2 f#4@4 ~@14 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@9 ~ d4@5 ~ e4@7 ~ d4@6 d4@4]/6",
  AB: "[~@3 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 d4@2 ~@2 f#4@2 ~@2 g4@2 ~@2 e4@2 f#4 e4 ~ f#3 ~@8 f#3 ~@4 d4 g3, ~@2 a3@6 ~@4 a3@7 ~ a3@7 ~@7 a3@4 ~@6 a3@7 ~ a3@9 ~@5 g3@7 ~ g3@7 ~@3 g3@5 ~ g3@4 ~@2, ~@4 d4@4 ~@2 e4@6 ~@2 f#4@4 ~@14 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@7 ~ d4@7 ~ d4@7 ~ d4@6 ~@4]/6",
  AC: "[~@2 f#4@2 f#4@2 f#4@4 ~@4 g4@4 ~@4 e4@4 f#4@2 e4@2 ~@4 f#4@2 f#4@2 f#4@4 ~@4 g4@4 ~@4 e4@4 d4@3 ~@5 f#3@2 ~@26 g3@4 ~@4 d4@4 c#4@2 b3@18 a3@2, ~@2 a3@4 ~@6 a3@7 ~ a3@7 ~@5 a3@4 ~@8 a3@7 ~ a3@9 ~@7 g3@6 g3@8 g3@7 ~ g3@4 ~@4 e3@21 ~@9, ~@4 d4@4 ~@2 e4@6 ~@2 f#4@4 ~@8 d4@4 ~@2 d4@4 ~@2 e4@4 ~@4 f#4@4 ~@8 d4@9 ~ d4@5 ~ e4@7 ~ d4@6 d4@5 ~@3 g3@22 ~@6]/8",
  AD: "[~@4 a4@27 ~, d4@31 ~, ~@2 a3@29 ~]/2",
})).s("gm_electric_guitar_clean").gain(0.64).pan(0.7)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_3 = note(`<
  ~@13 A@3 ~@7 B C D@2 B@2 D E F G H I H ~@2 J ~@13 K ~@3 L ~@4 B@2 D@2 B C D E M N@2 O P ~@57
>`.pickRestart({
  A: "[~@7 b3@4 ~@3 a4@6 ~@4, ~@22 g3@9 ~@17]/3", B: "~@5 e4@2 ~", C: "~ e4@2 ~@2 e4@2 ~", D: "~@5 d4@2 ~",
  E: "~ d4@2 ~@2 d4@2 ~", F: "~@2 g3@3 ~ g3@2, ~@5 c4@2 ~", G: "~ g3 ~@2, ~ c4@2 ~@5", H: "~ d4@2 ~@5", I: "~@6 e3 ~",
  J: "[a3,c#4] ~@3", K: "~@10 a3@3 ~ a3 ~", L: "~@5 d4 ~@2", M: "~@3 g3, ~@5 c4@3",
  N: "[~@12 g3@6 ~@2 g3@6 ~@2 g3@3 ~, ~@5 b3@3 ~@5 a#3@3]/2", O: "[a3,d4]@4 [e3,a3]@3 ~@9",
  P: "e3 ~ e3 ~ [e3,c#4] ~ [e3,a3]@2 ~@8, [a3,c#4] ~@3", // C#m A5 A
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.7)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@38 A B@2 C@2 D E@3 C@2 F@2 G@4 C@2 D H@3 ~@11 I A B@2 C@2 D E@3 C@2 D J K@2 ~@6 L@2 M@2 C@2 D N@3 C@2 D E@3 C@2 O@2
  B@2 C@2 D P@3 C@2 D J Q@2 R@2 ~
>`.pickRestart({
  A: "[a2,e3,a3]@2 [a2,e3]@2 [a2,e3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3]@2 [a2,e3,a3] ~, ~ a3@2 ~@5", // A5
  B: "[[d3,a3,d4]@31 ~]/2", C: "[[b2,a3,d4]@31 ~]/2", D: "[g2,g3,d4]@15 ~",
  E: "[[e2,e3,b3]@15 ~ [a3,d4]@31 ~, ~@5 d3@10 ~]/3", F: "[[g2,g3,d4]@31 ~]/2",
  G: "[[a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@3 ~ [a3,d4]@2 [a3,c#4]@4 [a3,c#4]@2 [a3,c#4]@2 a3@2 a3@2 [a3,c#4]@2 [a3,c#4]@3 ~ [a3,d4]@30 [b2,a3,d4]!2, a2@31 d3@30 ~@3, ~@11 c#4@2 ~@19]/4", // D5 A D5 Bm7
  H: "[[e2,e3,b3]@15 ~ a3@32, ~@15 d3@32 ~, ~@5 d2@9 ~@2]/3", I: "[e3,a3] [e3,a3]@2 [e3,a3]", J: "[e2,e3,b3]",
  K: "[d4@5 ~ [e3,d4]@4 c#4@2 [e3,b3]@19 ~, a2@3 ~@5, a3@5 ~@11]/2", // E7 E5
  L: "[~@14 [e3,a3]@10 [e3,a3]@2 [e3,a3]@2 [e3,a3]@3 ~]/2", M: "[[d3,a3,d4]@30 [b2,a3,d4]!2]/2",
  N: "[[e2,e3,b3]@15 ~ [a3,d4]@32, ~@15 d3@32 ~]/3", // E5 D5
  O: "[[g2,g3,d4]@15 ~ [e3,b3]@14 [a3,d4] [d3,a3,d4], ~@15 e2@15 ~@2]/2", // G5 E5 D5
  P: "[[e3,b3,e4]@15 ~ [a3,d4]@31 ~, ~@5 d3@10 ~]/3", // E5 D5
  Q: "[d4@5 ~ [e3,d4]@4 c#4@2 [e3,b3]@16 ~@2 a3@2, a2@3 ~@5, a3@5 ~@11]/2", R: "[d4 a3 [d3,e4]@14]/2",
})).s("gm_distortion_guitar").gain(0.47)

// drums · kick
const kick = s("bd").struct(`<
  ~ A@37 B A@3 C A D A@3 C A D A E A@3 C A D F ~ A@7 D A@4 G A@3 C A D A@3 C A D@2 H D C D C D I J K L A@2 C A@2 L A@2 D
  A D L A@2 C A@2 M A@2 C A N O A@2 C A D@2 P H Q ~
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "~@5 x!2 ~", C: "x ~@5 x ~ x ~@2 x ~@2 x ~", D: "x ~@2 x!2 ~@2 x", E: "x ~@2 x!3 ~@2",
  F: "x ~@3 x ~@2 x", G: "x ~@10 x ~@4", H: "~ x ~@6", I: "x ~@2 x!3 ~ x", J: "x ~@2 x!5", K: "x!2", L: "x!2 ~ x!2 ~@3",
  M: "~@3 x ~@2 x ~ x ~@7", N: "x ~@5 x ~ x ~@2 x ~@4", O: "~@3 x!2 ~@3", P: "~ x ~@5 x", Q: "~@15 x",
})).gain(0.64)

// drums · rim
const rim = s("rim").struct("<~@7 [~ x ~ x]!16 [~ x ~@2]!8 [~ x ~ x]!7 ~@31 [~ x ~ x]!4 ~@58>").gain(0.64)

// drums · snare
const snare = s("sd").struct("<~@38 A B@21 C B@8 ~@4 D B@5 E B@8 F@7 G B@5 H B@17 I J B@6 K L ~@2>".pickRestart({
  A: "x!7 ~", B: "~ x ~ x", C: "~@3 x", D: "~@2 x ~ x!3 ~@5 x ~@3", E: "~@4 x ~@6 x!2 ~@3", F: "x!4",
  G: "~@2 x!5 ~@3 x!4 ~@2", H: "~@4 x ~@6 x!3 ~@2", I: "~@4 x ~@7 x!2 ~@2", J: "x!2 ~@2 x ~@7 x ~@3",
  K: "~@8 x ~@2 x!2 ~@3", L: "x!2 ~@2",
})).gain(0.8)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~ A@6 ~@17 B ~ B ~ B ~ B ~@7 C ~@13 D ~@6 E F ~@7 E ~@4 G ~@5 H ~@7 I ~@7 J ~@11 H ~@5 K ~@5 K L ~@6 M ~ K ~
>`.pickRestart({
  A: "~ x ~ x", B: "~@3 x", C: "x!6 ~@2", D: "~@7 x", E: "~@5 x ~@2", F: "~@3 x!3 ~@2", G: "~@7 x!4 ~@5", H: "~ x",
  I: "~@4 x!3 ~", J: "~@9 x ~@6", K: "~@15 x", L: "~@3 x ~@12", M: "~ x!2 ~@5",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<~@60 A ~@27 B C@2 D C E F ~@36>".pickRestart({
  A: "x!4", B: "~@2 x!6", C: "x!8", D: "x!7 ~", E: "x!5 ~@3", F: "~@2 x!2 ~@4",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<~@23 A ~ A ~ A ~ A ~@30 B ~@34 C ~@5 C ~@12 D ~@4 C E ~@8 C ~>".pickRestart({
  A: "~@3 x", B: "~ x ~ x ~@4", C: "~@7 x", D: "~ x!2 ~@13", E: "~ x ~@6",
})).gain(0.56)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@39 A B@3 A C A B@3 A D A E A B@3 A B E ~@14 A B@4 F G B@3 A B H I J ~@2 K ~ L M ~ A B@3 A I A B@3 A C G B@3 A B G C
  A B@2 E N B A B A B H I ~@3
>`.pickRestart({
  A: "~ x!7", B: "x!8", C: "x!6 ~ x", D: "x!7 ~", E: "x!5 ~@3", F: "x!4 ~@4", G: "~@2 x!6", H: "~ x!6 ~", I: "x!6 ~@2",
// … 21 more lines

More by Nek