Strudelify
Se stiamo insieme cover art

1991 · Cocciante (1991)

Se stiamo insieme

Cocciante

KeyC♯ minorTempo97 bpm
0:00/0:00
// Se stiamo insieme — Cocciante
// 97 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 112 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(97/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 · piano · "Ac.Piano"
const piano = note(`<
  A@3 B C D E B C F G H@3 G I@2 J K L M N K O@2 N P@3 Q R S M N T U V W@2 X Y@2 Z AA AB@2 AC AD@2 AE AF AG AH AI@2 AG AH
  AJ@3 AK@2 AL@2 AM AN@3 T U V W@2 X Y@2 Z AA AB@2 AC AD@2 AE AF AG AH AI@2 AG AH AJ@3 AK@2 AL@2 AM AN@3 AK@2 AL@2 AM
  AO@4 ~
>`.pickRestart({
  A: "[d#5@48 [g#4,e5]@23 ~, c#5, g#4@47 ~@25]/3", B: "[a4,c#5,e5]@23 ~", C: "[a4,c#5,d#5,f#5]",
  D: "[d#5,f#5], [g#4,b4]@11 ~", E: "[g#4,b4,e5]", F: "[g#4,b4,d#5,f#5]", G: "c#4@7 c#4, [g#4,c#5,e5,g#5]",
  H: "[~ [b4,d#5,f#5] [e4,g#4,b4,d#5,f#5], [f#3,a4,c#5,e5,g#5]@13 ~@23, ~@12 b3@13 ~@11]/3", // B Emaj7 F#m7
  I: "[~ [b3,b4,d#5,f#5], [f#3,a4,c#5,e5,g#5]@13 ~@11]/2", J: "[e4,b4,d#5,f#5]", K: "[c#4,g#4,c#5,e5,g#5]",
  L: "[f#3,a4,c#5,e5,g#5]", M: "[b3,b4,d#5,f#5]", N: "[e4,g#4,b4,d#5,f#5]",
  O: "[~@21 f#5@2 ~ [b3,b4,d#5,f#5]@24, [f#3,a4,c#5,g#5]@13 ~@11, e5@23 e5@3 ~@22]/2", // B F#m
  P: "[[c#5,e5] f#5 [b3,b4,f#5], c#4@13 ~@11 d#5@11 ~, g#4 ~@23 [f#3,a4,c#5,e5]@26 ~@22]/3", // C#m B5 F#m7
  Q: "[e4,d#5,f#5], [g#4,b4]@11 ~", R: "[c#4,g#4,c#5,e5]", S: "[f#3,e5,f#5], a4@11 ~", T: "~@7 c#4, [c#5,e5,g#5]",
  U: "[f#3,a4,e5,g#5], c#5@19 ~@5", V: "[b3,c#5,d#5,f#5]",
  W: "[[g#4,b4]@2 [g#3,f#4,g#4,b4,d5] [g#4,b4,c#5], [d#5,f#5]@13 ~@11]/2", X: "[f#3,f#4,a4,c#5]",
  Y: "[[d#3,c#5] ~ [g#4,c#5]@2, ~@6 [g#3,f#4,c5,d#5]@7 ~@11]/2", Z: "[f#4,a4,e5], c#5 ~@23", AA: "e5 d#5, [f#4,a4,c#5]",
  AB: "[[e4,g#4,d#5]@2 d#5 c#5, b4, ~ [e4,g#4]]/2", AC: "[d#4,f#4,a4,c#5]", AD: "[c#5 c5 c#5 d#5, d#4, g#4@23 ~@25]/2",
  AE: "[g#4,c#5,e5]", AF: "[f#4,a4,c#5,e5]", AG: "[f#4,a4,b4,d#5]", AH: "[e4,g#4,b4,d#5]",
  AI: "[[c#5,e5] [f#4,a4,c#5,e5], g#4@13 ~@11]/2", AJ: "[e4@5 ~ [b2,f#4,b4,d#5]@12, [a2,a4,c#5]@13 ~@23]/3",
  AK: "[[c#5,e5] [f#3,f#4,a4,c#5,e5], [c#3,c#4,g#4]@13 ~@11]/2", AL: "[[b4,d#5] [e3,g#4,b4], [b2,b3,f#4,a4]@13 ~@11]/2",
  AM: "[c#3,c#4,g#4,c#5,e5]", // C#m
  AN: "[[f#4,e5]@18 ~@9 [e4,c#5]@6 ~@6 [e4,c#5]@6 ~@3 e3@9 [d#4,e4,g#4]@5 ~@10, f#3@47 ~@25, [f#2,a4]@24 b2@23 ~@25, c#5@7 d#5@4 [d#4,b4]@4 [d#4,b4]@4 ~@5, ~@18 [f#4,e5]@16 ~@23 b4@7 ~@8]/3", // F#7 C#m Emaj7 F#m G#m F#7
  AO: "[[f#4,e5]@6 ~@3 [e4,c#5]@2 ~@2 [e4,c#5]@2 ~ e3@3 [e3,d#4,e4,g#4,b4]@13, f#3@47 ~@49, [f#2,a4]@24 b2@23 ~@49, c#5@7 d#5@4 [d#4,b4]@4 [d#4,b4]@4 ~@13, ~@9 [f#4,e5]@8 ~@31]/4", // F#7 C#m Emaj7 F#m G#m F#7
})).s("gm_piano").gain(0.39)

