Strudelify

32 Etudes for Clarinet

C. Rose

KeyE♭ majorTempo108 bpm
0:00/0:00
// 32 Etudes for Clarinet — C. Rose
// 108 bpm, 6/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5840208; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 49 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(108/6)

// 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.

// other · clarinet · "Clarinette en Si♭"
const clarinet = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y V Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL AM AN AO AP AQ AR AS AT AU
>`.pickRestart({
  A: "db4 bb3", B: "db4@2 bb3 a3@2 ~", C: "bb3 gb3", D: "f3@2 ~", E: "bb3 db4@2 bb3 db4@2",
  F: "db4@3 gb4 gb5@2 gb5 eb5 c5@2 gb4@2", G: "f4 ~ eb4 db4 c4 a3", H: "db4@2 bb3 bb3@2 ~",
  I: "ab4@6 bb4 ab4 g4 ab4 bb4 ab4", J: "f5@2 c5 db5@2 ~", K: "ab4@6 bb4 ab4 g4 ab4 gb5 f5", L: "d5@2 f5 eb5@2 ~",
  M: "gb5@6 ab5 gb5 f5 gb5 ab5 bb5", N: "ab5@2 e5 f5 db5 bb4", O: "eb5@6 d5 eb5 f5 eb5 c5 ab4", P: "ab5@2 ~ ab4@2 e5",
  Q: "f5 c5 db5 a4 bb4 e4 f4 ~ bb4@2 db5@2", R: "f5@2 db5@2 bb4@2 ~ a4 bb4 c5 db5 f5",
  S: "gb5 d5 eb5 b4 eb5 ab4 a4 ~ c5@2 eb5@2", T: "gb5@2 eb5 db5 c5@2 ~ db5 eb5 f5 gb5 f5",
  U: "a3 c4 eb4 f4 gb4 f4 f5 e5 eb5 d5 db5 c5", V: "bb4@2 f4 db5@2 c5", W: "bb4@3 f4 f5 eb5",
  X: "db5@4 c5@2 bb4@3 c5 bb4@2", Y: "a4@3 c5 g4 c5 f4@2 e4 f4 g4 a4", Z: "bb4@2 bb5@2 bb5@2 bb5@3 gb5 eb5 c5",
  AA: "f5@2 e5 f5 gb5 c5 f5 bb4 eb5 a4 c5 f4", AB: "bb4@7 db5 bb4 f4 ~ db4 bb3@8 ~@4", AC: "~@3 ab4@2 f4",
  AD: "gb4 ab4 gb4 f4 eb4 f4", AE: "eb4@3 gb4@2 f4", AF: "gb4 eb4 c4 ab3 ~@2", AG: "f4 eb4 f4 db4@2 f4",
  AH: "f4 eb4 gb4 e4 f4 ~",
  AI: "[~@2 gb4@4 eb4@4 ab4@4 f4@4 bb4@4 gb4@4 c5@4 ab4@4 db5@2 bb4@8 g4 [g4,ab4]!2 [f4,ab4]]/2", // Abmaj7 Fm
  AJ: "ab4@4 ab3@2 gb3 bb3 db4 gb4 c5 eb5, g4 ~@23", AK: "db5!5 db4", AL: "~@2 c4 ~ f3@4 ~@6 c4 ~ e3@4 ~@4",
  AM: "~@2 c4 ~ f3@10 ~@2 db5@4 db4@4", AN: "~@2 c4 ~ f3@4 ~@6 a3 ~ f3@4 ~@4",
  AO: "~@2 a3 ~ f3@4 gb3@2 f3@2 g3@2 f3@2 ab3@2 f3@2 a3@2 f3@2", AP: "~@2 bb3 ~ db4@8 ~@2 bb3 ~ f4@8",
  AQ: "~@2 db4 ~ bb3@2 db4@2 gb4@2 bb4@2 gb5@6 c5 bb4 ab4 gb4 f4 eb4", AR: "db4@5 f4", AS: "bb4 f4@2 bb4 f4@2",
  AT: "bb4 f4@2 bb3 f3@2", AU: "~ f4 db4 bb3@2 ~",
})).s("gm_clarinet").gain(0.2)

stack(clarinet)