Strudelify

Va bene, va bene cosi

Rossi Vasco

KeyA majorTempo78 bpm
0:00/0:00
// Va bene, va bene cosi — Rossi Vasco
// 78 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 96 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(78/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 · overdriven guitar
const overdriven_guitar = note("<~@71 A B C D E F G@2 H I J K L M N@2 O P Q@2 O P R@2 ~>".pickRestart({
  A: "e2 ~ e3 ~@2 e2 ~ e3 ~@5 e3@3, ~ e2@2 ~@3 e2@2 ~@4 e2@3 ~",
  B: "a2 ~ a3 ~@2 a2 ~ a3 ~@4 a3@3 ~, ~@6 a2@2 ~@3 a2@3 ~@2", C: "[a3,d4]@14 ~ [d3,a3], d3 ~@15",
  D: "d3@12 ~ b2 ~@2, a3@5 ~@3", E: "e2@2 e3 ~@2 e2 ~ e3 ~@3 e2 ~ e3 [e3,f3] ~, ~@6 e2@2 ~@4 e2@3 ~",
  F: "a2 ~ a3 ~@2 a2 ~ a3 ~@5 a3@3, ~ a2@2 ~@3 a2@2 ~@4 a2@3 ~",
  G: "[[d3,d4]@15 d3@6 ~@8 [d3,a3,d4] ~@2, a3@12 ~@3 a3 ~@16]/2", H: "e2@2 e3 ~@2 e2 ~ e3 ~@3 e2!2 e3@3, ~@3 e2 ~@4",
  I: "a2 ~ a3 ~@2 a2 ~ a3 ~@3 a2 ~ a3@3, ~ a2@2 ~@3 a2@2 ~@4 a2@4", J: "[d3,a3,d4]@14 ~ [d3,a3]",
  K: "[d3,a3]@12 ~ [a3,d4]!2 ~", L: "e2 ~ e3 ~@2 e2 ~ e3 ~@3 e2 ~ e3!2 ~, ~ e2@2 ~@3 e2@2 ~@4 e2@3 ~",
  M: "a2 ~ a3 ~@2 a2 ~ a3 ~@3 a2 ~ a3@2 d3, ~ a2@2 ~@3 a2@2 ~@4 a2@3 ~",
  N: "[[d3,a3,d4]@13 [d3,a3] a2 d3@4 a3@3 a3@2 d3 e3 a3 ~ a3 ~ [f#3,a3] ~, ~@19 d3@5 ~@3 [a3,d4]@2 ~@3]/2", // D5 F#m D5
  O: "e2 ~ e3 ~@2 e2 ~ e3 ~@3 e2 ~ e3 [e3,f3] ~, ~ e2@2 ~@3 e2@2 ~@4 e2@4", // Fmaj7
  P: "a2 ~ a3 ~@2 a2 ~ a3 ~@3 a2 ~ a3@2 [d3,a3], ~ a2@2 ~@3 a2@2 ~@4 a2@3 ~", // D5
  Q: "[d3@13 d3!2 a3@10 d3@3 ~ a3 f3 ~, [a3,d4]@15 d3@8 ~@9]/2", R: "[d3@13 d3!2 a3@10 ~@7, [a3,d4]@15 d3@8 ~@9]/2",
})).s("gm_overdriven_guitar").gain(0.15).pan(0.6)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note("<~@71 A B C@2 D E F G ~ H I J K ~ L@2 M ~@2 N O ~@4>".pickRestart({
  A: "~@11 e2 ~@4", B: "~ a2@2 ~@13", C: "[~@14 c#3 d4@13 ~@2 g#2 f2]/2", D: "~@12 e3 ~@3", E: "~@11 a2 ~@4",
  F: "c4 ~@14 d4", G: "~@9 [a3,d4]@4 ~@3", H: "g3 ~@15", I: "~@14 a3 d4", J: "d4 ~@11 [g3,g#3] ~@3",
  K: "[d3,g3,g#3,c4,c#4] ~@5 e3@2 ~@4 e3 ~@3", L: "[~@15 a3@4 ~@7 d4 ~@2 a3 d4 ~, ~@15 d4@2 ~@15]/2",
  M: "[c3,d#3,e3] ~@10 e3 ~@4", N: "~@7 d3 ~ a#3 a3 ~ e3 f#3 [e3,f#3,g3,g#3] ~", O: "~@11 e3 ~@4",
})).s("gm_overdriven_guitar").gain(0.05).pan(0.6)

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

