Strudelify

Resta... resta cu' mme

Daniele

KeyG majorTempo106 bpm
0:00/0:00
// Resta... resta cu' mme — Daniele
// 106 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 70 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(106/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 · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@11 A B C ~ D E ~ F G ~@12 H I J K@2 B C L@2 ~@2 M N O P Q@2 ~@2 R ~@12 S T U V W@2
>`.pickRestart({
  A: "~@3 [g4,g5]", B: "[d4,d5]@5 ~ [f#4,f#5]@2", C: "[d4,d5]@13 ~@3", D: "~@8 b3@2 d4 ~ d4@2 e4@2",
  E: "a3@2 g3 ~ g3@11 ~", F: "~@12 b3@2 d4 ~", G: "e4@2 g4 ~ g4@2 e4 ~ a4@2 g4 ~ d#4@2 b3@2", H: "~ g4!2 d4@3 ~@2",
  I: "~@3 [g4,b4] d5@2 d5@2 ~ e5 d5@4 ~@2", J: "~@2 c5@2 c5@6 ~@4 a4 b4",
  K: "[a4@3 ~ g4 f#4 g4@4 d4@2 c4@2 b3@6 ~@8 [g4,g5]@4]/2", L: "[~@9 c5 ~ c5 c5@3 a4@6 ~@11]/2",
  M: "~ e4!2 f#4!2 g4!2 a4!2 b4!2 c5!2 d5!2 e5", N: "~ d5@4 ~@7 e5@4", O: "d5@8 ~@6 a4 ~", P: "a4 ~ g4 g4@7 ~@6",
  Q: "[~@6 f#4 g4 f#4@4 e4 d4 e4@4 ~@14]/2", R: "b2 d#3 ~ f#3 b3 d#4 ~ f#4 a4@2 g4@2 f#4@2 g4@2", S: "~ g4 d4@2",
  T: "~ f#4!2 d4@3 ~@2", U: "~@4 d5@4 e5@2 d5 ~ d5@2 c5 ~", V: "c5@2 b4 ~ b4@6 ~@2 a4@3 ~", W: "[g4@23 ~@9]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.64).pan(0.4)

// other · electric guitar muted
const electric_guitar_muted = note("<~@20 A B C D E F E G E F E G ~@20 C B C D E G E F E G E F ~@6>".pickRestart({
  A: "e4@2 e4 ~@3 e4 ~ e4@2 e4 ~@3 e4@2", B: "d4 ~ d4 ~@3 d4@2 d4 ~ d4 ~@3 d4@2",
  C: "e4@2 e4 ~@3 e4@2 e4 ~ e4 ~@3 e4@2", D: "d4 ~ d4 ~@3 d4 ~ d4@2 d4 ~@3 d4 ~",
  E: "g3@2 ~@2 e3@2 d3 ~ g3@2 e3@2 d3@2 g3@2", F: "~@2 g3@2 e3 ~ d3@2 g3@2 g3@2 b3@2 ~@2", G: "~ g3 e3 d3 g3!2 b3 ~",
})).s("gm_electric_guitar_muted").gain(0.56)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon_2 = note(`<
  A@4 B@2 C@2 D@2 E@2 B@2 C@2 D@2 F@2 G@4 H@4 I@2 J@2 A@4 B@2 C@2 D@2 K@2 B@2 C@2 L@2 M@2 G@4 N@2 H@2 O@2 J@2 A@4 P@2
