Strudelify
Se io non avessi te cover art

5030

Se io non avessi te

Nek

KeyD majorTempo152 bpm
0:00/0:00
// Se io non avessi te — Nek
// 152 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 6 "chit3dist.bassa" named as a bass, played on electric bass finger (its distortion guitar patch is not one)
// note: Full arrangement: all 137 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): chit2clealta, clean alta, oversolista.
setcpm(152/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.

// other · tremolo strings · "Voce2"
const tremolo_strings = note("<~@64 A B@2 C ~ B@2 D@2 E@2 ~@62>".pickRestart({
  A: "~@7 f#5", B: "[f#6@2 f#6@2 f#6@2 a6@3 ~ a6@3 ~ d6@8 ~@10]/2", C: "d6@2 d6@2 d6@2 e6@3 ~ d6@2 f#6@3 ~",
  D: "[f#6@2 f#6@2 f#6@2 f#6@3 ~ g6@3 ~ e6@5 ~@11 a5@2]/2", E: "[f#6@2 f#6@3 ~ f#6@3 ~ g6@3 ~ e6@5 ~@13]/2",
})).s("gm_tremolo_strings").gain(0.13)

// chords · overdriven guitar · "Chit.1overalta"
const overdriven_guitar = note(`<
  A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 C ~@8 D E F G ~@7 H I H I H I H I J K L M N O P Q R S T U A@2 B@2 A@2 B@2 C V W@2 V@2
  W@2 D@2 X@2 D@2 E F J K L Y N O P Q Z AA AB AC AD AE AF AG AD AE AF AG AH@2 AI@2 AJ@2 AK@2 AL@2 AM@2 AL@2 AM@2 J K L Y
  N O P AN J K L Y N O P AN AO ~@4
>`.pickRestart({
  A: "[[d3,d4,f#4,a4]!7 c#3 c#3 [c#3,c#4,e4,a4]!7, ~@7 [c#4,e4,a4]@2 ~@7]/2", // D A
  B: "[[c#3,c#4,e4,g4]!7 c#3 b2 [b2,b3,d4,g4]!7, ~@7 [b3,d4,g4]@2 ~@7]/2", // C#dim G
  C: "[d3,f#3,a3]@3 ~ [d3,f#3,a3]@3 ~ [d3,f#3,a3]@3 ~@5", D: "e2!8", E: "a2!2 [a2,e3] [a2,e3,a3]!5", F: "[a2,e3,a3]!8",
  G: "[d3,f#3,a3,d4,f#4]@3 ~ [d3,f#3,a3,d4,f#4]@3 ~ [d3,f#3,a3,d4,f#4]@3 ~@5", H: "g4@3 ~ f#4@3 ~", I: "e4@3 ~ d4@3 ~",
  J: "[d3,f#3,a3,d4]!3 [d3,f#3,a3,c#4]!3 [d3,f#3,a3,d4]!2", // D Dmaj7 D
  K: "[d3,f#3,a3,d4] [d3,f#3,a3,e4]!3 [d3,f#3,a3,d4]!2 [d3,f#3,a3,c#4]!2", // D Dmaj7
  L: "[b2,d3,g3,d4]!3 [b2,d3,g3,c#4]!3 [b2,d3,g3,d4]!2", // G
  M: "[b2,d3,g3,d4] [b2,d3,g3,e4]!2 [b2,d3,g3] [b2,d3,g3,c#4]!2 [b2,d3,g3,d4] [b2,d3,g3,e4]", // G Em7 G Em7
  N: "[d3,f#3,a3,f#4]!3 [d3,f#3,a3,e4]!3 [d3,f#3,a3,f#4]!2", // D
  O: "[d3,f#3,a3,f#4] [d3,f#3,a3,g4]!3 [d3,f#3,a3,f#4]!2 [d3,f#3,a3,e4]!2", // D
  P: "[c#3,e3,a3,d4]!3 [c#3,e3,a3,c#4]!3 [c#3,e3,a3,d4]!2", // A
  Q: "[c#3,e3,a3,d4] [c#3,e3,a3,e4]!3 [c#3,e3,a3,d4]!2 [c#3,e3,a3,c#4]!2", R: "[b2,d3,g3,c#4] [b2,d3,g3,b3]!7",
  S: "[b2,d3,g3,d4]!5 [b2,d3,g3,a3]!2 [b2,d3,g3,d4]", T: "[c#3,e3,a3]!8",
  U: "[c#3,e3,a3,c#4]!5 [c#3,e3,a3,d4]!2 [c#3,e3,a3,a4]", V: "d3!8", W: "g2!8", X: "a2!8",
  Y: "[b2,d3,g3,d4] [b2,d3,g3,e4]!2 [b2,d3,g3] [c#3,e3,a3,c#4]!2 [c#3,e3,a3,d4] [c#3,e3,a3,e4]", Z: "[b2,d3,g3,d4]!8",
  AA: "[b2,d3,g3,d4]!5 [b2,d3,g3,e4]!3", AB: "[c#3,e3,a3,e4]!6 [c#3,e3,a3,c#4]!2",
  AC: "[c#3,e3,a3,g4]!5 [c#3,e3,a3,f#4]!2 [c#3,e3,a3,a4]", AD: "[d3,f#3,a3]!8",
  AE: "[d3,f#3,a3]!4 [d3,f#3,a3,a4] [d3,f#3,a3,g4] [d3,f#3,a3,f#4] [d3,f#3,a3,g4]", // D
  AF: "[b2,d3,g3,f#4] [b2,d3,g3,e4] [b2,d3,g3,d4]!6", AG: "[b2,d3,g3]!4 [c#3,e3,a3]!4", AH: "[b2,e3]!8",
  AI: "[c#3,f#3]!8", AJ: "[d3,f3]!8", AK: "[c#3,g3]!8", AL: "[[d3,d4]!7 c#3 c#3 [c#3,c#4]!7, ~@7 c#4@2 ~@7]/2",
  AM: "[[c#3,c#4]!7 c#3 b2 [b2,b3]!7, ~@7 b3@2 ~@7]/2", // C# B
  AN: "[b2,d3,g3,d4] [b2,d3,g3,e4]!2 [b2,d3,e4] [c#3,e3,a3,d4]!2 [c#3,e3,a3,c#4]!2", AO: "[d3,f#3,d4]@13 ~@3",
})).s("gm_overdriven_guitar").gain(0.08)

// chords · electric guitar jazz · "chit2clealta"
const electric_guitar_jazz = note(`<
  ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~@8 C@2 ~ D ~@8 E@2 ~@4 F G ~@13 H ~ I ~ H ~ I ~@8 J@2 ~@5 K ~@9 L ~@10 M@2 N@2 O@2
  P@2 Q P R M S T U V ~@7 W ~@7 W X@4 ~
>`.pickRestart({
  A: "[e4,a4] ~@7", B: "[d4,g4] ~@7", C: "[~ b4@28 ~@3, [e4,g4]@29 ~@3]/2", D: "~@5 c#5!3",
  E: "[~ b4@28 ~@3, e4@29 ~@3]/2", F: "a3!7 [a3,c#4]", G: "[a3,c#4] [a3,c#4,e4]!2 [a3,e4,a4]!2 [a3,c#4,e4,a4]!3",
  H: "a4 ~@7", I: "g4 ~@7", J: "[~ b4@28 ~@3, g4@29 ~@3]/2", K: "~ c#4!4 ~@3", L: "~@3 c#5!3 ~@2", M: "g4!8", N: "a4!8",
  O: "a#4!8", P: "e4!8", Q: "f#4!7 e4", R: "a4!7 g4", S: "[f#4,a4]!7 [e4,a4]", T: "[e4,a4]!8", U: "[e4,g4]!7 [d4,g4]",
  V: "[d4,g4]!8", W: "~@3 g4 ~@4", X: "[~ a4@60 ~@3]/4",
})).s("gm_electric_guitar_jazz").gain(0.19)

// chords · electric bass finger · "chit3dist.bassa"
const electric_bass_finger = note(`<
  ~@16 A B C@2 D E F G H@2 I@2 J B F C D B C F H@2 I@2 H@2 I@2 K L M N O P K L F@2 Q@2 B R S T B R S T A B C@2 D E F G
  H@2 I@2 H@2 I@2 K L M U O V K L W M X Y Z@2 AA AB Z@2 AA AB AC@2 AD@2 AE@2 AF@2 ~@8 K L M U O V K AG K L M U O V K AG
  ~@5
>`.pickRestart({
  A: "[d3,f#3,a3,d4]@3 ~ [d3,f#3,a3,d4]@3 ~ [d3,f#3,d4]@3 ~@5", B: "d3!2 [d3,a3,d4] d3!2 [d3,a3,d4] d3 [d3,a3,d4]",
  C: "g2!2 [g2,d3,g3] g2!2 [g2,d3,g3] g2 [g2,d3,g3]", D: "d3!2 [d3,a3,d4] d3!2 [d3,a3,d4] d3 [d3,a3,c#4]",
  E: "d3!2 [d3,a3,c#4] d3!2 [d3,a3,d4] d3 [d3,a3,d4]", F: "g2!2 [g2,d3,g3] g2!2 [g2,d3,g3] g2 [g2,d3,f#3]",
  G: "g2!2 [g2,d3,f#3] g2!2 [g2,d3,g3] g2 [g2,d3,g3]", H: "e2!2 [e2,b2,g3] e2!2 [e2,b2,g3] e2 [e2,b2,g3]",
  I: "a2!2 [a2,e3,a3] a2!2 [a2,e3,a3] a2 [a2,e3,a3]", // A5
  J: "[d3,f#3,a3,d4,f#4]@3 ~ [d3,f#3,a3,d4,f#4]@3 ~ [d3,f#3,a3,d4,f#4]@3 ~@5", K: "[a3,d4]!3 [a3,c#4]!3 [a3,d4]!2",
  L: "[a3,d4] [a3,e4]!3 [a3,d4]!2 [a3,c#4]!2", M: "[b3,d4]!3 [b3,c#4]!3 [b3,d4]!2",
  N: "[b3,d4] [b3,e4]!2 b3 [b3,d4]!2 [b3,e4]!2", O: "[a3,f#4]!3 [a3,e4]!3 [a3,f#4]!2",
  P: "[a3,f#4] [a3,g4]!3 [a3,f#4]!2 [a3,e4]!2", Q: "a2!2 [a2,e3,a3] a2!2 [a2,e3,a3] a2 [a2,e3,g#3]",
  R: "c#3!2 [c#3,e3,a3] c#3!2 [c#3,e3,a3] c#3 [c#3,e3,a3]", S: "c#3!2 [c#3,e3,g3] c#3!2 [c#3,e3,g3] c#3 [c#3,e3,g3]",
  T: "b2!2 [b2,d3,g3] b2!2 [b2,d3,g3] b2 [b2,d3,f#3]", U: "[b3,d4] [b3,e4]!2 b3 [a3,d4]!2 [a3,e4]!2",
  V: "[a3,f#4] a3!3 [a3,f#4]!2 [a3,e4]!2", W: "[b3,d4]!8", X: "[a3,e4]!6 [a3,c#4]!2", Y: "[a3,g4]!5 [a3,f#4]!2 [a3,a4]",
  Z: "[a3,e4]!8", AA: "[g3,d4]!8", AB: "[g3,d4]!4 [a3,e4]!2 [a3,c#4] [a3,a4]", AC: "[b2,g3]!8", AD: "[c#3,a3]!8",
  AE: "[d3,a#3]!8", AF: "[c#3,g3]!8", AG: "[b3,d4]!4 [a3,d4]!2 [a3,e4]!2",
})).s("gm_electric_bass_finger").gain(0.1)

// other · electric guitar clean · "clean alta"
const electric_guitar_clean = note("<~@24 A@2 ~@10 B@2 ~@34 C@2 ~@43 D ~@5 E ~ D ~@5 E F@5>".pickRestart({
  A: "[~ b4@28 ~@3, [e4,g4]@29 ~@3]/2", B: "[~ b4@28 ~@3, e4@29 ~@3]/2", C: "[~ b4@28 ~@3, g4@29 ~@3]/2", D: "~@6 e4 ~",
  E: "~@3 g3 ~@4", F: "[~@2 a5@75 ~@3, ~ [a4,d5,f#5]@76 ~@3]/5",
})).s("gm_electric_guitar_clean").gain(0.25)

// bass · electric bass finger · "Basso"
const bass = note(`<
  ~@3 A B@2 C@2 D E F G D E F G H D F@2 D@2 F@2 I@2 J K L D F@2 D@2 F M I@2 N@2 I@2 N O D E F G D@2 N@2 F P N@2 D E F G
  D E F G H D F@2 D@2 F@2 I@2 N@2 I@2 J Q D E F G D@2 N@2 F P N@2 D E F G D E F@2 I@2 N@2 R@2 S@2 ~@4 T@4 D E F G D E N
  G D E F G D E N G U@5
>`.pickRestart({
  A: "~@12 a1@2 ~ [a#1,b1]", B: "[d2@27 ~ e2@2 ~ [f2,f#2], c2 ~@31]/2", C: "[g2@29 ~@3]/2", D: "d2!8", E: "d2!6 e2 f#2",
  F: "g1!8", G: "g1!4 a1!4", H: "d1@3 ~ d1@3 ~ d1@3 ~ d1@3 ~", I: "e1!8", J: "a1!7 g1", K: "a1 g1 a1!6",
  L: "d1@3 ~ d1@3 ~ d1@3 ~@5", M: "g1!7 f#1", N: "a1!8", O: "a2@2 a2@2 a2@2 a2@2 a2@2 a2@2 a2@3 ~", P: "g1!7 b1",
  Q: "a1 g1 a1!3 a2!3", R: "a#1!8", S: "c2!8", T: "[d2@22 e2@3 ~ f2@3 e2 g2@31 ~@3, ~@30 f#2 ~@33]/4",
  U: "[d2@77 ~@3]/5",
})).s("gm_electric_bass_finger").gain(0.43)

// other · overdriven guitar · "overmedia"
const overdriven_guitar_2 = note("<~@36 A B A B A B A B ~@55 C D@2 E@2 F G H@2 I ~@28>".pickRestart({
  A: "g5 f#5", B: "e5 d5", C: "~@12 [b6,c7,d7,e7] [f6,g6,a6] [a5,b5,c6,d6,e6] [d5,e5,f5,g5]",
  D: "[[a4,c5] ~@5 c#5@5 ~ d5@6 b4@5 ~ c#5@3 ~ d5@3 ~, b4@5 ~@27]/2", // Am
  E: "[c#5@5 ~ d5@5 ~ e5@6 c#5@5 ~ d5@3 ~ e5@3 ~]/2", F: "d5@13 ~@3",
  G: "~@10 [d3,d#3] [e3,f3,g3] [a3,b3,c4] [d4,e4,f4] [g4,a4,b4] [c5,d5,e5]", // D#maj7 Em Am Dm G C
  H: "[a5@22 ~@2 [g5,g#5] [e5,f5,f#5] [c5,d5,d#5] [a4,a#4,b4] [f#4,g4,g#4] [d4,e4,f4] [a3,b3,c4] [a2,b2,c3], f5 ~@31]/2", // G#maj7 Cm Dm Am
  I: "g2 ~@15",
})).s("gm_overdriven_guitar").gain(0.16)

// other · overdriven guitar · "oversolista"
const overdriven_guitar_3 = note("<~@102 A ~ B@2 ~@31>".pickRestart({
  A: "d5 c#5@6 ~@9", B: "[~@2 c#5!7 ~@23, ~ d5@25 ~@6]/2",
})).s("gm_overdriven_guitar").gain(0.39)

// drums · rim
const rim = s("rim").struct("<~@43 [x!2 ~@2] ~@71 [~@3 x ~@4] ~@21>").gain(0.32)

// drums · kick
const kick = s("bd").struct(`<
  ~@8 A@7 B C A@10 D C A@14 E F@11 G F@7 H C A@13 I J F@11 K F@15 L ~@6 M N F@14 E O ~@5
>`.pickRestart({
  A: "x ~ x!3 ~ x ~", B: "x ~ x!3 ~ x!2", C: "x!3 ~", D: "x ~ x!3 ~@3", E: "x ~@2 x!2 ~@2 x", F: "x ~@2 x!2 ~@3",
  G: "x ~@5 x ~ x ~@6 x", H: "x ~@2 x ~@4", I: "x ~ x ~ x ~@2 x", J: "x ~ x!2 ~@4", K: "x!4", L: "x!2 ~@2", M: "x",
  N: "~@3 x ~@4", O: "~ x ~ x ~ x ~ x",
})).gain(0.32)

// drums · snare
const snare = s("sd").struct(`<
  ~@7 A B@8 C B@10 D C B@7 E B@6 F B@11 F B@7 G H B@14 I B@11 J B@15 K ~@7 L B@15 M ~@5
>`.pickRestart({
  A: "~@13 x!2 ~", B: "~ x ~ x", C: "~@3 x", D: "~@4 x ~@7 x ~ x!2", E: "x!2 ~ x", F: "~@2 x ~@2 x!2 ~",
  G: "~@4 x ~@3 x!2 ~@6", H: "~@12 x!2 ~@2", I: "~@4 x ~@3 x!3 ~@5", J: "~@2 x!3 ~ x ~ x!3 ~ x!4", K: "~@6 x!2 ~@8",
  L: "~@10 x!6", M: "x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2",
})).gain(0.32)

// drums · low tom
const low_tom = s("lt").struct("<~@55 A ~@7 B ~@14 C B ~@27 B ~@6 D E ~@21>".pickRestart({
  A: "~@4 x ~@2 x", B: "~@14 x!2", C: "~@7 x!2 ~@7", D: "~@7 x", E: "~ x ~ x ~@4",
})).gain(0.32)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@15 A ~@39 B ~@7 C ~@14 D C ~@27 C ~@6 E ~@22>".pickRestart({
  A: "~@3 x", B: "~@8 x ~@3 x!2 ~@2", C: "~@12 x!2 ~@2", D: "~@3 x ~@4", E: "~@3 x ~ x ~ x",
})).gain(0.32)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@19 A ~@3 A ~@3 B ~@3 A ~@3 A ~@3 A ~@3 C ~@11 D ~@11 A ~@3 A ~@3 A ~@2 E F ~@57
>`.pickRestart({
  A: "~@7 x", B: "~@2 x!6", C: "~ x ~@6", D: "~ x ~ x ~@4", E: "~@5 x ~@2", F: "~@3 x ~@4",
})).gain(0.32)

// drums · high tom
const high_tom = s("ht").struct("<~@15 A ~@27 B ~@19 C ~@43 D ~@6 E ~@22>".pickRestart({
  A: "~@3 x", B: "~ x", C: "~@10 x!2 ~@4", D: "~@8 x!4 ~@4", E: "~ x ~ x ~@4",
})).gain(0.32)

// drums · crash
const crash = s("cr").struct(`<
  ~@8 A ~@3 A ~@2 B C ~@10 B C ~@7 A ~@7 A ~@2 D A ~@3 A ~@2 D A ~@2 D A ~@3 C ~@13 E F A ~@2 D A ~@3 A ~@2 A@2 ~@2 D A
  ~@3 A ~@6 G A ~@5 A ~ A ~@2 D A ~@3 A ~@3 A ~ A ~ A ~@4
