Strudelify

Auf Und Auf Voll Lebenslust

Franzl Langarr. Quadratic Reciprocity

KeyE♭ majorTempo144 bpm
0:00/0:00
// Auf Und Auf Voll Lebenslust — Franzl Langarr. Quadratic Reciprocity
// 144 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5950491; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 90 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(144/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · cello · "Violoncello"
const cello = note(`<
  A B C D E F C D E F C G H I C J H K C D E F C D E F C L M N O P Q R C D E F C D E F C G H S C J H K C D E F C D E F C
  L M N O P Q R C D E F C D E F C G H I C J H K C D E F C D E T
>`.pickRestart({
  A: "bb4!3 ~ eb5 ~ bb4 ~ c5 ~ c5 ~ f5@2 ~ eb5", B: "d5 ~ bb4 ~ c5 ~ d5 ~ eb5 ~@3 eb5 ~@3",
  C: "~@2 g4 ~@3 g4 ~@3 g4 ~@3 g4 ~", D: "~@2 ab4 ~@3 ab4 ~@3 d5!2 c5 ~ bb4 ~", E: "~@2 ab4 ~@3 bb4 ~@3 c5 ~@3 d5 ~",
  F: "eb5 ~@11 bb4@4", G: "bb4 ~ f4 ~ ab4 ~ d4 ~ bb4 ~ f4 ~ ab4 ~ d4 ~", H: "~@2 ab4 ~@3 ab4 ~@3 ab4 ~@3 ab4 ~",
  I: "bb4@2 g4@2 g4@2 eb4@2 g4 ~@3 bb4 ~@3", J: "bb4 f4 ab4 d4 bb4 f4 ab4 d4", K: "bb4 g4!2 eb4 bb4 g4!2 ~",
  L: "~@2 g4 ~@3 g4 ~@3 ab4 g4 ab4 ~ f4 ~", M: "~@2 f4 ~@3 f4 ~@3 f4 ~@3 f4 ~",
  N: "~@2 f4 ~@3 f4 ~@3 bb4 a4 bb4 ~ g4 ~", O: "~@2 bb4 ~@3 bb4 ~@3 bb4 ~@3 bb4 ~",
  P: "~@2 bb4 ~@3 bb4 ~@3 eb5 d5 eb5 ~ c5 ~", Q: "~@2 c5 ~@3 c5 ~@3 ab4 ~@3 ab4 ~", R: "~@2 bb4 ~@3 d5 ~ eb5 ~@3 bb4@4",
  S: "bb4 g4!2 eb4 g4 ~ bb4 ~", T: "~@2 bb4 b4 c5 bb4 g4 f4 eb4 ~ g5!2 g5@2 ~@2",
})).s("gm_cello").gain(0.32)

// other · cello · "Violoncello"
const cello_2 = note(`<
  A B C D E F C D E G C H I J C K I L C D E F C D E F C M N O P Q R S C D E F C D E G C H I T C K I L C D E F C D E F C
  M N O P Q R S C D E F C D E G C H I J C K I L C D E F C D E U
>`.pickRestart({
  A: "g4!3 ~ bb4 ~ g4 ~ ab4 ~ ab4 ~ ab4@2 ~ bb4", B: "bb4 ~ g4 ~ ab4 ~ bb4 ~ bb4 ~@3 bb4 ~@3",
  C: "~@2 eb4 ~@3 eb4 ~@3 eb4 ~@3 eb4 ~", D: "~@2 f4 ~@3 f4 ~@3 bb4!2 ab4 ~ g4 ~", E: "~@2 ab4 ~@3 bb4 ~@3 c5 ~@3 d5 ~",
  F: "eb5 ~@15", G: "eb5 ~@11 bb4@4", H: "bb4 ~ f4 ~ ab4 ~ d4 ~ bb4 ~ f4 ~ ab4 ~ d4 ~",
  I: "~@2 f4 ~@3 f4 ~@3 f4 ~@3 f4 ~", J: "bb4@2 g4@2 g4@2 eb4@2 g4 ~@3 bb4 ~@3", K: "bb4 f4 ab4 d4 bb4 f4 ab4 d4",
  L: "bb4 g4!2 eb4 bb4 g4!2 ~", M: "~@2 eb4 ~@3 eb4 ~@3 f4 e4 f4 ~ d4 ~", N: "~@2 d4 ~@3 d4 ~@3 d4 ~@3 d4 ~",
  O: "~@2 d4 ~@3 d4 ~@3 g4 gb4 g4 ~ eb4 ~", P: "~@2 g4 ~@3 g4 ~@3 g4 ~@3 g4 ~",
  Q: "~@2 g4 ~@3 g4 ~@3 c5 bb4 c5 ~ ab4 ~", R: "~@2 ab4 ~@3 ab4 ~@3 f4 ~@3 f4 ~", S: "~@2 g4 ~@3 bb4 ~ bb4 ~@7",
  T: "bb4 g4!2 eb4 g4 ~ bb4 ~", U: "~@2 bb4 b4 c5 bb4 g4 f4 eb4 ~ eb5!2 eb5@2 ~@2",
})).s("gm_cello").gain(0.32)

// bass · contrabass
const bass = note(`<
  A B C D@2 C@2 D@2 C@2 E F G C E F H C D@2 C@2 D F H I J D K C L M N C D@2 C@2 D@2 C@2 E F G C E F H C D@2 C@2 D F H I
  J D K C L M N C D@2 C@2 D@2 C@2 E F G C E F H C D@2 C@2 D F O
>`.pickRestart({
  A: "eb2 ~ g2 ~ ab2 ~ a2 ~", B: "bb2 ~@3 eb2 ~@3", C: "eb2 ~ bb2 ~ eb2 ~ bb2 ~", D: "f2 ~ bb2 ~ f2 ~ bb2 ~",
  E: "bb2 ~ f2 ~ bb2 ~ f2 ~", F: "bb2 ~ f2 ~ bb2 ~ c3 d3", G: "eb3 ~ bb2 ~ eb3 ~ bb2 ~",
  H: "eb3 ~ bb2 g2 eb2 bb2 c3 d3", I: "eb3 ~ bb2 ~ eb2 ~ bb2 ~", J: "eb2 ~ bb2 ~ f2 ~ bb2 ~",
  K: "bb2 ~ c3 d3 eb3 ~ bb2 ~", L: "eb2 ~ f2 g2 ab2 ~ eb2 ~", M: "ab2 ~ eb2 ~ bb2 ~ eb2 ~",
  N: "bb2 ~ g2 f2 eb2 ~ bb2 ~", O: "eb3@2 ~@2 bb2!2 c3 d3 eb3 ~ bb2 g2 eb2@2 ~@2",
})).s("gm_contrabass").gain(0.5)

stack(cello, cello_2, bass)