>`.pickRestart({
  A: "[[g2,d3,g3,d4]@4 ~@2 g2@2 ~@2 [d3,g3,d4]@3 ~ [d3,a3,d4]@4 [a3,d4,e4]@3 ~ [f#2,d3,a3,d4]@2 ~@2 [d3,a3,d4]@3 ~ [f#2,d3,a3,d4]@2, ~@3 [d3,g3,d4]@2 ~@11, ~@4 g2@2 ~ f#2@3 ~@2 f#2@2 ~@2]/2", // G5 D5 Asus4 D D5 D G5
  B: "[[g2,d3,g3,d4]@4 ~@2 g2@2 ~@2 [d3,g3,d4,g4]@3 ~ [f#2,d3,a3,d4]@6 ~@2 [f#2,d3,a3,d4]@2 ~@2 [d3,a3,d4]@3 ~ [f#2,d3,a3,d4]@2, ~@3 [d3,g3,d4]@2 ~@11, ~@2 g2 ~@3 f#2 ~]/2", // G5 D D5 D G5
  C: "[[e2,e3,g3,b3]@4 ~@2 e2@2 ~@2 [g3,b3,e4]@3 ~ [f#3,a3,d4]@4 [f#3,a3,d4,f#4]@3 ~ [b2,f#3,a3,d4]@2 ~@2 [f#3,a3,d4,f#4]@2 ~@2 a2@2, ~@3 [e3,g3,b3]@2 ~@2 b2@3 ~@2 b2@2 [f#3,a3,d4]@2, ~@2 e2 ~@5]/2", // Em D Bm7 D Em D
  D: "[[a2,e3,g3,c4,e4]@4 ~@2 a2@2 ~@2 [e3,g3,c4,e4]@3 ~ [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4]@3 ~ [c3,g3,a#3,d#4,g4]@2 ~@2 [g3,a#3,d4,g4]@2 ~@2 c3@2, ~@3 [e3,g3,c4,e4]@2 ~@9 [g3,a#3,d4,g4]@2, ~@4 a2@2 ~ c3@3 ~@2 c3@2 ~@2]/2", // Am7 C D# Cm7 Gm C Gm
  E: "[[g2,d3,g3]@4 ~@2 g2@2 ~@2 [d3,g3,d4]@3 ~ [d3,a3,d4]@4 [a3,d4,e4]@3 ~ [f#2,d3,a3,d4]@2 ~@2 [d3,a3,d4]@3 ~ [f#2,d3,a3,d4]@2, d4 ~@2 [d3,g3,d4]@2 ~@11, ~@4 g2@2 ~ f#2@3 ~@2 f#2@2 ~@2]/2", // G5 D5 Asus4 D D5 D G5
  F: "[[g2,d3,d4]@4 ~@2 g2@2 ~@2 [d3,g3,d4]@3 ~ [f#2,d3,a3,d4]@6 ~@2 [b2,f#3,a3,d#4]@2 ~@2 [a3,d#4,f#4]@2 ~@2 b2@2, g3 ~@5 [d3,g3,d4]@4 ~@14 b2@4 [f#3,a3,d#4]@4, ~@2 g2 ~@5]/2", // G5 D B7 D#dim G5 D#dim
  G: "[[c3,g3,b3,e4]@4 ~@2 c3@2 ~@2 [g3,b3,e4]@3 ~ [f#3,a3,d4]@4 [a3,d4,f#4]@3 ~ [b2,f#3,a3,d4]@2 ~@2 [a3,d4,f#4]@2 ~@2 b2@2, ~@3 [g3,b3,e4]@2 ~@9 [f#3,a3,d4]@2, ~@4 g2@2 ~ b2@3 ~@2 f#2@2 ~@2]/2", // Cmaj7 Em D Bm7 D Em D
  H: "[[g2,d3,g3,d4]@3 ~ [d3,g3,d4,g4] ~ [g2,d3,g3,d4]@2 ~@2 [d3,g3,d4,g4]@3 ~ [e3,g3,b3]@4 [g3,b3,e4]@3 ~ [e2,e3,g3,b3]@2 ~@2 [g3,b3,e4]@2 ~@2 e2@2, ~@4 g2@2 ~ e2@3 ~@2 e2@2 [e3,g3,b3]@2]/2", // G5 Em
  I: "[[a2,e3,g3,c4]@3 ~ [e3,g3,c4,e4] ~ [a2,e3,g3,c4]@2 ~@2 [e3,g3,c4,e4]@3 ~ [a3,d4]@4 [a3,d4,f#4]@3 ~ [d3,a3,d4]@2 ~@2 [a3,d4,f#4]@2 ~@2 d3@2, ~@4 a2@2 ~ d3@3 ~@2 d3@2 [a3,d4]@2]/2", // Am7 C Am7 C D5 D D5 D …
  J: "[[a2,e3,g3,c4]@3 ~ [e3,g3,c4,e4] ~ [a2,e3,g3,c4]@2 ~@2 [e3,g3,c4,e4]@3 ~ [a3,d4]@4 [a3,d4,f#4]@4 f#2@2 [f#2,a3,d4]@3 ~ [a3,d4,f#4]@2 f#2@2, ~@4 a2@2 ~ d3@3 ~@6]/2", // Am7 C Am7 C D5 D
  K: "[[g2,d3,g3]@4 ~@2 g2@2 ~@2 [d3,g3,d4]@3 ~ [d3,a3,d4]@4 [a3,d4,e4]@3 ~ [f#2,d3,a3,d4]@2 ~@2 [d3,a3,d4]@3 ~ [f#2,d3,a3,d4]@2, d4 ~@5 [d3,g3,d4]@4 ~@22, ~@4 g2@2 ~ f#2@3 ~@2 f#2@2 ~@2]/2", // G5 D5 Asus4 D D5 D G5
  L: "[[a2,e3,g3,c4]@4 ~@2 a2@2 ~@2 [e3,g3,c4,e4]@3 ~ [g3,a#3,d#4,g4]@4 [g3,a#3,d#4,g4]@3 ~ [c3,g3,a#3,d#4,g4]@2 ~@2 [g3,a#3,d4,g4]@2 ~@2 c3@2, e4 ~@2 [e3,g3,c4,e4]@2 ~@9 [g3,a#3,d4,g4]@2, ~@4 a2@2 ~ c3@3 ~@2 c3@2 ~@2]/2", // Am7 C D# Cm7 Gm C Gm
  M: "[[g2,d3,g3,d4]@4 ~@2 g2@2 ~@2 [d3,g3,d4]@3 ~ [f#2,d3,a3,d4]@6 ~@2 [b2,f#3,a3,d#4]@2 ~@2 [a3,d#4,f#4]@2 ~@2 b2@2, ~@3 [d3,g3,d4]@2 ~@7 b2@2 [f#3,a3,d#4]@2, ~@2 g2 ~@5]/2", // G5 D B7 D#dim G5 D#dim
  N: "[[g2,d3,g3]@4 [d3,g3,d4,g4] ~ [g2,d3,g3,d4]@2 ~@2 [d3,g3,d4,g4]@3 ~ [e3,g3,b3]@4 [g3,b3,e4]@3 ~ [e2,e3,g3,b3]@2 ~@2 [g3,b3,e4]@2 ~@2 e2@2, d4 ~@7 g2@4 ~@2 e2@6 ~@4 e2@4 [e3,g3,b3]@4]/2", // G5 Em
  O: "[[a2,g3,c4]@4 [e3,g3,c4,e4] ~ [a2,e3,g3,c4]@2 ~@2 [e3,g3,c4,e4]@3 ~ [a3,d4]@4 [a3,d4,f#4]@3 ~ [d3,a3,d4]@2 ~@2 [a3,d4,f#4]@2 ~@2 d3@2, e3 ~@7 a2@4 ~@2 d3@6 ~@4 d3@4 [a3,d4]@4]/2", // Am7 C Am7 C D5 D D5 D …
  P: "[~@2 g4@21 ~@9, [g2,d3] ~, ~ [g3,d4]@16 ~@15]/2", // G5
})).s("gm_acoustic_guitar_nylon").gain(0.4)

// chords · pad warm
const pad_warm = note("<~@20 A B C D@2 ~@27 A B C E@2 ~@7 F@2 G@2 H@2>".pickRestart({
  A: "[c3,c4,e4,g4,b4]", B: "[b2,b3,d4,f#4,a4]", C: "[c3,b3,d4,e4,g4]",
  D: "[b2@15 ~ g2@16, [a3,b3,f#4]@15 ~, d4@19 ~@13]/2", E: "[[b2,d4] g2, [a3,b3,f#4]@15 ~]/2",
  F: "[g4 f#4, [a3,d4]@9 ~@7]/2", G: "[[g3,g4] [f#3,f#4], [a3,d4]@9 ~@7]/2", H: "[[g3,d4]@17 ~@15, g2]/2",
})).s("gm_pad_warm").gain(0.48)

// drums · clap
const clap = s("cp").struct("<~@24 [~ x ~ x]!8 ~@24 [~ x ~ x]!8 ~@6>").gain(0.48)

stack(acoustic_guitar_nylon, electric_guitar_muted, acoustic_guitar_nylon_2, pad_warm, clap)

More by Daniele