Strudelify

Hey Hey Wickie - Kleine Partie FERTIG

Musik: Bläck Fööss

KeyB♭ majorTempo138 bpm
0:00/0:00
// Hey Hey Wickie - Kleine Partie FERTIG — Musik: Bläck Fööss
// 138 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5712194; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 46 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(138/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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.

// other · flute · "Flöte"
const flute = note("<~ A B C ~@4 D E ~ F G H I ~ J@2 K@2 L@2 M N ~@4 D E ~ F G H I ~ J@2 K@2 L@2 M N O P>".pickRestart({
  A: "~@12 a4 ~ bb4 c5 ~ d5 eb5 ~ f5 g5 ~ a5",
  B: "bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6", // Bbsus2
  C: "bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 ~@6", // Bbsus2
  D: "db5@2 c5@2 bb4 bb4@2 g4", E: "db5@3 c5@6 bb4@14 ~", F: "~@18 bb4 ~ c5 d5 ~ eb5",
  G: "f5 ~@2 f5 ~@2 f5 ~@2 f5 ~@2 f5 ~@2 f5 ~@2 f5 ~@2 f5 ~@2",
  H: "eb5 ~@2 eb5 ~@2 eb5 ~@2 eb5 ~@2 eb5 ~@2 eb5 ~@2 eb5 ~@2 g5 ~@2",
  I: "bb5 [bb5,c6] c6 bb5 c6 [bb5,c6] bb5 [bb5,c6] c6 bb5 [bb5,c6] c6 bb5 c6 [bb5,c6] bb5 [bb5,c6] c6 ~@6", // Bbsus2
  J: "[~@3 b4 ~@2 b4 ~@2 b4 ~@2 b4@3 ~@3 b4 ~@2 eb5@6 b4@3 b4@6 ~@3 b4 ~@2 b4 ~@2 b4 ~@2]/2",
  K: "[~@3 bb4 ~@2 bb4 ~@2 bb4 ~@2 bb4@3 ~@3 bb4 ~@2 d5@6 bb4@3 bb4@6 ~@3 bb4 ~@2 bb4 ~@2 bb4 ~@2]/2",
  L: "[~@3 b4 ~@2 b4 ~@2 b4 ~@2 b4@3 ~@3 b4 ~@2 eb5@9 b4@3 b4@6 b4 ~@2 bb4 ~ c5 d5 ~ eb5]/2",
  M: "f5 [f5,g5] g5 f5 g5 [f5,g5] f5 [f5,g5] g5 f5 [f5,g5] g5 f5 g5 [f5,g5] f5 [f5,g5] g5 ~@6", // Fsus2
  N: "c6 [c6,d6] d6 c6 d6 [c6,d6] c6 [c6,d6] d6 c6 [c6,d6] d6 c6 d6 [c6,d6] c6 [c6,d6] d6 ~@6", O: "bb5@3 bb5@20 ~",
  P: "~@9 bb5@14 ~",
})).s("gm_flute").gain(0.3)

// other · alto sax · "Alt Saxophon"
const alto_sax = note(`<
  ~ A B C ~@2 D@2 ~@2 D@2 E F G ~ H@2 I@2 J@2 K@2 ~@2 D@2 ~@2 D@2 E F G ~ H@2 I@2 J@2 K@2 G L
>`.pickRestart({
  A: "~@12 a3 ~ bb3 c4 ~ d4 eb4 ~ f4 g4 ~ a4",
  B: "bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5", // Bbsus2
  C: "bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 bb4 [bb4,c5] c5 ~@6", // Bbsus2
  D: "[~ ab4!3 ab4@2 bb4 g4@2 f4@3 ~@4]/2", E: "f4@3 e4", F: "eb4@2 g4 bb4@5", G: "bb4 bb4@7",
  H: "[~@3 b3 ~@2 b3 ~@2 b3 ~@2 b3@3 ~@3 b3 ~@2 eb4@6 b3@3 b3@12 ~@6]/2",
  I: "[~@3 bb3 ~@2 bb3 ~@2 bb3 ~@2 bb3@3 ~@3 bb3 ~@2 d4@6 bb3@3 bb3@12 ~@6]/2",
  J: "[~@3 b3 ~@2 b3 ~@2 b3 ~@2 b3@3 ~@3 b3 ~@2 eb4@9 b3@3 b3@12 ~@3]/2", K: "[~ f4!4 f4@2 c5@2 a4@2 f4@2 g4@3]/2",
  L: "~@3 f4@5",
})).s("gm_alto_sax").gain(0.3)

