Strudelify

Lassus Trombone

Henry Fillimore

KeyF majorTempo90 bpm
0:00/0:00
// Lassus Trombone — Henry Fillimore
// 90 bpm, 2/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5976455; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 69 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(90/2)

// 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 · piano
const piano = note(`<
  A B@2 ~ C D@2 E F D@2 E G D@2 E H I J K L D@2 E F D@2 E G D@2 E H I J K M N O P Q R S T U N O P Q R S T V D@2 E W D@2
  E G D@2 E X I J Y Z
>`.pickRestart({
  A: "~@12 [c2,c4] [db2,db4] [d2,eb2,d4,eb4] [e2,e4]", B: "[[f2,f4]@4 [f3,f5]@4 [d3,d5]@2 [c3,c5]@4 [a2,a4]@13 ~@5]/2",
  C: "~ [c3,e4,bb4,c5] [f2,a4,f5] ~", // C7 F
  D: "[f2@2 [a4,c5,f5]@2 [a4,c5,d5] [f4,a4,c5]@2 ~ f2@2 ~@2 c2@2 ~@2, ~@8 c2@4 ~@2 [c4,f4,a4]@13 ~@5]/2", // F D7 F
  E: "f2 [f4,a4,c5] [c2,f4,a4,c5] [f4,a4,c5]", // F
  F: "[f4,a4,c5] ~@3 d2@2 e2@2, f2 c2 ~@2, ~ [f4,a4,c5,d5]@2 [f4,a4,c5]@3 ~@2", // F Dm7 F
  G: "[f4,a4,c5] ~@3 d2@2 e2@2, g2 c2 ~@2, ~ [f4,ab4,b4]@2 [e4,g4,bb4]@3 ~@2", // F Fdim Edim
  H: "[f4,a4,c5] [f4,a4,c5,d5]@2 ~ c2@2 ~@2, f2@2 ~ [f4,a4,c5]@3 ~@2", I: "~ [db2,f4,ab4,b4]!2 ~",
  J: "~ [c2,f4,a4,c5]!2 ~", K: "c2 [f4,a4,c5] c2 [e4,g4,bb4,c5]", L: "[f1,f2,f4,a4] [a4,c5]!2 ~",
  M: "[f2,f4,a4]@2 [a2,f4,a4,c5]@2 [a4,c5] [bb4,d5]@2 [a4,c5], ~ [a2,f4]", N: "[ab2,d4,f4,b4] ~@3",
  O: "~@2 [ab2,d4,f4,b4]@2 [e4,g4,bb4] [e4,a4,c5]@2 [e4,g4,bb4], ~ g2", P: "[f2,c4,f4,a4] ~@3",
  Q: "~@2 [eb2,c4,f4,a4]@2 [d4,gb4,a4] [d4,gb4,bb4]@2 [d4,gb4,a4], ~ d2", R: "g4 d5, [d4,f4]@15 ~, g2 ~ g1 ~",
  S: "a4@8 ~@4 c2 d2 ~ e2, [c4,e4]@15 ~, c2 ~ g4@2", T: "f2 g2 a2 bb2 c3@2 [c2,e4,bb4,c5]@2, [a3,c4,f4] ~@3",
  U: "[f1,f2,f4,f5]@2 [a4,c5]@2 c5 d5@2 c5, ~@2 a4 ~", V: "[f2,f4,a4] [a2,f4,a4,c5] [a2,f4]@2, ~@2 [a4,c5] ~",
  W: "[f4,a4,c5] ~@3 d2@2 e2@2, f2 c2 ~@2, ~ [f4,a4,c5]@2 [f4,a4,c5]@3 ~@2", // F
  X: "[f4,a4,c5] [f4,a4,c5]@2 ~ c2@2 ~@2, f2@2 ~ [f4,a4,c5]@3 ~@2", Y: "c2 [f4,a4,c5] c2 [e4,bb4,c5]",
  Z: "[f2,d4,f4]@2 ~ [c2,bb3,c4,e4]@2 [f2,d4,f4]@2 f1", // Dm C7 Dm
})).s("gm_piano").gain(0.3)

stack(piano)