Strudelify

Pomeriggio ore 6

Equipe 84

KeyA majorTempo151 bpm
0:00/0:00
// Pomeriggio ore 6 — Equipe 84
// 151 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 96 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 27.
setcpm(151/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 · electric bass finger
const bass = note(`<
  ~@4 A B C D A B C E A B C E A B C E F G H I F G H I A B C E A B C E A B C E F G H I F G H J A B C E A B C E A B C E F
  G H I F G H K ~@4 A B C E A B C E A B C E L G H I F G H J F G M J
>`.pickRestart({
  A: "a1 ~@3 a1@7 ~ a1@4", B: "e1@7 ~ e2@4 e1@4", C: "d2@11 ~ d2@4", D: "e1@4 e2 e1@2 ~",
  E: "a1 ~@3 a1@6 a2@2 a1@2 a2 ~", F: "a1@12 a2 ~ a1@2", G: "g#1@2 ~@2 g#1@7 ~ g#1@3 ~", H: "f#1 ~@3 f#1@8 f#2 ~ f#1@2",
  I: "e1@12 e2 ~ f#1@2", J: "a1 ~@7", K: "a1@3 ~@13", L: "a1@6 a2 a1", M: "f#1@6 f#2 ~ f#2 ~ f#1@2 f#2@3 ~",
})).s("gm_electric_bass_finger").gain(0.38)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@27 A B C D E B C D F G@2 H I J K L M J K L N ~@7 O P@2 Q R S@2 T@2 S@2 U V ~@11 O P@2 Q R W X Y Z W X Y AA W X Y ~
>`.pickRestart({
  A: "~@12 [c#3,c#4] ~ [b2,b3] ~", B: "a2", C: "e3", D: "d3", E: "a2@3 ~ a3@2 f#3@3 ~ e3@2 c#3 ~ b2 ~",
  F: "a2@9 ~@3 [c#3,c#4]@2 [d3,d4]@2", G: "[a3 b3, e4]/2", H: "[a3,d4]", I: "[e3,c#4]@11 ~ c#4 ~ b3 ~", J: "[a3,c#4]",
  K: "[g#3,b3]", L: "[f#3,a3]", M: "[e3,a3]@10 ~@2 c#4 ~ b3 ~", N: "[e3,a3,c#4] ~@7", O: "~@2 c#4 d4 e4 f#4 a4 f#4",
  P: "[[e4,a4]@3 [e4,b4]]/2", Q: "[d4,a4]", R: "[e4,a4]@13 ~@3", S: "[a4 g#4, e5]/2", T: "[d5@8 e5@7 ~, a4]/2",
  U: "[a4,d5]", V: "[a4,e5] ~@15", W: "a3", X: "g#3", Y: "f#3", Z: "e5@7 ~", AA: "a2@2 ~@10 c#3 ~ b2 ~",
})).s("gm_string_ensemble_1").gain(0.36).pan(0.6)

// other · alto sax
const alto_sax = note("<~@67 A@4 B C D E F G H I F C D E F G H J K G H J L G H M ~>".pickRestart({
  A: "[a3,c#4,a4] ~@3 [a3,c#4,a4] ~@3 [a3,c#4,a4] ~@3 [a3,c#4,a4] ~@3", // A
  B: "b2 c#3 [d3,d4] [e3,e4] ~ [g#3,g#4] ~ [b3,b4], b3 ~ c#4 ~@13", C: "a4 ~@7 b4 ~ a4@2 ~@2 g#4@2",
  D: "~@2 e4 ~@3 b3@6 ~@4", E: "d4 ~ e4 ~ f#4@2 a4 ~@3 b4 ~@3 c#5 ~", F: "~@2 a4 ~@3 e4@6 ~@4",
  G: "~@8 b4 ~ a4@2 ~@2 g#4@2", H: "~@2 e4@2 ~@2 b3@7 ~@3", I: "d4 ~ e4 ~ f#4@2 a4 ~@3 b4 ~@3 c#5@2",
  J: "d4 ~ e4 ~ f#4 ~ a4 ~@3 b4 ~@3 c#5@2", K: "~@2 a4 ~@3 e5@2 ~@2 c#5@3 ~@3",
  L: "~@4 [a3,c#4,a4] ~@3 [a3,c#4,a4] ~@3 [a3,c#4,a4] ~@3", M: "d4@2 e4 ~ f#4@2 a4 ~@3 b4 ~ a4 ~@3",
})).s("gm_alto_sax").gain(0.53).pan(0.7)

// chords · rock organ
const rock_organ = note(`<
  ~@4 A@2 B C A@2 B D A@2 B D A@2 B D@2 C B D@2 E@2 F A@2 B D A@2 B D A@2 B D@2 C B D@2 E@2 G A@2 B D A@2 B D A@2 B D@2
  C B D@2 E@2 ~@20 D ~@8
>`.pickRestart({
  A: "[a5 g#5, e5]/2", B: "[d5,f#5]", C: "[e5,g#5]", D: "[e5,a5]", E: "[[e5,g#5] f#5, d5]/2", F: "e5, a5@7 ~",
  G: "[e4,a4]@3 ~@13", // A5
})).s("gm_rock_organ").gain(0.23)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@4 A@2 B C A@2 B D A@2 B D A@2 B D E F G H E F G H A@2 B D A@2 B D A@2 B D E F G H E F G I A@2 B D A@2 B D A@2 B D E
  F G H E F G J ~@4 A@2 B D A@2 B D A@2 B D E F G H E F G J E F G K
>`.pickRestart({
  A: "[[a3,c#4]@6 e3@2 a3@2 ~@6 [e2,b2]@3 ~ [e2,b2]@4 g#3@2 ~@2 g#3@4, [a2,e3]@2 ~@2 [c#4,e4]@5 ~@3 [b3,e4]@4, ~@10 [a2,e3]@4 ~@12 [e2,b2]@5 ~, ~@6 a3@3 ~@7]/2", // A E5 A5 C#m E5 A5 E5
  B: "[a2,d3]@2 ~@2 [a2,d3]@4 [a3,d4]@2 ~@2 [a3,d4]@3 ~, [a3,d4]@6 ~@2 f#4@7 ~, ~@10 [a2,d3]@5 ~", // D5
  C: "[b3,e4]@2 [b2,e3]@2 b3 [b2,e3] b3 ~, [b2,e3]@3 ~@5 [e4,g#4]@6 ~@2", // E5 E
  D: "[a2,e3,a3,e4] ~@3 [a2,e3]@4 a3@2 ~@2 a3 ~ [a3,c#4,e4]@2, ~@8 [c#4,e4]@5 ~@3, ~@10 [a2,e3]@5 ~", // A5 A C#m A5
  E: "a3@3 ~ a3@2 ~@2 a3@2 ~@2 a3@2 ~@2, a2@4 ~ a2@3, [c#4,e4]@3 ~ [c#4,e4]@3 ~", // C#m
  F: "[g#2,g#3,b3,e4]@8 g#3@2 ~@2 g#3@3 ~, ~@8 e4@5 ~@3, ~@5 g#2@3", // E
  G: "[a3,d4]@7 ~ f#3@2 f#2@5 ~, f#2 ~, f#3@3 ~@5 [a3,d4]@7 ~", // D5
  H: "[e2,e3,a3,c#4]@3 e2 e3 ~ e3 ~, ~@8 [a3,c#4]@7 ~, ~@5 e2@3", I: "[a2,a3]@3 ~@13", J: "[a2,e3] ~@7",
  K: "[a3,c#4] ~@7", // A
})).s("gm_acoustic_guitar_steel").gain(0.36).pan(0.3)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@4 A ~@3 A ~@2 B A ~@2 B A ~@2 B ~ C D ~@2 C D ~ A ~@2 B A ~@2 B A ~@2 B ~ C D ~@2 C D ~ A ~@2 B A ~@2 B A ~@2 B ~ C
  D ~@2 C D ~@5 A ~@2 B A ~@2 B A ~@2 B ~ C D ~@2 C D ~@2 C D ~