>`.pickRestart({
  A: "x", B: "~@7 x", C: "x!3 ~", D: "~@3 x", E: "x ~@2 x", F: "x ~@6 x", G: "~ x ~@2",
})).gain(0.32)

// drums · ride
const ride = s("rd").struct("<~@12 A ~@31 B@11 C B@7 D E ~@13 F G B@11 A B@15 H ~@8 B@14 I ~@6>".pickRestart({
  A: "x", B: "x!8", C: "x!6 ~@2", D: "x!4 ~@4", E: "~@3 x", F: "~@5 x ~@2", G: "~@3 x ~@4", H: "x!2 ~@6", I: "x!7 ~",
})).gain(0.32)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~@7 A ~@8 A ~@10 B A ~@15 C D@10 ~ D@7 E F ~@15 D@11 G D@15 G ~@8 D@15 H ~@5
>`.pickRestart({
  A: "~@3 x", B: "~@5 x!2 ~", C: "~ x ~ x", D: "x!4", E: "x!2 ~@2", F: "x ~@3 x ~@3 x ~@4 x ~@2", G: "x",
  H: "~ x ~@3 x ~@3 x ~@3 x ~@2",
})).gain(0.32)

// drums · bongos
const bongos = s("bongo:4").struct("<~@28 [~@3 x] ~@14 [~@5 x!2 ~] ~@93>").gain(0.85)

stack(
  tremolo_strings, overdriven_guitar, electric_guitar_jazz, electric_bass_finger, electric_guitar_clean, bass,
  overdriven_guitar_2, overdriven_guitar_3, rim, kick, snare, low_tom, hihat, mid_tom, open_hat, high_tom, crash, ride,
  tambourine, bongos
)

More by Nek