// chords · piano · "Ac.Piano" · soft notes
const piano_soft = note(`<
  ~@31 A ~@2 B ~ C D@2 ~ E F ~@6 G ~@14 H ~@3 I B ~ C D@2 ~ E F ~@6 G ~@14 H ~@3 I ~@3 H ~@6
>`.pickRestart({
  A: "c#5", B: "g#4, c#4@7 ~", C: "a4", D: "[e4@9 ~@3 [c#4,f4]@4]/2", E: "[f#4,a4] g#4", F: "[c#4,e4,e5]", G: "g#4",
  H: "[e4,d#5]", I: "~@3 e3@2 ~@3",
})).s("gm_piano").gain(0.26)

// bass · fretless bass · "Bass"
const bass = note(`<
  ~@2 A B C D E F G D E H G I E J G D A J G I E J G D E K L M E J G N O J P Q R S T U J V W X Y Z AA AB AC AD AE AF AG
  AH AI AJ AK@2 AF AC AD AL AF AG AH AM O J P Q R S T U J V W X Y Z AA AB AC AD AE AF AG AH AI AJ AN@2 AF AC AD AL AF AG
  AH AM AF AC AD AL AF AG AH AO@3
>`.pickRestart({
  A: "c#2", B: "f#1@6 c#2 f#2", C: "b1", D: "e2@3 d#2@2 b1@2 g#1", E: "c#2@20 ~ c#2@3", F: "f#1@5 c#2 f#2 f#1",
  G: "b1@20 ~ b1@3", H: "f#1", I: "e2@7 b1", J: "f#1@6 f#2 f#1", K: "f#1@12 c#2@3 f#2@5 ~ f#1@3", L: "b1@5 f#2 b2@2",
  M: "[e2,e3]@12 d#2@3 c#2@5 ~ b1@3", N: "e2@6 d#2 b1", O: "c#2@19 ~@2 c#2@3", P: "b1@19 ~@2 b1@3",
  Q: "e2@4 b2 e3@2 e2", R: "g#1@12 c#2@8 ~ c#2@3", S: "f#1@12 f#2@3 f#1@5 ~ f#1@3", T: "d#1@12 g#1@8 ~ g#1@3",
  U: "c#2@4 g#2 c#3@2 c#2", V: "b1@14 ~ b1@3 b2@3 b1@3", W: "e1@20 ~ e1@3", X: "a1@4 e2 a2@2 a1", Y: "d#1@3 d#2@4 d#1",
  Z: "g#1@9 d#2@3 g#2@3 g#1@5 ~ g#1@3", AA: "g#2@5 d#2 g#2 g#1", AB: "~@5 g#2 c#3@2, c#2@17 ~@7",
  AC: "f#1@3 c#2 f#2 c#2@2 f#1", AD: "b1@4 f#2 b2@2 b1", AE: "e2@2 e3 d#3@2 b2@2 g#2", AF: "c#2@5 g#2 c#3@2",
  AG: "f#1@3 c#2@2 f#2@2 f#1", AH: "b1@2 f#2 b2@2 f#2@2 b1", AI: "e2@17 ~ e2@6", AJ: "a1", AK: "b1/2",
  AL: "e2@3 g#1 b1 c#2 e2@2", AM: "e2@9 e1@6 g#1@3 b1 ~ c#2 e2@3", AN: "[b1@3 g#2]/2", AO: "[e2@3 e1@19 ~@2]/3",
})).s("gm_fretless_bass").gain(0.64)