// bass · fretless bass · soft notes
const bass_soft = note(`<
  ~ A B C@2 A B C@2 ~@6 D ~@6 E ~@13 F ~@2 G ~@9 H ~@5 I ~@2 F J K ~@2 L ~ M ~@2 N@2 ~@7 O P Q R ~@15
>`.pickRestart({
  A: "e2@7 ~", B: "a2@7 ~", C: "[a2@15 ~]/2", D: "~@15 a2", E: "~@15 b1", F: "~@15 a1", G: "~@13 e2 ~ b1", H: "d3@15 ~",
  I: "~@10 e2 ~@5", J: "~@11 a1 ~@4", K: "~@7 d2 ~@6 a1 ~", L: "~@6 a1 ~@8 b1", M: "~@7 a1 ~@5 a1 ~@2",
  N: "[~@15 a2@16 ~]/2", O: "~@14 d2 ~", P: "~@2 c2 ~@3 d2 ~@9", Q: "~@6 b1 ~@9", R: "~@13 [a1,b1] ~@2",
})).s("gm_fretless_bass").gain(0.29)

// chords · epiano1
const epiano1 = note(`<
  ~ A B C@2 D@2 C@2 E F C@2 E G H@2 I J K@2 L M N O P Q R@2 S T U V@2 W X Y Z AA X AB@2 L AC AD@2 L AE AF@2 AG Q AH@3
  ~@41
>`.pickRestart({
  A: "[e3,b3,d4,g4,a4]", B: "[d4,g4,b4,d5]@7 ~ [g4,a4,c#5,e5]@7 ~, [a2,e3,a3]", C: "[[d3,a3,a4,c#5,f#5]@31 ~]/2",
  D: "[[e3,b3,e4,a4,d5]@16 [d4,b4,d5]@7 ~ [g4,a4,c#5,e5]@8, g4@23 ~@9, ~@16 [a2,e3,a3]@15 ~]/2", // Esus4 G A7 A5
  E: "[e3,b3,e4,g4,a4,d5]", F: "[d4,g4,b4,d5] [g4,a4,c#5,e5], [a2,e3,a3]@15 ~",
  G: "[e3,d4,g4,b4,d5] [a3,g4,a4,c#5,e5], a2@15 ~", H: "[~@24 a5 ~@4 d5@2 ~, [d3,a3,a4,f#5], c#5@26 c#5@5 ~]/2",
  I: "[e3,b3,d4,e4,g4,a4,d5]", J: "[d4,g4,b4,d5]@7 ~ [g4,a4,c#5,e5]@8, [a2,a3]",
  K: "[~@18 f#4@13 ~, d3, [a4,c#5,f#5]@15 ~]/2", L: "[d4,e4,g4,a4,d5]@15 ~", M: "[d4,g4,b4,d5]@8 [g4,a4,c#5,e5]@7 ~",
  N: "[c#5,f#5], a4 ~@7", O: "e4 d#4, [b2,f#4,a4,b4]", P: "[g4,b4,d5,f#5]@15 ~", Q: "[a4,b4,c#5,e5]@15 ~",
  R: "[[g4,a4,d5]@25 ~@4 e5@3, ~@25 b4@7, ~@13 c#5@3, ~@27 a5@5]/2", S: "f#5@7 ~ [f#5,g5,b5,d6]@8, [g4,b4,d5]@15 ~",
  T: "a5@7 ~@4 e5@4 ~, [f#4,a4,c#5]@15 ~, ~@7 c#6@9, ~@9 a5@7", U: "~@13 d4@3, b4@11 g4@5, ~ d5@7, ~@3 a5@13, ~ a4",
  V: "[~@7 g5@9, [a3,c#4,e4], ~@9 a5@23, ~@11 c#6@21, ~@3 e6@5]/2", W: "[g4,a4,d5]", X: "[g4,b4,d5]@3 [a4,c#5,e5]",
  Y: "[a4,c#5,f#5]@15 ~", Z: "~@6 d5@9 ~, [d4,f#4,a4]@15 ~", AA: "[e4,g4,a4,d5]@15 ~",
  AB: "[~@14 e5@17 ~, [a4,c#5,f#5], ~@6 b4@25 ~]/2", AC: "[d4,g4,b4,d5]@4 [g4,a4,c#5,e5]@3 ~",
  AD: "[[d4,f#4,a4,c#5]@15 ~]/2", AE: "[d4,g4,b4,d5]@7 ~ [g4,a4,c#5,e5]@7 ~",
  AF: "[~@29 d4@3, f#4@3 c#5, d4@22 c#5 e5@9, a4@21 a5@11, c#5@16 a3@11 a4@5]/2", AG: "f#5@15 ~",
  AH: "[[g4,a4,d5]@25 ~@4 e5@3 ~@16, ~@25 b4@21 ~@2, ~@13 c#5@3 ~@8, ~@27 a5@5 ~@16]/3", // Gsus2
})).s("gm_epiano1").gain(0.25).pan(0.6)

