Strudelify
Nella notte (Molella remix) cover art

Nord Sud Ovest Est

Nella notte (Molella remix)

883

KeyD minorTempo129 bpm
0:00/0:00
// Nella notte (Molella remix) — 883
// 129 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 126 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(129/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 · fretless bass
const bass = note(`<
  ~@9 A B C D B@2 C E A B C D B@2 C E A B C D B@2 C ~ F G H ~ A B C D A B C D A B C ~ A B C D A B C D A B C D A B C ~ F
  G H ~ A B C D A B C D A B C ~ A B C I A B C I A B C D A B C ~ F G H ~@5 A B C ~ A B C D A B C D ~@9
>`.pickRestart({
  A: "d2 ~ d2 ~ d1@3 d2 ~ d2 ~ d2 d1 ~ d1 ~", B: "d2 ~ d2 ~ d1@2 ~ d2 ~ d2 ~ d2 d1 ~ d1 ~",
  C: "f2 ~ f2 ~ f1@2 ~ f2 ~ f2 ~ f2 f1 ~ f1 ~", D: "g2 ~ g2 ~ g1@2 ~ g2 ~ g2 ~ g1 a2 ~ a2 f2",
  E: "g2 ~ g2 ~ g1@3 g2 ~ g2 ~ g1 a2 ~ a2 f2", F: "d2@2 d3!2 d2@2 d3!2 d2@2 d3!2 d2@2 d3!2",
  G: "bb1@2 bb2!2 bb1@2 bb2!2 bb1@2 bb2!2 bb1@2 bb2!2", H: "a1@2 a2!2 a1@2 a2!2 a1@2 a2!2 a1@2 a2!2",
  I: "g2 ~ g2 ~ g1@2 ~ g2 ~ g2 ~ g1 a2 ~ a2 ~",
})).s("gm_fretless_bass").gain(0.64)

