Strudelify

Ich hab' mich ergeben

August Daniel von Binzer

KeyD majorTempo120 bpm
0:00/0:00
// Ich hab' mich ergeben — August Daniel von Binzer
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/42008; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 80 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 part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · piano
const piano = note(`<
  A B C D E F G H E I G H J A B C D E F G H E I G H J K L M N O P Q R O S Q R T K L M N O P Q R O S Q R T U V W X Y Z AA
  AB Y AC AA AB AD AE AF AG D E AH G H E AI G H AJ AK AL
>`.pickRestart({
  A: "~@3 [a3,a4]", B: "[f#3,f#5]@2 [e3,e5] [f#3,f#5]", C: "[d3,d5]@2 [a2,a4]!2", D: "[a3,a5]@2 [g3,g5] [a3,a5]",
  E: "[f#3,f#5]@2 ~ [d3,d5]", F: "[b3,b5]!4", G: "[a3,a5]@2 [f#3,f#5] [a3,a5]",
  H: "[a3,a5]@2 [g3,g5] [f#3,f#5] [g3,g5]@2 [a3,a5]@2", I: "[b3,b5]!2 [d4,d6] [b3,b5]", J: "[f#3,f#5]@3 ~",
  K: "~@3 [e2,e5]", L: "[c#3,c#6]@2 [b2,b5] [c#3,c#6]", M: "[a2,a5]@2 [e2,e5]!2", N: "[e3,e6]@2 [d3,d6] [e3,e6]",
  O: "[c#3,c#6]@2 ~ [a2,a5]", P: "[f#3,f#6]!4", Q: "[e3,e6]@2 [c#3,c#6] [e3,e6]",
  R: "[e3,e6]@2 [d3,d6] [c#3,c#6] [d3,d6]@2 [e3,e6]@2", S: "[f#3,f#6]!2 [a3,a6] [f#3,f#6]", T: "[c#3,c#6]@3 ~",
  U: "~@3 [c#3,c#5]", V: "[a#3,a#5]@2 [g#3,g#5] [a#3,a#5]", W: "[f#3,f#5]@2 [c#3,c#5]!2",
  X: "[c#4,c#6]@2 [b3,b5] [c#4,c#6]", Y: "[a#3,a#5]@2 ~ [f#3,f#5]", Z: "[d#4,d#6]!4",
  AA: "[c#4,c#6]@2 [a#3,a#5] [c#4,c#6]", AB: "[c#4,c#6]@2 [b3,b5] [a#3,a#5] [b3,b5]@2 [c#4,c#6]@2",
  AC: "[d#4,d#6]!2 [f#4,f#6] [d#4,d#6]", AD: "[a#3,a#5]@3 ~", AE: "~@3 [a2,a4]", AF: "[a3,f#5]@2 [g3,e5] [a3,f#5]",
  AG: "[d3,d5]@2 [f#3,a4]!2", AH: "[f#3,b5] [a3,b5] [f#3,b5]!2", AI: "[d4,b5]!2 [f#4,d6] [d4,b5]",
  AJ: "[f#3,d6]@2 ~ [a3,a5]", AK: "[a3,a5]@2 [g3,g5] [f#3,f#5] [g3,g5]@2 [f#3,a5]@2", AL: "[f#3,d5]",
})).s("gm_piano").gain(0.45)

// other · tuba · "Euphonium"
const tuba = note(`<
  A B C A D E F G H I F J K A B C A D E F G H I F J K L M N L O P Q R S T Q U V L M N L O P Q R S T Q U V W X Y Z AA AB
  AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AU AW
>`.pickRestart({
  A: "f#3 a3 c#4 a3", B: "f#3 c#3 e3 f#3", C: "a3!2 c#4 a3", D: "a3 c#4 e4 f#4", E: "g3 b3 g3 b3", F: "f#3 a3 f#3 a3",
  G: "f#3 a3 g3 a3", H: "c#4 a3 d4 a3", I: "b3 g3 b3 g3", J: "c#4 f#4 g4 a4", K: "f#4 f#3!2 g3", L: "c#3 e3 g#3 e3",
  M: "c#3 g#2 b2 c#3", N: "e3!2 g#3 e3", O: "e3 g#3 b3 c#4", P: "d3 f#3 d3 f#3", Q: "c#3 e3 c#3 e3", R: "c#3 e3 d3 e3",
  S: "g#3 e3 a3 e3", T: "f#3 d3 f#3 d3", U: "g#3 c#4 d4 e4", V: "c#4 c#3!2 d3", W: "c#4 a#3 f#3 c#3",
  X: "a#3 c#4 g#3 a#3", Y: "f#3 a#3 g#3 c#4", Z: "c#4 f#4 b3 c#4", AA: "f#4 c#4!3", AB: "f#4 b4!2 d#4",
  AC: "c#4 f4 a#4 c#4", AD: "a#3 c#4 d#4 c#4", AE: "a#3 c#4 a#3 f#3", AF: "b3!2 f#4!2", AG: "c#4 a#3 f#3 a#3",
  AH: "c#4 a#3 d#4 b3", AI: "c#4 a#3 c#4 f#4", AJ: "a3 c#4 a3 c#4", AK: "d3 a3 e3 d3", AL: "f#3 a2 f#3 a2",
  AM: "c#3 a2 b2 c#3", AN: "f#3 d3 a2 d3", AO: "g3 d3 g3 d3", AP: "a3 c#4 f#4 a3", AQ: "f#3 d3 g3 a3",
  AR: "f#3 a2 d3 a2", AS: "b2 g3 d3!2", AT: "a3 c#3 f#3 a2", AU: "c#3 g2 b2 a2", AV: "d4 g4 f#4 d4 a3 f#3 a2@2",
  AW: "d4 f#4@3",
})).s("gm_tuba").gain(0.25)

stack(piano, tuba)