Strudelify
Vai con lui cover art

1997 · L'Amore Sia Con Te

Vai con lui

Masini

KeyB majorTempo72 bpm
0:00/0:00
// Vai con lui — Masini
// 72.1 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 86 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(72.1/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 · acoustic bass · "ACOU BASS"
const bass = note("<~@13 A@8 B@8 C@8 D@8 E@8 F@8 G@7 H@8 I@6 J@4>".pickRestart({
  A: "[~@47 a1@24 g#1@24 f#1@24 e1@24 d2@24 c#2@24 b1@24 e1@24 a1@24 g#1@24 f#1@24 e1@24 d2@24 e1@24 a1]/8",
  B: "[~@23 g#1@24 f#1@24 ~@18 e2@2 ~ f#2@2 ~ a1@24 g#1@24 f#1@24 e1@24 d2@24 c#2@24 b1@24 e1@24 a1@24 g#1@24 f#1@23 e1@24 d2@2, ~@71 e1@24 ~@289]/8",
  C: "[~@23 c#2@23 b1@24 e1@24 g#1@24 a1@24 g#1@24 f#1@24 e2@24 d2@24 c#2@24 b1@24 e1@24 a1@24 g#1@24 f#1@24 e1@2]/8",
  D: "[~@11 d2@12 e1@12 a1@12 g#1@12 f#2@12 f#1@12 b1@12 a#1@12 g#1@12 f#1@12 e2@12 d#2@12 c#2@12 f#1@12 b1@12 a#1]/8",
  E: "[~@22 g#1@24 f#1@24 e2@24 d#2@24 c#2@24 f#2@24 f#1@24 b1@24 a#1@24 g#1@23 f#1@24 e2@24 d#2@24 c#2@24 f#1@24 b1@3]/8",
  F: "[~@7 a#1@8 g#1@8 f#1@8 e1@8 f#1@8 b1@8 a#1@8 g#1@8 f#1@8 e2@8 d#2@8 c#2@8 f#1@8 b1@8 a#1@8 g#1]/8",
  G: "[~@21 f#1@24 e2@24 f#1@24 b1@24 a#1@24 g#1@24 f#1@24 e2@24 d#2@24 c#2@24 f#1@24 b1@24 a#1@23 g#1@4]/7",
  H: "[~@21 f#1@24 e2@23 f#1@24 b1@24 a#1@24 g#1@24 f#1@24 e2@24 d#2@24 c#2@24 f#1@24 b1@24 a#1@24 g#1@24 f#1@24 e2@4]/8",
  I: "[~@5 f#1@6 b1@6 a#1@6 g#1@6 f#1@6 e2@6 d#2@6 c#2@6 f#1@6 b1@6 a#1@6 g#1]/6",
  J: "[~@20 f#1@24 e2@24 f#1@26 ~ b1@57 ~@40]/4",
})).s("gm_acoustic_bass").gain(0.42)

// chords · electric guitar jazz · "CHOIR/GTR"
const electric_guitar_jazz = note("<~@29 A@8 B@2 C@2 ~@45>".pickRestart({
  A: "[~@70 f#4@24 f4@24 ~@9 a4@20 ~@67 d3@3 a3@3 ~@3 [f#4,a4]@16 ~@2 a3@3 c#4@3 e4@16 ~@8 [d4,a4]@15 ~@9 b4@17 ~@72, ~@23 b3@169, ~@119 a3@20 ~@100 c#3@8 ~@16 b2@18 ~@11 f4@10 ~@82, ~@121 c#4@18 ~@81 d4@6 ~@39 d3@6 ~@18 d4@11 ~@84, ~@124 e4@13 ~@131 a3@6 ~@12 a3@13 ~@85]/8", // F#m D5
  B: "[~@31 a4@15 ~@6 a3@3 e4@9 ~@32, ~@23 a3@13 ~@10 e3@9 ~@41, ~@25 d4@9 ~@15 f#3@7 ~@40, ~@7 e4@2 ~@15]/2",
  C: "[~@28 c#4@3 ~@21 c#4@7 ~@37, ~@11 g#3@12 f#3@8 ~@17, ~@25 b3@11 ~ c#4@7 ~@5 a#3@11 ~@36, ~@31 f#4@9 b3@16 ~@40]/2",
})).s("gm_electric_guitar_jazz").gain(0.43)

