Strudelify
Voglio vederti danzare cover art

L'Arca Di Noè

Voglio vederti danzare

Battiato

KeyB♭ majorTempo137 bpm
0:00/0:00
// Voglio vederti danzare — Battiato
// 137 bpm, 4/4, key Bb major. 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(137/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 · synth bass 2 · "BASSO"
const bass = note(`<
  A B C A D B C A D E F A D A C D A B C A D B C A D E F A D A C D A B C A D B C G H I J K L M F N O P Q R S P Q R T U V
  R N W M N R T U V R S X Y Z AA T U AB AA AC AD AE AF F AG AH AI@2 AJ AI AK AL AJ AI AJ X AI AJ AI AK AL AJ AI AL@2
  ~@22
>`.pickRestart({
  A: "bb1!8", B: "g1!8", C: "eb2!8", D: "f2!8", E: "c2!8", F: "g2!8", G: "eb2!2 bb1!6", H: "bb1!2 f2!6", I: "f2!2 g2!6",
  J: "g2!2 eb2!6", K: "eb2!4 bb1!4", L: "bb1!4 f2!4", M: "f2!4 g2!4", N: "g2!4 c2!4", O: "c2!4 a1!4", P: "a1!4 f2!4",
  Q: "f2!4 c2!4", R: "c2!4 g2!4", S: "g2!4 a1!4", T: "g2!4 d2!4", U: "d2!4 a2!4", V: "a2!4 c2!4", W: "c2!4 f2!4",
  X: "a1!8", Y: "a1!4 d2!4", Z: "d2!4 b1!4", AA: "b1!4 g2!4", AB: "a2!4 b1!4", AC: "g2!6 d2!2", AD: "d2!6 a2!2",
  AE: "a2!6 b1!2", AF: "b1!6 g2!2", AG: "d2!8", AH: "a2!8", AI: "b1!8", AJ: "e2!8", AK: "gb1!8", AL: "db2!8",
})).s("gm_synth_bass_2").gain(0.27).pan(0.4)

// bass · slap bass 2 · "BASSO2"
const bass_2 = note(`<
  A B C A D B C A D E F A D A C D A B C A D B C A D E F A D A C D A B C A D B C G H I J K L M B N O P Q R S P Q R T U V
  R W X Y W R T U V R S Z AA AB AC T U AD AC AE AF AG AH AI AJ AK AL@2 AM AL AN AO AM AL AM Z AL AM AL AN AO AM AL AO@2
  ~@22
>`.pickRestart({
  A: "bb2!2 bb1!2 bb2!2 bb1!2", B: "g2!2 g1!2 g2!2 g1!2", C: "eb3!2 eb2!2 eb3!2 eb2!2", D: "f3!2 f2!2 f3!2 f2!2",
  E: "c3!2 c2!2 c3!2 c2!2", F: "g3!2 g2!2 g3!2 g2!2", G: "eb3!2 bb2!2 bb1!2 bb2!2", H: "bb1!2 f3!2 f2!2 f3!2",
  I: "f2!2 g3!2 g2!2 g3!2", J: "g2!2 eb3!2 eb2!2 eb3!2", K: "eb2!2 eb3!2 bb2!2 bb1!2", L: "bb2!2 bb1!2 f3!2 f2!2",
  M: "f3!2 f2!2 g2!2 g1!2", N: "g2!2 g1!2 c3!2 c2!2", O: "c3!2 c2!2 a2!2 a1!2", P: "a2!2 a1!2 f3!2 f2!2",
  Q: "f3!2 f2!2 c3!2 c2!2", R: "c3!2 c2!2 g3!2 g2!2", S: "g3!2 g2!2 a2!2 a1!2", T: "g3!2 g2!2 d3!2 d2!2",
  U: "d3!2 d2!2 a3!2 a2!2", V: "a3!2 a2!2 c3!2 c2!2", W: "g3!2 g2!2 c3!2 c2!2", X: "c3!2 c2!2 f3!2 f2!2",
  Y: "f3!2 f2!2 g3!2 g2!2", Z: "a2!2 a1!2 a2!2 a1!2", AA: "a2!2 a1!2 d3!2 d2!2", AB: "d3!2 d2!2 b2!2 b1!2",
  AC: "b2!2 b1!2 g3!2 g2!2", AD: "a3!2 a2!2 b2!2 b1!2", AE: "g3!2 g2!2 g3!2 d3!2", AF: "d2!2 d3!2 d2!2 a3!2",
  AG: "a2!2 a3!2 a2!2 b2!2", AH: "b1!2 b2!2 b1!2 g3!2", AI: "g2!2 g3!2 g2!2 g3!2", AJ: "d3!2 d2!2 d3!2 d2!2",
  AK: "a3!2 a2!2 a3!2 a2!2", AL: "b2!2 b1!2 b2!2 b1!2", AM: "e3!2 e2!2 e3!2 e2!2", AN: "gb2!2 gb1!2 gb2!2 gb1!2",
  AO: "db3!2 db2!2 db3!2 db2!2",
})).s("gm_slap_bass_2").gain(0.32).pan(0.6)

