Strudelify

Sonata for Bassoon and Cello in B-flat major K.292/196c

Mozart

KeyB♭ majorTempo120 bpm
0:00/0:00
// Sonata for Bassoon and Cello in B-flat major K.292/196c — Mozart
// 120 bpm, 4/4, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/2875806; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 222 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. 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 · cello · "Cello II"
const cello = note(`<
  A@2 B C D E F G H I J K L@2 M N O P Q R S T U V W X Y Z AA AB AC AD AE AB AC AD AF AG AH AI AF AG AH AI AJ AK A@2 B C
  D E F G H I J K L@2 M N O P Q R S T U V W X Y Z AA AB AC AD AE AB AC AD AF AG AH AI AF AG AH AI AJ AK AL ~ AM AN AO AP
  AO AQ AR ~ AS AT AU AV ~@51 AL ~ AM AN AO AP AO AQ AR ~ AS AT AU AV ~@51
>`.pickRestart({
  A: "~@2 bb2 ~ d3@2 bb2@2", B: "~@6 eb3@4 ~ d3 eb3@3 ~@3 c3@3 ~@3", C: "f3@2 d3 ~ a2@2 bb2 ~",
  D: "c3@2 d3 ~@2 g3 f3 e3", E: "f3@4 ~ c4 bb3 a3", F: "bb3@4 ~ bb2 g2 f2", G: "eb2 eb3", H: "d3 g3 eb3 f3",
  I: "bb2@2 ~ bb3 d4 bb3 f3 d3", J: "bb2!3 c3 d3 eb3 d3 c3", K: "bb2!8", L: "a2!8", M: "bb2!2 d3@2 ~ c3 eb3@2",
  N: "~ d3 f3@2 ~ bb3 g3 f3", O: "eb3@3 e3", P: "~ f3 e3 f3 c3 d3 bb2 c3", Q: "a2@2 a3 g3",
  R: "f3 ~@2 e3 ~@2 f3 ~@2 g3 ~@2 a3 ~@2 bb3 ~@2 c4 ~@2 a3 ~@2", S: "bb3 a3 g3 f3",
  T: "e3@6 ~@6 e2@2 e3 ~ f3 ~ g3 ~ a3 ~ bb3 ~", U: "a3 g3 f3 e3", V: "d3@6 ~@6 d2@2 d3 ~ e3 ~ f3 ~ g3 ~ a3 ~",
  W: "g3 f3 e3 d3", X: "c3!4 bb2!4", Y: "a2@2 ~@2 a3@2 bb3 ~", Z: "~ bb2 c3!2", AA: "f2 a2 c3 e3 f3 c3 a2 f2",
  AB: "g2 c3 g2 c3 bb2 c3 bb2 c3", AC: "a2 c3 d3 e3 f3 db3 d3 a2", AD: "bb2!4 c3!4", AE: "f3 e3 f3 c3 b2 c3 a2 f2",
  AF: "f2@3 a3 bb3 g3 e3 c3", AG: "f3@3 a3 bb3 g3 e3 c3", AH: "f2 f3 d3 b2", AI: "c3!8", AJ: "f2@2 ~@3 e3 f3 g3",
  AK: "g3@3 e3 f3@2 ~@2", AL: "bb3@3 ab3 a3@2 ~@2", AM: "gb2", AN: "g2@2 ~ bb3 gb3 g3 a3 bb3",
  AO: "a3@6 ~@3 eb3 ~@2 d3@3 c3@3 bb2@3 a2@3", AP: "g2@6 ~@3 bb3 ~@2 gb3@3 g3@3 a3@3 bb3@3", AQ: "g2@2 ~ ab3 a3@3 g3",
  AR: "gb3@2 ~ gb3 g3@3 g3", AS: "d3!4 c3!4", AT: "bb2@2 ~@2 b3@2 c4 ~", AU: "~ c3 d3!2", AV: "g2 ~@3",
})).s("gm_cello").gain(0.3)

// other · cello · "Cello II" · soft notes
const cello_soft = note(`<
  ~@93 A ~@7 B ~@3 C D E ~@2 F@2 G H I J K L M N O P Q@2 R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AH AI AJ AL
  AM AN AO AL AM AN AO AP E ~ A ~@7 B ~@3 C D E ~@2 F@2 G H I J K L M N O P Q@2 R S T U V W X Y Z AA AB AC AD AE AF AG
  AH AI AJ AK AH AI AJ AL AM AN AO AL AM AN AO AP E
>`.pickRestart({
  A: "d4@3 b3 c4@2 ~@2", B: "db3", C: "~@5 gb3 g3 a3", D: "a3@3 gb3 g3@2 ~@2", E: "c4@3 a3 bb3@2 ~@2",
  F: "~@2 bb2 ~ d3@2 bb2@2", G: "~@6 eb3@4 ~ d3 eb3@3 ~@3 c3@3 ~@3", H: "f3@2 d3 ~ a2@2 bb2 ~",
  I: "c3@2 d3 ~@2 g3 f3 e3", J: "f3@4 ~ c4 bb3 a3", K: "bb3@4 ~ bb2 a2 f2", L: "eb2 eb3", M: "d3 g3 eb3 f3",
  N: "bb2@6 ~@3 bb3 c4 [bb3,c4] d4@3 bb3@3 f3@3 d3@3", O: "bb2!3 c3 d3 eb3 d3 c3", P: "bb2!8", Q: "a2!8",
  R: "bb2!2 d3@2 ~ c3 eb3@2", S: "~ d3 f3@2 ~ bb3 g3 f3", T: "eb3@3 e3", U: "~ f3 e3 f3 eb3 f3 c3 eb3", V: "d3 a2",
  W: "bb2@3 ~@3 d4 ~@2 c4 ~@2 bb3 ~@2 ab3 ~@2 g3 ~@2 f3 ~@2", X: "eb3 f3 eb3 d3", Y: "c3@3 ~@3 c3 c4 b3 c4 c3 db3",
  Z: "d3 eb3 d3 c3", AA: "bb2@3 ~@3 bb2 bb3 a3 bb3 bb2 b2", AB: "c3 c3@2 bb2", AC: "a2@3 ~ c3 bb2 a2 bb2 c3 f2 g2 a2",
  AD: "bb2@3 ~ f3 g3 ab3 f3 d3 bb2 c3 d3", AE: "eb3@2 ~@2 d3@2 eb3 ~", AF: "~ eb3 f3 f2",
  AG: "bb2 d3 f3 a3 bb3 f3 d3 bb2", AH: "c3 f3 c3 f3 eb3 f3 eb3 f3", AI: "d3 f3 g3 a3 bb3 gb3 g3 d3", AJ: "eb3!4 f3!4",
  AK: "bb3 a3 bb3 f3 e3 f3 d3 bb2", AL: "bb2@3 d4 eb4 c4 a3 f3", AM: "bb3@3 d4 eb4 c4 a3 f3", AN: "bb3 f3 d3 bb2",
  AO: "f3!4 f2!4", AP: "bb2@2 ~@3 a3 bb3 c4",
})).s("gm_cello").gain(0.2)

stack(cello, cello_soft)

More by Mozart