// chords · french horn · "FR.HORN"
const french_horn = note("<~ A B A B C D E F G@3 H I@8 J@2 K@7 L@3 M@6 N@8 O@8 P@8 Q@7 R@7 S@8 ~>".pickRestart({
  A: "a1 g#1", B: "f#1 e1", C: "[a1,e3,c#4] g#1", D: "[f#1,a3] [e1,a3]", E: "[d2,a3,d4] [c#2,e3,a3,c#4]",
  F: "[b1,f#3,d4] [e2,g#3,b3,d4,f4]", // Bm E7
  G: "[[a2,a3,c#4,e4]@24 [g#2,e3,g#3,b3]@23 ~ f#2@23 ~ e2@23 [d2,f#3,a3,d4]@24 [e2,e4]@24 a2, ~@47 e3@24 a3@24 ~@49]/3", // A E D E
  H: "~@23 g#2@24 [f#2,a3]", // F#m
  I: "[~@23 [e2,b3]@24 [a2,e3,a3,c#4]@24 [g#2,g#3,b3,e4]@24 f#2@24 e2@24 [d3,f#3,a3,d4]@24 [c#3,e3,a3,c#4]@24 [b2,f#3,a3,d4]@24 [e2,g#3,b3,d4,f4]@24 [a2,e3,c#4,e4]@24 [g#2,g#3,b3,e4]@24 f#2@24 e2@24 [d3,f#3,a3,d4]@24 [e3,f#3,a3,d4]@24 [a2,e3,a3,c#4], ~@95 [a3,c#4,e4]@47 ~@145 [a3,c#4,e4]@46 ~@51]/8", // E5 A E D A Bm7 E7 A …
  J: "[~@23 [g#2,g#3,b3]@24 [f#2,f#3,a3]@24 [e2,g#3,b3]@24 [a2,a3,c#4]]/2", // G#m F#m E A
  K: "[~@23 [g#2,g#3,b3]@24 f#2@24 e2@24 [d3,f#3,a3,d4]@24 [c#3,e3,a3,c#4]@24 [b2,f#3,a3,d4]@24 [e2,g#3,b3,d4,f4]@24 [a2,e3,a3,c#4]@24 [g#2,g#3,b3]@24 f#2@23 e2@24 [d3,f#3,a3,d4]@24 ~ [c#3,e3,a3,c#4]@23 [b2,f#3,a3,d4]@2, ~@47 [a3,c#4]@47 ~@145 [a3,c#4]@47 ~@50]/7", // G#m D A Bm7 E7 A G#m D …
  L: "[~@22 [e2,a3,d4,f#4]@24 ~ [g#2,b3,d4,f4]@23 [a2,e3,a3,c#4]@24 [g#2,g#3,b3]@24 [f#2,f#3,a3]@24 [a3,c#4]@2, ~@47 e3@19 ~@6]/3", // D G#dim A G#m F#m A
  M: "[~@11 [d3,f#3,a3,d4]@12 [c#3,e3,a3,c#4]@12 [b2,f#3,b3,d4]@12 [e2,g#3,b3,d4,f4]@12 [a2,a3,c#4]@12 [g#2,g#3,b3]@12 [f#2,f#3,a3]@12 [e2,e3,a3]@12 [d2,f#3,a3,d4]@12 [e2,f#3,a3,d4]@12 [a2,e3,a3,c#4]@12 [g#2,g#3,b3], ~@59 e3@36 ~@49]/6", // D A Bm E7 A G#m F#m A5 …
  N: "[~@11 [f#2,e3,f#3,b3]@12 [f#2,f#3,a#3,c#4]@12 [b2,f#3,b3,d#4]@12 [a#2,f#3,a#3,c#4]@12 [g#2,g#3,b3,d#4]@12 [f#2,g#3,b3,d#4]@12 [e2,g#3,b3,e4]@12 [d#2,f#3,b3,d#4]@12 [c#3,g#3,c#4,e4]@12 [f#2,a#3,c#4,e4,g4]@12 [b2,b3,d#4]@12 [a#2,f#3,a#3,c#4]@12 [g#2,g#3,b3,d#4]@12 [f#2,g#3,b3,d#4]@12 [e2,g#3,b3,e4]@12 [d#2,f#3,b3,d#4], ~@118 d#3@49 ~@143 d#3@49 ~@25]/8", // Esus2 F# B F# G#m G#m7 E B …
  O: "[~@22 [c#2,e3,g#3,c#4]@24 [f#2,f#3,b3,e4,g#4]@24 [f#2,a#3,c#4,e4,g4]@24 [b2,f#3,b3,d#4,f#4]@24 [a#2,f#3,a#3,c#4,f#4]@24 [g#2,d#3,g#3,b3,d#4]@23 [f#2,f#3,g#3,b3,d#4]@24 [e2,e3,g#3,b3,e4]@24 [d#2,f#3,b3,d#4,f#4]@24 [c#2,g#3,c#4,e4]@24 ~ a#3@23 [b2,f#3,b3,d#4,f#4]@24 [a#2,f#3,a#3,c#4,f#4]@24 [g#2,d#3,g#3,b3,d#4]@24 [f#2,f#3,g#3,b3,d#4]@24 [e2,g#3,b3,e4]@3, ~@87 [f#2,c#4,e4,g4]@8 ~@33]/8", // C#m E F#7 B F# G#m G#m7 E …
  P: "[~@7 [f#2,b3,e4,f#4]@8 [b2,f#3,b3,d#4,f#4]@8 [a#2,f#3,a#3,c#4,f#4]@8 [g#2,d#3,g#3,b3,d#4]@8 [f#2,f#3,g#3,b3,d#4]@8 [e2,e3,g#3,b3,e4]@8 [d#2,f#3,b3,d#4]@8 [c#2,g#3,c#4,e4]@8 [f#2,a#3,c#4,e4,g4]@8 [b2,f#3,b3,d#4,f#4]@8 [a#2,a#3,c#4,d#4,g4]@8 [g#2,b3,d#4,g#4]@8 [f#2,b3,d#4,f#4,a4]@8 [e2,e3,g#3,b3,e4]@8 [f#2,f#3,a#3,c#4]@8 [b2,f#3,b3,d#4]]/8", // Esus2 B F# G#m G#m7 E B C#m …
  Q: "[~@21 [a#2,f#3,a#3,c#4,f#4]@24 [g#2,d#3,g#3,b3,d#4]@24 [f#2,f#3,g#3,b3,d#4]@24 [e2,e3,g#3,b3,e4]@24 [d#2,f#3,b3,d#4,f#4]@24 [c#2,g#3,c#4,e4]@24 [f#2,a#3,c#4,e4,g4]@24 [b2,f#3,b3,d#4,f#4]@24 [a#2,f#3,a#3,c#4,f#4]@23 [g#2,d#3,g#3,b3,d#4]@24 ~ [f#2,f#3,g#3,b3,d#4]@24 [e2,g#3,b3,e4]@23 [f#2,f#3,g#3,b3,e4]@24 [b2,f#3,b3,d#4]@4]/7", // F# G#m G#m7 E B C#m F#7 B …
  R: "[~@5 [a#2,f#3,a#3,c#4,f#4]@6 [g#2,d#3,g#3,b3,d#4]@6 [f#2,f#3,g#3,b3,d#4]@6 [e2,e3,g#3,b3,e4]@6 [d#2,f#3,b3,d#4,f#4]@6 [c#2,g#3,c#4,e4]@6 [f#2,a#3,c#4,e4,g4]@6 [b2,f#3,b3,d#4,f#4]@6 [a#2,f#3,a#3,c#4,f#4]@6 [g#2,d#3,g#3,b3,d#4]@6 [f#2,f#3,g#3,b3,d#4]@6 [e2,g#3,b3,e4]@6 [f#2,f#3,g#3,b3,e4]@6 [b2,f#3,b3,d#4]]/7", // F# G#m G#m7 E B C#m F#7 B …
  S: "[~@20 [a#2,f#3,a#3,c#4,f#4]@24 [g#2,d#3,g#3,b3,d#4]@24 [f#2,f#3,g#3,b3,d#4]@24 [e2,e3,g#3,b3,e4]@24 [d#2,f#3,b3,d#4,f#4]@24 [c#2,g#3,c#4,e4]@24 [f#2,a#3,c#4,e4,g4]@24 [b2,f#3,b3,d#4,f#4]@24 [a#2,f#3,a#3,c#4,f#4]@24 [g#2,d#3,g#3,b3,d#4]@24 [f#2,f#3,g#3,b3,d#4]@24 [e2,g#3,b3]@24 [f#2,f#3,g#3,b3,e4]@26 ~ [b2,d#3,f#3,b3]@49]/8", // F# G#m G#m7 E B C#m F#7 B …
})).s("gm_french_horn").gain(0.29)

