Strudelify

Irish Tune from County Derry

Percy Grainger

KeyF majorTempo80 bpm
0:00/0:00
// Irish Tune from County Derry — Percy Grainger
// 80 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/6319290; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 32 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(80/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · trombone
const trombone = note("<A B C D@2 E F G@2 B C H I J K L M N O P@2 N O Q@2 R S T@2 ~@2 U>".pickRestart({
  A: "~ e3 f3 g3", B: "a3@3 g3", C: "a3 d4 c4 a3", D: "[g3 f3 d3@3 f3 a3 bb3]/2", E: "c4@3 d4", F: "c4 a3 f3 a3",
  G: "[g3@5 e3 f3 g3]/2", H: "g3 f3 d3 db3", I: "d3 e3 f3 g3", J: "a3@3 bb3", K: "a3 g3 f3 g3", L: "f3",
  M: "~ c4 d4 e4", N: "f4@3 e4", O: "e4 d4 c4 a3", P: "[c4 a3 f3@3 c4 d4 e4]/2", Q: "[g3@5 c4!3]/2", R: "a4@3 g4",
  S: "g4 f4 d4 f4", T: "[c4 a3 f3@3 ~@3]/2", U: "c3",
})).s("gm_trombone").gain(0.2)

// other · trombone
const trombone_2 = note("<A B C D@2 E F G H I J K L M N O P Q R S@2 Q R T U V W X@3 Y O>".pickRestart({
  A: "~ bb2!3", B: "g2@3 bb2", C: "c3 d3 c3@2", D: "[d3@5 c3@2 c3]/2", E: "c3@3 bb2", F: "a2 f2 a2 b2", G: "c3 bb2",
  H: "c3 bb2 a2 g2", I: "f2@3 e2", J: "f2 g2 a2 c3", K: "bb2 a2 g2 f2", L: "d2 c2 d2 e2", M: "f2 a2 c3 d3",
  N: "f3 d3 c3 g2", O: "f2", P: "~ bb3!3", Q: "a3 f3", R: "f3 g3 a3 c4", S: "[f3@2 a3@3 c4!2 bb3]/2", T: "f4@2 e4 d4",
  U: "e4 d4 c4 bb3", V: "f4 c4", W: "d4", X: "[c4 a3 b3@3 g3 f3 eb3@5]/3", Y: "d3 bb2",
})).s("gm_trombone").gain(0.15)

// bass · trombone · "Bass Trombone"
const bass = note("<A B@2 C@2 D E F@2 G H I@2 J K L A M N O@2 P Q R S T U V@2 W X L>".pickRestart({
  A: "~ c2!3", B: "[f2@5 bb1 a1@2]/2", C: "[bb1@5 c2 f2 g2]/2", D: "a2@3 bb2", E: "c3 f2 e2 d2", F: "[c2@3 c2]/2",
  G: "f2@2 c2 bb1", H: "a1 g1 a1@2", I: "[bb1 d2 g2@3 g2 a2 bb2]/2", J: "a2@2 e2 d2", K: "c2 bb1 c2@2", L: "f1",
  M: "f2 a2", N: "bb1 d2 f2@2", O: "[a2@2 d3@3 a2 bb2 c3]/2", P: "d3 a2", Q: "bb1 d2 f2 e2", R: "d2 g2", S: "e2@2 e2!2",
  T: "f1 a1", U: "bb1", V: "[c2@2 d2@3 bb2 a2 g2]/2", W: "f2@3 f2", X: "bb1 a1 g1 c2",
})).s("gm_trombone").gain(0.25)

stack(trombone, trombone_2, bass)

More by Percy Grainger