Strudelify
Giulia si sposa cover art

Uomini soli

Giulia si sposa

Pooh

KeyG majorTempo91 bpm
0:00/0:00
// Giulia si sposa — Pooh
// 91 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 94 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(91/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 · fretless bass
const bass = note(`<
  A B C D A B C D A B E D A B E D F G E H A B C D A B C D A B C D F G E H I J K L M N K O P Q R A B C D A B C D A B C D
  F G E H I J K L M N K O P Q R P S T U V W X@2 P Q R A B A B Y Z@4
>`.pickRestart({
  A: "g1@7 a1", B: "b1@6 f#1 b1", C: "a1@3 e1 a1@4", D: "d1@6 d2 d1", E: "a1@7 e1", F: "b1@7 f#1",
  G: "e1@3 f#1@3 g#1@2", H: "d1 d2", I: "g1@3 g1 g1@4", J: "b1@3 b1 b1@4", K: "a1@5 ~ a1@2 c1@8",
  L: "d1@5 ~ d1 ~ d1@4 a1@4", M: "g1@5 ~ g1@2 g1@8", N: "b1@3 f#1 b0@4", O: "d1@5 ~ d1@2 d1@7 ~", P: "a1", Q: "g1",
  R: "a1@8 d1@7 ~", S: "b1", T: "c#2 a#1", U: "a1@7 a1", V: "g1@7 g1", W: "f#1@14 e1 d1", X: "c1/2", Y: "g1@6 ~ d1",
  Z: "[~@8 g3@23 ~, g1@51 ~@13]/4",
})).s("gm_fretless_bass").gain(0.36)

// chords · orchestral harp
const orchestral_harp = note("<~@6 A@2 ~@24 B C ~@52 D@7 ~>".pickRestart({
  A: "[~@4 c4@7 ~@5, g5@4 g4 e4 d4 e4@15 ~@10, ~ e5@21 ~@10, ~ d5@10 ~@5, ~@3 c5@19 ~@10]/2",
  B: "~@7 f#5, ~@3 a4, ~@13 d5@3", C: "e5 d5 b4 a4 g#4@2 ~@10",
  D: "[~@15 d4@18 ~@47 b4@22 ~@10, ~ d4@9 b4 a4 g4@24 a4 b4 d5 f#5@8 d4@13 a5 b5@10 b4 d5 g5 d6@5 d5@23 ~@10, ~@2 e4@7 d5@4 f#4 e4@19 d4@9 b4@2 g4@2 e4@24 a4@32 ~@10, ~@3 f#4@5 e5@27 f#4@5 e5@22 a5 g5 d5 b4 a4 g4 d4@7 g5 a5@26 ~@10, ~@4 a4 b4 d5 f#5@27 e4@7 d5@2 a4@2 f#4@24 g4@8 d5 g5@24 ~@10]/7",
})).s("gm_orchestral_harp").gain(0.25).pan(0.7)