// other · oboe
const oboe = note("<A B C D E A@3 ~@8 A B C D E A@3 ~@8 A B C D E A@2 ~@8 F@8 ~@16 G@8 ~@47>".pickRestart({
  A: "bb3@5 ~@3", B: "g3@5 ~@3", C: "eb4@5 ~@3", D: "d4@5 ~@3", E: "c4@5 ~@3",
  F: "[~@4 c4@5 ~@3 a3@5 ~@3 f4@5 ~@3 e4@5 ~@3 d4@5 ~@3 c4@5 ~@3 c4@5 ~@3 c4@4]/8",
  G: "[~@4 d4@5 ~@3 b3@5 ~@3 g4@5 ~@3 gb4@5 ~@3 e4@5 ~@3 d4@5 ~@3 d4@5 ~@7]/8",
})).s("gm_oboe").gain(0.17)

// other · sitar · "SIX"
const sitar = note(`<
  A B C D E A@2 F ~@8 A B C D E A@2 F ~@8 A B C D E A G ~@5 H I@2 J K L M N O P Q ~@16 R S T U V W X Y ~@47
>`.pickRestart({
  A: "bb4@2 bb4@2 a4 bb4!2 a4", B: "g4@2 g4@2 f4 g4!2 f4", C: "g4@2 g4@2 f4 g4!2 a4", D: "bb4@2 bb4@2 bb4 c5 a4 bb4",
  E: "c5@2 c5@2 c5 d5 bb4 c5", F: "bb4@5 ~@11", G: "bb4@3 ~@5", H: "~@7 f4", I: "[~@4 eb4 d4 c4@3 ~@5 d4@4 ~@14]/2",
  J: "~@2 c5!2", K: "b4 c5!2 b4 a4@2 a4@2", L: "g4 a4!2 g4 a4@2 a4@2", M: "g4 a4!2 b4 c5@2 c5@2",
  N: "c5 d5 b4 c5 d5@2 d5@2", O: "d5 e5 c5 d5 c5@2 c5@2", P: "b4 c5!2 b4 c5@2 c5@2", Q: "b4 c5!2 b4 c5@3 ~",
  R: "~@2 d5!2", S: "db5 d5!2 db5 b4@2 b4@2", T: "a4 b4!2 a4 b4@2 b4@2", U: "a4 b4!2 db5 d5@2 d5@2",
  V: "d5 e5 db5 d5 e5@2 e5@2", W: "e5 gb5 d5 e5 d5@2 d5@2", X: "db5 d5!2 db5 d5@2 d5@2", Y: "db5 d5!2 db5 ~@4",
})).s("gm_sitar").gain(0.19).pan(0)

// other · shanai · "DEX"
const shanai = note(`<
  A B C D E A@2 F ~@8 A B C D E A@2 F ~@8 A B C D E A G ~@8 H I J K L M N O ~@16 P Q R S T U V W ~@47
>`.pickRestart({
  A: "bb5@2 bb5@2 a5 bb5!2 a5", B: "g5@2 g5@2 f5 g5!2 f5", C: "g5@2 g5@2 f5 g5!2 a5", D: "bb5@2 bb5@2 bb5 c6 a5 bb5",
  E: "c6@2 c6@2 c6 d6 bb5 c6", F: "bb5@5 ~@11", G: "bb5@7 ~@9", H: "~@2 c6!2", I: "b5 c6!2 b5 a5@2 a5@2",
  J: "g5 a5!2 g5 a5@2 a5@2", K: "g5 a5!2 b5 c6@2 c6@2", L: "c6 d6 b5 c6 d6@2 d6@2", M: "d6 e6 c6 d6 c6@2 c6@2",
  N: "b5 c6!2 b5 c6@2 c6@2", O: "b5 c6!2 b5 c6@2 ~@2", P: "~@2 d6!2", Q: "db6 d6!2 db6 b5@2 b5@2",
  R: "a5 b5!2 a5 b5@2 b5@2", S: "a5 b5!2 db6 d6@2 d6@2", T: "d6 e6 db6 d6 e6@2 e6@2", U: "e6 gb6 d6 e6 d6@2 d6@2",
  V: "db6 d6!2 db6 d6@2 d6@2", W: "db6 d6!2 db6 ~@4",
})).s("gm_shanai").gain(0.08).pan(1)

