Strudelify

Non ti passa piu

883

KeyE♭ majorTempo136 bpm
0:00/0:00
// Non ti passa piu — 883
// 136 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 132 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(136/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(`<
  ~@2 A B C D E A F G A B C D E A F G ~ H I J K J L M N H I J K J L M N O@2 P@2 Q@2 R S T S U S V T W T H I J K J L M N
  H I J K J L M N O@2 P@2 Q@2 R S T S U S V T X S T S U S V T W T H I J K J L M Y H I J K J L M Y O@2 P@2 Q@2 R S T S U
  S V T X S T S U S V T W T ~
>`.pickRestart({
  A: "eb2", B: "d2", C: "c2", D: "bb1", E: "ab1", F: "ab1 bb1", G: "eb1", H: "~@2 g1@3 ~ ab1@2 ab1@3 ~ ab1@2 bb1@2",
  I: "~@2 bb1@3 ~ c2@3 ~ c2@2 c2@2 c2@2", J: "~@2 g1@2 g1@2 ab1@2 ab1@3 ~ ab1@2 bb1@2",
  K: "bb1@2 bb1@3 ~ eb1@3 ~ eb1@2 eb1@2 eb1@2", L: "bb1@2 bb1@3 ~ c2@3 ~ c2@2 eb2@2 ab1@2",
  M: "~@2 ab1@2 ab1@2 bb1@2 bb1@3 ~ bb1@2 eb1@2", N: "~ [eb1,eb2] [eb2,eb3] [eb1,eb2]!3 [eb2,eb3] [eb1,eb2]",
  O: "[d2 ~ d2 ~ d2 ~ d2 ~ g1 ~ g1 ~ g1 ~ c2@4 c2 ~ c2 ~ c2 ~ eb2 ~ eb2 ~ c2 ~ bb1 ~]/2",
  P: "[ab1@4 ~@2 ab1 ~ ab1 ~ ab1 ~ ab1 ~ eb2@4 eb2 ~ eb2 ~ eb2 ~ eb2@4 eb2@4]/2",
  Q: "[d2@4 d2 ~ d2 ~ g1 ~ g1 ~ g1 ~ c2@4 c2 ~ c2 ~ c2 ~ eb2 ~ eb2 ~ c2 ~ bb1 ~]/2",
  R: "ab1@4 ~@2 ab1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~", S: "bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  T: "eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", U: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  V: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~", W: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ bb1 ~ bb1 ~ bb1 ~ bb1 ~",
  X: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ eb2 ~ eb2 ~ eb2 ~ eb2 ~", Y: "~ eb1 eb2 eb1!3 eb2 eb1",
})).s("gm_electric_bass_finger").gain(0.64)

// other · distortion guitar
const distortion_guitar = note("<~@57 A@2 ~@6 A@2 ~@65>".pickRestart({
  A: "[~@7 eb3@2 eb3!7]/2",
})).s("gm_distortion_guitar").gain(0.36)

// chords · pad warm
const pad_warm = note(`<
  ~@27 A B A C@2 D@3 E F G H I J K L M N O M P M Q R A B A C@2 D@3 A B A C@2 D@3 E F G H I J K L M N O M P M S L M N O M
  P M Q R A B A C@2 D@3 A B A C@2 D@3 E F G H I J K L M N O M P M S L M N O M P M Q R ~
>`.pickRestart({
  A: "[g3,bb3] [ab3,c4], eb4", B: "[bb3,d4,f4] [c4,eb4,g4]", C: "[[d4,f4] g3@2 [ab3,c4], bb3@3 ~, ~ eb4@3]/2",
  D: "[[bb3,d4,f4] g4 ab3 [d4,f4] [g3,eb4]@2, ~ [c4,eb4]@2 bb3@3]/3", E: "[d4,g4]", F: "[eb4,g4]", G: "[eb4,ab4]",
  H: "[eb4,bb4]", I: "[d4,g4,b4]", J: "[eb4,g4,c5]", K: "c5 bb4, [eb4,ab4]", L: "[d4,f4,bb4]", M: "[bb3,eb4,g4]",
  N: "[bb3,d4,f4]", O: "[c4,eb4,g4]", P: "[c4,eb4,ab4]", Q: "[c4,eb4,ab4] [bb3,d4,f4]", R: "[g3,bb3,eb4]",
  S: "[c4,eb4,ab4] [eb4,g4,bb4]", // Ab Eb
})).s("gm_pad_warm").gain(0.22)

// bass · piano
const bass_2 = note(`<
  ~@19 A B C D C E F G H B C D C E F G ~@16 A B C D C E F G H B C D C E F G ~@24 A B C D C E F G A B C D C E F G ~@25
