Strudelify

ClopoÈelul Moldova-Bucovina - fluier Èi orchestrÄ

ifrim

KeyE majorTempo130 bpm
0:00/0:00
// ClopoÈelul Moldova-Bucovina - fluier Èi orchestrÄ — ifrim
// 130 bpm, 2/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 14 "Clavecin" harpsichord (copy of ch 13 "Pian" piano)
// note: Transcription provider: pdmx. https://musescore.com/score/5984881; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 224 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(130/2)

// 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 · tremolo strings · "Flaut dulce"
const tremolo_strings = note(`<
  A B C D A B C E A B C D A B C E F G C D F G C E F G C D F G C E H I J K H I J L H I J K H I J L M N J K M N J L M N J
  K M N J L A B C D A B C E A B C D A B C E F G C D F G C E F G C D F G C E O P@2 Q O R S T O P@2 Q O R S T S U O V W X
  Y Z S U O V W X Y AA AB AC AD AE S X Y AA AB AC AD AE S X Y AF A B C D A B C E F G C D F G C E H I J K H I J L M N J K
  M N J L A B C D A B C E F G C D F G C E O P@2 Q O R S T S U O V W X Y AA AB AC AD AE S X Y AF AB AC AD AE S X Y AG
>`.pickRestart({
  A: "f#6@2 g#6@2 e6 f#6 e6@2 e6@2 d#6@2 e6@2 f#6@2", B: "f#6@2 g#6@2 e6@4 e6 f#6 e6 f#6 e6 f#6 e6 f#6",
  C: "d#6 e6 f#6 ~ b5 ~ a6 g#6", D: "g#6@2 f#6@2 f#6@2 e6@2 g#6 a6 g#6 a6 g#6 a6 e6@2", E: "g#6 f#6!2 d#6 e6@2 ~@2",
  F: "g#6 a6 b6@2 b6 a#6 b6 c#7", G: "b6@2 a6@2 g#6@2 f#6@2 e6 f#6 e6 f#6 e6 f#6 e6 f#6",
  H: "b5@2 c#6@2 a5 b5 a5@2 a5@2 g#5@2 a5@2 b5@2", I: "b5@2 c#6@2 a5@4 a5 b5 a5 b5 a5 b5 a5 b5",
  J: "g#5 a5 b5 ~ e5 ~ d6 c#6", K: "c#6@2 b5@2 b5@2 a5@2 c#6 d6 c#6 d6 c#6 d6 a5@2", L: "c#6 b5!2 g#5 a5@2 ~@2",
  M: "c#6 d6 e6@2 e6 d#6 e6 f#6", N: "e6@2 d6@2 c#6@2 b5@2 a5 b5 a5 b5 a5 b5 a5 b5", O: "d6 ~ g6 ~ g6 d6 g6 b6",
  P: "d7@2 b6@2 c7@2 a6@2 b6 c7 b6@2 b6@2 a6@2", Q: "a6@2 g6@2 f#6@2 a6@2 g6 a6 g6@2 g6@2 e6@2",
  R: "d7 b6 c7 a6 b6 a6 b6 c7", S: "c#7 e7 d7@2 d7 c7!2 b6", T: "a6 b6 c7 a6 g6@2 ~@2",
  U: "a6@2 b6@2 c7@2 a6@2 g6 a6 g6@2 g6@2 e6@2", V: "c#7 e7 d7@2 b6 ~ g6 ~", W: "c#7 d7 e7 d7!2 c7!2 b6",
  X: "a6 b6 c7 a6 g6 f#6 g6 b6", Y: "a6@2 g6@2 f#6 g6 f#6 g6 f#6@2 e6@2 f#6@2 g6@2", Z: "e6@2 ~@2 g#6 a6 b6 c7",
  AA: "e6@2 ~@2 g#6!3 f6", AB: "f#6 ~ a6 ~ d6 ~ a6 ~", AC: "b6 c7 b6@2 b6@2 a6@2 g6@2 f#6@2 g6@2 b6@2",
  AD: "a6@2 g6@2 f#6 g6 f#6 g6 f#6@2 d6@2 e6@2 f#6@2", AE: "g6 f#6 g6 a6 b6 a6 b6 c7", AF: "e6 ~", AG: "e6 ~@3",
})).s("gm_tremolo_strings").gain(0.3)

// other · string ensemble 1 · "Viori"
const string_ensemble_1 = note(`<
  ~@96 A B@2 C A D E F A B@2 C A D E F ~@80 A B@2 C A D E F ~@16 G H I J E K L M
>`.pickRestart({
  A: "d5 ~ g5 ~ g5 d5 g5 b5", B: "d6@2 b5@2 c6@2 a5@2 b5 c6 b5@2 b5@2 a5@2",
  C: "a5@2 g5@2 f#5@2 a5@2 g5 a5 g5@2 g5@2 e5@2", D: "d6 b5 c6 a5 b5 a5 b5 c6", E: "c#6 e6 d6@2 d6 c6!2 b5",
  F: "a5 b5 c6 a5 g5@2 ~@2", G: "f#5 ~ a5 ~ d5 ~ a5 ~", H: "b5 c6 b5@2 b5@2 a5@2 g5@2 f#5@2 g5@2 b5@2",
  I: "a5@2 g5@2 f#5 g5 f#5 g5 f#5@2 d5@2 e5@2 f#5@2", J: "g5 f#5 g5 a5 b5 a5 b5 c6", K: "a5 b5 c6 a5 g5 f#5 g5 b5",
  L: "a5@2 g5@2 f#5 g5 f#5 g5 f#5@2 e5@2 f#5@2 g5@2", M: "e5 ~@3",
})).s("gm_string_ensemble_1").gain(0.41)