>`.pickRestart({
  A: "~@6 a2@3 ~@7", B: "~@4 [a3,e4] ~@11", C: "~@8 b3@5 ~@3", D: "~@4 f#3@3 ~@5 f#3@3 ~",
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0.3)

// other · distortion guitar
const distortion_guitar = note("<A B C D A B C D ~@8 A B C D ~@16 A B C D ~@16 A B C D ~@20 A B C D ~@12>".pickRestart({
  A: "a4@12 f#4 a4 ~ f#4", B: "e4@11 ~ c#4 e4 ~ c#4", C: "a3@12 f#3 a3 ~ f#3", D: "e3@3 ~",
})).s("gm_distortion_guitar").gain(0.36)

// other · tuba
const tuba = note("<~@48 A B C D A B C E F G H I ~@12 A B C D A B C E F G H I ~@11 J>".pickRestart({
  A: "c#3 ~@3 a2 ~@3", B: "b2 ~@3 g#2 ~@3", C: "a2 ~@3 f#2 ~@3", D: "a2 ~@3 e2 ~@3", E: "a2 ~@7",
  F: "c#3@3 ~@5 a2@2 ~@6", G: "b2@2 ~@6 g#2@3 ~@5", H: "a2 ~@3 f#2@2 ~@2", I: "a2@3 ~@13", J: "a2 ~@3 e2 ~@3 a1@2 ~@6",
})).s("gm_tuba").gain(0.52).pan(0.3)

// bass · contrabass
const bass_2 = note(`<
  ~@27 A B C D E B C D F G@2 D H I J K@2 I J L M ~@8 N@2 O P B Q R S B Q T U ~@12 N@2 O P B Q R S B Q R V B Q R W