// other · vibraphone
const vibraphone = note(`<
  A B A B C B D E@2 ~@8 F ~ G H I J K J L ~ M ~ N ~ O P Q R S T U V W X Y Z AA@2 ~@4 AB ~ AC ~ AD ~ AE AF AG J AH ~ AI ~
  AJ P Q R S T U V W X Y Z AK@2 ~@4 AL ~ AM ~ AN ~ AO ~ AP ~ AQ ~ AR ~ AS P Q R S T U V W X Y Z AK@2 ~@17
>`.pickRestart({
  A: "~@12 [c5,e5] ~ [c5,e5] ~", B: "[c5,f5] ~@2 [c5,f5] ~@12", C: "a5@2 ~ g5@2 ~ e5 d5 c5@3 ~ [c5,e5] ~ [c5,e5] ~",
  D: "~@12 f5 ~ d5 ~", E: "[g5@2 ~ f5@2 ~ g5@2 ~ f5@2 ~ g5@2 ~ f5@2 ~ g5@2 ~ f5@2 ~ g5@2 ~ f5@3 ~@2]/2",
  F: "a4 ~ a4 ~ a4 ~ a4!6 g4@2 f4 ~", G: "a4 ~ a4 ~ a4@2 ~ a4!3 g4 ~ f4 ~@3", H: "~@14 c5 ~",
  I: "c5 ~ c5 ~ c5!3 ~ c5!3 ~ d5@2 c5 ~", J: "~@14 a4 ~", K: "a4!3 ~ a4 ~ a4 ~ a4!2 g4 ~ f4 ~@3",
  L: "a4!3 ~ a4!3 ~ a4!2 g4 ~ f4 ~@3", M: "a4!2 ~@2 a4!3 ~ bb4@2 a4 ~ g4 ~ f4 ~",
  N: "c5!3 ~ c5!3 ~ c5@2 c5 ~ d5@2 c5@2", O: "a4!3 ~ a4@2 a4 ~ bb4@2 a4@2 g4@2 f4 ~", P: "~@13 a4!3",
  Q: "a4!6 c5 ~ c5 ~ c5 ~@5", R: "~ c5!5 d5 ~ c5@2 ~@3 bb4!2 a4", S: "a4!6 c5!2 ~@8",
  T: "~ c5!4 ~ d5 ~ c5@2 ~@2 bb4 ~ bb4 ~", U: "a4@2 ~ f4 ~@10 c5 ~", V: "c5 ~ c5 ~ c5 ~ c5 d5@2 c5 ~@2 bb4 ~ bb4 ~",
  W: "a4@2 ~ f4@2 ~@9 c5 ~", X: "d5 ~ c5 ~ c5 ~ c5 d5@2 c5 ~@2 a4 ~ c5 ~", Y: "c5@3 a4 ~@10 c5 ~",
  Z: "d5 ~ c5 ~ c5 ~ c5 ~ d5 ~ c5 ~ c5 ~ c5 ~", AA: "[d5@3 ~ c5@2 ~ d5@5 c5@2 d5@4 c5@7 ~@7]/2",
  AB: "a4!3 ~ a4 ~ a4!2 ~ a4!2 ~ g4@2 f4 ~", AC: "a4!3 ~ a4 ~ a4!2 ~ a4 g4 ~ f4@2 ~@2",
  AD: "c5!3 ~ c5@2 c5!2 ~ c5!2 ~ d5@2 c5 ~", AE: "a4!3 ~ a4 ~ a4!2 ~ a4 g4 ~ f4 ~@3", AF: "~@14 a4!2",
  AG: "a4!7 ~ bb4 ~ a4 ~ g4 ~ f4 ~", AH: "a4!5 ~ a4!2 ~ a4 a4@2 c5@2 a4 ~", AI: "a4!3 ~ a4 ~ a4!4 a4@2 g4 ~ f4 ~",
  AJ: "a4!3 ~ a4 ~ a4 bb4 ~ bb4 a4 ~ g4@2 f4 ~", AK: "[d5@4 c5@2 ~ d5@5 c5@2 d5@4 c5@7 ~@7]/2",
  AL: "a4!3 ~ a4!3 ~ a4!3 ~ g4@2 f4 ~", AM: "a4!3 ~ a4@2 a4!2 ~ a4 g4 ~ f4 ~@3", AN: "c5!3 ~ c5!3 ~ c5!3 ~ d5 ~ c5 ~",
  AO: "a4 a4@2 ~ a4 ~ a4 a4@2 ~ g4 ~ f4 ~@3", AP: "a4 a4@2 ~ a4 ~ a4@2 bb4 ~ a4 ~ g4@2 f4 ~", AQ: "a4!9 ~ g4 ~ f4 ~@3",
  AR: "c5!3 ~ c5!3 ~ c5!3 ~ d5@2 c5 ~", AS: "a4!8 a4@2 g4 ~ f4 ~@3",
})).s("gm_vibraphone").gain(0.56)

// bass · lead 4 chiff
const bass_2 = note(`<
  ~@9 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B D A E F ~ A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A
  E F ~ A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A E F ~ A@2 B C A@2 B C A@2 B C A@2 B C ~@9
>`.pickRestart({
  A: "[d1,d2] ~ [d1,d2] ~ [d1,d2] ~@2 [d1,d2]!7 ~ [d1,d2]", B: "[f1,f2] ~ [f1,f2] ~ [f1,f2] ~@2 [f1,f2]!7 ~ [f1,f2]",
  C: "[g1,g2] ~ [g1,g2] ~ [g1,g2] ~@2 [g1,g2]!8 [f1,f2]", D: "[g1,g2]!5 ~ [g1,g2]!7 ~@3",
  E: "[bb1,bb2] ~ [bb1,bb2] ~ [bb1,bb2] ~@2 [bb1,bb2]!7 ~ [bb1,bb2]", // Bb
  F: "[a1,a2] ~ [a1,a2] ~ [a1,a2] ~@2 [a1,a2]!7 ~ [a1,a2]", // A
})).s("gm_lead_4_chiff").gain(0.32)

