Strudelify

Generale

Rossi Vasco

KeyG majorTempo61 bpm
0:00/0:00
// Generale — Rossi Vasco
// 61 bpm, 2/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 134 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 27.
setcpm(61/2)

// 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 · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@36 A@2 B@2 A@2 B C ~ D@4 E@2 F G H@2 D@2 I@2 D@2 E@2 D@2 E@2 F I@2 D@4 E@2 F G H@2 D@2 I@2 D@2 E@2 D@2 E@2 F I@2 D@2
  J@4 K@5 L@6 ~@2 E@2 D@2 E@2 F@2 E@2 D@2 E@2 F I@2 ~@3
>`.pickRestart({
  A: "[e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]!2", // C
  B: "[d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]!2", // G
  C: "[f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]@2 [f#3,a3,d4,f#4]!2", // D
  D: "[[g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4] [g3,b3,d4]@2 [g3,b3,d4] [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]!2]/2", // G
  E: "[[g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4] [g3,c4,e4]@2 [g3,c4,e4] [g3,c4,e4]@2 [g3,c4,e4]@2 [g3,c4,e4]!2]/2", // C
  F: "[g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]!2", G: "[g3,b3,e4]@2 [g3,b3,e4]@2 [g3,b3,e4]@2 [g3,b3,e4]!2",
  H: "[[a3,c4,e4]@2 [a3,c4,e4]@2 [a3,c4,e4]@2 [a3,c4,e4] [a3,c4,e4]@2 [a3,c4,e4] [a3,c4,e4]@2 [a3,c4,e4]@2 [a3,c4,e4]!2]/2", // Am
  I: "[[f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4] [f#3,a3,d4]@2 [f#3,a3,d4] [f#3,a3,d4]@2 [f#3,a3,d4]@2 [f#3,a3,d4]!2]/2", // D
  J: "[[g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@2 [g3,b3,d4] ~ [d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@4 ~ g2, ~@31 g2@4 ~@27 [g2,d3,g3,b3,d4,g4]@2]/4", // G
  K: "[[d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4] [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4] [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4] [g2,d3,g3,b3,d4,g4]@2 ~ [e3,g3,d4,e4,g4]@4 [c3,e3,g3,d4,e4,g4]@2 [c3,e3,g3,d4,e4,g4] [c3,e3,g3,c4,e4,g4]@2 [c3,e3,g3,d4,e4,g4] [c3,e3,g3,d4,e4,g4]@2 [c3,e3,g3,d4,e4,g4] [c3,e3,g3,d4,e4,g4]@2 ~ [d3,g3,b3,d4,g4]@3 [g2,d3,g3,b3,d4,g4] [f#2,d3,f#3,b3,d4,f#4]@2 [f#2,d3,f#3,b3,d4,f#4]!2, ~@30 [g2,d3,g3,b3,d4,g4]@2 ~@31 g2@6 ~@11, ~@31 c3@8 ~@23 [c3,e3,g3,d4,e4,g4]@2 ~@16]/5", // G Em7 C G Bm G C
  L: "[[e2,e3,g3,b3,d4,g4]@6 [e2,e3,g3,b3,d4,g4]@4 [e2,e3,g3,b3,d4,g4]@2 [e2,e3,g3,b3,d4,g4]@2 ~@2 [e3,a3,c4,d4,g4]@4 [a2,e3,a3,c4,d4,g4]@4 [a2,e3,a3,c4,d4,g4]@4 [a2,e3,a3,c4,d4,g4]@2 [a2,e3,a3,c4,d4,g4]@4 [a2,e3,a3,c4,d4,g4]@2 [a2,e3,a3,c4,d4,g4]@4 [a2,e3,a3,c4,d4,g4]@2 [a2,e3,a3,c4,d4,g4]@4 ~@2 [d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@2 ~@2 [f#3,a3,d4,f#4,a4]@29 ~@3, ~@14 [e2,e3,g3,b3,d4,g4]@2 ~@31 g2@4 ~@11 [g2,d3,g3,b3,d4,g4]@2 ~@32, ~@15 a2@4 ~@27 [a2,e3,a3,c4,d4,g4]@2 ~@15 d3@29 ~@4]/6", // Em7 Am7 G D Em7 G Am7
})).s("gm_acoustic_guitar_steel").gain(0.3).pan(0.2)

// bass · electric bass finger
const bass = note(`<
  ~@4 A@4 B C D E F G H@2 I@4 A@2 J@2 K@2 L M B N O P Q@2 R@2 S T A@2 S U V H@2 W X W Y Z AA AB AC AD AE W AF AG AH AI
  AJ AK AL AM AN AK AO AP AQ AR AS AT AS AT Z AA AU AC AV AW W AX AY AZ BA AJ AK BB AM AN AK AO BC BD AH ~@4 A@4 BE@2 AU
  BF BG@2 BH BI@2 BH BJ AK BB AM AN AK AO BK BL AK BB AM AN AK AO BC BD AH BM BN BO
