Strudelify
Ti lascio una parola cover art

1998 · Una Storia Da Raccontare

Ti lascio una parola

Nomadi

KeyG majorTempo70 bpm
0:00/0:00
// Ti lascio una parola — Nomadi
// 70 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 5 choir aahs (copy of ch 11 choir aahs)
// note: Full arrangement: all 79 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(70/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 · electric bass finger
const bass = note(`<
  ~@9 A B C D ~@4 E F G H I J K L I J K L M N O P Q R S T Q R S T M U O V Q R S T Q R S T M N O P Q R S T Q R S T Q R S
  T M U O V Q R S W X ~
>`.pickRestart({
  A: "g1 f#1", B: "e1 c2", C: "g1 d1", D: "g1@3 g1 g1@4", E: "g1@7 d1 g1 ~ g1@4 d1 e1", F: "g1@7 d1 g1 ~ g1@3 f#1@3",
  G: "e1@7 b0 e1 ~ e1@4 d1 e1", H: "g1@7 d1 g1 a1 g1@4 d1 e1", I: "g1@6 d1 g1 f#1@2 f#1@4 f#1@2",
  J: "e1@6 g1 b1 c2@6 b1 g1", K: "g1@6 d1 g1 d2@6 a1 d2", L: "g1@4 c2@4 g1@4 b1 d2 e2 d1", M: "d1@7 a1 d1 ~ d1@4 a1 d1",
  N: "c2@5 g1 c2 d2 e2 b1 e1@4 e2 e1", O: "d1@7 a1 d2 e2 d2@4 a1 d2", P: "c2@7 g1 c2 g1 c2@4 g1 c2",
  Q: "g1@6 g1 a1 d1@2 d1@4 d2 d1", R: "e1@6 e1 d1 c2@3 g1 c2 d2 c2 g1", S: "g1@6 d1 g1 d2@4 d1@4",
  T: "g1@3 g1 c2@4 g1@6 d1 e1", U: "c2@5 g1 e1@6 e1@2 f#1 g1", V: "c2@3 b1@3 c2@3 b1@3 c2 b1 a1@2",
  W: "c2@3 b1@3 c2@3 b1@4 c2 b1 ~", X: "a1@3 g1@13",
})).s("gm_electric_bass_finger").gain(0.64)

// chords · electric guitar clean · G C5
const electric_guitar_clean = note("<~@17 [~ b3 ~ [g2,b3] ~ c4 ~ [g2,c4]]!2 [~ g3 ~ g3 ~ g3 ~ g3] ~@59>")
  .s("gm_electric_guitar_clean").gain(0.21).pan(0.4)