// chords · piano
const piano = note(`<
  ~@24 A@2 B C D E F G H@2 ~@16 I B C D ~@17 J K L M J K L M J K L N J K L O P K L M J K L M ~
>`.pickRestart({
  A: "[~@8 [d3,g3,b3,d4,f#4]@7 ~, ~@15 g2@14 ~@3]/2", B: "[f#2,a3,b3,c#4,e4]@15 ~, f#3@13 ~@3",
  C: "[e2,e3,g3,b3,d4], d2 ~@15", D: "[g3,b3,d4]@7 ~ [a3,c#4,e4]@7 ~, a2@15 ~", E: "[g2,g3,b3,d4,f#4]@15 ~",
  F: "[f#2,f#3,a3,b3,c#4,e4]@15 ~", G: "[e2,e3,g3,b3,d4]", H: "[~ c#4@18 ~@13, [a2,a3,e4]@31 ~, b3 ~@15]/2",
  I: "[g3,d4,f#4]@7 ~", // Gmaj7
  J: "[e2,g3,b3,d4] [g3,b3,d4] [f#3,a3,c#4] ~ [g3,b3,d4] ~@2 e2 ~ e2 [g3,b3,d4]!2 [f#3,a3,c#4] [g3,b3,d4] ~ [g3,b3,d4]", // Em7 G F#m G F#m G
  K: "a2 [g3,b3,d4] [g3,a3,c#4] a2 [g3,b3,d4] ~@2 a2 [b3,d4,f#4]@2 a4 ~@2 a4@2 a2, ~@11 [a3,c#4,e4]@4 ~, ~@13 f4 ~@2", // G A7 G Bm A
  L: "[a3,c#4,f#4,a4]@4 ~@2 b4 ~ d3@2 d5 [e4,a4,c#5] ~ [e4,a4,b4]@2 d3, d2@15 ~, ~@4 d3@3 c#5@3 ~@6, ~@6 [e4,a4]@5 ~ d3@2 ~@2", // F#m A Esus4 A5
  M: "~ [a3,d4,f#4] [a3,c#4,e4] d3 [a3,d4,f#4] ~ a2 [a3,d4,f#4] ~ [a3,b3,d4,f#4] [a3,c#4,e4] [a2,d3] a3 [a2,d3] [a3,c#4,e4] ~, d2@2 ~@2 d2 ~ [b3,d4] ~", // D A D Bm7 A D5 A Bm
  N: "~ e3 [f3,f#3] e3 [e2,e3] [g3,d4,e4] [f2,f3] [g#3,d4,f4] [f#2,f#3,a3,d4] [f#3,d4] [g3,d4,e4] [a3,d4,f#4]@4 ~, ~@8 f#4@2 ~ e4 ~@4", // F#maj7 E Em7 F Ddim D Em7 D
  O: "~ [f4,d5] f#4 [g4,d5] [g#4,d5] [a4,b4] d4 f4 f#4 d4 a3 d3 g3 d3 ~@2, [d2,d3]@5 ~@3, ~@7 a4@4 ~@5", // Dm G5 G#dim Asus2 D
  P: "[b3,d4] [g3,b3,d4] [f#3,a3,c#4] ~ [g3,b3,d4] ~@2 e2 ~ e2 [g3,b3,d4]!2 [f#3,a3,c#4] [g3,b3,d4] ~ [g3,b3,d4]", // Bm G F#m G F#m G
})).s("gm_piano").gain(0.29).pan(0.3)

