Strudelify

Straniero

Battisti

KeyB♭ majorTempo120 bpm
0:00/0:00
// Straniero — Battisti
// 120 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 114 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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.

// chords · drawbar organ · "Synth."
const drawbar_organ = note(`<
  ~ A B C@2 D E F@3 G@8 ~@3 H@5 I@8 ~@7 J@5 I@8 ~@2 K@4 I@8 ~@4 K@4 L@4 M N@3 O@8 ~@22
>`.pickRestart({
  A: "f4", B: "bb4", C: "[d4@3 g4]/2", D: "c4", E: "eb4 c5", F: "[~ d4 eb4, bb4]/3", G: "[~ d4@7, f4]/8",
  H: "[c4,eb4,f4,ab4]/5", I: "[d4,f4,bb4]/8", J: "[c4,eb4,ab4]/5", K: "[c4,eb4,ab4]/4",
  L: "[[d4,f4,bb4]@6 [ab4,c5,eb5,f5,ab5]@4 ~ [ab4,c5,eb5,f5,bb5]@4 ~]/4", M: "[ab4,db5,eb5,gb5]",
  N: "[~@2 [ab4,c5,eb5,f5,ab5]@9 ~ [ab4,c5,eb5,f5]@12]/3", O: "[~ [d4,f4,bb4]@15]/8",
})).s("gm_drawbar_organ").gain(0.1)

// chords · drawbar organ · "Synth." · soft notes
const drawbar_organ_soft = note("<~@94 A B@5 C@4 D E@2 F G@6>".pickRestart({
  A: "[d4,g4,bb4]", B: "[c4,eb4,ab4]/5", C: "[d4,f4,bb4]/4", D: "[eb4,ab4,c5]", E: "[ab4,c5,eb5]/2", F: "[ab4,c5,d5]",
  G: "[[f4,bb4,d5]@11 ~]/6", // Bb
})).s("gm_drawbar_organ").gain(0.03)

// bass · electric bass finger · "Basso"
const bass = note("<~ A@8 ~@105>".pickRestart({
  A: "bb2/8",
})).s("gm_electric_bass_finger").gain(0.48)

// drums · congas
const congas = s("conga:13").struct("<[x!8]!76 [x!3 ~@5] ~@37>").gain(1.02)

// drums · congas · soft notes
const congas_soft = s("conga:13").struct("<~@76 [~@3 x!5] [x!8]!36 [x!4 ~@4]>").gain(0.26)

stack(drawbar_organ, drawbar_organ_soft, bass, congas, congas_soft)

More by Battisti