>`.pickRestart({
  A: "g1/2", B: "a1", C: "d1 d2", D: "g1 f1", E: "d#1 d1", F: "d#1@6 d1 d#1", G: "f1", H: "d2/2", I: "d1/4",
  J: "[g1@24 b1@7 ~]/2", K: "[c2@31 ~]/2", L: "g1@3 g1@3 f#1@2", M: "e1@3 e1", N: "a1@15 ~", O: "g2", P: "g2@3 g2 g2@4",
  Q: "[d2@31 ~]/2", R: "[g1@3 g1@2 g1 b1@2]/2", S: "c2@7 c2", T: "c2!2", U: "c2@4 c2@4 c2@7 ~", V: "g1@3 g1",
  W: "g1@7 d1", X: "g1@15 ~", Y: "g1 g1@3", Z: "c2@7 g1", AA: "c2@15 ~", AB: "g1@3 f#1", AC: "e1@3 b1", AD: "a1@7 e1",
  AE: "a1 a1@3", AF: "g1@3 a1", AG: "d1@7 d2", AH: "d2", AI: "g1@3 g1 g1@4", AJ: "g1@2 a1 b1", AK: "c2@13 ~ c2 ~",
  AL: "c2 ~ c2@4 c2@2", AM: "g1@12 ~@2 g1 ~", AN: "g1!3 d1", AO: "c2 ~ c2@2 c2@4", AP: "g1@6 f#1 e1",
  AQ: "d1@13 ~ d1 ~", AR: "d1", AS: "g1@14 g1 ~", AT: "g1 g2", AU: "g1 f#1", AV: "a1@7 a1", AW: "a1!2", AX: "g1!2",
  AY: "d2@7 d2", AZ: "d2@2 d2 f#1", BA: "g1 f2", BB: "c2 ~ d2@5 g1", BC: "g1@6 b1 c2", BD: "d2@5 c2@2 d2", BE: "c2/2",
  BF: "e1", BG: "a1/2", BH: "g1", BI: "d1/2", BJ: "g1!2 g2 d2", BK: "g1@13 ~ g1@2", BL: "g1@2 c2 b1",
  BM: "e1@3 e1 f#1@3 f#1", BN: "g1@3 g1 b1@2 b1@2", BO: "a1!5 ~@3",
})).s("gm_electric_bass_finger").gain(0.7)

// other · soprano sax
const soprano_sax = note("<~@6 A B C D E F G H ~@120>".pickRestart({
  A: "g3", B: "a#3 d4 g4 a#4 d5 g5 a#5 c6", C: "a5@10 ~ a5 g5@4", D: "f#5@8 ~@4 g5@2 a5 ~", E: "a#5 a5", F: "g5 f5",
  G: "a#4@6 a5 a#5", H: "a5@7 ~",
})).s("gm_soprano_sax").gain(0.41)

// chords · piano
const piano = note(`<
  A@2 B@2 C@4 D E F G H I J@4 K@2 L@2 M@2 N@2 O P Q@2 R@2 S T U@2 V@2 W@2 X@2 Y Z AA L@2 M@2 N@2 O AB AC@2 AD@2 S T U@2
  V@2 W@2 AE@2 AF AG AH L@2 M@2 AI@2 AJ AB AC@2 R@2 S T U@2 V@2 W@2 AE@2 Y Z AA AK@4 ~@13 AL AM V@2 W@2 AE@2 Y AN V@2
  W@2 AE@2 Y Z AA ~@3