// other · overdriven guitar · "ElGuitar"
const overdriven_guitar = note("<~@60 A@4 B@4 ~@26 A@4 B@4 A@4 C@6>".pickRestart({
  A: "[e4@15 f#4@3 g#4@3 g#4@20 ~ g#4@3 f#4@21 e4@3 d#4@17 ~@10]/4",
  B: "[e4@15 f#4@3 g#4@2 ~ g#4@20 ~ g#4@3 f#4@21 e4@3 d#4@11 ~ d#4@6 ~@9]/4",
  C: "[e4@15 f#4@3 g#4@2 ~ g#4@20 ~ g#4@3 f#4@21 e4@3 d#4@11 ~ d#4@51 ~@12]/6",
})).s("gm_overdriven_guitar").gain(0.32).pan(0.6)

// chords · string ensemble 2 · "Strings1"
const string_ensemble_2 = note("<A@6 B@5 ~@3 C@4 D@16 E@8 F@7 G@8 H@3 ~@8 E@8 F@7 G@8 H@3 ~@18>".pickRestart({
  A: "[d#4@24 ~@37 b3@11, c#4@97 ~ [d#4,f#4]@46, g#3@72 ~@2 a3@51 ~@19, ~@50 e4@49 ~@45]/6", // D#m
  B: "[~ g#3@12 ~@24 [g#3,b3]@12 ~@11, ~ c#4@37 ~@22, ~ e4@24 [d#4,f#4]@24 ~@11, ~@26 a3@49 ~@45]/5", // G#m D#m
  C: "[~@3 b3, [e4,g#4]@49 ~@47, ~ c#4@72 ~@23, ~ g#3@26 ~@21 [d#4,f#4]@48, ~@24 a3@49 ~@23]/4", // E D#m
  D: "[~ g#3@24 ~@96 f#4@10 ~@38 g#3@23, ~ c#4@49 ~@45 [c#4,e4]@48 [b3,d#4]@49, ~ e4@47 [b3,d#4]@48 ~@25 a3@23 ~@48, ~@25 f#4@71 ~@36 f#4@60, ~@25 a3@25 ~@23 g#3@49 ~@70]/8", // C#m B
  E: "[g#4@24 ~@71 [d4,f#4]@12 f4@12 a4@36 d#4@13 [c#4,e4]@24, [c#4,e4]@48 d#4@48 ~@11 c#4@48 g#4@36 ~, ~@24 a4@47 g#4@48 f#4@49 ~@24, ~@49 b3@47 ~@96]/8", // D C#m
  F: "[e4@35 ~@13 b3@35 ~@13 f#3@24 d#4@24 ~@11 [d#5,g#5]@13, [a3,c#4,a4]@47 g#4@49 f#4@31 ~@17 g#4@19 ~@5, ~@35 d#4@48 [a3,c#4]@37 ~@48, ~@48 g#3@49 ~@23 g#3@42 ~@6]/7", // G#5 A
  G: "[[e5,g#5]@35 ~ e5@11 f#5@36 ~@78 d#5@18 e5@13, ~@35 b5@60 e5@38 ~@11 b4@48, ~@83 g#5@14 ~@23 a4@25 ~@47, ~@95 g#4@27 ~@10 f#5@33 ~@27]/8", // E
  H: "[~ [d#3,f#3,b3]@2, [e3,a3,c#4]@13 ~@23]/3", // B A
})).s("gm_string_ensemble_2").gain(0.35).pan(0.4)