// other · orchestral harp
const orchestral_harp_2 = note(`<
  A@2 B C D E B C F ~@11 A@2 B C F ~@22 A@2 B C F ~@22 G H I J K@2 L@2 ~@3 D M N@3 O@2 ~@2
>`.pickRestart({
  A: "[~ d4!3 a4@2 b4@3 d4!3 a4@2 b4@2]/2", B: "~@4 c5@2 c5@2 c5@5 ~ e4 ~", C: "e4 d4 g4 f#4", D: "~ d4!3 a4@2 b4@2",
  E: "~@2 d4 ~ d4@2 d4@2 a4@4 b4@4", F: "d4@11 ~@5",
  G: "~@8 e4@5 ~@3, a2@11 ~@5, ~@2 e3@9 ~@5, ~@4 g3@7 ~@5, ~@6 c4@5 ~@5",
  H: "~@8 g4@3 ~@5, b2@11 ~@5, ~ f#3@5 ~@2, ~ g3@2 ~, ~@6 d4@5 ~@5",
  I: "~@2 e4 ~@2 f#3 c#4 ~, c#3@6 ~@2 a#2@5 ~@3, ~ g3@2 ~@5", J: "~@3 d4@3 ~@2, a2@7 ~, ~@2 f#3@11 ~@3, ~@2 c#4@5 ~",
  K: "[~@4 d5@2 a4@4 g4@2 b3@2 ~@10 a4@4 ~@2 f#4 ~, [g2,e4]@13 ~@3 f#2@12 ~@4, c#5@4 a3@7 ~@3 d4@6 a3@8 ~@4, ~ d3@7 ~ d3@5 ~@2, ~@3 d4@4 a4@4 d4@3 ~@2]/2", // C
  L: "[[d4,f#4]@4 g4@2 [e3,e4]@23 ~@3, [c2,g3]@29 ~@3]/2", M: "~@2 d4@2 d4 ~ d4@2 a4@4 b4@4",
  N: "~@2 d4 ~ d4 ~ d4@2 a4@4 b4@4", O: "[~@2 d4 ~ d4 ~ d4 ~ a4@4 b4@9 ~@11]/2",
})).s("gm_orchestral_harp").gain(0.4).pan(0.3)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A B C D A E@2 F ~@3 G H I J K L M N O A B C D P@2 Q R S@2 T U L M N O ~@11 A B C D V W X Y Z AA AB AC AD AE AF AG ~@11
  AH@3 AI ~ AJ AK@3 ~@2 V AL V AM AN@4 ~
