Strudelify
KeyD majorTempo101 bpm
0:00/0:00
// Tusa — Arreglo: Dereck José
// 101 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/4 at bar 41, 4/4 at bar 42) are rendered on a constant 4/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 11 "Violoncello" cello (copy of ch 7 "Viola" viola)
// note: Transcription provider: pdmx. https://musescore.com/score/5945063; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 84 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(101/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 · violin · "Violin II"
const violin = note(`<
  A B C D E B C D E B C D E B C D F G H I J K L M N O P Q R O P Q R O P Q R ~@5 S T U V W T U V ~@8 S T U X Y Z AA AB AC
  Z AD AE AF ~@3 AG@2 AH AI AG@2 AH AJ AK AL
>`.pickRestart({
  A: "~@10 [a4,a5] ~ [f#4,f#5] ~ [e4,e5] ~", B: "[d4,d5]@2 ~@4 [d4,d5] ~@3 [a4,a5] ~ [f#4,f#5] ~ [e4,e5] ~",
  C: "[d4,d5]@2 ~@4 [d4,d5] ~@3 [d4,d5] ~ [e4,e5] ~ [f#4,f#5] ~", D: "[a4,a5]@2 ~@8 [a4,a5] ~ [f#4,f#5] ~ [e4,e5] ~",
  E: "[f#4,f#5]@2 ~@4 [e4,e5] ~@3 [a4,a5] ~ [f#4,f#5] ~ [e4,e5] ~", F: "e5@2 f#5@2 e5@2 f#5@2 e5@2 f#5@2 e5@3 f#5",
  G: "f#5 g5@2 d5 ~@2 d5@2 d5@2 d5@2 d5@2 g5@2", H: "f#5 d5!2 a4!2 ~@2 e5", I: "f#5 e5 d5 e5 f#5 e5 d5 f#5",
  J: "f#5@4 e5@2 e5@2 e5@2 e5@2 a5@3 f#5", K: "f#5 g5 ~@4 d5@2 d5@2 d5@2 d5@2 g5@2", L: "[b3,f#4] ~@5 [b3,f#4] ~",
  M: "[d4,a4] ~@5 [d4,a4] ~", N: "[a3,f#4]@2 ~@8 [a4,a5] ~ [a3,e4,f#4,f#5] ~ [e4,e5] ~",
  O: "[g3,d4,d5]@2 ~@4 [d4,d5] ~@5 [g3,d4]@2 ~@2", P: "[b3,f#4,d5]@2 ~@4 [f#4,d5] ~@5 [b3,f#4,e5]@2 ~@2",
  Q: "[d4,a4]@2 ~@4 d4 ~@5 [d4,a4]@2 ~@2", R: "[a3,f#4]@2 ~@4 [e4,e5] ~@5 [a3,e4]@2 ~@2", S: "~@4 [g3,d4] ~@3",
  T: "~@2 [g3,d4] ~ [b3,f#4] ~@3", U: "~@2 [b3,f#4] ~ [d4,a4] ~@3", V: "~@2 [d4,a4] ~ [a3,f#4] ~@3",
  W: "~@2 [a3,e4] ~ [g3,d4] ~@3", X: "~@2 [d4,a4] ~ e5 f#5 e5 f#5", Y: "e5@2 f#5@2 e5@3 f#5!2 g5@2 d5 ~@2 d5@2",
  Z: "d5!3 g5 f#5 d5!2 a4", AA: "a4 ~@2 e5 f#5 e5 d5 e5", AB: "f#5 e5 d5 f#5@3 e5!2",
  AC: "e5@2 e5@2 a5@3 f#5@2 g5 ~@4 d5@2", AD: "a4@2 ~@4 e5@2 f#5@2 e5 ~ d5@2 e5@2",
  AE: "f#5 ~ e5@2 d5@2 f#5@6 ~@2 e5@2", AF: "e5@2 e5 e5@2 e5 f#5@2 ~@8",
  AG: "~@2 [a4,a5] ~ [f#4,f#5] ~ [e4,e5] ~ [d4,d5]@2 ~@4 [d4,d5] ~", // A F# E D
  AH: "~@2 [d4,d5] ~ [e4,e5] ~ [f#4,f#5] ~ [a4,a5]@2 ~@6", // D E F# A
  AI: "~@2 [a4,a5] ~ [f#4,f#5] ~ [e4,e5] ~ [f#4,f#5]@2 ~@4 [e4,e5] ~", // A F# E F# E
  AJ: "~@2 [a4,a5] ~ [f#4,f#5] ~ [e4,e5] ~ [f#4,f#5]@2 ~@2 [f#4,f#5]@2 ~@2", // A F# E F#
  AK: "[f#4,f#5] ~ [f#4,f#5] ~ [f#4,f#5] ~ [f#4,f#5] ~", AL: "[f#4,f#5] ~ [f#4,f#5] ~@5",
})).s("gm_violin").gain(0.35)