// chords · string ensemble 2 · "Strings2"
const string_ensemble_2_2 = note("<~@42 A B@6 C@8 ~@3 D@8 ~@7 E@8 C@8 ~@3 F@8 G@7 H@3>".pickRestart({
  A: "a4",
  B: "[~@23 b4@36 ~@12 f#4@25 ~@11 c5@13 ~@11 d#5@13, f#4@23 g#4@48 ~@25 g#4@48, ~@5 a4@19 ~@35 a4@37 ~@48, ~@11 d#5@48 c#5@49 ~@12 c#5@13 ~@11]/6",
  C: "[g#3@23 ~@156 e4@13, [c#4,e4]@47 d#4@36 e4@60 b3@49, e5@37 ~@10 b3@48 c#4@49 ~@48, ~@23 a3@49 g#3@48 a3@48 g#3@24, ~@48 f#4@36 ~@59 [d#4,f#4]@36 ~@13]/8", // C#m D#m
  D: "[[e5,c#6]@14 [f#5,d#6]@3 e6@3 ~ e6@20 [g#5,e6]@3 ~@22 c#6@2 ~ d#5@11 [b4,g#5]@3 ~ b5@2 [e5,c#6]@4 [g#5,e6]@5 [e5,c#6]@15 [f#5,d#6]@3 ~ e6@3 g#5@20 ~@4 f#5@20 ~ e5@2 [d#5,b5]@11 ~ [d#5,b5]@4 ~@2 [g#4,g#5]@2 ~@2 [d#5,b5] [e5,c#6] ~ [g#5,e6]@3, ~@17 g#5@23 ~@4 [f#5,d#6]@23 ~ b5@12 ~@33 g#5@3 ~ e6@25 ~@19 c#6@4 ~@27, ~@65 e5@3 ~@15 d#5@4 ~@51 g#5@4 ~@50, ~@70 d#6@11 ~@15]/8", // C#m D#m C#m E C#m D#m G#m G# …
  E: "[[g#4,c#5]@24 a4@24 ~@23 b4@36 a5@11 ~@38 g#5@11 ~@12 d#5@13, e5@59 d#5@48 c#5@49 ~@12 c#5@13 ~@11, ~@24 c#6@36 b5@50 ~@10 a5@37 ~@11 g#5@24, ~@48 f#4@23 g#4@48 f#4@25 ~@11 c5@14 ~@23, ~@53 a4@19 ~@35 a4@37 g#4@48]/8", // C#5
  F: "[[e5,c#6]@14 [f#5,d#6]@3 e6@3 ~ e6@20 [g#5,e6]@3 ~@22 c#6@2 ~ d#5@11 [b4,g#5]@3 ~ b5@2 [e5,c#6]@4 [g#5,e6]@5 [e5,c#6]@15 [f#5,d#6]@3 ~ e6@3 g#5@20 ~@4 f#5@20 ~ e5@2 [d#5,b5]@11 ~ [d#5,b5]@5 ~@2 [g#4,g#5]@3 [d#5,b5]@6, ~@17 g#5@23 ~@4 [f#5,d#6]@23 ~ b5@12 ~@33 g#5@3 ~ e6@25 ~@19 c#6@3 ~@28, ~@65 e5@3 ~@15 d#5@4 ~@51 g#5@4 ~@50, ~@70 d#6@11 ~@15]/8", // C#m D#m C#m E C#m D#m G#m G# …
  G: "[[e5,c#6]@14 [f#5,d#6]@3 e6@3 ~ e6@20 [g#5,e6]@3 ~@22 c#6@2 ~ d#5@11 [b4,g#5]@3 ~ b5@2 [e5,c#6]@4 [g#5,e6]@5 [e5,c#6]@15 [f#5,d#6]@3 ~ e6@3 g#5@20 ~@4 f#5@20 ~ e5@2 [d#5,b5]@4, ~@17 g#5@23 ~@4 [f#5,d#6]@23 ~ b5@12 ~@33 g#5@3 ~ e6@25 ~@19 c#6@4 ~@3, ~@65 e5@3 ~@15 d#5@4 ~@51 g#5@4 ~@26, ~@70 d#6@11 ~@3]/7", // C#m D#m C#m E C#m D#m G#m D#m
  H: "[~@9 [d#5,b5]@59 ~@4]/3", // G#m
})).s("gm_string_ensemble_2").gain(0.38).pan(0.6)