>`.pickRestart({
  A: "~ d4!2 ~@3 b4@2, g2 [b3,a4], ~ d3@7, ~ g3@3, ~@3 [a3,d4]@5", // B7 D5
  B: "~ d4!2 ~@3 b4@2, b2, ~ f#3@3, ~@3 d4@5, ~ [a3,a4]", C: "~@2 c5!2 e4@3 e4, a2 c5, ~ e3@7, ~ g3@3, ~@3 c4@5",
  D: "~ d4 ~ f#4, d3, [g3,e4] [a3,d4,g4]", // C Dsus4
  E: "[~ d4!3 ~@6 c5!2 e4@3 e4, b2@6 b4@5 c4 c5@4, ~ f#3@3 a2@4, ~@3 a3@5 ~ e3@7, ~@2 [d4,a4]@2 ~ g3@3]/2", // D5
  F: "~@4 d4@4 ~@4 f#4@3 ~, d3@15 ~, [g3,e4]@8 [a3,g4]@7 ~", G: "~@7 d5, ~ d3, ~@5 a3@3, ~@3 d4",
  H: "b4 ~@7 b3@8, g2@3 g3@5, ~ g4@15, ~ d4@7, ~ d3@3", I: "~ f#4, b2, ~ f#3@7, ~ a3@3, ~@3 d4@5",
  J: "~ e4, a2, ~ e3@7, ~ g3@3, ~@3 c4@5", K: "~@4 c4@4 ~@7 e5, d3@8 d3@5 d5 f#5@2, ~ g3@3 ~ a3@3, ~@11 d4@5, ~@3 a4",
  L: "~@6 f#3@7 ~ a3@2, [b2,d5]@4 d4 a3@8 ~@3, ~ a4@12 ~@3, ~@2 f#4@11 ~@3, ~@3 e4@10 ~@3", // Bm
  M: "g#3 ~ g#3 [f#2,a3]@3 [g#2,b3]@2, e2@3 ~@5, ~ e3@2 ~@5", N: "~@3 e4, a2, c4@3 c4@5, ~ e3@7, ~ a3@3",
  O: "~@3 e4 ~@2 d4 ~, d3@7 ~, e4@3 ~ f#4@3 ~, ~ g3@3 ~ a3@2 ~, ~ c4 ~@2",
  P: "[~@15 f#5, g2@4 b3@2 d4 g4 ~@2 a3@2 f#4@2 d5@2, ~@2 d3@13 d5@7 d4@10, ~ g3@3 [b2,a4]@4, ~@3 a3@5 ~ f#3@7]/2", // B7
  Q: "g5 ~@11 c4@4, a2@2 [g3,g4] [e3,c4] [g3,e4]@4, ~ e5@15, ~ d5@7, ~@2 e3 c5@13", // G C
  R: "~@4 c4 ~@2 g4 c5 ~@6 e5, d3@3 e4 f#4@2 [d4,g5]@2, e4@5 c4@3 ~ e5@5 [f#4,f#5]@2, ~ a3@3 ~ [a3,a5]@3, ~ g3 d3@2", // G5 F# A
  S: "[~ d4 b3 a3 ~@10 d4@2 ~@15 d5, g4@12 f#4@2 f#3 a4, g2@5 a3 b3@2 ~@2 a3@6, d5 ~ b3@2 g3@4 ~ f#3@2 d4@5, ~@3 d3@5 b2@8]/2",
  T: "e4 ~@13 e4@2, [a2,c5]@2 g3 c4, ~ g4@15, ~ e4 c4 e3@5, ~@3 d4@13", // Am
  U: "~ g3 ~@5 [c5,a5] a4 ~@6 f#4, [d3,d4]@6 [g4,e5]@2 ~ f#4@6 ~, ~ g3@3 [d3,f#5]@4, ~ c4 c4@2 ~ d4@2 d4, ~@3 e4 g4 [e4,c5]@3 ~@4 a3@4", // F D C D C
  V: "~ b3, g2, ~ d3@7, ~ g3@3, ~@3 a3@5", W: "~@15 f#5, b2@4 f#4@3 d5, ~ f#3@7, ~ a3@3, ~@3 d4@5",
  X: "~@15 e5, [a2,e5]@11 c4 e4 g4 c5@2, ~ c5@9 g3@6, ~@2 g4@3 c4 g3@2 e3@8, ~@3 e4 d4@12", // A5
  Y: "~@15 d4, [d3,a5]@4 d5 c5 b4 a4 [a3,g4] f#4 e4 d4 c4 b3 a3@2, ~ g5@15, ~ f#5@7, ~@3 e5@13", // D5 A7
  Z: "~ d4, g2, b3@3 b3@5, ~ d3@7, ~ g3@3", AA: "~@15 f#5, b2@8 a4@4 d5 f#5 e5@2, ~ f#3@7, ~ a3@3, ~@3 d4@5",
  AB: "~@7 g3, [a2,g5]@4 g4 e4 d4 c4 g3@4 e3@4, ~ e5@15, ~ d5@7, ~@3 c5@13", // A7
  AC: "~@6 e4@2 ~@7 d5, d3@4 [d3,d4]@3 a4, c4!2 ~ e4, ~ a3@3 ~ a3@3, ~@13 f#4@3", // D
  AD: "b4 ~@13 a3@2, b2@4 d4 b3 a3@2 f#3@8, ~ a4@15, ~ f#4@7, ~@3 e4@13",
  AE: "g#3 ~ g#3 ~@2 e3 [g#2,b3]@2, e2@3 [f#2,a3]@3 ~@2, ~ e3@2 ~@5", // G#m F#m
  AF: "~@7 b4, a2@7 a4 c5@4 a3@4, ~ e3@7, ~@2 a3 e4@5, ~@5 c4@11",
  AG: "~@6 e4@2 ~@4 d4@3 ~, [d3,a4]@8 [d3,f#4]@7 ~, ~@2 a3@6 ~@2 a3@5 ~, ~ c4 ~@2", // D5 D
  AH: "[~@15 c#5, ~@6 c4@5 a4@26 e4@3 e5 g5 f#5 c#5 f#4@4, ~@7 d4@6 c5@25 g4@10, ~@8 e4@2 g4@2 b4@2 d5@25 b4@9, ~@3 f#4@9 c#4@4]/3",
  AI: "~@15 f#4, ~@4 a4@2 b4 g4, ~@9 b4@2 c#5@5, ~@5 d5@3, ~@13 a4@3",
  AJ: "~@15 f#4, f#3@7 a4 e4 d4 a3 d4 e4 a4 g4@2, ~ d4@5 d5@10, ~@2 a4@3 e5@11, ~@3 d5 a5@12",
  AK: "[~ a3@4 ~, g4@2 ~, ~ f#4@8 ~@3, ~@3 d4@16 ~@5]/3", AL: "~@3 b4, b2 d4, ~ f#3@7, ~ a3@3, ~@3 b3@5",
  AM: "~ d4, b2, ~ f#3@7, ~ a3@3, ~@3 b3@5",
  AN: "[~@24 b3@27 ~@13, g2@8 b3@14 a3@29 ~@13, ~ d3@7 g2@16 ~@8, ~@2 g3@7 d3@16 ~@7, ~@6 a3@14 g3@31 ~@13]/4",
})).s("gm_acoustic_guitar_nylon").gain(0.28)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@36 A@2 B@4 C D E F G ~@16 A@2 B@4 C D E F G H I J K L M N@2 E F G O@4 P@5
>`.pickRestart({
  A: "[[g3,b3,g4] [a3,f#4], d4]/2", // G D
  B: "[~@2 [c4,b4] [f#4,a4] b4 ~ [f#4,a4]@2, e4@12 d4@19 ~, [g3,c4]@2 ~@3 d5@3, ~ g4@2 ~ g4@2 ~@2]/4", // Cmaj7 F#m C5
  C: "[c4,e4,g4,c5]", D: "[c4,e4,g4,c5] [d4,f#4,a4]", E: "~ g4, [g3,c4,e4]", F: "[g3,a3,b3,d4,f#4] [a3,d4,f#4,a4,d5]",
  G: "[e4,g4,c5] [e4,g4], [g3,c4]@15 ~", H: "[c4,e4,g4]", I: "[d4,g4]", J: "[b3,g4] [f#3,c#4,e4]", K: "c#4 b3, d4",
  L: "a3 g3, [d4,f#4]", M: "e4 d4, a4", N: "[f#4@7 e4@24 ~, [c3,e3,g3,d4]@31 ~]/2", O: "[a3,b3,d4]/2",
  P: "[[a3,b3,d4]@77 ~@3]/5", // Bm7
})).s("gm_string_ensemble_2").gain(0.08)