// chords · string ensemble 2 · "TAPPETO"
const string_ensemble_2 = note(`<
  A B C A D B E@8 F G H@4 G I J@8 F K H@4 G I L@3 M@6 N@8 O@8 P@6 Q@8 R@6 S T U@2 V W X Y@3 Z@2 AA AB AC AD AE@3 AF@2 AG
  AH AI AG AJ AH AI AG AH AI AG AJ ~@10
>`.pickRestart({
  A: "[f4,bb4]", B: "[g4,bb4]", C: "[eb4,g4]", D: "[a4,c5]",
  E: "[eb4 d4 a4 eb4 d4 d4 [a4,c5] [bb3,d4], bb4 c5 bb4 ~, ~ f4@2 g4@2 f4@3]/8", F: "[eb4,g4,bb4]", G: "[f4,a4,c5]",
  H: "[[f4,d5] [g4,d5] [eb4,g4] [f4,d5], bb4]/4", I: "[g4,bb4,d5]",
  J: "[[eb4,g4] d4 a4 eb4 d4 d4 [a4,c5] [bb3,d4], bb4 c5 bb4 ~, ~ f4@2 g4@2 f4@3]/8", K: "[c4,f4,a4]",
  L: "[[eb4,g4]@5 [f4,d5]@4 [f4,a4,c5]@3, bb4@3 ~]/3", // Eb Dm F
  M: "[~ [g4,bb4]@4 g4@5 [f4,d5]@4 [f4,a4,c5]@4 [g4,b4,d5]@6, ~ d5@9 ~@14, ~@5 bb4@9 ~@10]/6", // Gm Dm F G
  N: "[~ [g4,e5]@2 [a4,e5]@2 [f4,a4]@2 [g4,e5]@2 [g4,b4,d5]@2 [a4,c5,e5]@2 [f4,a4,c5]@2 [g4,c5,e5], ~ c5@8 ~@7]/8", // C A5 F C G Am F C
  O: "[~ [g4,b4,d5]@2 [a4,d5,f5]@2 a4@2 ~@2 [b4,d5]@2 [g4,e5]@2 [a4,f5]@2 [g4,b4,d5], ~@5 [c5,e5]@4 ~@2 c5@4 ~, ~@7 g4@4 ~@5]/8", // G Dm Bm C Dm G C
  P: "[~ [g4,c5,e5]@2 [g4,b4,d5]@2 [a4,d5,f5]@2 a4@2 ~@2 [b4,d5], ~@7 [c5,e5]@4 ~, ~@3 g4]/6", // C G Dm Bm C
  Q: "[~ db4@2 [db4,db5,e5]@2 [a4,gb5]@2 [b4,gb5]@2 [g4,b4]@2 [a4,gb5]@2 [a4,db5,e5]@2 [b4,d5,gb5], ~ a4@4 d5@8 ~@3]/8", // Dbm D B5 G D A Bm
  R: "[~@2 [g4,b4,d5]@5 [a4,d5,gb5]@4 [a4,db5,e5]@4 [gb4,b4,d5]@4 [g4,b4,d5]@5]/6", S: "[a4,d5,gb5]", T: "[a4,db5,e5]",
  U: "[gb4 gb5, [b4,eb5]]/2", V: "b4 ~ b4 gb4, [b3,e4,ab4]", W: "~ ab4 a4 ~, [b3,eb4,gb4]",
  X: "~ db5@2 ~, [db4,gb4,a4]", // Gbm
  Y: "[[ab4,db5] ~@3 e5 b4 ~ b4 ~@2 eb5 b4, db4 b3@2, e4 e4@3 [eb4,gb4]@2, ~ ab4@5 ab4@2 ~@4]/3", // Db5 Ebm
  Z: "[~@8 b4@5 ~@3 e5@4 db5@4 e5@4 db5@4, e4, [b3,ab4] [db4,a4]]/2", AA: "[b3,eb4,gb4], b4@5 ~@3", AB: "[b3,e4,ab4]",
  AC: "[b3,eb4,gb4]", AD: "~@3 db5, [db4,gb4,a4]",
  AE: "[[ab4,db5] ab4!2 ~@5 [eb4,gb4]@4, db4 b3@2, e4 e4@3 ~@2, ~@3 ab4@5 ~@4]/3", AF: "[f3 [f3,f4,ab4], db4]/2",
  AG: "~ [gb4,bb4,db5]@15", AH: "~ [eb4,gb4,bb4]@15", AI: "~ [b3,eb4,gb4]@15", AJ: "~ [db4,f4,ab4]@15",
})).s("gm_string_ensemble_2").gain(0.19).pan(0.7)