// chords · electric guitar jazz · "JazzGuit" · E5 C#5
const electric_guitar_jazz = note("<~@13 [~@5 [b3,e4]@3] ~@7 [~@11 [g#3,c#4]@4 f#4@3 ~@3 b3@3, ~@18 e4@5 ~] ~@90>")
  .s("gm_electric_guitar_jazz").gain(0.31).pan(0.3)

// chords · epiano2 · "ElPiano"
const epiano2 = note(`<
  ~@10 A@2 B C D@3 C E F G@2 E F G C H@3 I@4 C J K@3 L@2 M@2 N@2 O@2 P Q@2 ~@19 R@4 L@2 M@2 N@2 O@2 P Q@2 ~@29
>`.pickRestart({
  A: "[[c#4,e4,g#4] [a3,c#4,e4,g#4], g#3@13 ~@11]/2", B: "[a3,c#4,d#4,f#4]", C: "[g#3,b3,d#4,f#4]",
  D: "[[c#4,e4,g#4] [a3,c#4] [a3,c#4,d#4,f#4], g#3@13 ~@23, ~@12 [e4,g#4]@13 ~@11]/3", E: "[g#3,c#4,e4,g#4]",
  F: "[a3,c#4,e4,f#4]", G: "[b3,d#4,f#4]", H: "[[e4,g#4] ~ [b3,d#4,f#4], c#4@2 ~, g#3@7 ~@11, ~@6 [a3,e4,g#4]@7 ~@5]/3",
  I: "[~ [e4,g#4] ~ [b3,d#4,f#4], [b3,d#4,f#4]@9 ~@7 [a3,e4,g#4]@9 ~@7, ~ c#4@2 ~, ~@12 g#3@13 ~@23]/4", // E B Amaj7
  J: "[c#4,e4,g#4], g#3 ~@23", K: "[[a3,c#4] ~ [g#3,b3,e4], [e4,g#4]@13 ~@23, ~@12 [a3,c#4,f#4]@13 ~@11]/3",
  L: "[[f#3,g#3,b3,d4] c#4 [f#3,a3,c#4]@2, ~@6 [f3,g#3,b3]@7 ~@11]/2", // G#m7b5 F#m Fdim
  M: "[f#3@3 g#3 ~@2 [e3,g#3,c#4,e4]@6, [a3,c#4]@7 ~@17, ~@6 [f#3,c4,d#4]@7 ~@11]/2", // C#m A Cdim
  N: "[e4@18 d#4@5 ~, f#3@23 ~, [a3,c#4]@11 ~]/2", O: "[d#4@3 c#4, [e3,g#3,b3]]/2", P: "[f#3,a3,c#4]",
  Q: "[c#4@2 c4@2 ~@3 g#3, d#3, g#3@14 ~ g#3@5 ~@4, ~ c#4, ~@3 d#4]/2",
  R: "[[c#4,e4,g#4] [a3,c#4] ~ [g#3,b3,e4], g#3@13 ~@11 [a3,c#4,f#4]@13 ~@11, ~@12 [e4,g#4]@13 ~@23]/4", // C#m A E F#m E
})).s("gm_epiano2").gain(0.35)