// other · pad metallic
const pad_metallic = note(`<
  A B C B D B E@2 ~@12 A B C B ~@9 F@2 ~ G@2 H@2 I@2 J@2 ~@3 A B C B K@6 L@2 ~@4 G@2 H@2 I@2 J@2 ~@14 M@2 N@2 O@5
>`.pickRestart({
  A: "~ d5@3", B: "a5", C: "c5", D: "b5", E: "[d5@15 ~]/2", F: "[e5@29 ~@3]/2", G: "[g5@3 d6]/2", H: "[g6@29 ~@3]/2",
  I: "g5/2", J: "[g6@3 ~]/2", K: "[~ d5@6 a5@5]/6", L: "[e5@13 ~@3]/2", M: "[~ d6@31]/2", N: "d6/2", O: "[d6@19 ~]/5",
})).s("gm_pad_metallic").gain(0.11)

// chords · string ensemble 2
const string_ensemble_2_2 = note("<~@36 A@2 B@4 C@2 ~@19 A@2 B@4 C@2 ~@14 D@8 ~>".pickRestart({
  A: "[[g5,b5] [f#5,a5], d5@31 ~]/2", B: "[c5@2 c6 a5 [g5,b5]@2 [f#5,a5]@2, [e5,g5]@3 [d5,d6]@5]/4",
  C: "[[e5,g5,c6]@29 ~@3]/2", D: "d6/8",
})).s("gm_string_ensemble_2").gain(0.29)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@36 A B C D E F G H I J K ~@16 A B C L E F G H I J K ~@8 I J K ~@9>".pickRestart({
  A: "~@2 g3 ~@4 g3, g2, ~ d3@3 g3@3 ~, ~@3 d4@2 d3@3, ~@3 d4",
  B: "~@4 a3@2 ~@6 b2@2 a3 ~, b2@10 f#3@5 ~, ~@2 f#3@6 a3@5 ~@3, ~@6 d4@9 ~",
  C: "~@4 g3@2 ~@6 c4@2 g3 ~, a2@15 ~, ~ e3@3 g3@2 ~@2, ~@6 d4@9 ~, ~@10 e3@5 ~",
  D: "~ g3 ~ g3 ~@3 a3, d3!2, ~@2 d4@2 ~ a3@2 ~, ~@3 d4",
  E: "~@4 g3@2 ~@6 g3@2 b3 ~, g2@15 ~, ~ d3@3 g3@2 ~@2, ~@6 d4@9 ~, ~@5 d3@3",
  F: "~@4 a3@2 ~@4 f#3@2 d4@2 f#3 ~, b2@15 ~, ~@2 f#3@6 a3@7 ~, ~@6 d4@5 ~@5",
  G: "~@4 g3@2 ~@2 g3@2 ~@2 g3@2 c4 ~, a2@15 ~, ~@2 e3@7 ~ e3@5 ~, ~@6 c4@7 ~@3",
  H: "~@12 d4@2 a3 ~, d3@6 d4@5 ~@5, ~@2 g3@7 ~ a3@4 ~@2, ~@4 c4@4 d3@7 ~", I: "~ g3 ~ g3@5, ~ c4@3",
  J: "~@3 d3@4 ~, g2@15 ~, ~ d3@2 ~@5, ~@2 a3@5 ~", K: "~@2 c4@5 ~, a2@3 ~, ~@2 e3@11 ~@3",
  L: "~@3 g3 ~@3 a3, d3!2, ~ g3@2 ~@2 a3@2 ~, ~ d4 ~ d4",
})).s("gm_acoustic_guitar_steel").gain(0.4)

