Strudelify

Black Swan

Pietro Foti

KeyF majorTempo74 bpm
0:00/0:00
// Black Swan — Pietro Foti
// 74 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 4 "Chitarra acustica (Intavolatura)" acoustic guitar steel (copy of ch 1 "Chitarra acustica" acoustic guitar steel)
// note: Transcription provider: pdmx. https://musescore.com/score/5952267; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 61 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(74/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 · acoustic guitar steel · "Chitarra acustica"
const acoustic_guitar_steel = note(`<
  A@2 B@2 C D C E F G H I J@3 K L M N O P Q R S T Q R S C D C E U V W X Y Z Y AA AB M N O P Q R S T Q R S C D C E AC@2
  AD AE@2
>`.pickRestart({
  A: "[~@2 d3 ~ d4@2 d3 ~@3 d3 ~ d4@2 [g3,c4]@2, [bb2,g4] g2 [d2,e4] c3, ~@3 a3@3 f4@2 ~@8, ~@7 f3@3 ~ a3@3 ~@2]/2", // C5 Eb Dsus2
  B: "[~@2 d3 ~ d4@2 d3 ~@3 d3 ~ d4@2 [g3,c4]@2, [bb2,d4] g2 [d2,e4] c3, ~@3 a3@3 f4@2 ~@8, ~@7 c4@3 ~ a3@3 ~@2]/2", // C5 Bb Dsus2
  C: "f4 e4 ~@3 g3 [d4,e4] [a3,d4] g3 a3 ~ f3 g3 f3 ~ c3, [bb2,d3]@3 a3@2 ~@5 [g3,c4]@2 ~@2 [d3,c4]@2, c4 d4@2 ~ c4 ~ c4 ~, ~ bb2 g2!2", // Dsus2 D5 Bb C5 D7
  D: "f4 e4 ~@3 g3 [d4,e4] [a3,d4] [c3,g3,c4]@2 ~@5 c3, [d2,d3,g3]@3 a3@2 ~@5 [c3,g3,c4,f4]@2 ~ c3@2 ~, c4 d4@2 ~@3 [c4,f4,g4] [g3,c4], ~@4 d2@4 ~@3 c3@2 ~@3", // Dsus2 D5 C5 G5 Csus4 C5
  E: "g3 a3 ~ f3 g3 f3 ~ d3 e3 f3 ~ d3 ~ d3 ~ a2, d2@2 d2@2 [g3,c4] [e3,g3,c4]!2 ~, ~ [g3,c4] c4 [e3,d4] c3@2 ~ [c3,g3,c4]", // C5 C C5 E7 C5
  F: "bb2 ~@2 a3!2 bb3 a3 [bb2,bb3] [g2,a3] bb3 [g2,a3] ~@2 g2 c3 [g2,a3]", // Bb Gsus2
  G: "[d3,a3] bb3 a3 bb3 a3 bb3 a3 d3 c3 f3 [c3,g3] f3 a3 [c3,g3]@2 c3", // D5 C5
  H: "[bb2,a3] bb3 a3 bb3 a3 bb3 a3 bb2 g2 ~ g2 ~ a3 [bb2,bb3] [g2,a3] [c3,bb3]", // Bbmaj7 Bb Gsus2 C7
  I: "[d3,a3] bb3 a3 ~@3 g3 [d3,f3] [c3,g3] f3 [c3,g3] ~ a3 [c3,g3]@2 c3", // D5 Dm C5
  J: "[bb2@2 d3 ~ f4 g4 a4 ~ g2@2 d3 ~ f4 e4 d4 ~ d2 ~@3 f4 g4 a4 ~ c3@2 g3 ~ f4 e4 d4 ~@2 d4 ~ f3@4 ~@2 [d3,d4] ~@4 c3@2, ~@3 a3@4 g4@4 f3@4 c4@2 [d3,d4]@2 d2@5 ~@3 c4@3 ~ c4@2 ~ a3@5 c4@2 ~ g3@2 ~@4, ~@18 a3@2 ~@3 g4@5 ~@4 bb2@8 g2@8, ~@43 f3@5]/3", // D
  K: "a3!4 ~@2 a3 ~ c3 a3@2 [c3,bb3]@2 a3@2 c3, [d2,d3]@4 bb3@2 ~ bb3@2 ~@7, ~@5 [d2,d3]@3 ~@8", // C7 D
  L: "bb2 ~ [bb2,d4] d4 [bb2,d4] [f3,c4] [bb2,c4] [d3,bb3] [g2,bb3] a3 [g2,a3] g3 ~ g2 ~ g2, ~@6 [g2,a3]!2", // Bb F5 Bbsus2 Gm Gsus2
  M: "[d3,a3] ~ d4!3 [d3,c4]!2 [d3,bb3] [c3,bb3] a3 [c3,a3] [c3,g3] ~ c3 ~ c3, ~@6 a3!2", // D5 D7 Gm C7 F C5
  N: "[bb2,a3]@2 [a3,d4,g4] ~@4 bb2 ~ g4 ~ f4 ~@3 g2, ~@3 [bb2,g4]@2 bb2@2 ~ [g2,g3,c4,g4]@2 [g2,g3,c4,f4]@2 [g2,g3,c4,e4]@2 [g3,c4]@2, ~@4 [d4,g4,c5]@2 [a3,d4,a4]@2 ~@5 g2@2 ~", // Bbmaj7 Dsus4 Eb C5 Csus4 C C5 Csus2 …
  O: "~ g4 ~ f4 ~@2 d4 [d3,c4] [c3,g3,c4,d4]@8, [d2,d3,a3,c4,g4] [d3,a3,c4,f4] [d3,a3,c4,e4] ~@5, ~@5 d3@2 ~@9", // D7 Csus2 Dsus4 Dm7 Am
  P: "c4!2 d4 c4 ~ c4 ~ c4 d4 c4 ~@5 g2, [bb2,d3,a3]@2 [bb2,e3,bb3,d4] [bb2,f3,bb3,d4] [g2,d3,g3] [d3,g3,a3,c4] [f3,g3,c4] [d3,g3,c4], ~@11 g2@2 g2@2 ~", // Bbmaj7 Em7b5 Bb G5 Dsus4 Fsus2 Csus2
  Q: "c4!2 d4 c4 ~ c4 ~ c4 d4 c4 ~@5 c3, d2@4 ~ [d3,g3,a3,c4] [f3,g3,c4] [d3,g3,c4], [d3,a3]@4 [f3,a3,d4]@2 [e3,a3,d4]@2 [c3,e3,g3]@3 c3@2 c3@2 ~", // Dsus4 Fsus2 Csus2 D5 Dm Dsus2 C
  R: "c4!2 d4 c4 ~ e4 ~ f4 ~ d4 ~ g2 ~ g2 ~ g2, [bb2,d3,a3]@2 [bb2,e3,bb3,d4] [bb2,f3,bb3,d4,f4] [g2,bb3,d4,g4] [g2,a3,bb3,d4] [g2,g3,bb3,e4] [g2,f3,c4,f4]", // Bbmaj7 Em7b5 Bb Gm Edim Csus4
  S: "f4!2 e4@2 d2@2 ~ f4 e4@2 e4!3 d4 d4@2, [d2,d3,a3,d4]@2 ~ [d3,a3,d4,f4] [c3,e3,g3,c4]@2 [c3,e3,g3,c4]@2", // D5 Dm C
  T: "c4!2 d4 c4 ~ c4 ~@3 c4 ~@5 g2, [bb2,d3,a3]@4 [bb2,e3,bb3,d4]@2 [bb2,f3,bb3,d4]@2 g2@3 g2@2 g2@2 ~, ~@7 c4@2 ~ [d3,g3,a3,c4]@2 [f3,g3,c4]@2 [d3,g3,c4]@2", // Bbmaj7 Em7b5 Bb Dsus4 Fsus2 Csus2
  U: "[bb2,c4,f4,bb4]@2 a4 [bb2,c4,f4,a4]@2 [c4,g4] [bb3,c4,g4] [bb3,c4,f4,g4] [g2,bb3,e4,bb4]@2 a4 [g2,bb3,f4,a4]@2 [c4,g4] [bb3,c4,g4] [bb3,c4,f4,g4], ~@5 bb2@3 ~@5 g2@3", // Bbsus2 F C5 C7 Bbsus2 Edim Gm7 C5 …
  V: "[d2,a3,d4,bb4]@2 a4 [d2,a3,c4,a4]@2 [c4,g4] [bb3,c4,g4] [bb3,c4,f4,g4] [c3,g3,c4,f4]@2 a4 [c3,bb3,f4,g4]@2 c3 [g3,c4,f4] [a3,e4], ~@5 d2@3 bb4 ~@7", // Bbmaj7 D7 C5 C7 Bbsus2 Csus4 A5
  W: "bb2@2 d5 c5 [c5,d5] [f4,a4] [bb2,bb3,c4] [d4,f4] [g2,a4,f5] ~ [g3,f4,bb4,d5] c5 [c5,d5] [f4,g4] [g3,bb3] [a3,bb3], f5 ~@2 [bb3,f4,a4]@3 ~@5 [g3,bb3,f4,g4]@3 ~@2", // Csus2 F Bbsus2 Dm Gm7 Csus2 Fsus2 Gm …
  X: "c4@2 ~@4 c4!2 c4@2 d4 c4!5, [d2,d3,f3,a3] d2 [c3,e3,g3] ~, ~ d4@2 ~@5", // Dm C
  Y: "f4@2 ~@2 c4!6 [d3,c4] c4!3 ~ [f2,g2], bb2@4 g2@3 [a2,d4], ~@2 [d3,d4]@2 ~@7 f3@3 ~@2, ~@3 a3@7 ~@6", // D7 Fsus2 D5 D
  Z: "f4@2 ~@2 c4!10 d4@2, d2 ~, ~ [d3,d4] ~@2 [c3,e3,g3]@4, ~@3 a3@5 ~@8", // D C
  AA: "[d2,f4]@2 ~ a3 a3@2 bb3 ~ c3 a3@2 [c3,bb3]@2 ~ e2 [f2,g2], ~@2 [d3,d4]@2 ~@3 bb3@2 ~@4 a3@2 ~", // Dm C7 Fsus2 D
  AB: "[a2,bb2] ~ [bb2,d4] d4 [bb2,d4] [f3,c4] [bb2,c4] [d3,bb3] [g2,bb3] a3 [g2,a3] g3 ~ g2 ~ g2, ~@6 [g2,a3]!2", // Bbmaj7 Bb F5 Bbsus2 Gm Gsus2
  AC: "[~@2 d3 ~ d4@2 d3 ~@3 d3 ~ d4@2 [g3,c4]@2, [bb2,c4,g4] g2 [d2,e4] ~, ~@3 a3@3 [c4,f4]@2 ~@3 a3@3 ~@2, ~@7 f3@3 ~@2 c3@4]/2", // C5 C7 Dsus2 F5
  AD: "~@2 d3 ~ d4@2 d3 c4, [bb2,d4] g2, ~@3 a3@3 f4@2", // Bb
  AE: "[c4@2 d3 ~ d4@2 [g3,c4]@10, [d2,e4] c3 ~@2, ~@3 a3@3 ~@10]/2", // C5 Dsus2
})).s("gm_acoustic_guitar_steel").gain(0.3)

stack(acoustic_guitar_steel)