// chords · french horn · "FR.HORN" · soft notes
const french_horn_soft = note(`<
  ~ A@4 B C D E F@2 G@3 ~@8 H@3 ~@2 I@2 ~@3 J@2 ~@2 K@4 ~@4 L ~@10 M ~@2 N ~@23 O@2 ~@2
>`.pickRestart({
  A: "[c#4 b3 a3 b3, e3]/2", B: "~ b3, e4", C: "e4", D: "f#3 ~", E: "b3 ~",
  F: "[~@48 c#3@23 ~ e3@24, ~@47 [a3,e4]@24 e4@24 ~]/2", G: "[~@23 [a3,d4]@24 c#4@24 b3@24 ~@49, ~@47 e3@93 ~@4]/3",
  H: "[~@47 e3@24 e4@24 e4@47 ~@2]/3", I: "[~@23 e4@24 e4@47 ~@2]/2", J: "[~@23 [e2,e3]@12 ~@13]/2",
  K: "[~@23 c#4@12 ~@12 e4@12 ~@12 e4@12 ~@13]/4", L: "~@22 f#4@23 ~@3", M: "~@7 g#3@8 ~", N: "~@7 f#4@8 ~",
  O: "[~@11 e4@6 ~@7]/2",
})).s("gm_french_horn").gain(0.12)