>`.pickRestart({
  A: "[g3 ~@2 g3 f3 ~@2 f3, [g1,g2], [a#3,d4,f4]!2 [a3,c4,f4]!2, ~ g3@2 ~@2 f3@2 ~]/2", // G A# F
  B: "[g3 ~@2 g3 g3 ~@2 g3, [g1,g2], [a#3,d4,f4]!2 [a#3,d4,f4]!2, ~ g3@2 ~@2 g3@2 ~]/2", // G A#
  C: "[g3 ~@2 g3 f3 ~@2 f3 g3 ~@2 g3 g3 ~@2 g3, [g1,g2], [a#3,d4,f4]!2 [a3,c4,f4]!2 [a#3,d4,f4]!2 [a#3,d4,f4]!2, ~ g3@2 ~@2 f3@2 ~@2 g3@2 ~@2 g3@2 ~]/4", // G A# F A#
  D: "[a3,c4,d#4,g4]!2, a1", E: "[a3,d4,f#4]!2, d2", F: "[g2,a#3,d4,g4] [f2,a3,c4,f4]",
  G: "[d#2,g3,a#3,d#4] [d2,f3,a3,d4]", H: "[g3,a#3,d#4]!2, d#2", I: "[a3,c4,f4]!2, f2",
  J: "[a3!4 a3!4 a3!4 a3!4, f#3@63 ~, d2 d1, [d4,f#4]@8 [d4,f#4]@8 [d4,f#4]@8 [d4,f#4]@8 [d4,f#4]@8 [d4,f#4]@8 [d4,f#4]@7 ~ [d4,f#4]@7 ~]/4", // D
  K: "[a3!4 [a3,d4,f#4]@4, d1, [d4,f#4]!2 ~@2]/2", L: "[g3 d3 g3 d3 g3 d3 g3 d3, g2, [b3,d4]!2 [b3,d4]!2]/2",
  M: "[g3 d3 g3 d3 g3 d3 ~ f3, g2@23 ~ [b2,g3,d4,f4]@8, [b3,d4]!2 [b3,d4] ~]/2", // G7 Bm
  N: "[g3@4 g3@4 g3@4 g3@3 ~ [g3,c4,e4]@4 ~@2 [c3,c4,e4]@2 g3@4 g3@4, c2@31 ~, [c4,e4]@2 [c4,d4]@2 ~ g3 [c3,c4,e4]@2]/2", // C Csus2 C
  O: "[g2,g3,b3,d4,g4]@3 g2 [g2,g3,b3,d4,g4]@2 [f#2,f#3,a3,d4,f#4]@2", // G D
  P: "g3 e3 g3 [e2,e3], e2@11 ~@5, [b3,e4]@8 [b3,e4]@7 ~", // E E5
  Q: "[a3 e3 a3 e3 a3 e3 a3 [a2,e3], a2@27 ~@5, [c4,e4]!2 [b3,e4] [c4,e4]]/2", // A5 C E5 C
  R: "[g3@2 d3@2 g3@2 d3@2 g3@2 d3!2 g3@2 [g2,d3]@2, g2@13 ~@3, [a3,b3,d4]@8 [a3,b3,d4]@8 [b3,d4]@8 [b3,d4]@7 ~]/2", // G5 Bm7 Bm
  S: "~ d3 ~ d3, d2@15 ~, [f#3,a3,d4]!2", T: "~ d3 a3 [d2,d3], d2@11 ~@5, [f#3,a3,d4,f#4] [f#3,d4,f#4]",
  U: "[~ d3 ~ d3 ~ d3 ~ f3, g2@23 ~ [b2,g3,b3,d4,f4]@8, [g3,b3] [g3,b3,d4] [g3,b3,d4,g4] ~]/2", // G7 G
  V: "[g3!4 g3!4, c2@31 ~, [c4,e4]!2 [c4,d4,e4]!2]/2", // C
  W: "[g3 g4 g3!2 g3!3 [g2,g3], g2@27 ~@5, [b3,d4,b4]!2 [b3,d4,b4]!2]/2", // G Bm
  X: "[g3!4 g3!4, c2, [c4,d4,e4]!2 [c4,e4]!2]/2", Y: "d4!3 [g2,d4], g2@11 ~@5, [g3,b3,g4]!2",
  Z: "~ d3 ~ d3, d2, [f#3,a3,d4,f#4] [f#3,a3,d4,g4]", AA: "~ d3 ~@2, [d2,f#3,a3,d4,a4]",
  AB: "g3 e3 g3 [e2,e3], e2@11 ~@5, [b3,e4]!2", AC: "[a3 e3 a3 e3 a3 e3 a3 [a2,e3], a2@27 ~@5, [c4,e4]!2 [c4,e4]!2]/2",
  AD: "[g3@2 d3@2 g3@2 d3@2 g3@2 d3!2 g3@2 [g2,d3]@2, g2@13 ~@3, [a3,b3,d4]!2 [a3,b3,d4]!2]/2", // G5 Bm7
  AE: "[g3!4 g3!4, c2, [c4,d4,e4]!2 [c4,d4,e4]!2]/2", AF: "d4!3 [g2,d4], g2@11 ~@5, [b3,g4]!2",
  AG: "~ d3 ~ d3, d2, [a3,d4,f#4] [a3,d4,g4]", AH: "~ d3 ~@2, [d2,a3,d4,a4]",
  AI: "[g3@4 g3@3 ~ g3@4 g3@3 ~ [g3,c4,e4]@4 g3@2 [c3,c4,e4]@2 g3@4 g3@4, c2@31 ~, [c4,e4] [c4,d4] ~ [c3,c4,e4]]/2", // C Csus2 C
  AJ: "[g2,g3,b3,d4,g4] [f#2,f#3,a3,d4,f#4]", // G D
  AK: "[g3 d3 g3 d3 g3 d3 g3 ~ g3 d3 g3 d3 g3 d3 g3 d3, g2@7 d3 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2, [b3,d4]@4 [b3,d4]@4 [b3,d4]@4 [b3,d4]@3 g2@17]/4", // Bm
  AL: "[g2,g3]@7 ~ [g2,g3]@7 ~, [g1,d3]@15 ~", // G G5
  AM: "[g1,g2,g3] ~ [g1,g2,g3] ~ [g1,g2,d3,g3] ~ [g1,g2,d3,g3] ~ [g1,g2,d3,g3] ~ [g1,g2,d3,g3] ~ [g1,g2,d3,g3] ~ [g1,g2,d3,g3] ~, d3 ~@7", // G G5
  AN: "d4@4 d4@4 [g3,b3,d4]@4 d4@3 ~, g2@15 ~, [g3,b3] ~", // G
})).s("gm_piano").gain(0.33)

// chords · rock organ
const rock_organ = note("<~@70 A@4 B@2 C D@3 E@6 ~@48>".pickRestart({
  A: "[~@6 g6@3 ~@5 g6@3 ~@29 g6@17 ~, [d5,g5]]/4", B: "[[f6,g6] ~@15 d5@15 ~, g5, e5 ~]/2", C: "[g5,g6] [f#5,a6], d5",
  D: "[[e5,g5,b6]@15 ~ [e5,a5]@32, ~@5 g6@11]/3", E: "[g5@31 ~ f#6@32 [g5,g6]@32, d5, ~@31 a5@32 ~@33]/6",
})).s("gm_rock_organ").gain(0.15).pan(0.7)

// chords · rock organ · soft notes
const rock_organ_soft = note("<~@70 [~@10 g6 ~@5] [~@6 g6@3 ~ g6 ~ g6@3 ~] [~@4 g6@3 ~@3 g6 ~@5] ~@61>")
  .s("gm_rock_organ").gain(0.08).pan(0.7)

// chords · electric guitar clean
const electric_guitar_clean = note("<~@96 [b2 ~@3] ~ [b2 ~@3] ~@35>").s("gm_electric_guitar_clean").gain(0.25).pan(0.7)

// chords · electric guitar clean
const electric_guitar_clean_2 = note(`<
  ~@8 A B C D E F G@5 ~@17 H@2 I@2 J@2 K L M ~@16 N@2 O@2 J P Q R S ~@16 N@2 O@2 J P Q R T U@4 V@4 W@2 X Y Z@2 AA AB@2
  ~@2 N@2 O@2 J P Q AC N@2 O@2 J P Q R T AD AE AF
