Strudelify

Preisend mit viel schönen Reden

unbekanntMatthias C

KeyF majorTempo124 bpm
0:00/0:00
// Preisend mit viel schönen Reden — unbekanntMatthias C
// 124 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/41379; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 107 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(124/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 E F G H I J K L M N O A B C D E F G H I J K L M N O P Q R S T U V W@2 X Y Z AA AB AC P Q R S T U V W@2 X Y Z
  AA AB AC A B C D E F G H I J K L M N O P Q R S T U V W@2 X Y Z AA AB AC A AD C AE AF AG AH AI AJ AK AL AM AN AO AP AQ
  AR
>`.pickRestart({
  A: "~@6 [c3,c4]!2", B: "[a2,f4]!2 [c3,c4]!2", C: "[a2,a3]@2 [c3,c4] [a2,a3] [f2,c4]@2 [a2,f4] [c3,f4]",
  D: "[c3,g4] [c3,a4] [c3,g4] [c3,a4]", E: "g4 c5 b4 a4 [g3,g4]@2 [a3,f4]!2, e3 f3 ~@2",
  F: "[e3,e4]@3 [e3,e4] [g3,g4]@3 [g3,g4]", G: "f3@2 c3@2 ~@2 [c3,c4]!2, c4 ~",
  H: "[bb2,bb4]@3 [g2,g4] [a2,a4]@3 [f2,f4]", I: "[a2,a4] [g2,g4] [g2,g4]@2 ~@2 [c3,c4]!2",
  J: "[g3,bb4]@3 [g3,g4] [d3,a4]@3 [f2,f4]", K: "a4 g4 [g2,g4]@2 ~@2 [c3,c4]!2, g2 ~@3", L: "[f3,c5]!2 [g3,g4]!2",
  M: "c5@3 a4 f4@2 [bb2,f4] [bb2,e4], f3@3 ~", N: "d4 bb4 a4 [d3,g4] d3 f3 bb2 d3, d3@3 ~ a4@2 g4@2", O: "[f3,f4]@3 ~",
  P: "~@6 [g3,g4]!2", Q: "[e3,c5]!2 [g3,g4]!2", R: "[e3,e4]@2 [g3,g4] [e3,e4] [c3,g4]@2 [e3,c5] [g3,c5]",
  S: "[g3,d5] [g3,e5] [g3,d5] [g3,e5]", T: "d5 g5 gb5 e5 [d4,d5]@2 [e3,c5]!2, b3 c4 ~@2",
  U: "[b2,b4]@3 [d3,b4] [d3,d5]@3 [d3,d5]", V: "[g3,g4]@4 ~@2 g4!2",
  W: "[g2!2 ~ d5 ~ d3 ~ c5 e5 [c3,d5] e3 d3 d3@2 g4!2, f5@3 ~ e5@3 ~@3 d5@2 ~@4, ~@2 f3@3 ~ e3@3 ~@7]/2", // Csus2
  X: "f5@3 d5 e5@3 c5", Y: "e5 d5 d5@2 ~@2 [g2,g4]!2", Z: "[c3,c5]!2 [d3,d5]!2",
  AA: "g5@3 e5 c5@2 [c3,c5] [b2,b4], c3@3 ~", AB: "a4 f5 e5 [a3,d5] [c3,e5]@2 [bb2,d5]@2, a3@3 ~@5",
  AC: "a2 c3@2 ~, c5@3 ~", AD: "[c3,f4] [a2,f4] [c3,c4] [e3,c4]", AE: "[e3,a4] [c4,g4] [f3,a4] [c4,g4]",
  AF: "a4 c5 b4 a4 [g3,g4]@2 f3!2, e3 f3 ~@2", AG: "e3@3 e3 g3@3 g3", AH: "c3@4 ~@2 e4!2", AI: "e5@3 c5 d5@3 a4",
  AJ: "c5 bb4 bb4@2 ~@2 g2!2", AK: "g3@3 e3 f3@3 d3", AL: "f3 e3 e3@2 ~@2 c4!2", AM: "f4!2 g4!2",
  AN: "c5@3 a4 f4@2 f4 e4", AO: "d4 bb4 a4 g4 [e3,a4]@2 [g2,g4]@2, ~ f3 ~@2", AP: "a2@2 g2@2 ~@2 f4 e4, c5@3 ~, ~ c3",
  AQ: "d4 bb4 a4 g4 [a2,a4]@2 [g2,g4]@2, c3 ~", AR: "[f2,f4]",
})).s("gm_piano").gain(0.45)

// other · tuba · "Euphonium"
const tuba = note(`<
  A B C D E F G H I J K ~ L M N A B C D E F G H I J K ~ L M N O P Q R S T U V U W X ~ Y Z AA O P Q R S T U V U W X ~ Y Z
  AA A B C D E F G H I J K ~ L M N O P Q R S T U V U W X ~ Y Z AA AB B C D E AC AD AE AF AG AH ~ L AI AJ AI AK
>`.pickRestart({
  A: "e3 g3 a3 e3", B: "f3 d3 e3 c3", C: "e3 a3 bb3 a3", D: "c4 ~", E: "c3@3 d3", F: "e3 c3 g3@2", G: "f3@2 g3 c3",
  H: "d3 bb3 c3 d3", I: "e3@2 g3 c3", J: "g3 bb3 c3 d3", K: "e3 d3 g3 c3", L: "~ e4@2 d4@2 bb3 a3@2",
  M: "~ bb3@2 g3@2 a3 g3@2", N: "f3 d3", O: "b3 d4 e4 b3", P: "c4 a3 b3 g3", Q: "b3 e4 f4 e4", R: "g4 ~", S: "g3@3 a3",
  T: "b3 g3 d3@2", U: "b3@2 d4 g3", V: "a3 f3 g3 a3", W: "d4 f3 g3 a3", X: "b3 a3 d4 g3", Y: "~ g4@4 a4@3",
  Z: "~ b3@2 a3@2 f3 e3@2", AA: "a3 c4", AB: "bb3 g3 a3 bb3", AC: "e3 c3 g2@2", AD: "e3@2 bb3 e3", AE: "g3 f3!2 g3",
  AF: "f3@2 f3 bb2", AG: "f3 a2 bb2 c3", AH: "d3 bb2 g3 c3", AI: "g4@4 d4 a3 bb3 g3", AJ: "a4@3 a4", AK: "a4",
})).s("gm_tuba").gain(0.3)

stack(piano, tuba)