// drums · kick
const kick = s("bd").struct(`<
  ~@13 A B@3 C D B@9 E F G F E G E F E F E@2 H E@4 H E H E@2 I@2 J I@3 J I@2 K L M N I M@2 O P Q R@2 S P T R S R@2 S R S
  U S V ~@2
>`.pickRestart({
  A: "~@47 x", B: "~@23 x ~@23 x", C: "~@23 x ~@24", D: "x ~@22 x ~@23 x", E: "~@11 x ~@11 x", F: "~@23 x ~@22 x ~",
  G: "~@22 x ~@24 x", H: "~@22 x ~@2 x ~@20 x ~", I: "~@7 x ~@7 x", J: "~@22 x ~@22 x ~@2", K: "~@7 x ~@2 x ~@4 x",
  L: "x!3 ~@4 x ~@7 x", M: "~@7 x!2 ~@6 x", N: "~@2 x ~@4 x ~@7 x", O: "~@7 x!2 ~ x ~@4 x", P: "~@21 x ~@22 x ~@3",
  Q: "~@21 x ~ x ~@21 x ~@2", R: "~@5 x ~@5 x", S: "~@20 x ~@2 x ~@20 x ~@3", T: "~@20 x ~@8 x ~@14 x ~@3",
  U: "~@2 x ~@2 x ~@14 x ~@23 x ~@3", V: "~@5 x ~@6",
})).gain(0.38)

// drums · snare
const snare = s("sd").struct("<~@31 A B@8 C B@3 D B@2 E F G@10 F G@8 H I H@10 J H@2 K ~@2>".pickRestart({
  A: "~@17 x ~@6", B: "~@5 x ~@11 x ~@6", C: "~@2 x ~@14 x ~@6", D: "~@8 x ~@8 x ~@6", E: "~@10 x ~@22 x ~@14",
  F: "~@3 x ~@9 x ~@2", G: "~@3 x ~@7 x ~@4", H: "~ x ~@2 x ~", I: "~@8 x ~@26 x ~@12", J: "~@8 x ~@23 x ~@14 x",
  K: "~@8 x ~@24 x ~@14",
})).gain(0.38)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@14 [~@11 x ~@23 x ~@12]!14 [~@5 x ~@11 x ~@6]!3 ~@55>").gain(0.23)

// drums · low tom
const low_tom = s("lt").struct("<~@48 [~@13 x ~@2] ~@24 [~@23 x ~@24] ~@12>").gain(0.38)