// other · oboe
const oboe = note("<~ A B C D ~@8 E F G H ~@8 I J K D ~@8 A L M N ~@8 O P Q D ~@8 O P Q D O P Q D ~@10>".pickRestart({
  A: "d5@8 a5@3 g5@3 f#5@2", B: "g5@3 d5@3 c5@2 c5@8", C: "~ f#4 g4 a4 d5@7 e5 d5@3 e5", D: "d5",
  E: "~ f#4 g4 a4 d5@9 ~ c5@2", F: "b4@3 a4@3 g4@8 f#4 g4", G: "d4@8 e4@3 d4@3 c4@2", H: "d4", I: "g4@3 b4 a4@3 f#4",
  J: "g4@6 b4@2 c5@2 c4 d4 e4@2 c4@2", K: "d4 e4 g4 a4 d5@6 ~ e5 d5@3 e5", L: "g5@3 d5@3 c5 d5 c5@8",
  M: "g4 d4 g4 a4 d5@7 e5 d5@3 e5", N: "d5@3 ~", O: "d5@6 b5@2 a5@3 g5@3 f#5@2", P: "g5@8 c6@3 b5@3 a5@2",
  Q: "~ d4 g4 a4 d5@7 e5 d5@3 e5, b5 ~",
})).s("gm_oboe").gain(0.48).pan(0.4)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@9 A B C D ~@8 A B E D A B E D ~@4 A B E D F G E D ~@4 A B E D F G E D ~@4 A B E D F G E D F G E D ~@4 A B E ~ H ~
>`.pickRestart({
  A: "[d4,g4,b4] [d4,f#4,a4]", B: "[b3,e4,g4]@4 e4@2 d4 e4, ~ [g3,g4]", C: "[b3,d4,g4] [a3,d4,f#4,a4]",
  D: "b3 c4 b3@2, [g3,g4]", E: "[b3,d4,g4] [d4,f#4,a4]", F: "~@6 b5@2 a5@3 g5@3 f#5@2, [d4,g4,b4] [d4,f#4,a4]",
  G: "g5@3 d5@3 ~@2 [c4,e4]@3 d4@3 e4@2, [b3,e4,g4] [g3,g4], ~@3 c5@3 ~@2", H: "~@3 [d4,g4,b4]@13",
})).s("gm_string_ensemble_1").gain(0.36)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A@6 B C D E F G A@6 B C D E F G D E F G H I H J K L K M N L K M O P O Q N L K M N L K M H I H J K L K M N L K M N L
  K M O P O Q N L K R S ~
>`.pickRestart({
  A: "d4!8, [g4,b4]!2 [g4,c5]!2", B: "[g3,b3,e4]@2 ~ e2 [g3,b3,e4]@2 [g3,b3,e4]@2, e2@3 ~ e2@4, ~ [g3,b3,e4] ~@2",
  C: "b3!3 [g2,b3] c4!3 [g2,c4], d3!2, g2@3 ~ g2@3 ~, [d4,g4]!4", // G C5 G5
  D: "b3!3 [g2,b3] a3!3 [f#2,a3], d3 ~, g2@3 ~ f#2@3 ~, [d4,g4]!2 [d4,f#4]!2", // G F#m G5 D
  E: "g3!3 [e2,g3] g3!3 [c3,g3], e2@3 ~ c3@3 ~, [b3,e4]!2 [c4,e4]!2", // Em C5 E5 C
  F: "b3!3 [g2,b3] a3!3 [d2,a3], g2@3 ~ d2@3 ~, [d4,g4]!2 [d4,f#4]!2", // G D5 G5 D
  G: "b3!2 [c4,d4,g4]@2 b3!4, g2!2, [d4,g4] ~ [d4,g4]!2", // Csus2 G5
  H: "d3@2 ~@2 [a3,d4,f#4]@2 ~@6 [a3,d4,f#4]@2 ~ [a3,d4,f#4], [a3,d4,f#4]@4 ~@3 [a3,d4,f#4]@2 [a3,d4,f#4]@3 ~@4, ~ d3@2 d3!2 d3@2 d3", // D
  I: "g3@2 ~@2 e4@2 ~ c3 g3@2 ~@2 [b3,e4]@2 ~ e2, c3@7 ~ e2@7 ~, [c4,e4] c4 [b3,e4] ~, ~ g3@2 [g3,e4] ~ g3@2 [g3,b3,e4]", // E5 C E5 C Em
  J: "g3@2 ~@2 e4@2 ~ c3 g3@2 ~@2 [c4,e4]@2 ~ c3, c3@7 ~ c3@7 ~, [c4,e4] c4 [c4,e4] ~, ~ g3@2 [g3,e4] ~ g3@2 [g3,c4,e4]", // C
  K: "b3@2 b3@2 [b3,d4,g4]@2 ~ g2 d3@2 ~@2 [a3,d4,f#4]@2 ~ [a3,d4,f#4], g2@7 ~@3 d3@4 d3@2, [d4,g4]@2 ~ [b3,d4,g4] [a3,d4,f#4]@2 ~@2", // G D G5 G D
  L: "g3@2 ~@2 [b3,e4]@2 ~ e2 g3@2 ~@2 e4@2 ~ c3, e2@7 ~@3 g3@4 [g3,e4]@2, [b3,e4] ~ [c4,e4] c4, ~@2 g3@4 [g3,b3,e4]@2 c3@7 ~", // E5 C E5 C Em
  M: "b3@2 b3@2 [c4,d4,g4]@2 ~ g2 b3@2 b3@2 [b3,d4,g4]@2 ~ g2, g2@7 ~ g2@7 ~, [d4,g4]@2 ~ [c4,d4,g4] [d4,g4]@2 ~ [b3,d4,g4]", // Csus2 G G5 Csus2 G5 G
  N: "~@2 b3@2 [b3,d4,g4]@2 ~ g2 d3@2 ~@2 [a3,d4,f#4]@2 ~ [a3,d4,f#4], g2@7 ~@3 d3@4 d3@2, [d4,g4]@2 ~ [b3,d4,g4] [a3,d4,f#4]@2 ~@2", // G D G5 G D
  O: "[a3,d4,f#4]@4 [a3,d4,f#4]@3 [a3,d4,f#4]@2 [a3,d4,f#4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]", // D
  P: "g3 ~ [c4,e4] g3 ~ [b3,e4] [g3,b3,e4]!2, [c4,e4]@2 ~ [b3,e4]@2 ~@3, ~ g3@2 ~ g3@2 ~@2", // C E5 Em C E5
  Q: "[g3,c4,e4]@2 g3 [g3,b3,d4]@2 ~ [g3,c4,e4]@2 ~ [g3,b3,d4]@3 [c4,e4] [b3,d4] [a3,c4]@2", // C G C G C Bm Am
  R: "[b3,c4,e4]@2 g3 [g3,b3,d4]@2 ~ [g3,c4,e4]@3 [g3,b3,d4]@3 ~@2 [b3,d4] ~, ~@13 [c4,e4]@2 ~", // Cmaj7 G C G Bm C
  S: "[a3,c4]@3 [g2,d4,g4]@13", // Am G5
})).s("gm_acoustic_guitar_steel").gain(0.42).pan(0.6)