// other · lead 1 square
const lead_1_square = note("<~@50 A B C D E F G H E F G H E F G H E F G ~@27>".pickRestart({
  A: "~@2 d6 a5 f#6 e6 ~ d6 ~ b5 d6 a5 f#6 e6 b5 d6", B: "~ b5 d6 a5 [e6,f#6] e6 b5 d6 ~ b5 d6 a5 [e6,f#6] e6 b5 d6",
  C: "~ b5 d6 a5 f#6 e6 b5 d6 ~ b5 d6 a5 f#6 ~ b5 d6", D: "~ b5 d6 a5 [e6,f#6] e6 b5 d6 ~ b5 d6 ~ f#6 e6 d6 e6",
  E: "~ b5 d6 b5 f#6 e6 d6 e6 ~ b5 d6 b5 [e6,f#6] e6 d6 e6", F: "~@2 d6 b5 f#6 e6 ~ e6 ~ b5 d6 b5 f#6 e6 d6 e6",
  G: "~ a5 d6 a5 [e6,f#6] e6 d6 e6 ~ a5 d6 a5 [e6,f#6] e6 d6 e6", H: "~ a5 d6 a5 f#6 e6 d6 e6 ~ a5 d6 a5 f#6 ~ d6 e6",
})).s("gm_lead_1_square").gain(0.11).pan(1)

// other · lead 1 square · soft notes
const lead_1_square_soft = note("<~@50 A ~ B C ~ D ~ B ~ D ~ B ~ D ~ B ~ D ~@28>".pickRestart({
  A: "~ b5 ~@4 b5 ~@9", B: "~@13 e6 ~@2", C: "~@11 b5 ~@4", D: "~ b5 ~@4 d6 ~@9",
})).s("gm_lead_1_square").gain(0.06).pan(1)

// chords · lead 8 bass lead
const lead_8_bass_lead = note("<~@72 A@2 B ~ C D E ~ F@2 B ~ G@2 H ~ C I B ~ C J K ~>".pickRestart({
  A: "[~@15 [d5,a5] ~ [d5,f#5,a5]!3 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] [e5,a5]@2 [d5,f#5,a5] ~, ~@15 f#5@2 ~@11 c#5 ~@3]/2", // D5 D A D A5 D
  B: "~@2 [d5,f#5,a5]!2 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,g5,b5]@3", // D A D G
  C: "~@15 [d5,f#5,a5]", // D
  D: "~ [d5,f#5,a5]!3 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] [e5,a5]@2 [d5,f#5,a5] ~, ~@12 c#5 ~@3", // D A D A5 D
  E: "~@2 [d5,f#5,a5]!2 [c#5,e5,a5] [d5,f#5,a5] f#5 [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5,b5] ~ [d5,g5,b5]@3", // D A D Bm7 G
  F: "[~@15 [d5,a5] ~ [d5,f#5,a5]!3 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] [c#5,f#5,a5] ~ [d5,f#5,a5] ~, ~@15 f#5@2 ~@11 e5@2 ~@2]/2", // D5 D A D F#m D
  G: "[~@15 [d5,a5] ~ [d5,f#5,a5]!3 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] [e5,a5]@2 [d5,f#5,a5] ~, ~@15 f#5@2 ~@11 [c#5,f#5] ~@3]/2", // D5 D A D A5 D F#5
  H: "~@2 [d5,f#5,a5]!2 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] [d5,g5] [d5,g5,b5]@3", // D A D G5 G
  I: "~ [d5,f#5,a5]!3 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,g#5,a5] [e5,a5]@2 [d5,f#5,a5] ~, ~@12 c#5 ~@3", // D A D A5 D
  J: "~ [d5,f#5,a5]!3 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,g#5,a5] [c#5,a5] ~ [d5,f#5,a5] ~, ~@6 e5 ~", // D A D F#m D
  K: "~@2 [d5,f#5,a5]!2 [c#5,e5,a5] [d5,f#5,a5] ~ [d5,f#5,a5] ~ [d5,f#5,a5] d5 [d5,f#5,a5] ~ [d5,g5,b5]@3", // D A D G
})).s("gm_lead_8_bass_lead").gain(0.12).pan(1)