// other · tubular bells
const tubular_bells = note(`<
  ~ A B C D A B C D ~@16 A B C D A B C D ~@12 E B C D ~@20 A B C D A B C D A B C D ~@28 A B C D A B C D ~@9
>`.pickRestart({
  A: "d4 ~@7 e4 ~@7", B: "c4 ~@15", C: "d4 ~@15", D: "g4 ~@7 a4 ~@7", E: "d4@2 ~@6 e4 ~@7",
})).s("gm_tubular_bells").gain(0.42).pan(0.4)

// other · lead 2 sawtooth
const lead_2_sawtooth = note("<~@45 A@2 B C ~@28 A@2 B C ~@28 A@2 B C A@2 B C A@2 B C ~@5>".pickRestart({
  A: "d4 ~ f4 ~ e4@3 d4 ~@2 f4 ~ e4 ~ d4 ~", B: "d4 ~ e4 ~ f4@3 c4@2 ~ e4 ~ f4@2 ~@2",
  C: "d4 ~ f4 ~ e4@3 d4 ~@2 f4 ~ e4@2 f4@2",
})).s("gm_lead_2_sawtooth").gain(0.23).pan(0.3)

// other · synth drum
const synth_drum = note("<A@2 ~@14 B ~@15 C ~@31 D ~@16 D ~@14 E ~@3 C ~@7 F ~@17>".pickRestart({
  A: "[~@4 b5@5 ~@7]/2", B: "b5 ~", C: "b5 ~@7", D: "b5@7 ~@9", E: "b5 ~@15", F: "b5@5 ~@11",
})).s("gm_synth_drum").gain(0.46)

// chords · percussive organ
const percussive_organ = note(`<
  ~@9 A B C D A B C D A B C D A B C D A B C D A B C E ~@4 A F C G A F C G A F C G A F C G A B C D A B C D A B C E ~ H
  ~@2 A F C G A F C G A F C ~@9 A B C D A B C D ~@29
>`.pickRestart({
  A: "d6@4 ~@4 e6@3 ~@5", B: "[f5,a5] ~@3 [f5,a5,c6]!2 ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6]!2 [f5,c6] ~@2, c6@3 ~@13",
  C: "[f5,a5,d6] ~ [f5,a5,d6] ~ [f5,a5,d6]@2 ~@2 [f5,a5,d6] [f5,d6] ~ d6 [f5,a5,d6] ~ [f5,a5,d6] ~", // Dm
  D: "[b5,d6,g6] ~ [b5,d6,g6] ~ [b5,d6,g6]@2 ~@2 d6 [b5,d6,g6] ~ [b5,d6,g6]!2 ~ [b5,d6,g6] ~", E: "[b5,d6,g6] ~@15",
  F: "[f5,a5] ~@3 [f5,a5,c6]!2 ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6]!2 c6 ~@2, c6@3 ~@13", // F
  G: "[b5,d6,g6] ~ [b5,d6,g6] ~ [b5,g6]@2 ~@3 [d6,g6] ~ [b5,d6,g6]!2 ~ [b5,d6,g6] ~", H: "c6 ~@3",
})).s("gm_percussive_organ").gain(0.1).pan(0.9)

// chords · percussive organ · soft notes
const percussive_organ_soft = note(`<
  ~@9 A B C D A B C D A B C D A B C D A B C D A B C ~@5 A E C F A E C F A E C F A E C F A B C D A B C D A B C ~@5 A E C
  F A E C F A E C ~@9 A B C D A B C D ~@29
>`.pickRestart({
  A: "[f5,a5]", B: "~@13 a5 ~@2", C: "~@9 a5 ~ f5 ~@4", D: "~@8 [b5,g6] ~@7", E: "~@13 [f5,a5] ~@2",
  F: "~@4 d6@2 ~@2 [b5,d6,g6] b5 ~@6", // G
})).s("gm_percussive_organ").gain(0.05).pan(0.9)