// other · distortion guitar
const distortion_guitar = note("<~@41 A B C D ~@24 A E F G H I@2 J K ~>".pickRestart({
  A: "[d4,a4,d5] ~ d5!2 d5@6 a5 d5@5", B: "c5@3 b4@3 d5 f5 d5@4 ~ a4@2 ~",
  C: "a4@8 ~ [d4,e4] f#4 [g4,a4] b4 [c5,d5] e5 [f#5,g5], g4 ~@15", D: "d6@9 d6@2 d6@5",
  E: "c5@3 b4@3 g5@4 e5 [b4,d5] g4@4", F: "~@2 d4 [a4,d5,g5] a5@4 a5 g5 f#5 d5 b4 a#4 a4 g4",
  G: "[e5,g5]!2 e5 [d5,f#5]!2 [c5,d5] [c5,e5] e5 [b4,c5,d5] [b4,d5] [g4,b4,d5] c5 [g4,c5] d5@3", // Em D Csus2 C Bm G C5
  H: "g4@5 a4@3 a4@5 [a4,d5]@3, ~@8 g4 ~@7", // D5
  I: "[[g4,b4]@7 g4 g4@4 a4 ~@6 g5@4 f#5 a5@7 [d4,e4], ~@7 c5@5 ~ g4@10 ~ g5 ~@7]/2", // G Dsus2
  J: "[f#4,g4] [a4,b4] [c5,d5] [e5,f#5] [g5,a5] [b5,c6] d6@3 d6@3 ~ d6@3", K: "d6@3 g5@13",
})).s("gm_distortion_guitar").gain(0.48).pan(0.3)

// other · distortion guitar · soft notes
const distortion_guitar_soft = note("<~@72 [~@2 g5!2 ~ f#5 ~ c5 ~@3 g4 ~@4] ~@6>")
  .s("gm_distortion_guitar").gain(0.27).pan(0.3)

