Strudelify

Umanamente uomo: il sogno

Battisti

KeyA♭ majorTempo56 bpm
0:00/0:00
// Umanamente uomo: il sogno — Battisti
// 56.4 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 21 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(56.4/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 · flute
const flute = note("<A B C D E F G H I@2 B C D E F G H J@2 K ~>".pickRestart({
  A: "~@14 c5 db5", B: "eb5!5 ab5 ~ g5@5 ~@2 f5 eb5", C: "db5!5 gb5 ~ f5@5 ~@2 eb5 db5",
  D: "b4!5 e5 ~ eb5@5 ~@2 db5 b4", E: "db5@8 ~@6 ab4!2", F: "bb4!6 ~ b4@5 ~@2 bb4 b4", G: "c5!6 ~ db5@5 ~@2 c5 db5",
  H: "d5!6 ~ eb5@3 ~@2 bb5 ~ bb5 ~", I: "[ab5 ~ eb5 ~ eb5 db5 ~ bb4@5 ~@2 c5 a4@9 ~@6 c5 db5]/2",
  J: "[ab5 ~ eb5 ~ eb5 db5 ~ bb4@5 ~@2 c5 a4@9 ~@6 bb4 c5]/2", K: "db5 ~ eb5 ~ db5 ~ c5 db5@2 c5 ab4@6",
})).s("gm_flute").gain(0.64)

// bass · acoustic bass
const bass = note("<~ A B C D E D F G H A B C D E D F G H I ~>".pickRestart({
  A: "ab2@5 ~@3 g2@5 ~@3", B: "gb2@5 ~@3 f2@5 ~@3", C: "eb2@5 ~@3 ab2@5 ~@3", D: "ab2@5 ~@3 ab2@5 ~@3",
  E: "gb2@5 ~@3 gb2@5 ~@3", F: "bb2@5 ~@3 bb2@5 ~@3", G: "ab2@5 ~@3 gb2@5 ~@3", H: "f2@5 ~@3 f2@5 ~@3",
  I: "ab2@5 ~@3 ab2@8",
})).s("gm_acoustic_bass").gain(0.64)

// chords · violin
const violin = note("<~@10 A B C D E F G H I J ~>".pickRestart({
  A: "[ab4,c5,eb5]@5 ~@3 [g4,c5,eb5]@5 ~@3", B: "[gb4,bb4,db5]@5 ~@3 [f4,bb4,db5]@5 ~@3",
  C: "[eb4,ab4,b4]@5 ~@3 [ab4,b4,eb5]@5 ~@3", D: "[ab4,db5,f5]@11 ~@5", E: "[gb4,bb4,db5]@11 ~@5",
  F: "[ab4,c5,eb5]@11 ~@5", G: "[bb4,d5,f5]@5 ~@3 [bb4,eb5,g5]@5 ~@3", H: "[ab4,c5,eb5]@5 ~@3 [gb4,bb4,db5]@5 ~@3",
  I: "[f4,a4,c5]@11 ~@5", J: "[ab4,db5,f5]@5 ~@3 [ab4,c5,eb5]@8",
})).s("gm_violin").gain(0.57)

stack(flute, bass, violin)

More by Battisti