// chords · acoustic guitar steel · "AcGuitar"
const acoustic_guitar_steel = note(`<
  A@4 B C D@4 E@2 ~ F@3 ~ G@8 H@6 I@7 J K L M N@3 O@2 P Q@7 R@5 ~@8 S@4 J K L M N@3 O@2 P T@7 U@5 ~@18
>`.pickRestart({
  A: "[[g#3,c#4,d#4]@47 ~ [e4,g#4]@23 ~@2 g#4@23, ~@47 g#3@25 [c#4,e4]@24, ~@47 c#4@24 a3@25]/4", // G#sus4 E C#m
  B: "~ f#4@23, [b3,d#4]", C: "e4@3 d#4@2 ~@2 g#3, ~@5 b3@3",
  D: "[~ [e4,g#4]@22 ~@2 g#4@22 ~ f#4@24 e4@9 d#4@6 b3@6 g#3@2 g#3, [g#3,c#4]@23 [a3,c#4]@24 [b3,d#4]@26 ~@23, ~ e4 ~@2]/4", // E C#5 A B
  E: "[~ [e4,g#4]@38 ~@9, c#4@5 ~]/2", F: "[~@25 [e4,g#4]@34 ~@13, ~@23 g#3@36 ~@13, ~@12 c#4@17 ~@7]/3",
  G: "[~@6 g#4@3 ~@63 f#4@34 ~@14 g#4@43 ~@5 f#4@24, e4@3 d#4@5 g#4@16 ~@40, ~@15 [b3,b4]@11 ~@45 [b3,d#4]@36 ~@11 c#4@45 ~@29, ~@22 [g#3,c#4]@48 a3@35 ~@12 g#3@46 ~@3 [a3,b3]@26, ~@23 e4@48 ~@48 e4@44 ~@4 d#4@25]/8", // B C#5 Asus2
  H: "[~@15 [b3,b4]@8 ~@49 f#4@23 ~@26 g#4@22 a3, e4@9 d#4@14 c#4@23 a3@25 a3@26 ~@22 g#3@25, ~@6 g#4@9 ~@8 g#3@26 ~@23 c#4@26 ~@22 [c#4,e4]@24, ~@24 e4@23 [c#4,e4]@26 ~@22 b3@26 ~@23, ~@25 g#4@23 g#4@26 ~@22 [d#4,f#4]@26 ~@22]/6", // B C#m D#m
  I: "[~@24 f#4@36 ~@3 g#4@3 b4@3 ~@2 c#4 ~@48 f#4 f#4@12 ~@11 e4 ~@17 f#4@6, c#4@23 [a3,c#4]@37 ~@9 d#4@3 [c#4,e4]@23 [a3,c#4]@24 [a3,c#4]@26 ~@2 g#4@6 e4@10 ~@5, ~ [e4,g#4]@26 ~@33 f#4@10 g#3@26 e4@18 e4@6 d#4@25 e4@5 b4@9 g#4@9, ~@73 g#4@24 g#4@20 g#4@5 ~@21 g#3@22 ~@3, ~@111 c#5@10 ~@23 b3@21 ~@3]/7", // A C#m A E
  J: "[f#3,g#3,d4] [f3,g#3,c#4]", K: "~@7 c#4, [f#3,a3], c#4@7 ~, ~@12 a4@5 ~ f#4@6, ~@5 g#4@3",
  L: "[d#4,f#4,a4] [c4,d#4,g#4], c#4 ~@11", M: "g#4@4 ~@2 c#4 d#4, e4@11 ~, c#4@3 ~, ~@12 g#4@11 ~, ~@5 c#5@2 ~",
  N: "[e4@23 ~ e4@9 [b3,d#4]@14 ~ [d#4,f#4]@24, ~@23 [a3,c#4]@11 ~@13 [g#3,b3]@25, ~ f#4 ~]/3", // B D#m A G#m
  O: "[[g#3,b3,d#4]@12 [a3,c#4]@11 ~ [d#4,f#4]@24, e3@23 [a3,c#4]@25]/2", // G#m A D#m A
  P: "~@7 g#3, ~ g#3@2 g#3@2 g#3@2 ~, ~ d#4@2 d#4, ~ g#4",
  Q: "[~@55 c#5, ~ g#3@2 g#3@2 g#3@2 g#3@15 a4@4 a4@4 a4@13 c#5@3 g#4@10, ~@2 d#4@13 c#5@2 e4 a4 c#5@4 c#5@4 c#5@4 c#5@10 e4 g#4@3 e4@2 c#5@2 e4@2 c#5@4 ~, ~@4 g#4@5 e4 g#4 c#5@2 e4 g#4@11 g#4@4 g#4@8 [b3,b4]@16 e4@3, ~@6 c5@15 e4@13 e4 d#4@15 a4@4 a4@2]/7", // B
  R: "[~@10 e4 e4@2 ~@11 [b2,f#3,b3]@16, ~ g#4@4 g#4@5 g#4@3 [e4,g#4]@16 ~@11, ~@6 a4@12 a4@27 b3@4 c#4@48 ~@23, ~@3 c#5@4 c#5@9 [e3,a3]@16 ~@8, ~@11 [b3,b4]@4 b4@16 ~@9]/5", // B5 E A5 B
  S: "[~@48 f#4 f#4@12 ~@11 e4 ~@17 f#4@6, c#4@23 [a3,c#4]@24 [a3,c#4]@26 ~@2 g#4@6 e4@10 ~@5, ~ g#4@23 e4@18 e4@6 d#4@25 e4@5 b4@9 g#4@9, ~@25 g#4@20 g#4@5 ~@21 g#3@22 ~@3, ~@39 c#5@10 ~@23 b3@21 ~@3]/4", // A
  T: "[~@55 c#5, ~ g#3@2 g#3@12 c#5@2 e4 a4@3 e4@13 e4 d#4@14 e4@2 c#5@4 ~, ~@2 d#4@2 d#4@3 d#4@15 a4@4 a4@4 a4@13 c#5@3 g#4@10, ~@5 f#4@14 c#5@4 c#5@4 c#5@4 c#5@10 e4 g#4@3 e4@2 c#5@3 a4@4 a4@2, ~@6 g#4@3 e4 g#4 c#5@2 e4 g#4@11 g#4@4 g#4@8 [b3,b4]@16 e4@3]/7", // B
  U: "[~@3 [b2,f#3,b3]@2, ~ g#4@4 g#4@5 g#4 b4@16 ~@13, ~ a4@2 a4@4 e4@8 ~@5, ~@3 c#5@4 c#5@8 b3 [e3,a3,c#4]@16 ~@8, ~@9 e4@4 g#4@16 ~@11]/5", // B5 A
})).s("gm_acoustic_guitar_steel").gain(0.34).pan(0.6)