>`.pickRestart({
  A: "~@8 a3@7 ~, ~@4 g3@11 ~", B: "[a3,d4,f#4]@3 ~", C: "[d4,g4,a#4]@7 ~ [c4,f4,a4]@6 ~@2",
  D: "[a#3,d#4,g4]@3 ~ [a3,d4,f4]@3 ~", E: "[a#3,d#4]@15 ~", F: "[a3,f4]@15 ~", G: "[[a3,f#4]@37 ~@3]/5",
  H: "[e4@10 [e4,g4] e4 d4@16 g3@2 a3@2, ~@11 g4@17 ~@4]/2", I: "b3/2", J: "e4 d4", K: "g4@9 ~ g4@6, d4",
  L: "f#4@4 g4@2 ~ g4, ~@3 d4", M: "[a3,d4,f#4]", N: "[~@10 [d4,g4]@2 d4@13 ~@7, ~@9 g3@16 ~@7]/2",
  O: "[~@5 [d4,g4] d4@2 g4@4 ~@4, ~@9 g3@16 ~@7]/2", P: "e4@8 d4@7 ~", Q: "g4@9 ~ g4@6", R: "f#4@4 g4@2 d4 g4",
  S: "[d4,f#4]", T: "[f#3,a3,d4]@7 ~ [f#3,a3,d4]@6 ~@2",
  U: "[[g3,b3,d4,g4]@4 [g3,b3,d4,g4]@3 [g3,b3,d4,g4]@2 [g3,b3,d4,g4] [g3,b3,d4,g4]@2 [g3,b3,d4,g4] [g3,b3,d4,g4]@2 [g3,b3,d4,g4]]/2", // G
  V: "[[d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4] [d3,g3,b3,d4]@2 [d3,g3,b3,d4] [d3,g3,b3,d4]@2 [d3,g3,b3,d4] [d3,g3,b3,d4]@2 [d3,g3,b3,d4]]/2", // G
  W: "[[e3,g3,d4,e4]@4 [e3,g3,d4,e4]@2 [e3,g3,d4,e4] [e3,g3,c4,e4]@2 [e3,g3,d4,e4] [e3,g3,d4,e4]@2 [e3,g3,d4,e4] [e3,g3,d4,e4]@2 [e3,g3,d4,e4]]/2", // Em7 C Em7
  X: "[d3,g3,b3,d4]@3 [d3,g3,b3,d4] [d3,f#3,b3,d4]@2 [d3,f#3,b3,d4]!2", // G Bm
  Y: "[e3,g3,b3,d4]@3 [e3,g3,b3,d4]@2 [e3,g3,b3,d4]!3", // Em7
  Z: "[[e3,a3,c4,d4]@2 [e3,a3,c4,d4]@2 [e3,a3,c4,d4]@2 [e3,a3,c4,d4] [e3,a3,c4,d4]@2 [e3,a3,c4,d4] [e3,a3,c4,d4]@2 [e3,a3,c4,d4] [e3,a3,c4,d4]@2 [e3,a3,c4,d4]]/2", // Am
  AA: "[g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]@2 [g3,b3,d4]!2", AB: "[[f#3,a3,d4,f#4]@29 ~@3]/2", AC: "g4@15 ~",
  AD: "[e3,g3,b3] [f#3,a3,c#4]", AE: "[g3,b3,d4]@7 ~ [f#3,b3,d4]@7 ~", AF: "[e3,a3,c#4]!5 ~@3",
})).s("gm_electric_guitar_clean").gain(0.19).pan(0.7)

// chords · synth strings 1
const synth_strings_1 = note(`<
  ~@4 A@2 B@2 C D E F G H I@6 J@4 K@2 L M N@2 O@2 P@2 O@2 Q@7 R@2 J@4 K@2 S M N@2 O@2 P@2 O@2 T@4 U@3 V@2 W@4 X@3 Y@3
  Z@2 AA@2 Z@2 AB@4 AC@2 AD V@2 AE@4 J@4 K@2 AF AG N@2 AH P@2 AI@2 AJ@4 AC@2 AK@2 AJ@4 AC@2 AD V@2 AL AM AN