// chords · viola
const viola = note(`<
  ~ A B C D A B C D A B C D A B C E F G H I F G H I F G H I F G H I F G H I F G H J@2 K L M N O L M N K L M N O L M N K
  L M N K L M N O L M N O L M N O L M N O L M P Q R
>`.pickRestart({
  A: "[g3,d4]@2 ~@4 [g3,d4] ~@5 [g3,d4]@2 ~@2", B: "[b3,f#4]@2 ~@4 [b3,f#4] ~@5 [b3,f#4]@2 ~@2",
  C: "[d4,a4]@2 ~@4 [d4,a4] ~@5 [d4,a4]@2 ~@2", D: "[a3,e4]@2 ~@4 [a3,e4] ~@5 [a3,e4]@2 ~@2", E: "[a3,e4] ~@7",
  F: "[g3,d4] ~@5 [g3,d4] ~", G: "[b3,f#4] ~@5 [b3,f#4] ~", H: "[d4,a4] ~@5 [d4,a4] ~", I: "[a3,f#4] ~@5 [a3,e4] ~",
  J: "[[a3,f#4]@3 ~@3 [a3,e4]@3 ~@7]/2", K: "~@4 [g3,d4] ~@3", L: "~@2 [g3,d4] ~ [b3,f#4] ~@3",
  M: "~@2 [b3,f#4] ~ [d4,a4] ~@3", N: "~@2 [d4,a4] ~ [a3,f#4] ~@3", O: "~@2 [a3,e4] ~ [g3,d4] ~@3",
  P: "~@2 [d4,a4] ~ [a3,f#4] ~ [a3,f#4] ~", Q: "[a3,f#4] ~ [a3,f#4] ~ [a3,f#4] ~ [a3,f#4] ~",
  R: "[a3,f#4] ~ [a3,f#4] ~@5", // D
})).s("gm_viola").gain(0.35)

// drums · kick
const kick = s("bd").struct(`<
  ~@9 A@7 B A@8 ~@2 A@6 C A@3 ~@5 D A@7 E A@3 E A@2 E B ~@3 D A@7 F ~@3 D A@6 G ~@2
>`.pickRestart({
  A: "x!4", B: "x", C: "x!2", D: "~@2 x!2", E: "x ~ x!2", F: "x!2 ~@2", G: "x!3 ~",
})).gain(0.45)

// drums · rim
const rim = s("rim").struct(`<
  ~@9 A@7 ~ A@8 ~@2 A@6 B A@3 ~@5 C A@7 C A@3 C A@2 C ~@4 C A@7 D ~@3 C A@6 D ~@2
>`.pickRestart({
  A: "~@3 x ~@2 x ~@4 x ~@2 x ~", B: "~@3 x ~@4", C: "~@11 x ~@2 x ~", D: "~@3 x ~@2 x ~@9",
})).gain(0.45)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@9 A@7 ~ A@8 ~@2 A@6 ~ A@3 ~@5 B A@7 C A@3 C A@2 C D ~@3 B A@7 E ~@3 B A@6 E ~@2
>`.pickRestart({
  A: "x!4", B: "~@2 x!2", C: "x ~ x!2", D: "x", E: "x!2 ~@2",
})).gain(0.35)

stack(violin, viola, kick, rim, hihat)

More by Arreglo: Dereck José