Strudelify

Non l'hai mica capito

Rossi Vasco

KeyD majorTempo134 bpm
0:00/0:00
// Non l'hai mica capito — Rossi Vasco
// 134 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 115 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 28.
setcpm(134/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 · fretless bass
const bass = note("<~@51 A@2 ~@2 B@2 ~@2 A@2 ~@2 C@2 ~@50>".pickRestart({
  A: "[~@8 [c3,e3] ~@3 [c#3,f3] ~ [d3,f#3]@10 ~@8]/2", B: "[~@8 [c3,e3] ~@3 [c#3,f3] ~ [d3,f#3]@8 ~@10]/2",
  C: "[~@8 [c3,e3] ~@3 [c#3,f3] ~ [d3,f#3]@4 ~@14]/2", // C C# D
})).s("gm_fretless_bass").gain(0.46).pan(0.1)

// chords · percussive organ
const percussive_organ = note(`<
  ~@25 A@2 B@2 C@2 D ~ A@2 B@2 E@2 B@2 A@2 B@2 E@2 F ~@17 A@2 B@2 E@2 B@2 A@2 B@2 E@2 F ~@9 A@2 B@2 C@2 D ~ A@2 B@2 E@2
  B@2 A@2 B@2 G ~ H@3 ~
>`.pickRestart({
  A: "[b3,d4,g4]/2", B: "[a3,d4,f#4]/2", C: "[b3,e4,g#4]/2", D: "[c#4,e4,a4]", E: "[a3,c#4,e4]/2", F: "[a3,d4,f#4]",
  G: "[a3,c#4,e4]", H: "[a3,d4,f#4]/3",
})).s("gm_percussive_organ").gain(0.31).pan(0.4)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B C D E@2 F G A B C D E@2 F@2 A B C D E@2 F G H I J@2 K@2 L M A B C D E@2 F@2 A B C D E@2 F G ~@8 N@2 O@2 P Q O R
  A B C D E@2 F@2 A B C D E@2 F G ~@8 H I J@2 K@2 L M A B C D E@2 F@2 A B C D E S T U V W
>`.pickRestart({
  A: "[b3,d4,g4]@2 ~@2 d4 ~ [b3,d4,g4]@3 ~ [b3,d4,g4] ~ [b3,d4] ~ [b3,d4] ~, ~@3 [b3,d4,g4]@2 ~@7 g4@2 ~@2", // G Bm G
  B: "[b3,d4,g4]@2 ~ [b3,d4,g4] [b3,d4] ~ [b3,d4,g4]@3 ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~", // G Bm G
  C: "[a3,d4,f#4]@2 ~ [a3,d4,f#4]@3 [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  D: "[a3,d4,f#4]@2 ~@2 f#4 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~, ~@3 [a3,d4,f#4]@2 ~@11", // D
  E: "[a3,c#4,e4]@2 ~ [a3,c#4,e4]!2 ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~", // A
  F: "[a3,d4,f#4]@2 ~ [a3,d4,f#4]!2 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", G: "[a3,d4,f#4] ~@7",
  H: "[b3,d4,g4]@3 ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4] ~ [b3,d4] ~, ~@6 g4 ~", // G Bm
  I: "[b3,d4] ~ [b3,d4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4] ~ [b3,d4] ~, g4 ~@5 g4@2", // Bm G Bm
  J: "[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  K: "[b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~", // E
  L: "[c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~", // A
  M: "[c#4,e4,a4] ~@15", N: "[b3,d4,g4] ~ [b3,d4,g4]@2 ~@12, [g2,d3,g3]@5 ~@11",
  O: "[a3,d4,f#4] ~ [a3,d4,f#4]@2 ~@12, d3 ~@3", P: "[a3,c#4,e4] ~ [a3,c#4,e4]@2 ~@12, [a2,e3] ~@3",
  Q: "[a3,c#4] ~ [a3,c#4,e4]@2 ~@12, [a2,e3] ~@3, e4 ~@7", R: "[d3,a3,d4,f#4] ~@7", S: "[g2,d3,g3,b3,d4,g4] ~@7",
  T: "[a3,d4,f#4]@2 ~@2 f#4 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~, ~@3 [a3,d4]@2 ~@11", // D D5
  U: "[a3,d4,f#4]@2 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  V: "[d4,f#4]@3 ~ f#4 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [d4,f#4] ~, a3 ~@2 [a3,d4]@2 ~@11", // D D5
  W: "[a3,d4,f#4] ~@15", // D
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0.2)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  A B C D@2 E F G H I J K L M N O@2 P Q K L M N R@2 P S K L T U V W X Q K L M N Y@2 P Q K L M N Z@2 ~@8 AA AB AC@2 AD AE
  AC AF P J K L M N AG@2 P J K L M N AH@2 AI AJ AK AL AM AN AO AP P J K L AQ U V W P J AR L M N AS@2 P J AR L AT AU AV L
  AV AF
>`.pickRestart({
  A: "~ f#4 e4 d4", B: "[b3,g4]@3 ~ g4 ~ [g3,b3,g4]@4 [b3,g4] ~ g4@4, [b2,d3,g3]@3 [g2,b2,d3]@5, ~@11 c4@5",
  C: "[g2,b2,d3,g3]@4 g4 ~ [b3,g4]@2 f#4@2 [b3,e4]@2 [g3,d4,g4]@3 ~, b3@3 ~@3 [g2,b2,d3,g3]@5 ~@5, g4 ~@15", // G Em E5 G5 G
  D: "[[a3,d4]@4 f#4 ~ f#4@3 ~ f#4 ~ [d4,f#4]@3 ~ [a3,d4,f#4] ~@3 f#4 ~@3 f#4@2 [e4,f#4]@2 [a3,d4] ~@3, ~@6 d3@8 ~ d3@5 ~@2 [d3,a3,d4]@6 ~@4, ~@6 [a3,d4]@6 ~@16 f#4@3 ~]/2", // D5 D Esus2 D5
  E: "[c#4,e4]@3 ~ [c#4,e4] ~ [c#4,e4]@3 ~ [c#4,e4] ~ [d4,e4]@4, [a2,e3]@6 [a2,e3]@9 ~, a3 ~@5 a3@4 ~@6", // C#m Dsus2 A5
  F: "[c#4,e4]@3 ~ e4 ~ [c#4,e4]@2 ~@2 [c#4,e4] ~ [d4,e4]@3 ~, [a2,e3]@3 [a2,e3,a3]@3 ~@2, a3 ~@15", // C#m Dsus2 A5
  G: "[d3,d4]@4 f#4@2 g4@2 f#4@2 e4@2 d4 e4 ~@2, f#4 ~@2 d4@3 ~@2, a3 ~@5 [d3,a3]@8 ~@2", H: "[d3,a3,d4] ~@15",
  I: "~ g3@4 ~ [g2,d3,g3]@6 [g2,b2]@3 ~, [b3,g4]@6 [c4,g4]@9 ~, d3@4 ~@8 g3 ~@3", // G5 G Em C5
  J: "[g2,b2,b3,g4]@4 [b3,g4]@2 [b2,g3,c4,g4]@6 [g3,g4]@3 ~, g3@2 ~@10 b3 ~@3", // G Em Cmaj7 G
  K: "f#4@2 ~@2 d4 ~ [d3,a3,g4]@5 ~ [d3,a3,g4]@3 ~, a3@5 ~@11, d4 ~@2 [d4,f#4]@2 ~ d4 ~@5 d4 ~@3", // Dsus4 D
  L: "f#4@2 ~ [d4,f#4]!2 ~ [a3,g4]@6 [d3,a3,d4,g4]@2 ~@2, [d3,a3]@5 ~ d3@4 ~@6, d4 ~@5 d4 ~@9", // D A7 Dsus4 D5
  M: "~@4 c#4 ~ [e3,a3,d4,e4]@6 [e3,a3,d4,e4]@4, [a2,e3]@5 ~ a2@4 ~@2 a2@2 ~@2, [c#4,e4]@2 ~ [c#4,e4]@2 ~@11, ~ a3@4 ~@11", // Dsus2 A5 C#m
  N: "[c#4,e4]@2 ~ [c#4,e4] ~@2 [a2,e3,a3,d4,e4]@5 ~ [e3,a3,d4,e4]@3 ~, [a2,e3,a3]@5 ~@11", // C#m Asus4 Dsus2 A5
  O: "[a3@3 [d4,f#4] [d4,f#4]@2 [d3,d4]@6 [a3,g4]@3 ~ f#4@2 ~ [d4,f#4]!2 ~ [a3,g4]@5 ~ [a3,g4]@3 ~, f#4@2 ~@10 d4 ~@3 a3@5 ~@11, d4 ~@5 [a3,g4]@5 ~@4 d3@6 ~ d3@3 ~@7, ~@16 d4 ~@5 d4 ~@5 d4 ~@3]/2", // D A7 D A7
  P: "~ g3@4 ~ [g2,d3,g3]@6 [g2,b2]@3 ~, [b3,g4]@6 [c4,g4]@9 ~, [g2,d3]@4 ~@8 g3 ~@3", // G5 G Em C5 G5
  Q: "[g2,b2,g3,b3,g4]@4 [b3,g4]@2 [b2,g3,c4,g4]@6 [g3,g4]@3 ~, ~@12 b3 ~@3", // G Em Cmaj7 G
  R: "[a3@3 [d4,f#4] [d4,f#4]@2 [d3,d4]@6 [a3,g4]@3 ~ [a3,d4,f#4] ~@15, f#4@2 ~@10 d4 ~@19, d4 ~@5 [a3,g4]@5 ~@4 d3@2 ~@15]/2", // D A7 D A7
  S: "[g2,b2,g3,b3,g4]@4 [b3,g4]@2 [b2,c4,g4]@6 [g3,g4]@3 ~, ~@6 g3@4 ~@2 b3 ~@3", // G Em Cmaj7 G
  T: "~ e2@5 [e3,e4]@9 ~, [b2,e3,b3,e4]@6 [e2,b2]@7 ~@3", U: "~ b3@5 ~ [b3,e4]@9, [e2,b2,e3,e4]@5 ~ [e2,b2,e3]@9 ~",
  V: "~@4 c#4 ~ [e3,a3,d4,e4]@6 [e3,a3,d4,e4]@4, e3@5 ~ a2@4 ~@2 a2@2 ~@2, ~ a3@4 ~@11, ~@3 [c#4,e4]@2 ~@11", // Dsus2 C#m
  W: "[a2,e3,a3,c#4,e4] ~@7", X: "~ g3@4 ~ [g2,d3,g3]@6 [g2,b2]@3 ~, [g2,d3,b3,g4]@4 ~@2 [c4,g4]@9 ~, ~@12 g3 ~@3",
  Y: "[a3@3 [d4,f#4] [d4,f#4]@2 [d3,d4]@6 [a3,g4]@3 ~ f#4@2 ~ [d4,f#4]!2 ~ [d3,a3,g4]@5 ~ [a3,g4]@3 ~, f#4@2 ~@10 d4 ~@3 a3@5 ~@11, d4 ~@5 [a3,g4]@5 ~@4 d3@5 ~@12, ~@16 d4 ~@5 d4 ~@5 d4 ~@3]/2", // D A7 D Dsus4 A7
  Z: "[f#4@2 ~ [d4,f#4] [d4,f#4]@2 [d3,d4]@6 [a3,g4]@3 ~ [a3,d4,f#4] ~@15, a3@5 ~ [a3,g4]@5 ~@4 d3@2 ~@15, d4 ~@11 d4 ~@19]/2", // D A7 D A7
  AA: "[b3,d4,g4] ~ [b3,d4,g4]@2 ~@12, [d3,g3] ~@3", AB: "[b3,d4,g4] ~ [b3,d4,g4]@2 ~@12, [g2,d3,g3]@5 ~@11",
  AC: "[a3,d4,f#4] ~ [a3,d4,f#4]@2 ~@12, d3 ~@3", AD: "[a3,c#4,e4] ~ [a3,c#4,e4]@2 ~@12, [a2,e3] ~@3",
  AE: "[a3,c#4] ~ [a3,c#4,e4]@2 ~@12, [a2,e3] ~@3, e4 ~@7", AF: "[d3,a3,d4,f#4] ~@7",
  AG: "[f#4@2 ~ [d4,f#4] [d4,f#4]@2 [d3,d4]@6 [a3,g4]@3 ~ f#4@2 ~ [d4,f#4]!2 ~ [a3,g4]@5 ~ [a3,g4]@3 ~, a3@5 ~ [a3,g4]@5 ~@4 d3@5 ~@2 d3@3 ~@7, d4 ~@11 d4 ~@3 a3@5 ~@11, ~@16 d4 ~@5 d4 ~@5 d4 ~@3]/2", // D A7 D A7
  AH: "[a3@3 [d4,f#4] [d4,f#4]@2 [a3,g4]@5 ~ [a3,g4]@3 ~ [a3,d4,f#4] ~@15, f#4@2 ~@4 d4 ~@5 d4 ~@19, d4 ~@5 d3@6 ~@3 d3@2 ~@15]/2", // D A7 D
  AI: "[b3,d4,g4]@2 ~ [b3,g4]@2 ~ [b3,d4,g4]@3 ~ [b3,g4] ~ [b3,d4] ~@3, ~@12 g4@3 ~", // G Em G Em Bm
  AJ: "[b3,g4]@2 ~ [b3,g4] d4 ~ [b3,d4,g4]@3 ~ [b3,d4,g4] ~ [b3,d4,g4] ~ g4 ~", // Em G
  AK: "[a3,d4]@2 ~ [a3,d4,f#4]@3 [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4] ~ a3 ~", // D5 D D5
  AL: "[a3,d4,f#4]@2 ~ [d4,f#4]@2 ~ [a3,d4,f#4] ~ d4 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [d4,f#4] ~", // D
  AM: "[a3,c#4]@2 ~ [c#4,e4] e4 ~ [a3,c#4,e4]@3 ~ [c#4,e4] ~ [c#4,e4] ~ e4 ~", // A C#m A C#m
  AN: "[a3,c#4,e4]@2 ~ [a3,e4] [a3,c#4,e4] ~ [a3,c#4,e4]@3 ~ [a3,c#4,e4] ~ [a3,c#4,e4] ~ e4 ~", // A A5 A
  AO: "[a3,d4,f#4]@2 ~ [a3,d4,f#4]!2 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ d4 ~", // D
  AP: "[a3,d4,f#4]@2 ~ [a3,d4,f#4] [d4,f#4] ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
  AQ: "~ e2@5 [e3,e4]@9 ~, [b2,e3,b3,e4]@5 ~ [e2,b2]@7 ~@3", // E E5
  AR: "f#4@2 ~@2 d4 ~ [d3,a3,d4,g4]@5 ~ [d3,a3,g4]@3 ~, a3@5 ~@11, d4 ~@2 [d4,f#4]@2 ~@7 d4 ~@3", // Dsus4 D
  AS: "[a3@3 [d4,f#4] [d4,f#4]@2 [d3,d4]@6 [a3,g4]@3 ~ f#4@2 ~ [d4,f#4]!2 ~ [d3,a3,g4]@5 ~ [a3,g4]@3 ~, f#4@2 ~@10 d4 ~@3 a3@5 ~@11, d4 ~@5 [a3,g4]@5 ~@4 d3@6 ~@11, ~@16 d4 ~@5 d4 ~@5 d4 ~@3]/2", // D A7 D Dsus4 A7
  AT: "~@4 c#4 ~ [e3,a3,d4,e4]@6 [a2,e3,a3,d4,e4]@3 ~, [a2,e3]@5 ~ a2@4 ~@6, [c#4,e4]@2 ~ [c#4,e4]@2 ~@11, ~ a3@4 ~@11", // Dsus2 Asus4 A5 C#m
  AU: "[g2,d3,g3,b3,d4,g4] ~@7", // G
  AV: "[d3,a3,d4]@3 ~ d4 ~ [d3,a3,g4]@5 ~ [d3,a3,g4]@3 ~, ~@3 [d4,f#4]@2 ~ d4 ~@5 d4 ~@3", // D5 Dsus4 D
})).s("gm_acoustic_guitar_steel").gain(0.31).pan(0.7)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_3 = note(`<
  A@2 B C ~ D E ~@2 F G H ~@2 I J K F G H ~@2 I J ~ F G H ~ L M ~@2 F G H ~@2 I J K F G H ~@2 I J ~@9 N ~@7 F G H ~@2 I
  J K F G H ~@2 I J ~ O P Q R S T U V F W H ~ L M ~@2 F G H ~@2 I J K F G H ~@7
>`.pickRestart({
  A: "[~@15 g2@5 b3 ~@5 g3@4 ~@2]/2", B: "~@4 b3 ~@11", C: "d3@6 ~@5 a3@4 ~, f#4@3 ~@13", D: "~@11 a3@4 ~",
  E: "~@4 c#4 ~@6 a3 ~@4", F: "b2@4 ~@2 b2@6 ~ d3@2 ~", G: "~@5 g2@4 ~@2 g2 b2 ~@3, d3@13 ~@3", H: "d3 ~@3",
  I: "~@12 a2 ~@3", J: "d3@5 ~@11", K: "~@11 d3@3 ~@2", L: "~@6 b3@9 ~, ~@5 g#3@9 ~@2", M: "g#3@5 ~ g#3@9 ~",
  N: "g2@5 ~@11", O: "~@4 d4 ~@5 d4 ~@3 [b3,d4] ~, ~@3 d4@2 ~@11", P: "d4@2 ~ d4 b3 ~@9 [b3,d4] ~",
  Q: "f#4@2 ~@10 f#4 ~ [d4,f#4] ~", R: "~@4 f#4 ~@3 [a3,f#4] ~@5 a3 ~, ~@3 a3@2 ~@11",
  S: "e4@2 ~ a3 [a3,c#4] ~@5 a3 ~ a3 ~ [a3,c#4] ~", T: "~@3 c#4 ~@10 [a3,c#4] ~", U: "~@14 [a3,f#4] ~",
  V: "~@4 a3 ~@11", W: "~@6 g2@4 ~@2 [g2,b2] ~@3, d3@13 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.13).pan(0.7)

// bass · electric bass finger
const bass_2 = note(`<
  ~ A B C D E F C G A B C D E F C H A B I J E F C G K L M N O P Q R S T U V W X Y Z S T AA V W X Y AB AC AD AE ~ AF AG
  AH ~ AC AD AE ~ AF AI AH ~ S T U V W X Y Z S T U V W X Y AB AJ@2 AK AL AM@2 AK AN K L M N O P Q R S T U V W X Y AO S T
  U V W AP AQ@3 AR
>`.pickRestart({
  A: "g1@2 ~ g1@3 ~@2", B: "g1@4 ~@2 g1@9 ~", C: "d2@2 ~ d2@4 ~", D: "d2@4 ~@2 d2@9 ~", E: "a1@2 ~ a1@4 ~",
  F: "a1@4 ~@2 a1@9 ~", G: "d2 ~@7", H: "d2 ~ c2 ~ b1 ~ a1 ~", I: "d2@4 ~@2 d2@8 c3 c#3", J: "d3",
  K: "g2@6 b2 ~@3 d3 ~ e3@2 d3 ~", L: "g2@6 b2 ~@3 d3@2 e3@2 d3 ~", M: "d2@6 f#2 ~@3 a2 ~ b2@2 a2 ~",
  N: "d2@6 f#2 ~@3 a2 ~ b2@2 a2@2", O: "e2@3 g#2 ~ b2 c#3 b2", P: "e2@6 g#2 ~@3 b2@2 c#3@2 b2 ~",
  Q: "a1@2 c#2@2 a1 c2@2 b1", R: "a1 ~@15", S: "g1@5 ~ g1 ~ b1@4 d2@4", T: "g2@2 ~ g2 d2@2 b1 ~",
  U: "d2@5 ~ d2@2 f#2@4 a2@4", V: "d3@4 ~@2 d3@2 a2@3 ~ f#2@4", W: "a1@5 ~ a1@2 c#2@3 ~ e2@4",
  X: "a2@2 ~ a2 e2@2 c#2@2", Y: "d2@4 ~@2 d2@2 f#2@3 ~ a2@3 ~", Z: "d3@3 ~ c3@3 ~ b2@3 ~ a2@3 ~",
  AA: "d2@2 ~ d2 f#2@2 a2@2", AB: "d3 ~@7", AC: "g1 g2 ~@6", AD: "~@4 b1@2 b2 ~ c2@2 c3@2 c#2@2 c#3@2",
  AE: "d2 ~ d3 ~@13", AF: "a1@2 a2 ~@13", AG: "~@4 f#2@2 f#3@2 f2 ~ f3@2 c#2@2 c#3 ~", AH: "d2 d3 ~@6",
  AI: "~@4 f#2@2 f#3@2 f2@2 f3@2 c#2@2 c#3 ~", AJ: "g1@4 ~@2 g1 ~ g1@6 ~@2", AK: "d2@4 ~@2 d2 ~ d2@6 ~@2",
  AL: "d2@4 ~@2 d2 ~ d2@7 ~", AM: "a1@4 ~@2 a1 ~ a1@7 ~", AN: "d2 c2 b1 a1",
  AO: "d3 ~ d3 ~ c3 ~ c3 ~ b2 ~ b2 ~ a2 ~ a2 ~", AP: "g1 ~@7", AQ: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  AR: "d2 ~@15",
})).s("gm_electric_bass_finger").gain(0.68)

// chords · distortion guitar
const distortion_guitar = note("<~@80 A@7 B ~@27>".pickRestart({
  A: "[~@2 [e4,g4]@4 [d4,f#4] [b3,d4]@13 [d4,a4]@2 [f4,a#4] [f#4,a4]@11 [a3,f#4] ~ [d4,a4] ~ c5 c#5@10 [a3,a5] [b3,g5] [c#4,f#5] [d4,e5] [e4,d5] [f#4,b4] [g4,a#4], ~@38 e4@11 ~@7]/7", // Em D Bm D5 A#5 F#m D D5 …
  B: "[f#4,a4]", // F#m
})).s("gm_distortion_guitar").gain(0.54).pan(0.6)

// other · electric guitar muted
const electric_guitar_muted = note(`<
  ~ A@2 B@2 C D E F ~@17 G ~ H ~ I J K ~@16 L M N O@2 M N O@2 M N O@2 M N P ~@16 A@2 B@2 C D E Q ~ G ~ H ~ R J K ~@18
>`.pickRestart({
  A: "[~@5 g5 d5 a4@5 ~@4]/2", B: "[~@6 [f#4,a4]@2 [a4,d5]@2 [f#4,a4]@2 f#4@2 d4@9 ~@9]/2",
  C: "~@10 b4@2 [b4,d5] ~ [b4,d5] ~", D: "[b4,d5]@2 [a4,c#5] ~ [a4,c#5] ~ [a4,c#5]@9 ~",
  E: "~@4 a4@4 g4@2 ~@2 d4@2 [g4,b4] ~", F: "[f#4,a4] ~@15", G: "~@2 g5@2 d5@2 a4@7 ~@3", H: "~ d5 a4 e4@3 ~@2",
  I: "~@2 e5 ~ g#5 ~@3 f#5 ~@3 f5 ~ e4@2", J: "c#5 e4 c5 e4 b4 e4 a4 e4", K: "g4 ~@7",
  L: "[g1,d2] d2 [g1,d2] d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~ d2", M: "d2 ~ d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~ d2!2",
  N: "~ d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~", O: "d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~ d2!2 ~ d2", P: "d2!2 ~@14",
  Q: "[f#4,a4]@3 ~@13", R: "~@2 e5 ~ g#5 ~@3 f#5 ~@3 f5 ~ e4 ~",
})).s("gm_electric_guitar_muted").gain(0.42).pan(0.4)

// other · electric guitar muted · soft notes
const electric_guitar_muted_2 = note("<~@49 A B C D E B C D E B C D E B C ~@51>".pickRestart({
  A: "~@8 d2 ~@7", B: "~@4 d2 ~@5 d2 ~@5", C: "d2 ~@5 d2 ~@5 d2 ~@3", D: "~@2 d2 ~@5 d2 ~@5 d2 ~",
  E: "~@2 d2 ~@5 d2 ~@7",
})).s("gm_electric_guitar_muted").gain(0.21).pan(0.4)

// other · synth drum
const synth_drum = note(`<
  ~ A@7 ~ A@15 ~ A@7 ~ A B A@3 B A C A B A@3 B A D@2 E F D@3 E F G H I G@3 E J A B A@3 B A K A B A@3 B A ~ D E F D@3 E F
  D E F D@3 E L A B A@3 B A@3 B A@3 ~ A@3 M
>`.pickRestart({
  A: "~@4 g2 ~@7 g2 ~@3", B: "~@4 g2 ~@11", C: "~@4 g2 ~@3 g2 ~ g2 ~ g2 ~ g2!2", D: "f3!5 ~ f3!5 ~ f3 ~ f3 ~",
  E: "f3!4 ~ f3!5 ~ f3!5", F: "~ f3!3 ~ f3!5 ~ f3!5", G: "f3!5 ~ [g2,f3] f3!4 ~ f3 ~ f3 ~",
  H: "f3!4 ~ f3 [g2,f3] f3!3 ~ f3!5", I: "~ f3!3 ~ f3 [g2,f3] f3!3 ~ f3!5", J: "f3 ~ g2!14",
  K: "~@4 g2 ~@5 g2 ~ g2 ~ g2!2", L: "f3 ~@15", M: "g2 ~@15",
})).s("gm_synth_drum").gain(0.39)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@33 A B C D E@2 F G A B C D E@2 F H ~@16 A B C D E@2 F G A B C D E@2 F H ~@16 A B C D E@2 F G A B C D I J ~@4
>`.pickRestart({
  A: "~@7 g4@9, ~@4 g3@9 ~@3, ~@5 b3@9 ~@2, ~@3 d4@5",
  B: "~@2 [b3,d4,g4] ~ [b3,d4,g4] ~ [b3,g4] ~ [b3,d4,g4]@3 ~ [d4,g4]@3 ~, ~@12 b3 ~@3", // G Em G G5
  C: "[a3,d4,f#4]@5 ~ [a3,g4]@3 ~ g4 ~ [a3,d4,g4]@3 ~, ~@3 d4@2 ~@3", D: "[a3,d4,f#4]@5 ~ [a3,d4,g4]@4 [a3,d4,f#4]@6",
  E: "[~@3 e4@11 ~ [c#4,e4,a4]@6 ~ [c#4,e4,a4]@6 ~@4, ~ e3@13 ~@18, ~ a3@11 ~@2 a3@7 ~@11, ~@2 c#4@11 ~@19]/2", // A
  F: "[a3,d4,f#4]@4 ~@4 f#4@3 ~ g4@3 ~, ~ d3@3, ~@6 a3@9 ~", G: "[a3,d4,f#4]@8 ~@2 a3@2 [a3,d4,f#4]@3 ~, ~@8 d3@7 ~",
  H: "[a3,d4,f#4]@3 ~@13", I: "~@3 e4@11 ~@2, ~ e3@13 ~@2, ~ a3@11 ~@4, ~@2 c#4@11 ~@3", J: "[g2,d3,g3] ~@7",
})).s("gm_electric_guitar_clean").gain(0.49).pan(0.4)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@34 A B ~ C ~ D E ~ A B ~ C ~ D ~@18 A B ~ C ~ D E ~ A B ~ C ~ D ~@18 A B ~ C ~ D E ~ A B ~ C ~@5
>`.pickRestart({
  A: "~@6 d4 ~@9", B: "~@10 a3 ~@5", C: "a2@13 ~@3", D: "~@6 d4@9 ~", E: "~@5 d4 ~@2",
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.4)

// drums · china
const china = s("cr").struct("<~@96 [~@3 x ~@4] ~@18>").gain(0.61)

// drums · ride bell
const ride_bell = s("rd").struct("<~@96 [~@3 x] [~@2 x!2 ~@2 x ~]!13 ~ [~@2 x!2 ~@2 x ~]!3 ~>").gain(0.49)

// drums · vibraslap
const vibraslap = s("vibraslap:0").struct("<~@48 A@2 B@2 A@3 B@2 C@6 A ~@17 D@14 ~@20>".pickRestart({
  A: "~@3 x ~@4", B: "~ x ~@6", C: "~@5 x ~@2", D: "~@7 x",
})).gain(5.03)
// … 32 more lines

More by Rossi Vasco