// chords · percussive organ
const percussive_organ_2 = note(`<
  ~@9 A B C D A B C D A B C D A B C D A B C D A B C E F G H ~@17 A B C D A B C D A B C E F G H ~@21 A B C D A B C D F G
  H ~@26
>`.pickRestart({
  A: "~@9 e6@3 ~@4", B: "~ [f5,a5] ~@3 [f5,a5,c6]!2 ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6]!2 ~@2, ~ c6@3 ~@12",
  C: "~ [f5,a5,d6] ~ [f5,a5,d6] ~ [f5,a5,d6]@2 ~@6 a5 ~ [f5,a5,d6]", // Dm
  D: "~ [b5,d6,g6] ~ [b5,d6,g6] ~@8 g6 [b5,g6] ~ [b5,d6,g6]", E: "~ [b5,d6,g6] ~@14", F: "[a5,d6]", G: "[f5,bb5]",
  H: "[a4,a5]", // A
})).s("gm_percussive_organ").gain(0.04).pan(0.2)

// chords · percussive organ · soft notes
const percussive_organ_soft_2 = note(`<
  ~@9 A B C D A B C D A B C D A B C D A B C D A B C ~@21 A B C D A B C D A B C ~@2 E ~@22 A B C D A B C D ~@29
>`.pickRestart({
  A: "~ [f5,a5]@15, ~ d6@4 ~@11", B: "~@14 [f5,a5,c6] ~", C: "~@9 [f5,a5,d6]!2 ~ [f5,d6]!2 ~@2",
  D: "~@5 [b5,d6,g6]@2 ~@2 [b5,d6,g6]!2 ~ [b5,d6] d6 ~@2", E: "~ c6@4 ~@11",
})).s("gm_percussive_organ").gain(0.01).pan(0.2)

// drums · kick
const kick = s("bd").struct(`<
  ~ A ~@3 A ~@3 B@7 ~ B@15 ~ B@3 C B@11 ~ B@15 C B@3 A B@11 ~ B@15 C B@3 ~ A ~@7 B@8 A ~@3 A ~@3 A
>`.pickRestart({
  A: "x", B: "x!4", C: "x!8",
})).gain(0.58)

// drums · snare
const snare = s("sd").struct("<~@9 A@7 ~ A@15 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~@9 A@8 ~@9>".pickRestart({
  A: "~ x ~ x",
})).gain(0.35)

// drums · hihat
const hihat = s("hh").struct("<~@9 A@23 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~@9 A@8 ~@9>".pickRestart({
  A: "x!4",
})).gain(0.35)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@9 A@7 ~ A@15 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~@9 A@8 ~@9
>`.pickRestart({
  A: "~ x ~ x ~ x ~ x",
})).gain(0.35)

// drums · tambourine
const tambourine = s("tb").struct("<~@9 A@23 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~ A@11 ~ A@15 ~ A@3 ~@9 A@8 ~@9>".pickRestart({
  A: "x!16",
})).gain(0.35)

// drums · lt
const lt = s("lt").struct(`<
  ~ A ~@3 A ~@3 B@7 ~ B@15 ~ B@3 C B@11 ~ B@15 C B@3 A B@11 ~ B@15 C B@3 ~ A ~@7 B@8 A ~@3 A ~@3 A
>`.pickRestart({
  A: "x", B: "x!4", C: "x!8",
})).gain(0.29)

stack(
  bass, vibraphone, bass_2, tubular_bells, lead_2_sawtooth, synth_drum, percussive_organ, percussive_organ_soft,
  percussive_organ_2, percussive_organ_soft_2, kick, snare, hihat, open_hat, tambourine, lt
)

More by 883