>`.pickRestart({
  A: "~@12 c#3 ~ b2 ~", B: "a2", C: "e3", D: "d3", E: "a2@3 ~ a3@2 f#3@4 e3 ~ c#3 ~ b2 ~",
  F: "a2@11 ~ [c#3,c#4]@2 [d3,d4]@2", G: "e3/2", H: "c#4@11 ~ c#4 ~ b3 ~", I: "c#4", J: "b3",
  K: "[a3@25 ~@3 c#4 ~ b3 ~]/2", L: "a3@15 ~", M: "a3@3 ~@13", N: "e4/2", O: "d4", P: "c#4@10 ~@2 c#4 ~ b3 ~", Q: "g#2",
  R: "f#2", S: "e2@8 ~@2 a2 ~ c#3@2 b2@2", T: "f#2@15 ~", U: "a2 ~@7", V: "a2 ~@11 c#3 ~ b2 ~", W: "[a2,e3] ~@15",
})).s("gm_contrabass").gain(0.55).pan(0.3)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@9 A B ~@2 A B ~@2 A B ~@2 C D E ~ C D E ~ A B ~@2 A B ~@2 A B ~@2 C D E ~ F D G ~ A B ~@2 A B ~@2 A B ~@2 F D E ~ F
  D ~@6 A B ~@2 A B ~@2 A B ~@2 C D E ~ C D ~@2 C D H
>`.pickRestart({
  A: "~@7 b3", B: "~@7 a3", C: "~@4 b3@3 ~@5 [b3,e4]@3 ~", D: "~@12 a3@3 ~", E: "~ [a3,e4]@2 a3@2 ~ a3 ~",
  F: "~@4 b3@3 ~@5 [b3,e4]@2 ~@2", G: "[c#4,e4] ~@7", H: "e4 ~@15",
})).s("gm_electric_guitar_clean").gain(0.28).pan(0.6)

// other · overdriven guitar
const overdriven_guitar = note(`<
  ~@4 A B C D ~@8 A B C D ~@16 A B C D ~@16 A B C D ~@20 A B C D ~@3 E F G H I ~@4
>`.pickRestart({
  A: "e5@12 c#5 e5 ~ c#5", B: "b4@12 g#4 b4 ~ g#4", C: "e4@11 ~ e4!2 ~@2", D: "e4@13 ~@3", E: "~@12 e4@2 f#4 ~",
  F: "a4@2 ~@2 a4 ~ a4@2 ~@2 a4 ~ a4@2 ~@2", G: "g#4 ~@3 g#4 ~ g#4@2 ~@2 g#4 ~ g#4@2 ~@2",
  H: "f#4 ~@3 f#4 ~ f#4@2 ~@2 f#4 ~ f#4 ~@3", I: "e4 ~@15",
})).s("gm_overdriven_guitar").gain(0.33).pan(0.7)

// other · overdriven guitar · soft notes
const overdriven_guitar_soft = note("<~@6 A ~@11 A ~@19 A ~@19 A ~@23 A ~@13>".pickRestart({
  A: "~@15 e4",
})).s("gm_overdriven_guitar").gain(0.22).pan(0.7)