// chords · pad warm
const pad_warm = note("<~@34 A@2 B C D@2 E@2 ~@8 F G@3 H@4 I@4 J K@3 L@4 ~@26>".pickRestart({
  A: "[d5@3 c#5, [e4,g4,a4]]/2", B: "[c#4,f#4,a4]", C: "~@2 c#5 d5, [d4,f#4], a4@11 ~@5", D: "[g4 a4, e4]/2",
  E: "[~@7 [b3,a4]@7 ~@2, [c#4,e4,f#4]@29 ~@3]/2", F: "[b3,d4,f#4]",
  G: "[[a3,c#4]@15 ~ [d4,g4]@15 ~ [g3,d4,g4]@8 [a3,c#4,e4,a4]@7 ~, e4@31 ~@17, ~@16 b3@23 ~@9]/3", // A G5 A
  H: "[[e4,g4]@2 ~ e4 f#4@4, [b3,d4]@3 c#4@5, ~@16 a3@47 ~]/4", // Em Bm
  I: "[g4 ~@2 a4, e4 f#4, b3@13 ~@19, d4@23 ~ c#4@40, ~ a3@3]/4", J: "[b3,d4,e4,g4]",
  K: "[[b3,d4]@8 e4@8 ~@16 a4@15 ~, a3@47 ~, ~ c#4@5, ~ f#4@2]/3", // Bm
  L: "[[b3,e4]@15 ~ b3@8 ~@8 f#4@32, g4@7 a4@7 ~@2, d4@3 c#4@4 ~, ~@16 a3@25 ~@23, ~@3 e4 ~@4]/4", // E5
})).s("gm_pad_warm").gain(0.11)

// chords · pad sweep
const pad_sweep = note("<~@34 A B C D E@3 ~@55>".pickRestart({
  A: "a3", B: "b3@3 c#4", C: "f#4", D: "d4", E: "[d4@3 c#4@2 b3]/3",
})).s("gm_pad_sweep").gain(0.11).pan(0.3)

// chords · pad sweep · soft notes
const pad_sweep_soft = note("<~@38 A B C@2 ~@54>".pickRestart({
  A: "g5", B: "~ c#4 ~@14, e5", C: "[~@16 a3@13 ~@3, f#5@31 ~]/2",
})).s("gm_pad_sweep").gain(0.06).pan(0.3)

// other · electric guitar muted
const electric_guitar_muted = note("<~@54 [b3!2 a3 ~ b3 ~ a3 b3 ~ b3 ~ a3 b3!2 a3 ~]!15 ~@27>")
  .s("gm_electric_guitar_muted").gain(0.17).pan(0.2)

// chords · soprano sax
const soprano_sax = note("<~@33 A B C@5 D@2 ~@54>".pickRestart({
  A: "~@3 d5", B: "e5 ~@3",
  C: "[~@2 d5 ~ e5@2 c#5 [c#5,d5]@2 b4!2 [b4,c#5]@2 ~ b4 ~@2 a4@3 a5@6 a5@4 ~@2 f#5 e5 d5 e5 f#5 e5 ~ e5 d5@5 f#5 g5 a5@2 [f#5,b5] [g5,a5] a5@2 b5 [f#5,a5] a5@2 b5!2 [e5,a5]@3 b5 ~ a5 b5 f#5 a5 ~ b5 [f#5,a5] a5@2 b5 ~@3 d5 c#5 d5, e5@3 d5@3 ~@7 a4@2 b4@2 ~@19 d5@2 ~@25 e5@2 ~@15, ~@16 a5@4 ~@10 a5@5 ~@16 f#5 ~@3 f#5 ~@24]/5", // Dmaj7 Bsus2 B5 Gsus2 F#m A5 F#m
  D: "[c#5 [b4,d5] ~ d5 c#5 b4 ~@9 [f#4,g4] e4@3 f#4 e4@3 ~@9, ~@2 a4@4 a4@13 a4@4 ~@9]/2", // Bm Gmaj7
})).s("gm_soprano_sax").gain(0.43)

// chords · soprano sax · soft notes
const soprano_sax_soft = note("<~@34 A B ~ C D E F G@2 ~@53>".pickRestart({
  A: "d5 e5@3", B: "~@6 d5 ~@3 c#5 ~@2 b4 ~@2", C: "~@3 d5 ~@4", D: "~@10 f#5 ~@5", E: "~@4 a5 ~@5 a5@4 ~@2",
  F: "~@2 c#5 ~@13", G: "[~@3 g4 ~@3 a4@11 ~@14]/2",
})).s("gm_soprano_sax").gain(0.29)