>`.pickRestart({
  A: "[g2,a#3]/2", B: "[d4,g4]/2", C: "[d#4,g4]", D: "[d4,f#4]", E: "[d4,g4] [c4,f4]", F: "[a#3,d#4] [a3,d4]",
  G: "[g3,d#4]", H: "[a3,f4]", I: "[d3@95 ~, d2 ~, f#4@11 ~@21]/6", J: "[g3,b3,d4]/4", K: "[g3,c4,e4]/2",
  L: "[g3,b3,d4]@3 [f#3,a3,d4]", M: "[e3,g3,b3]", N: "[a3,c4,e4]/2", O: "[g3,b3,d4]/2", P: "[f#3,a3,d4]/2",
  Q: "[e4@2 ~@2 b3@4 e4 d4 e4 d4 b3@2, [g3,g4], c4@2 ~@2 c4@2 ~, ~ d4@3 ~@3]/7", R: "[f#4 g4 a4@2, [f#3,a3]]/2",
  S: "[g3,b3]@3 [f#3,a3], d4@15 ~", T: "[c4 b3, g3@63 ~]/4", U: "[c4@2 b3, g3]/3", V: "[f#3,a3]/2", W: "[g3,d4]/4",
  X: "[e4@4 ~ [f#3,a3], g3@5 ~, ~@2 d4]/3", Y: "[g3 a3@2, e4]/3", Z: "[g3,d4]/2", AA: "[f#3,d4]/2",
  AB: "[e4 d4 b3@2, g3]/4", AC: "[g3,c4]/2", AD: "[g3,b3]", AE: "[d3,g3]/4", AF: "[g3,b3,d4] [f#3,a3,d4]",
  AG: "[g3,b3,e4]", AH: "[g3,b3,d4]", AI: "[g2,g3]/2", AJ: "[c4 b3, g3]/4", AK: "[g3,b3]/2", AL: "e3 f#3", AM: "g3 b3",
  AN: "a3@5 ~@3",
})).s("gm_synth_strings_1").gain(0.37)

// other · distortion guitar
const distortion_guitar = note(`<
  ~@9 A B C D E F@7 ~@14 G H@2 I G J K@2 L@2 ~@15 M H@2 I M J K@2 N@2 ~@15 M O@2 I M J P Q@3 ~@18 R S@2 I M T@2 U@2 V
  W@3 X Y Z AA AB ~@3