>`.pickRestart({
  A: "~@2 [g1,g2]@3 ~ [ab1,ab2]@2 [ab1,ab2]@3 ~ [ab1,ab2]@2 [bb1,bb2]@2", // G Ab Bb
  B: "~@2 [bb1,bb2]@3 ~ [c2,c3]@3 ~ [c2,c3]@2 [c2,c3]@2 [c2,c3]@2", // Bb C
  C: "~@2 [g1,g2]@2 [g1,g2]@2 [ab1,ab2]@2 [ab1,ab2]@3 ~ [ab1,ab2]@2 [bb1,bb2]@2", // G Ab Bb
  D: "[bb1,bb2]@2 [bb1,bb2]@3 ~ [eb1,eb2]@3 ~ [eb1,eb2]@2 [eb1,eb2]@2 [eb1,eb2]@2", // Bb Eb
  E: "[bb1,bb2]@2 [bb1,bb2]@3 ~ [c2,c3]@3 ~ [c2,c3]@2 [eb2,eb3]@2 [ab1,ab2]@2", // Bb C Eb Ab
  F: "~@2 [ab1,ab2]@2 [ab1,ab2]@2 [bb1,bb2]@2 [bb1,bb2]@3 ~ [bb1,bb2]@2 [eb1,eb2]@2", // Ab Bb Eb
  G: "~ [eb1,eb2] [eb2,eb3] [eb1,eb2]!3 [eb2,eb3] [eb1,eb2]", // Eb
  H: "[g1,g2]@2 [g1,g2]@3 ~ [ab1,ab2]@2 [ab1,ab2]@3 ~ [ab1,ab2]@2 [bb1,bb2]@2", // G Ab Bb
})).s("gm_piano").gain(0.49).pan(0.3)

// chords · pad sweep
const pad_sweep = note("<~@2 A B C A D A E F A B C A D A E F ~@114>".pickRestart({
  A: "[bb3,eb4,g4]", B: "[bb3,d4,f4]", C: "[c4,eb4,g4]", D: "[c4,eb4,ab4]", E: "[c4,eb4,ab4] [bb3,d4,f4]",
  F: "[g3,bb3,eb4]", // Eb
})).s("gm_pad_sweep").gain(0.36)

// chords · percussive organ
const percussive_organ = note(`<
  ~@28 A B A B ~@11 C D E F G H I C ~ A B A B ~@4 A B A B ~@11 C D E F G C J D C D E F G H I C ~@24 C D E F G C J D C D
  E F G H I C ~