// other · soprano sax
const soprano_sax_2 = note("<~@34 [~@4 g5@11 ~] [g5@2 f#5 f#5@3 e5 e5@2 d5!2 d5@2 c#5@3] ~@60>")
  .s("gm_soprano_sax").gain(0.15).pan(0.7)

// chords · pad halo
const pad_halo = note("<~@54 A@2 B@2 C@2 D@2 E@4 F@3 G ~@26>".pickRestart({
  A: "[e4@16 d4@8 c#4@7 ~, a4@31 ~]/2", B: "[[f#4,a4]@31 ~]/2", C: "[a4 a4, d4@31 ~]/2",
  D: "[a4@6 c#5 d5, [d4,f#4]@31 ~]/2", E: "[~@7 g4 ~@4 b5@2 e5@6 ~@4 c#5@4 d5@4, a4, d5 c#5@2 ~, ~@5 f#5@3]/4",
  F: "[d5 ~ f#5, a4@43 ~@5, a5@27 ~ a5@20, ~ c#5@2]/3", G: "[d4,e4,f#4,a4,c#5,e5]",
})).s("gm_pad_halo").gain(0.12).pan(0.6)

// chords · alto sax
const alto_sax = note("<~@86 A@3 B@2 C D@2 E F>".pickRestart({
  A: "[~@14 a5@11 g5 ~ [e5,g5] ~ [e5,f#5]@2 d5@2 [a4,a#4,b4] ~ d5 c#5 [a4,d5] [e4,c#5] [d4,a4] [c4,c#4,e4] d4 c#4 a4 a4@2 [g4,a4] a4, ~@27 f#5@2 ~@2 e5 ~ d5@2 ~@6 a4@2 ~@5]/3", // Em Esus2 D5 C#m D5 C Gsus2
  B: "[[f4,f#4,g4] d5 [f#4,c#5] [a4,d5] [e4,c#5] [f#4,a4] [d4,e4] [a3,f#4] [b3,d4] e4 [b3,c#4] [a3,e4] [b3,c#4] e4 [b3,c#4] e4 c#4 a3@4 ~ f#3 c#3 f#3 [c#3,c#4] f#3 [c#3,c#4] f#3 c#4 f#3 [c#3,c#4], ~@15 a3@2 ~@15]/2", // F#5 D5 C#m F#m Dsus2 D Bm Bsus2 …
  C: "f#3 [c#3,f4,f#4] ~ [f4,f#4] f#4!2 [e4,f#4] [f#4,a4] ~ [e4,a4] [f4,f#4] f#4 [f4,f#4] [e4,f#4] [f#4,a4] e4", // F#maj7 Esus2 F#m A5 F#maj7 Esus2 F#m
  D: "[[f#4,a4] f#4!2 e4 [f#4,a4] e4 [a4,b4] e4 [b4,c#5] a4 [e4,c#5] a4 e4 [e5,f5] ~ [e5,f5] ~@2 c#5 f#5 [c#5,e5] [b4,f#5] e5 ~@2 e5 f#5 [c#5,e5] [e5,f#5] b4 [c#5,e5] e5, ~@13 f#5@2 f#5@3 ~@14]/2", // F#m Asus2 Bsus2 C#m Fmaj7 C#m B5 C#m …
  E: "c#5 [c#5,e5]!2 [e4,a4,c#5] [e4,c#5,e5] [e4,a4,b4] [e4,b4,c#5] [a4,b4] [b4,c#5] a4 [d4,f#4] [a3,f#4] [c#4,d4,f#4] [a3,b3,c#4,f#4] [f#3,a3,c#4,f#4] [d3,e3,c#4]", // C#m A C#m Esus4 C#m7 Asus2 Bsus2 D …
  F: "a3 ~@15",
})).s("gm_alto_sax").gain(0.12)

// chords · alto sax · soft notes
const alto_sax_soft = note("<~@88 A B C D E F G ~>".pickRestart({
  A: "~@3 [a4,a#4,b4] ~@6 c4 ~@5", B: "~ a4 f4 ~@6 a3 ~@3 a3 ~@2", C: "~@13 c#3 ~@2", D: "~@5 f4 ~@2 e4 ~@2 e4 ~@4",
  E: "~ e4 ~ f#4 ~@5 e4 ~ e4 ~ e4 ~@2", F: "~@7 b4 ~@5 c#5 ~ b4", G: "~@11 a4 ~@3 b3",
// … 155 more lines

More by Rossi Vasco