// other · overdriven guitar · "ElGuitar"
const overdriven_guitar_2 = note("<~@60 A@4 B@4 ~@26 A@4 C@4 D@4 E@6>".pickRestart({
  A: "[c#5@14 ~ d#5@3 e5@3 e5@21 e5@3 d#5@21 c#5@3 b4@27]/4",
  B: "[c#5@15 d#5@2 ~ e5@2 ~ e5@20 ~ e5@3 d#5@21 c#5@3 b4@11 ~ b4@15]/4",
  C: "[c#5@15 d#5@3 e5@2 ~ e5@20 ~ e5@3 d#5@21 c#5@3 b4@11 ~ b4@15]/4",
  D: "[c#5@14 ~ d#5@2 e5@3 ~ e5@20 ~ e5@3 d#5@21 c#5@3 b4@26 ~]/4",
  E: "[c#5@15 d#5@2 ~ e5@3 e5@20 ~ e5@3 d#5@21 c#5@3 b4@12 b4@45 ~@18]/6",
})).s("gm_overdriven_guitar").gain(0.26).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@17 A B@3 C B@3 C B@3 D B@3 E B@3 D B@2 C D B@2 C F B G H B I B J B I B I B@2 ~ B I B J B I B K B@3 D C B C D B@2 C F
  B@2 I B I B J B I B I B@2 L B I B J B I B I B I B J B I B I ~@2
