Strudelify

Adeste Fideles

John F. Wade

KeyF majorTempo120 bpm
0:00/0:00
// Adeste Fideles — John F. Wade
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 3 "Bass" named as a bass, played on electric bass finger (its piano patch is not one); ch 4 "Bass" named as a bass, played on electric bass finger (its piano patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/416701; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 21 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.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · piano · "Tenor"
const piano = note("<A B C D E F G H I J K L M ~ N O P Q R S T>".pickRestart({
  A: "~@3 a3", B: "a3@2 f3!2", C: "e3 g3", D: "c4!3 d4", E: "c4 b3 c4 a3", F: "a3 b3 c4!2", G: "c4 b3 c4 f3",
  H: "g3 f3", I: "e3", J: "c4@2 c4!2", K: "c4!2", L: "c4 a3!2 g3", M: "g3 f3 e3 ~", N: "~@3 f3", O: "f3 e3 f3 g3",
  P: "f3@2 c4 db4", Q: "d4 c4 bb3 g3", R: "g3@2 f3 g3", S: "c4 bb3", T: "a3 a3@7",
})).s("gm_piano").gain(0.36)

// bass · electric bass finger · "Bass"
const bass = note("<A B C D E F G H I J K L M N O D P Q R S T>".pickRestart({
  A: "~@3 f3", B: "f3@2 c3 f3", C: "g3 e3 c3@2", D: "a3 g3 a3 bb3", E: "a3@2 g3 f3", F: "f3@2 e3 d3", G: "e3 f3 g3 a3",
  H: "e3 d3", I: "c3", J: "c4@2 bb3 a3", K: "bb3 a3", L: "g3 a3 f3 g3", M: "e3 d3 c3 f3", N: "f3 e3 f3 g3",
  O: "f3@2 c3 a3", P: "a3@2 g3 a3", Q: "bb3 a3 g3 f3", R: "e3@2 f3 bb3", S: "a3 g3", T: "f3 f3@7",
})).s("gm_electric_bass_finger").gain(0.3)

// bass · electric bass finger · "Bass"
const bass_2 = note("<A B C D E F G H I J K L M ~@3 N O P Q R>".pickRestart({
  A: "~@3 f2", B: "f2@2 a2 f2", C: "c3 e3", D: "f3 c3 f3 bb2", E: "c3@2 c3 d3", F: "d3@2 g3 f3", G: "e3 d3 c3 f3",
  H: "g3 g2", I: "c3", J: "a3@2 g3 f3", K: "g3 f3", L: "c3 db3 d3 b2", M: "c3 g2 c3 ~", N: "~@3 a2", O: "g2 a2 bb2 b2",
  P: "c3 bb2 a2 g2", Q: "c3!2", R: "f2 f2@7",
})).s("gm_electric_bass_finger").gain(0.48)

stack(piano, bass, bass_2)