Strudelify

12 Etudes

Leonard Schulz

KeyC majorTempo69 bpm
0:00/0:00
// 12 Etudes — Leonard Schulz
// 69 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5759089; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 44 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(69/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 · acoustic guitar nylon · "Guitare classique"
const acoustic_guitar_nylon = note(`<
  A B C D E F G H I@2 J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO@3
>`.pickRestart({
  A: "c4!8", B: "c4!8, ~ c3 e3 f3", C: "c4!8, g3 c3",
  D: "c#4@3 c#4@3 c#4@3 c#4@3 c#4@3 c#4@3 ~ g3 ~ e3 f3 ~, ~@2 a2@2 a3@2 c#4!2", E: "d4!8, d3", F: "d4!8, ~ d3 f3 g3",
  G: "d4!8, a3 d3", H: "d#4@3 d#4@3 d#4@3 d#4@3 d#4@3 d#4@3 ~ a3 ~ f#3 g3 ~, ~@2 b2@2 b3@2 d#4!2",
  I: "[e4!8 e4!8, e3]/2", J: "e4 f4 f#4 g4 c4 d4 d#4 e4, c3 g3 e3 g3", K: "c3 g2 a2 b2 c3 b2 c3 c#3, g3",
  L: "f4 g4 g#4 a4 d4 f4 a3 d4, d3 f3 d3 f3", M: "b2 f#2 g2 a2 b2 c3 d3 d#3, g3",
  N: "c4 b3 d4 [e3,c4] b3 a3 g#3 [f3,a3], e3@3 ~ f3@3 ~", O: "d4 c#4 e4 [f#3,d4] c4 b3 a#3 [g3,b3], f#3@3 ~ g3@3 ~",
  P: "e4 f4 e4 [g#3,d4] d4 c4!2 [a2,c4], g#3@3 ~ a3@3 ~", Q: "b3 c4 b3 a3 e3 e2!3, d3 d#3 g#3@2", R: "a4!8, ~ a3 c4 d4",
  S: "g#4!8, e4 e3", T: "g4!8, ~ e4 b3 c#4", U: "f#4!8, d4 d3",
  V: "f4@3 f4@3 f4@3 f4@3 ~ c#4 ~ d4 c4 ~ b3 a#3 ~ b3 a3 ~, ~@2 d4@2 f4!4", W: "e4!2 d4!2 c4!2 b3!2, g#3 e3 a3 d3",
  X: "a3!2 b3 c4 d4 d#4 e4@3 [e2,g#3]@3, e3@3 ~", Y: "a3!12, a2@2 c3 d3", Z: "g#3!12, e3 e2",
  AA: "c4!5 [d3,c4] c4!6, ~@3 c3@2 ~ e3@3 f3@3", AB: "b3!12, g3 g2",
  AC: "c#4!2 [g3,c#4] c#4!2 [e3,c#4] d4!3 f4!3, ~@3 a3@2 ~ f3@3 d3@3", // Gdim C#m
  AD: "b3!2 [f3,b3] b3!2 [d3,b3] c4!3 e4!3, ~@3 g3@2 ~ e3@3 c3@3", // Fdim G
  AE: "d4!2 [f2,d4] d4!2 [f2,d4] c4!6, ~@3 e2@2 ~ g2@3 g3@3", AF: "b3!2 [g3,b3] b3!2 [g2,b3] c4!6, ~@3 g3@2 ~ c3@6",
  AG: "c#4!2 [g3,c#4] c#4!2 [e3,c#4] d4!3 a4!3, ~@3 a3@2 ~ f3@3 d3@3", // Gdim C#m
  AH: "b3!2 [f3,b3] b3!2 [d3,b3] c4!3 g4!3, ~@3 g3@2 ~ e3@3 c3@3", // Fdim G
  AI: "f#4!2 [c4,f#4] f#4!2 [c4,f#4] f4!2 [b3,f4] f4!2 [b3,f4], ~@3 d#4@2 ~@4 d4@2 ~", // Cdim Bdim
  AJ: "e4!2 [a#3,e4] e4!2 [a#3,e4] d#4!2 [a3,d#4] d#4!2 [a3,d#4], ~@3 c#4@2 ~@4 c4@2 ~", // A#dim Adim
  AK: "d#4!2 [g3,d#4] d#4!2 [g3,d#4] d#4!2 [f#3,d#4] d#4!2 [f#3,d#4], ~@3 c4@2 ~@4 c4@2 ~", // Cm D#m
  AL: "e4!2 [g3,e4] e4!2 [g3,e4] d4!2 [g3,d4] d4!2 [g3,d4], ~@3 c4@2 ~@4 b3@2 ~", // C G5
  AM: "c4!6 b3!2 [c3,b3] b3!2 [c3,b3], ~@3 c3@5 ~ g#3@2 ~", // Cmaj7
  AN: "[c3,c4]@2 c4@2 c4@2 c4@2 c4@2 c4@2 b3@2 b3@2 [c3,b3]@2 b3@2 b3@2 ~ c3, ~@3 c3@5 ~ g#3@2 b3", // C Cmaj7
  AO: "[c4@2 c4@2 c4@2 c4@2 c4@2 ~ [c3,c4]@2 c4@2 c4@2 c4@2 c4@2 ~ c4@2 c4@2 [c3,c4]@28 ~@18, c3@11 ~@2 c3@6 c3@7 ~@46]/3", // C
})).s("gm_acoustic_guitar_nylon").gain(0.2)

stack(acoustic_guitar_nylon)