// chords · string ensemble 2 · "TAPPETO" · soft notes
const string_ensemble_2_soft = note("<~@116 A B C A B C D A B ~>".pickRestart({
  A: "~ [eb4,gb4,bb4]@15", B: "~ [b3,eb4,gb4]@15", C: "~ [gb4,bb4,db5]@15", D: "~ [db4,f4,ab4]@15",
})).s("gm_string_ensemble_2").gain(0.07).pan(0.7)

// other · sitar · "SITAR2"
const sitar_2 = note(`<
  ~@42
  [~@3 eb4!5]
  [eb4!2 f4 f4@3 ~ bb3]
  [~@2 bb3@2 c4@2 d4@2 f4@3 ~@3 eb4 d4]
  [c4@3 ~@5 d4@4 ~@4]
  ~@39
  [b3@11 ~@5]
  ~@40
>`).s("gm_sitar").gain(0.27).pan(1)

// other · violin · "VIOLINO"
const violin = note("<~@54 A B@2 C D E@2 F G A B@2 C D H@2 ~@33 I@7 J@8 ~@8>".pickRestart({
  A: "~@10 c5 ~ c5 ~ c5 ~", B: "[c5 ~ c5 ~ c5 ~ d5@16 ~@4 d5 ~ d5 ~ d5 ~]/2", C: "d5 ~ e5@4 d5@2 c5@4 b4@4",
  D: "a4@4 c5@4 ~@2 c5 ~ c5 ~ c5 ~", E: "[c5 ~ c5 ~ c5 ~ d5@17 ~ e5@3 d5@3 c5@2]/2",
  F: "e5@3 d5@3 c5@2 f5@2 ~ e5@3 d5@2", G: "c5@3 f5@3 e5@2 d5@8", H: "[c5 ~ c5 ~ c5 ~ d5@17 ~@9]/2",
  I: "[db5 c5 db5 eb5 db5 c5 db5 eb5 db5 c5 db5 eb5 db5 c5 b4 a4@3 bb4@5 a4@3 bb4@5 a4@3 bb4@5 ab4@3 gb4@5 bb4@3 b4@5 bb4@3 b4@5 bb4@3 db5@2 gb5@6 ~@5 db5@2 ~ db5@5 c5@3 db5@5 b4@3 eb5@3 gb5@2 [ab4,gb5]@2 ~@3 gb5 ~@2 [bb4,gb5], ~@66 bb4@8 ~@24 bb4@5 ~@2 eb5@2 ~@5, ~@106 gb4@5 ~]/7", // Ab7 Ebm
  J: "[~ eb5 b4@13 a4@3 db5 c5 ~ db5 gb5 a4@2 c5 db5 gb5 ~ db5 c5 a4@2 c5 [bb4,eb5]@5 ab4@3 gb4@5 bb4@3 b4@5 bb4@3 b4@5 bb4@3 db5@2 gb5 gb5@5 ~@5 db5@2 ~ db5@5 c5@3 db5@5 b4@3 eb5@3 gb5@2 [ab4,gb5]@2 ~@3 gb5 ~@2 bb4@2 eb5 b4@5 ~@9, ~@18 bb4@5 db5 ~@2 bb4@5 db5 ~@34 bb4@8 ~@24 bb4@5 ~@2 eb5@2 ~@4 gb5 ~@16, ~@106 gb4@5 ~@17]/8", // Eb5 Ab7
})).s("gm_violin").gain(0.19)

// other · violin · "VIOLINO" · soft notes
const violin_soft = note("<~@118 A@7 ~>".pickRestart({
  A: "[~@2 db5 c5 ~ db5 gb5 a4@2 c5 db5 gb5 ~ db5 c5 a4@2 c5 [bb4,eb5]@5 ab4@3 gb4@5 bb4@3 b4@5 bb4@3 b4@5 bb4@3 db5@2 gb5 gb5@5 ~@5 db5@2 ~ db5@5 c5@3 db5@5 b4@3 eb5@3 gb5@2 [ab4,gb5]@2 ~@3 gb5 ~@2 bb4@2 eb5 b4@5 ~@9, ~@2 bb4@5 db5 ~@2 bb4@5 db5 ~@34 bb4@8 ~@24 bb4@5 ~@2 eb5@2 ~@4 gb5 ~@16, ~@90 gb4@5 ~@17]/7", // Eb5 Ab7
})).s("gm_violin").gain(0.07)

stack(bass, bass_2, oboe, sitar, shanai, string_ensemble_2, string_ensemble_2_soft, sitar_2, violin, violin_soft)

More by Battiato