// other · baritone sax
const baritone_sax = note("<~@72 A B C D E F C G A B C D E F C H E F C ~ E F I ~>".pickRestart({
  A: "a2@2 ~@6 b2 ~ a2@2 ~@2 g#2@2", B: "~@2 e2@2 ~@2 b1@7 ~@3", C: "d2 ~ e2 ~ f#2@2 a2@2 ~@2 b2@2 ~@2 c#3@2",
  D: "~@2 a2@2 ~@2 e2@7 ~@3", E: "~@4 b2 a2 ~ g#2", F: "~ e2 ~ b1@3 ~@2", G: "~ a2 ~ e2@3 ~@2",
  H: "~@2 a2 ~@3 e3 ~@3 c#3@3 ~@3", I: "d2 ~ e2 ~ f#2 ~ a2@2 ~@2 b2@2 a2 ~@3",
})).s("gm_baritone_sax").gain(0.44).pan(0.7)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A B A C A B A C A B A ~ A B A D A C E ~ A C E C A B A C A B A ~ A B A D A C E ~ A C E F A B A C A B A ~ A B A D A
  C E ~ A C E G ~@4 A B A C A B A ~ A B A D A C E ~ A C E G A C E G
>`.pickRestart({
  A: "x ~@6 x", B: "x ~@2 x", C: "x!2 ~@2", D: "x ~@2 x ~@4", E: "x!2 ~ x", F: "~ x ~@2", G: "x",
})).gain(0.47)

// drums · snare
const snare = s("sd").struct(`<
  ~@4 A@3 B A@3 B A@3 C A@3 D A@3 C A@3 E A@3 B A@3 C A@3 D A@3 C A@3 F A@3 B A@3 C A@3 D A@3 C A@3 ~@4 G A@3 B A@3 C
  A@3 D A@3 C A@3 ~ A@3 ~
>`.pickRestart({
  A: "~ x", B: "~@4 x ~@2 x", C: "x!2 ~ x ~@4", D: "~ x ~@2 x!2 ~@2", E: "~@3 x!2 ~@3", F: "~ x ~@3 x ~@2",
  G: "~@2 x ~@3 x ~@2 x ~@2 x ~@3",
})).gain(0.53)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@15 A ~@3 B ~@3 C ~@3 C ~@7 A ~@3 B ~@3 C ~@3 D ~@7 A ~@3 B ~@3 C ~@5 A@2 E ~@7 A ~@3 B ~@3 C ~@8
>`.pickRestart({
  A: "~@5 x ~ x", B: "~@7 x", C: "~@5 x!2 ~", D: "~@3 x ~@2 x ~", E: "~@9 x ~ x ~@3 x",
})).gain(0.47)

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

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@15 A ~@3 A ~@3 B ~@3 C ~@7 A ~@3 A ~@3 B ~@3 D ~@7 A ~@3 A ~@3 B ~@5 E@2 F ~@7 A ~@3 A ~@3 B ~@8
>`.pickRestart({
  A: "~@3 x", B: "~ x", C: "~ x ~@5 x", D: "x ~@2 x ~@4", E: "~ x ~ x ~@4", F: "~@8 x ~@4 x ~@2",
})).gain(0.53)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@7 A ~@3 A ~@3 B ~@3 C ~@3 D ~@3 D ~@3 A ~@3 B ~@3 C ~@3 D ~@7 A ~@3 B ~@3 C ~@3 D ~@11 A ~@3 B ~@3 C ~@3 D ~@3 D ~@3
  D
>`.pickRestart({
  A: "~ x", B: "x!2", C: "x!3 ~", D: "x",
})).gain(0.47)

// drums · crash
const crash = s("cr").struct(`<
  ~@4 A ~@3 A ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@3 A ~@3 A ~@3 A ~@7 A ~@3 A ~@3 A ~@2 A ~@4 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3
>`.pickRestart({
  A: "x",
})).gain(0.4)

// drums · tambourine
const tambourine = s("tb").struct("<~@70 [x!4]!2 ~@23 [~ x!2 ~]>").gain(0.53)

stack(
  bass, string_ensemble_1, alto_sax, rock_organ, acoustic_guitar_steel, acoustic_guitar_steel_2, distortion_guitar,
  tuba, bass_2, electric_guitar_clean, overdriven_guitar, overdriven_guitar_soft, baritone_sax, kick, snare, low_tom,
  hihat, mid_tom, open_hat, crash, tambourine
)

More by Equipe 84