Strudelify

Vizisi ÐÑ ÐогоÐÐ! Nu pogodi!

aranżacia Maciej Olszewski

KeyC majorTempo120 bpm
0:00/0:00
// Vizisi ÐÑ ÐогоÐÐ! Nu pogodi! — aranżacia Maciej Olszewski
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 7 "Piano" named as a piano, played on piano (its slap bass 2 patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5962745; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 51 bars on a 16-step grid, each part at one level. 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 · piano
const piano = note(`<
  A B C D A B E F G H I J A B K L G H I J A B K L A B C D A B E F G H I J A B K L G H I J A B K L M@2 N
>`.pickRestart({
  A: "[f2,f3,f4,f5] [c2,c3,c4,c5] [f2,f3,d4,d5] [c2,c3,a3,a4]", // F C Dm F
  B: "[f2,f3,c4,c5]@2 [g3,g4] ~ [f2,f3]@2 [g3,g4] [f3,f4], ~ [c2,c3] ~ [c2,c3], ~@3 [a3,a4]@3 ~@2", // F5 G F G F C A
  C: "c#4 f4 g#4 c#5!2 g#4 f4 c#4!2 f4 g#4 c#5!2 g#4 f4 c#4, [c#2,c#3] [g#1,g#2] [c#2,c#3] [g#1,g#2]", // C# G# C# G#
  D: "c4 e4 g4 c5!2 g4 e4 c4!2 e4 g4 c5!2 g4 e4 c4, [c2,c3] [g1,g2] [c2,c3] [g1,g2]", // C G C G
  E: "e4 d4 f#4 e4 g#4 f#4 a#4 g#4 c5 a#4 d5 c5 e5 d5 f#5 e5, [e2,e3] [b1,b2] [e2,e3] [b1,b2]", // E B E B
  F: "f#5 g#5 a#5@2 e5 f#5 g#5@2 d5 e5 f#5@2 c5 d5 e5@2, [e2,e3] [b1,b2] [e2,e3] [b1,b2]", // E B E B
  G: "d5 c#5 d5 f5 a5@2 d5 c#5 d5 f5 a5@2 [g1,g2]@4, [g1,g2]@3 [g1,g2]@3 ~@2", // G
  H: "d5 c#5 d5 e5 a5@2 d5 c#5 d5 e5 a5@2 [c1,c2]@2 [a1,a2]@2, [c1,c2]@3 [c1,c2]@3 a5@2", // C A C
  I: "[c2,c3]@3 [c2,c3] [b1,b2]@3 [b1,b2], [c5,c6] [b4,b5]", // C B C B
  J: "[a#1,a#2]@3 [a#1,a#2] [a1,a2]@3 [a1,a2], [a#4,a#5] [a4,a5]", // A# A A# A
  K: "c#6 c6 c#6 g#5 f5 c#5 f5 g#5 c#6 c6 c#6 g#5 f5 c#5 f5 g#5, [c#2,c#3] [g#1,g#2] [c#2,c#3] [g#1,g#2]", // C# G# C# G#
  L: "c6 b5 c6 g5 e5 c5 e5 g5 c6 b5 c6 g5 e5 c5 e5 g5, [c2,c3] [g1,g2] [c2,c3] [g1,g2]", // C G C G
  M: "[b3,e4]@3 [b3,e4] [b3,e4]@3 [b3,e4]", N: "[f#2,f#3,f#4,f#5] ~@3",
})).s("gm_piano").gain(0.45)

// other · string ensemble 1 · "Violino"
const string_ensemble_1 = note("<~@8 A B ~@4 C D A B ~@4 C D ~@8 A B ~@4 C D A B ~@4 C D E@2 ~>".pickRestart({
  A: "d5 c#5 d5 f5 a5@2 d5 c#5 d5 f5 a5@2 ~@4", B: "d5 c#5 d5 e5 a5@2 d5 c#5 d5 e5 a5@2 ~@4",
  C: "c#5 c5 c#5 g#4 f4 c#4 f4 g#4 c#5 c5 c#5 g#4 f4 c#4 f4 g#4", D: "c5 b4 c5 g4 e4 c4 e4 g4 c5 b4 c5 g4 e4 c4 e4 g4",
  E: "[e4@7 ~]/2",
})).s("gm_string_ensemble_1").gain(0.41)

// other · flute · "Flauto"
const flute = note("<~@9 A B C ~@5 A B C ~@13 A B C ~@5 A B C ~@7>".pickRestart({
  A: "~@12 c6 d6 e6 f6", B: "g6 e6 g6 e6 c6 g5 c6 e6 f#6 d#6 f#6 d#6 b5 f#5 b5 d#6",
  C: "f6 d6 f6 d6 a#5 f5 a#5 f6 e6 c#6 e6 c#6 a5 e5 a5 c#6",
})).s("gm_flute").gain(0.41)

// chords · piano
const piano_2 = note(`<
  A B C D A B E F G H I J A B K L G H I J A B K L A B C D A B E F G H I J A B K L G H I J A B K L M@2 N
>`.pickRestart({
  A: "~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5], [f2,f3] [c2,c3] [f2,f3] [c2,c3]", // F C F C
  B: "~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] [c2,c3] [f2,f3,f4,a4,c5], [f2,f3] [c2,c3] [f2,f3] ~", // F C F C F
  C: "~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4], [c#2,c#3] [g#1,g#2] [c#2,c#3] [g#1,g#2]", // C# G# C# G#
  D: "~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] [g1,g2] [e2,e3,c4,e4,g4], [c2,c3] [g1,g2] [c2,c3] ~", // C G C G C
  E: "~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4], [e2,e3] [b1,b2] [e2,e3] [b1,b2]", // Em E B E B
  F: "~ [b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4] ~ [b3,e4,g4], [e2,e3] [b1,b2] [e2,e3] [b1,b2]", // Em E B E B
  G: "[g1,g2,g4,b4,d5]@3 [g1,g2,g4,b4,d5]@3 [g1,g2,g4,b4,d5]@2", // G
  H: "[c1,c2,c4,e4,g4]@3 [c1,c2,c4,e4,g4]@3 [c1,c2] [a1,a2], ~@3 [c4,e4,g4]", // C A C
  I: "[c2,c3,c5,e5,g5]@3 [c2,c3,c5,e5,g5] [b1,b2,b4,d#5,f#5]@3 [b1,b2,b4,d#5,f#5]", // C B
  J: "[a#1,a#2,a#4,d5,f5]@3 [a#1,a#2,a#4,d5,f5] [a1,a2,a4,c#5,e5]@3 [a1,a2,a4,c#5,e5]", // A# A
  K: "~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] [g#1,g#2] [c#2,c#3,c#4,f4,g#4], [c#2,c#3] [g#1,g#2] [c#2,c#3] ~", // C# G# C# G# C#
  L: "~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4], [c2,c3] [g1,g2] [c2,c3] [g1,g2]", // C G C G
  M: "[b3,e4]@3 [b3,e4] [b3,e4]@3 [b3,e4]", N: "[f#2,f#3] ~@3",
})).s("gm_piano").gain(0.24)

stack(piano, string_ensemble_1, flute, piano_2)