Strudelify

Le tre verita

Battisti

KeyD majorTempo82 bpm
0:00/0:00
// Le tre verita — Battisti
// 81.6 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 80 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(81.6/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · piano
const piano = note(`<
  ~@12 A B C D E F G H I J@2 K ~@6 L M N O P F Q R S@2 T S ~@9 U V W X Y Z AA AB AC@2 AD AE ~@17
>`.pickRestart({
  A: "~@6 g4 a4 b4@3 ~ g4 a4 b4 ~", B: "~@4 a#4!3 ~@9", C: "~@3 a4 b4 c5 b4@2 ~ a4 b4 c5 b4 ~ a4!2",
  D: "g#4 ~ g#4 g#4@3 ~@10", E: "~@3 g4 a4 g4 a4 g4 a4 g4 a4 g4 a#4 g4 a4 g4", F: "f#4!3 f#4@3 ~@10",
  G: "~@3 f4 g4 a4 g4@2 ~ f4 g4 a4 g4 ~ f4 ~", H: "e4 ~ e4 e4@3 ~@6 e4!3 ~", I: "~@5 d4 e4 d4 e4 d4@2 ~@5",
  J: "~@4 d4!2 e4 d4 e4 d4@2 ~@5", K: "~@5 d4 e4 f4 e4 d4@2 ~@5", L: "~ g4!2 a4 b4!11 ~", M: "a#4!4 a#4@3 ~@9",
  N: "~@3 a4 b4 c5 b4 ~ a4!2 b4 c5 b4 ~ a4 ~", O: "g#4!6 g#4@4 ~@5 g4",
  P: "a4 g4 a4 g4 a4 g4!2 a4 ~ g4 a#4 ~ g4@2 ~ g4", Q: "~@3 f4 g4 a4 g4 f4 g4 a4 g4 f4 g4 a4 g4 f4",
  R: "e4!3 e4@3 ~@5 e4!2 e4@2 ~", S: "~@4 d4 e4 d4 f4 ~ d4@2 ~@5", T: "d4 e4 f4 e4 ~ d4 f4 ~ f4 e4 ~ d4 e4 d4@2 ~",
  U: "~ g4 a4 b4@3 ~@2 g4 a4 b4 b4@4 ~", V: "~ a#4!2 a#4@2 ~ a#4 a#4@3 ~@6",
  W: "~@3 a4 b4 c5 b4@2 ~ a4 b4 c5 b4@2 ~ a4", X: "g#4!2 g#4@4 ~@10", Y: "~@3 g4 a4 ~ g4 a#4 ~ g4!3 a4 ~ g4 ~",
  Z: "f#4 ~ f#4 f#4@4 ~@9", AA: "~@4 f4 g4 a4 g4 ~ f4 g4 a4 g4 ~ f4 ~", AB: "e4!7 e4@3 ~@6", AC: "~@4 f4!4 ~ d4@2 ~@5",
  AD: "f4 d4@8 ~@7", AE: "[a3,d4]@9 ~@7",
})).s("gm_piano").gain(0.64)

// bass · acoustic bass
const bass = note("d2").s("gm_acoustic_bass").gain(0.64)

// other · piano
const piano_2 = note("<~@24 A B A C D ~@13 A B A C E@2 D ~@14 A B A F A B A F A B A F A B A F ~>".pickRestart({
  A: "[c4,e4]@2 ~ [b3,e4]@2 ~ [c4,e4]@2 ~ [b3,e4] ~ c4!3 b3 g3", B: "b3 a3 ~ d4@13",
  C: "b3 a3@6 ~ a3 b3 c4 d4 e4 [e4,f#4] c4 e4", D: "d4", E: "[d4@24 a3 b3 c4 d4 e4 [e4,f#4] c4 e4]/2",
  F: "b3 a3@11 ~@4",
})).s("gm_piano").gain(0.64)

stack(piano, bass, piano_2)

More by Battisti