// bass · fretless bass
const bass_2 = note("<~@44 A B C ~@13 D E ~@9 A B C ~@8 A B C ~@9>".pickRestart({
  A: "a2@3 e3@3 g3@2", B: "f#3@2 d3 d3@5", C: "a2@6 d2@9 ~", D: "g#3@3 a3@3 b3@2", E: "c4@7 ~",
})).s("gm_fretless_bass").gain(0.4)

// other · overdriven guitar
const overdriven_guitar = note("<~@74 A@2 B@2 C@2 D@2 ~@12>".pickRestart({
  A: "[g4@10 f#4@2 g4@2 d5@15 ~@3]/2", B: "[e5@2 f#5@2 g5@2 d5@4 c#5@4 d5@15 ~@3]/2",
  C: "[c#5@4 d5@2 a4@4 g4@4 a4@15 ~@3]/2", D: "[f#4@4 g4@2 e4@25 ~]/2",
})).s("gm_overdriven_guitar").gain(0.45)

// chords · pad warm
const pad_warm = note(`<
  A@8 B@8 C D@3 E@4 B@8 C D@3 F C G@2 H I J@2 K L M E@4 B@8 N O P@2 F C G@2 H I J@2 K L M Q R S T U V W@2 K L M X@8 ~
>`.pickRestart({
  A: "[a3@32 g3@28 f#3@4 [a3,b3]@32 g3@28 f#3@3 ~, d4@127 ~, b3@30 ~@2 c4@31 ~@33 c4@32]/8", // Asus2
  B: "[~@16 f#3@15 ~ g3@24 f#3@7 ~@17 f#3@15 ~ g3@24 f#3@7 ~, d4@127 ~, [a3,b3]@32 c4@32 [a3,b3]@32 c4@31 ~]/8", // Asus2
  C: "[f#3,a3,d4]", D: "[g#3@3 a3@3 b3@2 [g3,c4]@12 [f#3,a3,d4]@4, e4@5 ~]/3",
  E: "[a3@8 g3@7 f#3, d4, b3@30 ~@2 c4@31 ~]/4", F: "a3 g3, [b3,d4]", G: "[[e3,g3,c4]@3 [f#3,a3,d4]]/2",
  H: "[a3,b3,d4]", I: "[a3,b3,d4,f#4]", J: "[[g3,c4,e4]@24 [a3,d4,f#4]@7 ~]/2", K: "[g3,a3,c4,g4], e4@7 ~",
  L: "[b3,d4,f#4], g3@7 ~", M: "[g3,a3,c4,e4]", N: "[a3,d4,f#4,d5]", O: "[b3,e4,g#4]@3 [a3,e4,a4]@3 [b3,e4,b4]@2, e5",
  P: "[[c4,e4,a4,c5]@2 [g3,c4,e4,g4,c5] [a3,d4,f#4,a4,d5], e5@3 ~]/2", Q: "[g3,c4,e4,g4]", R: "[d4,g4]",
  S: "[e4,g4] [c#4,e4,f#4]", T: "~ b3, [d4,f#4]", U: "[b3,d4,f#4]", V: "e4 d4, a3",
  W: "[~@7 e4@24 ~, [c3,e3,g3]@31 ~]/2", X: "[g3,d4]/8",
})).s("gm_pad_warm").gain(0.21)