>`.pickRestart({
  A: "~@14 [bb4,eb5,g5] ~", B: "[bb4,eb5,g5]@3 [bb4,eb5,g5] ~@12",
  C: "[bb4,eb5,g5]@2 [bb5,eb6,g6]@2 [bb4,eb5,g5]@2 [bb5,eb6,g6]@2 [bb4,eb5,g5] [bb5,eb6,g6]!2 [bb4,eb5,g5] [bb5,eb6,g6]@2 [bb4,eb5,g5]@2", // Eb
  D: "[bb4,d5,f5]@2 [bb5,d6,f6]@2 [bb4,d5,f5]@2 [bb5,d6,f6]@2 [bb4,d5,f5] [bb5,d6,f6]!2 [bb4,d5,f5] [bb5,d6,f6]@2 [bb4,d5,f5]@2", // Bb
  E: "[c5,eb5,g5]@2 [c6,eb6,g6]@2 [c5,eb5,g5]@2 [c6,eb6,g6]@2 [c5,eb5,g5] [c6,eb6,g6]!2 [c5,eb5,g5] [c6,eb6,g6]@2 [c5,eb5,g5]@2", // Cm
  F: "[bb4,eb5,g5]@2 [bb5,eb6,g6]@2 [bb4,eb5,g5]@2 [bb5,eb6,g6]@2 [bb4,eb5,g5] [bb5,eb6]!2 [bb4,eb5,g5] [bb5,eb6,g6]@2 [bb4,g5]@2, ~@9 g6@2 ~@5", // Eb Eb5 Eb
  G: "[c5,eb5,ab5]@2 [c6,eb6,ab6]@2 [c5,eb5,ab5]@2 [c6,eb6,ab6]@2 [c5,eb5,ab5] [eb6,ab6]!2 [c5,eb5,ab5] [c6,eb6,ab6]@2 [c5,ab5]@2, ~@9 c6@2 ~@5", // Ab Ab5 Ab Fm
  H: "[bb4,eb5,g5]@2 [bb5,eb6,g6]@2 [bb4,eb5,g5]@2 [bb5,eb6,g6]@2 [bb4,eb5,g5] [bb5,eb6,g6]!2 [bb4,eb5,g5] [bb5,eb6,g6]@2 [bb4,eb5,g5] ~", // Eb
  I: "[c5,eb5,ab5]@2 [c6,eb6,ab6]@2 [c5,eb5,ab5]@2 [c6,eb6,ab6]@2 [bb4,d5,f5] [bb5,d6,f6]!2 [bb4,d5,f5] [bb5,d6,f6]@2 [bb4,d5,f5]@2", // Ab Bb
  J: "[c5,eb5,ab5]@2 [c6,eb6,ab6]@2 [c5,eb5,ab5]@2 [c6,eb6,ab6]@2 [bb4,eb5,g5] [bb5,eb6,g6]!2 [bb4,eb5,g5] [bb5,eb6,g6]@2 [bb4,eb5,g5]@2", // Ab Eb
})).s("gm_percussive_organ").gain(0.22).pan(0.8)

// other · piano
const piano = note("<~@26 A@9 ~@15 B ~@11 C ~@27 B ~@41>".pickRestart({
  A: "eb3!16", B: "~@2 eb2!14", C: "~@3 eb2@2 eb3!2 eb2",
})).s("gm_piano").gain(0.37).pan(0.7)

// other · guitar harmonics
const guitar_harmonics = note("<~@97 A B C D E F G H I J ~@25>".pickRestart({
  A: "~@10 eb3 ~ eb3 ~ eb2@2", B: "eb3!2 eb2@2 eb3!2 eb2@2 eb3!2 eb2@2 eb3!2 eb2@2",
  C: "eb2@2 eb3@2 eb3@2 bb2!2 bb2@2 eb3!2 eb3@2 c3@2", D: "f2@2 c3 bb2 eb3!2 c3@2", E: "eb2 eb3@2 bb2@2 eb3@2 c3",
  F: "f2!2 c3 bb2 eb3!3 bb2", G: "eb2@2 eb3 bb2@2 eb3@2 c3", H: "f2!2 c3 bb2 eb3!2 bb2 eb2", I: "eb3!2 bb2!6",
  J: "eb3!2 bb2!2 eb3 bb2!2 eb3",
})).s("gm_guitar_harmonics").gain(0.31).pan(0.7)

// bass · synth bass 1
const bass_3 = note("<~@98 A B C D E D F G H ~@25>".pickRestart({
  A: "~@14 eb1!2", B: "eb1@2 g1@3 ~ ab1@2 ab1@3 ~ ab1@2 bb1@2", C: "~@2 bb1@3 ~ c2@3 ~ c2@2 c2@2 c2@2",
  D: "~@2 g1@2 g1@2 ab1@2 ab1@3 ~ ab1@2 bb1@2", E: "bb1@2 bb1@3 ~ eb1@3 ~ eb1@2 eb1@2 eb1@2",
  F: "bb1@2 bb1@3 ~ c2@3 ~ c2@2 eb2@2 ab1@2", G: "~@2 ab1@2 ab1@2 bb1@2 bb1@3 ~ bb1@2 eb1@2",
  H: "~ [eb1,eb2] [eb2,eb3] [eb1,eb2]!3 [eb2,eb3] [eb1,eb2]", // Eb
})).s("gm_synth_bass_1").gain(0.49).pan(0.7)

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

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

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

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

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

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

// drums · cowbell
const cowbell = s("cb").struct("<~@4 A ~@7 A ~@4 A ~@4 B ~@70 C ~@3 C ~@34>".pickRestart({
  A: "~ x", B: "~@3 x", C: "x!5 ~@11",
})).gain(0.64)

// drums · vibraslap
const vibraslap = s("vibraslap:0").struct("<~@3 A ~@7 A ~@3 A ~@36 B ~@79>".pickRestart({
  A: "~ x", B: "~ x ~@2",
})).gain(6.58)

// drums · bongos
const bongos = s("bongo:4").struct("<~@3 A ~@3 A ~@3 A ~@3 A ~@7 B ~@71 B ~@36>".pickRestart({
  A: "~@4 x!2 ~@2", B: "~@2 x!2 ~@12",
})).gain(0.63)

// drums · congas
const congas = s("conga:18").struct("<~@107 [~@7 x!2 ~@7]!7 ~ [~@7 x!2 ~@7]!7 ~ [~@7 x!2 ~@7]!7 ~@2>").gain(2.05)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@2 A B C D A B C ~ A B C D A B C D ~@114>".pickRestart({
  A: "x ~ x!6", B: "x!7 ~", C: "x!8", D: "x!2 ~@6",
})).gain(2.03)

// drums · guiro
const guiro = s("guiro:4").struct("<~@5 A B C ~@2 B ~@2 A B ~@39 D ~@77>".pickRestart({
  A: "~ x", B: "x", C: "x!2", D: "~ x ~ x ~ x ~@2",
})).gain(11.83)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct("<~@4 A ~@3 A ~@3 A ~@3 A ~@115>".pickRestart({
  A: "x!5 ~@11",
})).gain(0.7)

// drums · lt
const lt = s("lt").struct("<~@24 [~@3 x] ~@71 [~@3 x] ~@35>").gain(0.64)

stack(
  bass, distortion_guitar, pad_warm, bass_2, pad_sweep, percussive_organ, piano, guitar_harmonics, bass_3, kick, snare,
  snare_soft, hihat, open_hat, crash, cowbell, vibraslap, bongos, congas, cabasa, guiro, woodblocks, lt
)

More by 883