>`.pickRestart({
  A: "~@6 d3 f3", B: "g3@7 ~ f3@8", C: "d#3 d3", D: "d#3", E: "f3", F: "[f#3@97 ~@15]/7", G: "~@3 g4 b4@3 ~ b4@8",
  H: "[e4@19 ~ b4@4 c5@4 b4@4]/2", I: "d4", J: "e4 f#4", K: "[g4@8 a4@7 b4@14 ~ a4 g4]/2", L: "a4/2",
  M: "~@3 g4 b4@3 ~ b4@8, ~@4 a4 ~@11", N: "[a4@6 g4!2 f#4@2 d4@2 a3@20]/2", O: "[e4@5 g4@5 b4@2 c5@2 b4@2]/2",
  P: "g4 a4 g4 [b4,c5] d5 e5 f#5@7 f#5 e5 f#5", Q: "[g5@2 a5@7 g5 f#5 d5 a4@9 ~ a4 g4 f#4@2 d4@22]/3",
  R: "~@2 b4@2 c5@2 a4 g4", S: "[a4@2 b4@2 g4@15 ~ b4@4 c5@4 b4@4]/2",
  T: "[a4@6 b4 c5 d5 [e5,f#5] g5@9 g5 [f#5,g5] f#5 e5 d5 d5@8]/2", // Esus2 Gmaj7
  U: "[~ g4 ~@2 a4@5 a4@2 ~ f#4 g4@5 ~ g4 b4@3 ~ b4@8, a4@2 ~@18 a4 ~@11]/2", V: "e5@7 ~ d5@6 b4 a4",
  W: "[b4@7 g4 a4@6 ~ a4@8 g4@16 ~ a4@4 g4@4, ~@7 g4 ~@16]/3", X: "e5@8 d5@7 ~", Y: "d5@2 b4 c5 b4 a4 g4 a4",
  Z: "b4@13 ~ a4 g4", AA: "a4@2 a4@2 [g4,a4] ~ f#4@2 g4@2 ~ g3 g3@2 f#3@2, ~@5 a4 ~@2", AB: "d3",
})).s("gm_distortion_guitar").gain(0.5)

// other · distortion guitar · soft notes
const distortion_guitar_soft = note(`<
  ~@35 A ~@3 A ~@20 B ~@3 B ~@3 C ~@16 B ~@3 B ~@27 B ~@2 D B E F ~@5 G ~@4