// other · trumpet · "B Trompete"
const trumpet = note(`<
  ~@4 A B C@2 D E C@2 F G H I J K L I M@2 N@2 A B C@2 D E C@2 F G H I J K L I M@2 N@2 H O
>`.pickRestart({
  A: "ab4@2 g4@2 f4 f4@3", B: "ab4@2 g4!2 f4@4", C: "[~ ab4!3 ab4@2 bb4 g4@2 f4@3 ~@4]/2", D: "bb4@2 ab4@2 g4 g4@2 eb4",
  E: "bb4 ab4@2 g4@5", F: "~ f4!2 a4@2 f4 ~ f4", G: "eb4!3 g4@2 g4 f4@2", H: "bb4 bb4@7", I: "~ bb3!3", J: "b3",
  K: "~ b3!3", L: "bb3", M: "[b3!4 b3@2 b3 eb4@3 b3 b3@5]/2", N: "[~ f4!4 f4@2 c5@2 a4@2 f4@2 g4@3]/2", O: "~@3 bb4@5",
})).s("gm_trumpet").gain(0.11)

// other · trumpet · "B Trompete"
const trumpet_2 = note(`<
  ~@4 A B C@2 D E C@2 F G H I J K L I M@2 N@2 A B C@2 D E C@2 F G H I J K L I M@2 N@2 H O
>`.pickRestart({
  A: "f4@2 eb4@2 d4 d4@3", B: "f4@2 eb4!2 d4@4", C: "[~ f4!3 f4@2 g4 eb4@2 d4@3 ~@4]/2", D: "db4@2 c4@2 bb3 bb3@2 g3",
  E: "db4 c4@2 bb3@5", F: "~ a3!2 c4@2 a3 ~ a3", G: "g3!3 bb3@2 bb3 bb3@2", H: "d4 d4@7", I: "~ bb3!3", J: "b3",
  K: "~ b3!3", L: "bb3", M: "[b3!4 b3@2 b3 eb4@3 b3 b3@5]/2", N: "[~ f4!4 f4@2 c5@2 a4@2 f4@2 g4@3]/2", O: "~@3 d4@5",
})).s("gm_trumpet").gain(0.1)

// other · tuba · "Euphonium"
const tuba = note("<~@2 A@2 ~@4 B C ~@2 D E F ~ G@2 H@2 G@2 I@2 ~@4 B C ~@2 D E F ~ G@2 H@2 G@2 I@2 J K>".pickRestart({
  A: "bb2!2 db3 d3 bb2!2 db3 d3", B: "bb3@2 ab3@2 g3 g3@2 eb3", C: "bb3 ab3@2 g3@5", D: "f3@3 e3", E: "eb3@2 g3 bb3@5",
  F: "bb3 bb3@7", G: "~ b3 ~ b3 ~ b3 ~ b3", H: "~ bb3 ~ bb3 ~ bb3 ~ bb3", I: "~ f4 ~ f4 ~ f4 ~ f4", J: "f3 f3@7",
  K: "~@3 bb3@5",
})).s("gm_tuba").gain(0.3)

// bass · tuba · "Euphonium"
const bass = note("<A@8 B C A@2 D C A E F@2 G@2 F@2 H@2 A@4 B C A@2 D C A E F@2 G@2 F@2 H@2 A I>".pickRestart({
  A: "bb2!2 db3 d3 bb2!2 db3 d3", B: "eb3!2 gb3 g3 eb3!2 gb3 g3", C: "eb3!2 gb3 g3 eb3!2 db3 c3",
  D: "f3!2 ab3 a3 f3!2 ab3 a3", E: "bb2!8", F: "b2 b3 b2 b3 b2 b3 b2 b3", G: "bb2 bb3 bb2 bb3 bb2 bb3 bb2 bb3",
  H: "f3 f4 f3 f4 f3 f4 f3 f4", I: "bb2 db3 d3 bb2@5",
})).s("gm_tuba").gain(0.3)

stack(flute, alto_sax, trumpet, trumpet_2, tuba, bass)