Strudelify

The Musical Priest

Irish

KeyD majorTempo120 bpm
0:00/0:00
// The Musical Priest — Irish
// 120 bpm, 4/4, key D 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/5865681; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 33 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · violin · "Violín"
const violin = note("<~ A B C D A E F D G H I@2 G H J K L M N O L M N O A E F D A E F D>".pickRestart({
  A: "d4@2 f#4 d4", B: "c#4!2 f#4@2", C: "d4@2 g4!2", D: "a4 b4", E: "c#4!2 f#4 c#4", F: "d4@2 f#4 b4", G: "a4@2 d5 a4",
  H: "a4@2 c#5 a4 d5 a4 c#5 a4", I: "[b4@2 b4 c#5 b4 c#5 d5 b4@2 c#5 c#5@2 b4@4]/2", J: "b4@2 b4 c#5 b4 c#5 d5 b4",
  K: "c#5 b4", L: "b3 c#4 d4 e4", M: "f#4 g#4 a4 f#4", N: "b3 d4 e4!2", O: "f#4 b3",
})).s("gm_violin").gain(0.3)

// other · viola
const viola = note("<~ A B A C A B A C D E F G D E F G H I H J H I H J A B A C A B A C>".pickRestart({
  A: "b3@2 b3!2", B: "a3 f#3 a3 f#3", C: "f#3!2", D: "d4@2 d4!2 d4@2 d4!2", E: "a3 b3 a3!3 e3 a3!2",
  F: "b3@2 b3!2 d4@2 d4!2", G: "f#4 e4 d4 c#4 b3@4", H: "b3@2 b3!2 b3@2 b3!2 b3@2 b3@2 b3@4",
  I: "f#3@2 f#3!2 f#3@2 f#3!2 f#3@2 f#3!2 f#3@2 f#3@2", J: "f#3!2 a3 f#3 b3@2 b3@2",
})).s("gm_viola").gain(0.3)

// other · cello · "Violonchelo"
const cello = note("<~ A B C D A B E F G H I J G H I K I L M N O P Q N A B C D A B E F>".pickRestart({
  A: "b2 d3", B: "f#3 c#3", C: "b2 e2", D: "f#2 b2", E: "b2 a2 f#2 b2", F: "f#3 b2", G: "d2@2 f#2 g2", H: "a2!2",
  I: "b2", J: "f#2@2 f#2 a2 b2@4", K: "f#2 e2 f#2!2 b2@4", L: "a2", M: "d2 e2", N: "f#2@2 f#2@2 f#2!2 f#2@2 b2@8",
  O: "b2@2 b2@2 b2 c#3 d3 b2", P: "a2@2 a2@2 a2 f#2 a2 f#2", Q: "b2!2 b2@2",
})).s("gm_cello").gain(0.3)

stack(violin, viola, cello)