Strudelify

the internationale

Pierre Degeyter

KeyA majorTempo102 bpm
0:00/0:00
// the internationale — Pierre Degeyter
// 102 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5931013; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 66 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(102/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · string ensemble 1 · "Violins"
const string_ensemble_1 = note(`<
  ~ A B C D A E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE A B C D A E F G H I J K L M N O P Q R S T U V W
  X Y Z AA AB AC AD AF@2
>`.pickRestart({
  A: "a3@3 g#3 b3 a3 e4 c#4", B: "f#4@4 d4@3 f#4", C: "b3@3 a3 g#4 f#4 e4 d4", D: "c#4@3 ~", E: "f#4@4 d4@3 a3",
  F: "g#3 b3 d4 g#3", G: "e4 d4 c#4@2", H: "g#3@3 g#3 f#4 g#4 a4 f#4", I: "g#4@4 e4@3 e4", J: "f#4@3 f#4 b3@2 a3@2",
  K: "g#3@3 ~", L: "e4!2 b3@2", M: "a4 g#4 e4@2", N: "e4@2 e4 d#4", O: "b3 c#4 f#4@2", P: "a4@2 e4 f#4",
  Q: "f#4@8 d4@4 b4@3 a4", R: "g#4!2 f#4 e4", S: "c#4@2 a3 e4", T: "a4@2 g#4 e4", U: "c#4!2", V: "d4 d#4", W: "a4 f#4",
  X: "a3@4 e4@3 f#4", Y: "f#4@8 d4@4 b3@3 a3", Z: "g#3!2 d4@2", AA: "a4@3 g4", AB: "a#4@2 [d4,a4] [e4,a#4]",
  AC: "f#4 [e4,a#4] [d4,a4]!2", AD: "a4 e4", AE: "e4@3 ~", AF: "[e4@27 ~@5]/2",
})).s("gm_string_ensemble_1").gain(0.3)

// other · string ensemble 1 · "Violas"
const string_ensemble_1_2 = note(`<
  ~ A B C D A B E F G H I G J K L M K N O P Q R S T K B O U V W X Y A B C D A B E F G H I G J K L M K N O P Q R S T K B
  O U V W X Z@2
>`.pickRestart({
  A: "c#4@2 e4 ~", B: "d4 c#4 d4@2", C: "d4@2 d4 ~", D: "c#4@2 d4!2", E: "d4!2", F: "c#4 b3 a3@2", G: "e4@2 e4 d#4",
  H: "e4 d#4 e4@2", I: "e4 d#4", J: "b3!2 g#3@2", K: "e4 d4 c#4@2", L: "a3@2 e4 d#4", M: "g#3 c#4 d4@2",
  N: "d4 c#4 d4!2", O: "d4 g#3", P: "a3@2 a3 g#3", Q: "c#4 d4", R: "a3 g#3", S: "a3!2", T: "d#4 d4", U: "c#4@3 c#4",
  V: "e4@2 f#4!2", W: "d4 f#4!3", X: "e4 d4", Y: "c#4@3 ~", Z: "[c#4@27 ~@5]/2",
})).s("gm_string_ensemble_1").gain(0.3)

// other · string ensemble 1 · "Violoncellos"
const string_ensemble_1_3 = note(`<
  ~ A B C D A B E F G H I J K L M N O B P Q R S T U O B P V W X Y Z A B C D A B E F G H I J K L M N O B P Q R S T U O B
  P V W X Y AA@2
>`.pickRestart({
  A: "e3 a3", B: "d4 c#4 b3 a3", C: "g#3 e3", D: "e3@2 a3 g#3", E: "e3 g#3", F: "e3", G: "b3 a3", H: "b3 a3 g#3@2",
  I: "a3", J: "e4 d#4 c#4 b3", K: "g#3 d#3 d3@2", L: "c#3 b2 a2@2", M: "e3 b3", N: "b2 g#3", O: "c#4 b3 a3@2",
  P: "e3 d3", Q: "a3 g#3 f#3 e3", R: "e3!2", S: "e3 c#3", T: "a2 b2", U: "a3 g#3", V: "a3 g3", W: "f#3@2 b2 c#3",
  X: "d3 c#3 b2 f3", Y: "c#4@2 a3 g#3", Z: "e3@3 ~", AA: "[e3@27 ~@5]/2",
})).s("gm_string_ensemble_1").gain(0.4)

// other · string ensemble 1 · "Contrabasses"
const string_ensemble_1_4 = note(`<
  ~ A B C D A B E F G H I J K L M N O P E Q R S T N O B E U V W X Y A B C D A B E F G H I J K L M N O P E Q R S T N O B
  E U V W X Z@2
>`.pickRestart({
  A: "a1 c#2", B: "a2 a#2 a2@2", C: "e2 g#2", D: "a2@2 b2 e2", E: "g#2 e2", F: "a1", G: "e2@2 b2 b1", H: "e2 f#2 g#2@2",
  I: "b2 b1", J: "b2 a2", K: "e2 d#2 d2@2", L: "c#2 b1 a1@2", M: "b1 a2", N: "e2!2", O: "a1 b1 c#2@2",
  P: "a2 a#2 a2 f#2", Q: "e2 d2", R: "a2 g#2", S: "f#2 f2", T: "d2 d#2", U: "e2", V: "f#2@2 b1 c#2", W: "d2 c#2 b1 f2",
  X: "e2 e1 e1@2", Y: "a1@3 ~", Z: "[a1@27 ~@5]/2",
})).s("gm_string_ensemble_1").gain(0.4)

stack(string_ensemble_1, string_ensemble_1_2, string_ensemble_1_3, string_ensemble_1_4)