// other · viola · "Violă"
const viola = note(`<
  A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D E F G H E F G H E F G H E F G H E F G H E F G H E F G
  H E F G H A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D ~@16 I J I J I K L M I J I J I K L N K I K I
  J O C D K I K I J O C P A B C D A B C D A B C D A B C D E F G H E F G H E F G H E F G H A B C D A B C D A B C D A B C
  D ~@8 I J I J I K L N K I K I J O C P K I K I J O C Q
>`.pickRestart({
  A: "~@2 e3 ~@3 g#3 ~", B: "~@2 b3 ~@3 g#3 ~", C: "~@2 b3 ~@3 d#4 ~", D: "~@2 e4 ~@3 b3 ~", E: "~@2 a3 ~@3 c#4 ~",
  F: "~@2 e4 ~@3 c#4 ~", G: "~@2 e4 ~@3 g#4 ~", H: "~@2 a4 ~@3 e4 ~", I: "~@2 g3 ~@3 b3 ~", J: "~@2 d4 ~@3 b3 ~",
  K: "~@2 d4 ~@3 a3 ~", L: "b3 ~@3 d#4 ~@3", M: "~@2 e4 ~@3 g3 ~", N: "~@2 e4 ~@3 e4 ~", O: "~@2 a3 ~@3 g3 ~",
  P: "~@2 e4 ~@3 c4 ~", Q: "e4 ~@7",
})).s("gm_viola").gain(0.48)

// chords · piano · "Pian"
const piano = note(`<
  A B C B A B C D A B C B A B C D A B C B A B C D A B C B A B C D E F G F E F G H E F G F E F G H E F G F E F G H E F G
  F E F G H A B C B A B C D A B C B A B C D A B C B A B C D A B C B A B C D ~@16 I J I J I K L M I J I J I K L M K I K
  I@2 N O M K I K I@2 N O P A B C B A B C D A B C B A B C D E F G F E F G H E F G F E F G H A B C B A B C D A B C B A B
  C D ~@8 I J I J I K L M K I K I@2 N O P K I K I@2 N O Q
>`.pickRestart({
  A: "e3 [g#4,b4] g#3 [e4,b4]", B: "e3 [g#4,b4] b2 [e4,g#4]", C: "b2 [d#4,f#4] d#3 [f#4,b4]",
  D: "e3 [g#4,b4] e3 [g#4,b4]", E: "a3 [c#5,e5] c#4 [a4,e5]", F: "a3 [c#5,e5] e3 [a4,c#5]",
  G: "e3 [g#4,b4] g#3 [b4,e5]", H: "a3 [c#5,e5] a3 [c#5,e5]", I: "g3 [b3,d4] b3 [d4,g4]", J: "d3 [a3,f#4] g3 [b3,d4]",
  K: "d3 [a3,f#4] f#3 [a3,d4]", L: "b2 [b3,f#4] d#3 [b3,f#4]", M: "e3 [b3,g4] e3 [b3,g4]", N: "d3 [a3,f#4] g3 [a3,d4]",
  O: "d#3 [b3,f#4] f#3 [b3,f#4]", P: "e3 [b3,g4] d3 [c4,f#4]", Q: "[e3,g4] ~@3",
})).s("gm_piano").gain(0.48)

// bass · contrabass · "Contrabas"
const bass = note(`<
  A B C B A B D E A B C B A B D E A B D B A B D E A B D B A B D E F G H G F G H G F G H G F G H G F G H G F G H G F G H
  G F G H G A B C B A B D E A B C B A B D E A B D B A B D E A B D B A B D E ~@16 I J K J K L M A I J K J K L M N O K P Q
  J@2 M R O K P Q J@2 M S A B C B A B D E A B D B A B D E F G H G F G H G F G H G F G H G A B C B A B D E A B D B A B D
  E ~@8 I J K J K L M N O K P Q J@2 M S O K P Q J@2 M T
>`.pickRestart({
  A: "e2 ~ b1 ~", B: "e2 ~ g#2 ~", C: "f#2 ~ b1 ~", D: "d#2 ~ b1 ~", E: "b1 ~ e2 ~", F: "a2 ~ e2 ~", G: "e2 ~ a2 ~",
  H: "g#2 ~ e2 ~", I: "g2 ~ g2 ~", J: "d2 ~ g2 ~", K: "g2 ~ d2 ~", L: "d2 ~ a1 ~", M: "b1 ~ d#2 ~", N: "e2 ~ e2@2",
  O: "d2 ~ f#2 ~", P: "f#2 ~ d2 ~", Q: "g2 ~ b2 ~", R: "e2 ~ b2 ~", S: "e2 ~@3 f#2@4", T: "e2 ~@7",
})).s("gm_contrabass").gain(0.48)

// drums · kick
const kick = s("bd").struct(`<
  A B A B A B A C A B A B A B A C A B A B A B A B A B A B A B A B A C A B A C A B A C A B A C A B A B A B A B A B A B A
  B A B A B A B A B A C A B A B A B A C A B A B A B A B A B A B A B A B A B A B A B A B A C A B A B A B A C A B A B A B
  A B A B A B A B A B A B A B A B A B A B A B A B A C A B A B A B A C A B A B A B A B A C A B A C A B A B A B A B A B A
  B A B A C A B A B A B A B A B A B A B A B A C A B A B A B A B A B A B A B A C A B A B A B A D
>`.pickRestart({
  A: "x ~ x!2", B: "~ x!2 ~", C: "~ x!3", D: "x",
})).gain(0.17)

stack(tremolo_strings, string_ensemble_1, viola, piano, bass, kick)

More by ifrim