// chords · string ensemble 1
const string_ensemble_1_2 = note("<A@4 B@5 ~@3 C@5 ~@62>".pickRestart({
  A: "[~@15 [d3,g3,b3]@8 [d3,g3,c4]@8 [d3,g3,b3]@8 [d3,g3,c4]@8 [d3,g3,b3]@8 [d3,g3,c4]@8 [d3,g3,b3]]/4", // G Csus2 G Csus2 G Csus2 G
  B: "[~@7 [d3,g3,c4]@8 [g3,b3]@8 [g3,c4]@8 [g3,b3]@8 [g3,c4]@8 [e2,g3,b3]@16 b3@8 c4@8 ~, ~@15 g2@32 ~@16 [g2,d4]@16 ~]/5", // Csus2 G C5 G C5 Em G5
  C: "[~@15 [d3,g3,b3]@8 [d3,g3,c4]@8 [d3,g3,b3]@8 [d3,g3,c4]@8 [d3,g3,b3]@8 [d3,g3,c4]@8 [d3,g3,b3]@8 [d3,g3,c4]@8 ~]/5", // G Csus2 G Csus2 G Csus2 G Csus2
})).s("gm_string_ensemble_1").gain(0.21).pan(0.6)

// chords · rock organ
const rock_organ = note(`<
  ~ A@6 B A C D C E A@6 B A C D C E C D C E F G H I J K L M N K L M F O H P J K L M N K L M F G H I J K L M N K L M N K
  L M F O H P J K L Q R ~
>`.pickRestart({
  A: "[b4,d5,g5] [c5,d5,g5]", B: "[b4,d5,g5]", C: "[b4,d5,g5] [a4,d5,f#5]", D: "b4 c5, [g4,e5]",
  E: "b4 c5 [b4,d5,g5]@2, [d5,g5] ~", F: "[d5,f#5,a5]", G: "[c5,e5,g5]@7 ~ [e5,g5,b5]@8", H: "[d5,f#5,a5]@7 ~",
  I: "[g5,c6,e6]", J: "[g4,b4,d5] [f#4,a4,d5]", K: "[e4,g4,b4] [e4,g4,c5]", L: "[g4,b4]@7 ~ [f#4,a4]@8, d5",
  M: "b4 c5 b4@2, [g4,d5]", N: "~ [f#4,a4,d5]", O: "[c5,g5]@3 [e5,g5,b5]@5, e5 ~@15",
  P: "[e5,g5,c6]@3 [d5,g5,b5]@3 [e5,g5,c6]@3 [d5,g5,b5]@3 [e5,c6] [d5,b5] [c5,a5]@2", // C G C G C G F
  Q: "[e5,g5,c6]@3 [d5,g5,b5]@3 [e5,g5,c6]@3 [d5,g5,b5]@4 [e5,c6] [d5,b5] ~", R: "[c5,a5] [g4,b4,d5]@7",
})).s("gm_rock_organ").gain(0.3).pan(0.4)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~@28 A B C D E F G H I F G H J B K D L F G H I F G H M B C D E F G H I F G H M F G H M B K D L F G H N O ~
>`.pickRestart({
  A: "~@3 [g2,d3]", B: "[d3,a3]@13 ~ [d3,a3]!2", C: "[c3,g3]@8 [e2,b2]@7 [e2,b2]", D: "[d3,a3]@7 [d3,a3]",
  E: "[c3,g3]@7 [c3,g3]", F: "g2@3 [g#2,a2] d3@4", G: "e2@4 ~ e2 g2 b2 c3@8", H: "g2 d3", I: "g2 c3 g2@2",
  J: "g2@4 c3@4 g2@3 ~ [g2,d3]@4", K: "[c3,g3]@6 [e2,b2]@9 [e2,b2]",
  L: "[c3,g3]@3 [b2,g3]@3 [c3,g3]@3 [b2,g3]@3 [c3,g3] [b2,g3] [a2,g3]@2", M: "g2@4 c3@4 g2 ~@3 [g2,d3]@4",
  N: "[c3,g3]@3 [b2,g3]@3 [c3,g3]@3 [b2,g3]@3 ~ [c3,g3] [b2,g3] ~", O: "[a2,g3]@3 g2@13",
})).s("gm_overdriven_guitar").gain(0.37).pan(0.6)

// drums · rim
const rim = s("rim").struct("<[x!4] ~@78>").gain(0.4)

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

// drums · snare
const snare = s("sd").struct("<~@16 A B@11 C B@3 D B@3 C B@5 E B F B@3 C B@7 D B@3 C B@9 E B F B@3 G H I>".pickRestart({
  A: "~@11 x!2 ~@3", B: "~ x ~ x", C: "~@4 x ~@6 x!2 ~@3", D: "~@4 x ~@4 x ~@2 x ~@3", E: "~ x!2 ~@9 x ~@3",
  F: "x ~@2 x ~ x ~ x", G: "x ~@5 x ~@4 x ~@4", H: "x ~@14 x", I: "x",
})).gain(0.8)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@16 A ~@7 A ~@3 A ~@7 B ~@3 B ~ C ~ D ~@3 B ~@3 B ~@7 B ~@3 B ~@3 B ~ C ~ D ~@3 E ~@2
>`.pickRestart({
  A: "~@13 x!2 ~", B: "~@15 x", C: "~@3 x!2 ~@11", D: "~@3 x ~ x ~@3 x ~@2 x ~@3", E: "~@3 x ~ x ~@3 x ~@3 x ~@2",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<~@17 A B@2 C B@3 D A B@2 D ~@16 E F@2 G ~@29 H>".pickRestart({
  A: "~ x!7", B: "x!8", C: "x!6 ~ x", D: "x ~ x!2 ~@2 x!2 ~@2 x!3 ~ x ~", E: "~@2 x ~ x ~ x ~ x ~ x ~ x ~ x!2",
  F: "x ~ x ~ x ~ x!3 ~ x ~ x ~ x!2", G: "x!2 ~ x ~ x ~@2", H: "x",
})).gain(0.4)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@32 A ~@3 B ~@3 B ~@3 C ~@3 B ~@3 B ~@3 A ~@3 B ~@3 B ~@3 B ~@3 C ~@3 C ~@2
>`.pickRestart({
  A: "~@14 x!2", B: "~@13 x!2 ~", C: "~ x ~@5 x ~@8",
})).gain(0.56)

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

// drums · ride
const ride = s("rd").struct(`<
  ~@13 A@4 ~@12 B C D E F D@2 G F D@2 H B I B J ~@4 F D@2 H B C D E F D@2 G F D@2 H F D@2 H B I B J F D@2 K L ~
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "~@2 x ~ x ~ x!3 ~ x ~ x ~ x!2", C: "x ~ x ~ x ~ x!3 ~ x ~@3 x!2",
  D: "x ~ x ~ x ~ x!3 ~ x ~ x ~ x!2", E: "x ~ x ~ x ~ x ~ x ~ x ~@3 x!2", F: "~@2 x ~ x ~ x ~ x ~ x ~ x ~ x!2",
  G: "x!2 ~ x ~ x ~@2", H: "x!4 ~ x ~@2", I: "~@2 x ~ x ~@2 x!2 ~ x ~@3 x!2", J: "~@2 x ~ x ~ x ~ x ~ x ~@3 x!2",
  K: "~@2 x ~ x ~ x ~ x ~@2 x ~@4", L: "x!2 ~ x!10 ~@3",
})).gain(0.4)

// drums · tambourine
const tambourine = s("tb").struct("<~@29 A@15 B A@27 B A@3 C D ~>".pickRestart({
  A: "x!16", B: "x!5 ~ x!8 ~ x", C: "x!5 ~ x!4 ~ x!4 ~", D: "~ x ~ x ~@12",
})).gain(0.24)

stack(
  bass, electric_guitar_clean, oboe, string_ensemble_1, acoustic_guitar_steel, distortion_guitar,
  distortion_guitar_soft, string_ensemble_1_2, rock_organ, overdriven_guitar, rim, kick, snare, low_tom, hihat, mid_tom,
  crash, ride, tambourine
)

More by Nomadi