// drums · rim
const rim = s("rim").struct(`<
  A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~@3 B ~ A ~ B ~ A ~ B ~ A ~ B ~@3 B ~ B ~@3 B ~@6 A ~ B ~ A ~ B ~ A ~ B ~@3 B ~ B ~@3 B
  ~@6 A ~ B ~ A ~ B ~@4 A ~ A ~ C B ~@3
>`.pickRestart({
  A: "~ x", B: "~@3 x ~@4", C: "~@3 x!2 ~@3",
})).gain(0.43)

// drums · kick
const kick = s("bd").struct("<~@8 A@13 ~ A ~ A@21 ~ A@2 ~ A ~ A@21 ~ A@10 ~ A@6 ~ A ~@2>".pickRestart({
  A: "x",
})).gain(0.57)

// drums · snare
const snare = s("sd").struct("<~@36 [~ x]!8 ~@19 [~ x]!8 ~@3 [~ x]!8 ~@12>").gain(0.57)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@16 A@4 ~@4 A@20 ~@7 A@20 ~@3 A@8 ~@12>".pickRestart({
  A: "~ x ~@3 x ~@2",
})).gain(0.21)

// drums · high tom
const high_tom = s("ht").struct(`<
  ~ A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B ~@2 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 B ~@2 A
  ~@3 A ~@3 B ~@2 A ~ A ~ A ~@3
>`.pickRestart({
  A: "~@5 x ~@2", B: "~ x ~@2",
})).gain(0.5)

// drums · ride
const ride = s("rd").struct("<A@8 ~@8 A@23 B A@3 B A@22 B A@3 B A@20 ~@3>".pickRestart({
  A: "~ x ~ x", B: "~@3 x ~@2 x ~",
})).gain(0.36)

// drums · tambourine
const tambourine = s("tb").struct(`<
  ~@3 A ~@3 A ~@2 B A ~@2 B A ~@2 B A ~@3 A ~@2 C A ~@2 C A ~@2 B A ~ D ~ A ~ D ~ A ~@6 A ~@2 B A ~@2 B A ~@2 B A ~ D ~
  A ~ D ~ A ~@5 B A ~@2 B A ~@12
>`.pickRestart({
  A: "~ x ~@2", B: "~@3 x ~@4", C: "~ x", D: "x",
})).gain(0.43)

// drums · bongos
const bongos = s("bongo:18").struct(`<
  ~@26 A ~@3 A ~@7 A ~@3 A ~@10 A ~@3 A ~@7 A ~@3 A ~@6 A ~@3 A@2 ~@12
>`.pickRestart({
  A: "~ x ~@6",
})).gain(1.31)

// drums · bongos · soft notes
// … 63 more lines

More by Pooh