Strudelify

Boadicea

Enya

KeyE♭ majorTempo100 bpm
0:00/0:00
// Boadicea — Enya
// 100 bpm, 4/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "1st Bass" named as a bass, played on electric bass finger (its pad choir patch is not one)
// note: Full arrangement: all 92 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/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.

// bass · electric bass finger · "1st Bass"
const bass = note(`<
  A@5 B C D E B C D A D A F A B C D E B C D A D A@2 G H I A J H K C L K A C L M N@3 O A B C D E B C D A D A F A B C D E
  B C D A D A@2 D A@2 D A@18
>`.pickRestart({
  A: "c2 ~@3 c2 ~ c3 ~@3 c3 ~@13", B: "g2 ~@3 g2 ~ g3 ~@3 g3 ~@13", C: "ab2 ~@3 ab2 ~ ab3 ~@3 ab3 ~@13",
  D: "eb2 ~@3 eb2 ~ eb3 ~@3 eb3 ~ g2 ~@3 g2 ~ g3 ~@3 g3 ~", E: "c2 ~@3 c2@2 c3 ~@3 c3 ~@13",
  F: "c2 ~@4 c2 c3 ~@3 c3 ~@13", G: "ab2@2 ~@2 ab2@2 ab3 ~@3 ab3 ~@13", H: "eb2@2 ~@2 eb2 ~ eb3 ~@3 eb3 ~@13",
  I: "g2@2 ~@2 g2@2 g3 ~@3 g3 ~@13", J: "ab2@2 ~@2 ab2 ~ ab3 ~@3 ab3@2 ~@12", K: "g2@2 ~@2 g2 ~ g3 ~@3 g3 ~@13",
  L: "eb2 ~@3 eb2 ~ eb3 ~@3 eb3 ~@13", M: "d2@2 ~@2 d2 ~ d3 ~@3 d3 ~@13", N: "c2@2 ~@2 c2@2 c3 ~@3 c3 ~@13",
  O: "c2@4 c2 ~ c3 ~@3 c3 ~@13",
})).s("gm_electric_bass_finger").gain(0.25)

// bass · fretless bass · "2nd Bass"
const bass_2 = note(`<
  A@4 B C D E F G H E I E J K L M N O P Q R O S O K T N U V L N U V N U V L N U W T L@2 X L M N O P Q R O S O T K L M N
  O P Q R O S O K S O K S O K T@17
>`.pickRestart({
  A: "c1@11 ~", B: "c1", C: "g1@5 ~", D: "ab1", E: "eb1 g1", F: "~ c1@23", G: "g1@23 ~", H: "ab1@23 ~", I: "c1@19 ~@5",
  J: "c1@7 ~", K: "c2@5 ~", L: "c2", M: "g2@5 ~", N: "ab2", O: "eb2 g2", P: "~ c2@23", Q: "g2@23 ~", R: "ab2@23 ~",
  S: "c2@19 ~@5", T: "c2@7 ~", U: "eb2", V: "g2", W: "d2@19 ~@5", X: "c2@11 ~",
})).s("gm_fretless_bass").gain(0.28)

// other · taiko drum · "Drum"
const taiko_drum = note("<~@42 A@5 B C D A E C D A F A@3 G C D A B C D A H A@2 H A@2 H A@18>".pickRestart({
  A: "c1 ~@3 c1 ~ c2 ~@3 c2 ~@13", B: "g1 ~@3 g1 ~ g2 ~@3 g2 ~@13", C: "ab1 ~@3 ab1 ~ ab2 ~@3 ab2 ~@13",
  D: "eb1 ~@3 eb1 ~ eb2 ~@3 eb2 ~ g1 ~@3 g1 ~ g2 ~@3 g2 ~", E: "g1@2 ~@2 g1 ~ g2 ~@3 g2 ~@13",
  F: "eb1 ~@3 eb1@2 eb2 ~@3 eb2 ~ g1 ~@3 g1 ~ g2 ~@3 g2 ~", G: "g1 ~@3 g1 g2 ~@4 g2 ~@13",
  H: "c1 ~@3 c1 ~ c2 ~@3 c2 ~ g1 ~@3 g1 ~ g2 ~@3 g2 ~",
})).s("gm_taiko_drum").gain(0.17)

stack(bass, bass_2, taiko_drum)

More by Enya