>`.pickRestart({
  A: "~@7 x", B: "x", C: "x ~@6 x", D: "x ~@4 x ~ x", E: "x ~@5 x!2", F: "x ~@4 x ~@2", G: "x ~@2 x!2 ~@2 x",
  H: "x ~@2 x!2 ~@3", I: "x ~@2 x ~@4", J: "x ~@2 x ~ x ~ x", K: "x ~ x!2 ~@4", L: "~@9 x ~ x ~@12",
})).gain(0.72)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@35 A ~@9 A ~@21 B ~ A ~@9 A ~@21 B ~@10>".pickRestart({
  A: "~@7 x", B: "~@5 x ~ x",
})).gain(0.4)

// drums · rim
const rim = s("rim").struct("<~@26 A B A B A B A C A@3 B A B A B A@6 ~@20 A@3 B A B A B A@6 ~@30>".pickRestart({
  A: "~ x", B: "~@2 x!2", C: "x ~ x!2",
})).gain(0.56)

// drums · snare
const snare = s("sd").struct("<~@49 A@8 ~@3 A@7 B ~@14 C A@8 ~@2 A@8 ~ A@7 ~@3>".pickRestart({
  A: "~ x", B: "~@3 x ~@4", C: "~ x ~@2 x ~@3",
})).gain(0.72)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@2 A@15 B@2 A B A@3 B A@2 C B A@3 B D E@3 F G E@2 H I J E F E@3 ~@14 K ~@4 I E@3 G E@2 H I J E F E@3 ~@14 K ~@7 K ~@3
  L ~@2
>`.pickRestart({
  A: "~ x ~ x", B: "x!2 ~ x", C: "~@2 x ~@2 x!2 ~", D: "~ x ~@2", E: "x!4", F: "x!3 ~", G: "x ~ x!2", H: "x!2",
  I: "~ x!3", J: "x ~ x ~ x!3 ~", K: "~@3 x", L: "~@3 x ~@4",
})).gain(0.4)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@37 A B ~@2 C ~@3 D ~@2 E ~@23 B ~@2 F ~@3 D ~@32>".pickRestart({
  A: "~@7 x", B: "~ x ~@2", C: "~@2 x ~@4 x", D: "~@6 x!2", E: "~ x ~@3 x ~ x", F: "~ x ~ x",
})).gain(0.08)

// drums · low tom
const low_tom = s("lt").struct("<~@48 [~@7 x] ~@33 [~@7 x] ~@29>").gain(0.64)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@9 A ~@7 A ~ A ~@3 A ~@3 A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~@15 B ~@5 A ~@3 A ~ B ~ A ~ B ~ A ~@15 B ~@7 B
  ~@3 C ~@2
>`.pickRestart({
  A: "~@7 x", B: "~@5 x ~@2", C: "~ x ~@2",
})).gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct("<~@48 A ~@33 A ~@18 B ~@7 C ~@2>".pickRestart({
  A: "~@5 x ~@2", B: "~ x ~@3 x!2 ~", C: "x!2 ~@6",
})).gain(0.64)

// drums · crash
// … 31 more lines

More by Cocciante