>`.pickRestart({
  A: "~@3 d4 a4 ~@11", B: "~@3 d4 ~@12", C: "~@6 g#4 ~@9", D: "~@3 d4@2 ~@6 g4 ~@4", E: "~@7 [b4,d5] ~@6 c5 ~",
  F: "~@6 a4 ~@9", G: "~@5 g4 ~@6 a3@2 ~@2",
})).s("gm_distortion_guitar").gain(0.31)

// other · distortion guitar
const distortion_guitar_2 = note("<~@9 A B C D E ~@54 F@2 ~@60 G ~@3>".pickRestart({
  A: "~@6 g5 a5", B: "a#5 a5", C: "g5@8 f5@7 ~", D: "a#4@6 a5 a#5", E: "a5@7 ~", F: "[~@8 c4@23 ~]/2",
  G: "~@5 [c3,g3]@3", // C5
})).s("gm_distortion_guitar").gain(0.34).pan(0.8)

// other · distortion guitar
const distortion_guitar_3 = note(`<
  ~@10 A B C D E@7 ~@40 F@2 G@2 H I J K@2 ~@16 F@2 G@2 H I L M@2 N@4 ~@15 F@2 G@2 H I O@2 F@2 G@2 H I L P Q R S T
>`.pickRestart({
  A: "g4 f4", B: "d#4 d4", C: "d#4", D: "f4", E: "[d4@97 ~@15]/7", F: "c3/2", G: "[~@5 g3@2 d3, g2]/2", H: "c3 d3",
  I: "e3 f#3", J: "g3@12 f#3 ~ e3 ~, g2", K: "d3/2", L: "[g2,g3]@6 b2 c3", M: "[d3@7 a2]/2", N: "g2/4", O: "[g2,g3]/2",
  P: "d3@5 a3 g3 f#3", Q: "d3", R: "[b2,g3] [c#3,a3]", S: "[d3,b3] [f#3,d4]", T: "[e3,c#4]!5 ~@3",
})).s("gm_distortion_guitar").gain(0.41).pan(0.3)

// chords · distortion guitar
const distortion_guitar_4 = note(`<
  ~@4 A@4 B C D E F G H@6 ~@16 I@2 J@2 K L M N ~ O@4 P@2 Q R S@2 O@2 T@2 U@2 V@2 W@2 X@2 Y@3 ~@16 V@2 W@2 X@2 Y@3 ~@17
  Z@2 V@2 W@2 X@2 AA@2 V@2 W@2 X@2 Y@3 AB AC AD
>`.pickRestart({
  A: "[g2,d3,g3]/4", B: "[a2,a3]", C: "[c2,c3]@6 [f2,d3] [g2,f3]", D: "[g2,g3] [f2,f3]", E: "[d#2,d#3] [d2,d3]",
  F: "[d#2,d#3]", G: "[f2,f3]", H: "[[d2,a2,d3]@95 ~]/6", I: "e3/2", J: "d3/2", K: "e3 d3", L: "e3", M: "d3@15 ~",
  N: "d3 ~@15", O: "[g2,d3,g3]/2", P: "[c3,g3,c4]/2", Q: "[g2,g3]@3 [f#2,f#3], d3",
  R: "[e2,e3]@12 [e2,e3] [f2,f3] [f#2,f#3] [g2,g#2,g3,g#3], b2", S: "[a2,e3,a3]/2", T: "[d3,a3,d4]/2",
  U: "[[g2,g3]@3 [f2,f3], d3]/2", V: "[g3,c4]/2", W: "[[d3,b3]@31 ~]/2", X: "[c4, g3@3 ~]/2", Y: "[~ a3@2, d4]/3",
  Z: "[g2@6 ~ g3, ~@3 g2]/2", AA: "[~ g3, d4]/2", AB: "[e2,e3] [f#2,f#3]", AC: "[g2,g3]@2 [b2,b3]!2",
  AD: "[a2,a3]@2 [a2,a3]@2 [a2,a3]@2 [a2,a3]@2 [a2,a3] [g#2,g#3,c#4] [f#2,g2,f#3,g3,b3,c4] ~@5", // A C#5 Cmaj7
})).s("gm_distortion_guitar").gain(0.36)

// chords · distortion guitar · soft notes · A#5 Emaj7 Dmaj7
const distortion_guitar_soft_2 = note("<~@133 [~@10 [f2,f3,a#3] [d#2,e2,d#3,e3,g#3,a3] [c#2,d2,c#3,d3,f#3,g3] ~@3]>")
  .s("gm_distortion_guitar").gain(0.15)

// other · string ensemble 2
const string_ensemble_2 = note(`<
  A@8 ~@53 B@2 C@2 B@2 C@2 ~@17 B@2 C@2 B@2 D@2 ~@20 B@2 C@2 B@2 E@2 B@2 C@2 B@2 D@2 ~ F G H
// … 95 more lines

More by Rossi Vasco