// drums · hihat
const hihat = s("hh").struct(`<
  ~ A@6 B C D E@17 F G H I@10 J I@5 K L M N A@2 O A@6 O P A@6 Q R E@14 S ~@2
>`.pickRestart({
  A: "x!16", B: "x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@3 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~@3",
  C: "x ~ x ~@2 x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3",
  D: "x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
  E: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
  F: "~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@3 x ~@2 x ~ x ~@2 x ~@3 x",
  G: "~ x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
  H: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
  I: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
  J: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
  K: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@3 x ~@2 x ~",
  L: "~ x ~ x ~@2 x ~@3 x ~@2 x ~@2 x ~ x ~@3 x ~@2 x ~@2 x ~@2 x ~ x ~@3 x ~ x ~@2 x ~@3 x ~",
  M: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@6 x ~",
  N: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~", O: "x!14 ~ x",
  P: "x!3 ~ x!12", Q: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x",
  R: "~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x ~@3 x ~ x",
  S: "~@2 x ~@2 x ~@5 x ~@2 x ~@2 x ~@6 x ~@2 x ~@2 x ~@2 x ~@3 x ~@2 x ~@2 x ~@4",
})).gain(0.08)

// drums · mid tom
const mid_tom = s("mt").struct("<~@39 A B ~@3 B ~@3 C ~@3 D ~@2 D ~@3 E ~@6 D ~@2 F ~@16>".pickRestart({
  A: "~@7 x ~@40", B: "~@13 x ~@34", C: "~@3 x", D: "~@13 x ~@2", E: "~@2 x!2", F: "~@32 x ~@8 x ~@6",
})).gain(0.31)

// drums · high tom
const high_tom = s("ht").struct("<~@39 A B ~@3 B ~@3 C ~@3 D ~@2 D ~@3 E ~@9 F ~@3 G ~@12>".pickRestart({
  A: "~@37 x ~@10", B: "~@7 x ~@40", C: "~@9 x!2 ~@5", D: "~@3 x", E: "~@7 x ~@8", F: "~@29 x ~@18",
  G: "~@23 x ~@8 x ~@5 x ~@9",
})).gain(0.35)

// drums · crash
const crash = s("cr").struct(`<
  ~@31 A ~@7 B@2 ~@7 C ~@3 D ~@2 D ~@4 E ~@5 D ~@2 F ~@3 F ~@2 F ~@4 G ~ H ~@2
>`.pickRestart({
  A: "~@23 x ~@24", B: "~@11 x ~@12", C: "~@23 x", D: "~@15 x", E: "~@3 x ~@12", F: "~@11 x", G: "~ x ~@4", H: "~@47 x",
})).gain(0.35)

// drums · ride
const ride = s("rd").struct("<~@83 [~@2 x ~@2 x ~@6] ~@2>").gain(0.12)

// drums · bongos
const bongos = s("bongo:4").struct(`<
  [~@15 x]!7
  [~@11 x]!20
  [~@43 x ~@4]!20
  [~@7 x]!20
  [~@41 x ~@6]!16
  [~@43 x ~@4]
  ~@2
>`).gain(0.51)

// drums · bongos
const bongos_2 = s("bongo:18").struct("<~ A@7 B@20 C D@19 E F@18 G H@15 I ~@2>".pickRestart({
  A: "~ x ~@11 x ~@2", B: "~ x ~@17 x ~@4", C: "~@2 x ~@34 x ~@10", D: "~ x ~@35 x ~@10", E: "~ x ~@34 x ~@11",
  F: "x ~@2 x", G: "x ~@34 x ~@11 x", H: "~@35 x ~@11 x", I: "~@37 x ~@10",
})).gain(0.51)

// drums · claves
const claves = s("clave:2").struct("<~ A@6 B C D@18 E F E G@17 H I@20 J@15 K ~@2>".pickRestart({
  A: "~@2 x ~@2 x ~ x ~ x ~@6", B: "~@6 x ~@7 x ~@6 x ~@4 x ~@21", C: "~@6 x ~@7 x ~@6 x ~@5 x ~@20",
  D: "~@5 x ~@8 x ~@5 x ~@5 x ~@21", E: "~@5 x ~@8 x ~@5 x ~@4 x ~@22", F: "~@5 x ~@7 x ~@5 x ~@5 x ~@22",
  G: "~@4 x ~@8 x ~@5 x ~@5 x ~@22", H: "~@3 x ~@9 x ~@4 x ~@6 x ~@22", I: "~ x ~@2 x ~ x ~ x ~@7",
  J: "~@2 x ~@8 x ~@5 x ~@5 x ~@24", K: "~@2 x ~@8 x ~@5 x ~@6 x ~@23",
})).gain(0.75)

stack(
  bass, electric_guitar_jazz, french_horn, french_horn_soft, kick, snare, snare_soft, low_tom, hihat, mid_tom, high_tom,
  crash, ride, bongos, bongos_2, claves
)

More by Masini