Strudelify

Let's Go (The B*Witched Jig)

B*Witched

KeyG majorTempo160 bpm
0:00/0:00
// Let's Go (The B*Witched Jig) — B*Witched
// 160 bpm, 2/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 2/4 at bar 45) are rendered on a constant 2/4 grid of one bar per cycle
// note: duplicate parts dropped: ch 6 "Staff-5" electric bass finger (copy of ch 3 "Staff-2" cello)
// note: Full arrangement: all 106 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/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.

// other · violin · "Tempo Track"
const violin = note("<A@8 B@8 C@7 D@5 E@4 F@4 G@4 H@4 ~@40 I@3 J ~@18>".pickRestart({
  A: "[~@72 f#5@28 ~@4 d5@21 ~@2 g4, ~@9 b4@119]/8", B: "[~@7 f#4@43 ~@5 a4@13 ~@2 g4@58]/8",
  C: "[~@6 c5@28 ~@3 g4@8 a4@13 ~@3 b4@8 b4@39 c5@4]/7", D: "[b4@4 a4@8 g4@8 a4@51 ~@4 g4@5]/5",
  E: "[~@3 a4@8 b4@51 ~@2]/4", F: "[~@2 c5@51 ~@5 g4@6]/4", G: "[~@2 g4@59 ~@3]/4", H: "[~ a4@59 ~@4]/4",
  I: "c5@7 ~ c5@7 ~", J: "c5@7 ~@9",
})).s("gm_violin").gain(0.72)

// chords · viola · "Staff-1"
const viola = note("<A@8 ~@4 B@8 C@4 D@8 E@4 F@4 G@4 ~@40 H@3 I ~@18>".pickRestart({
  A: "[~@9 e4@119]/8", B: "[~@6 [b3,e4]@59 ~@5 e4@58, ~@35 g4@14 ~@15]/8", C: "[~@5 [d4,g4]@59]/4",
  D: "[~@4 [d4,f#4]@51 ~@4 g4@8 [e4,g4]@59 ~@2]/8", E: "[~@2 [e4,g4]@51 ~@11]/4", F: "[~@2 [b3,d4]@59 ~@3]/4",
  G: "[~ [d4,f#4]@59 ~@4]/4", H: "[f4,a4]@7 ~ [f4,a4]@7 ~", I: "[f4,a4]@7 ~@9",
})).s("gm_viola").gain(0.72)

// other · cello · "Staff-2"
const cello = note("<A@8 B@8 ~@12 C@4 ~@24 D@2 E ~ D@2 E ~@9 D@2 E ~ D@2 E ~@9 D@6 ~@10 F@2>".pickRestart({
  A: "[~@9 b3@119]/8", B: "[~@7 b3@59 ~@4 e3@58]/8", C: "[~@3 e3@59 ~@2]/4", D: "~@4 e4 ~@3 e4 ~@3 e4 ~@3",
  E: "~@4 e4 ~@11", F: "[e3@15 ~]/2",
})).s("gm_cello").gain(0.72)

// other · bassoon · "Staff-3"
const bassoon = note("<A@8 B@5 ~@3 C@8 D@4 ~@4 E@4 F@4 G@4 ~@60 H@2>".pickRestart({
  A: "[~@9 e3@119]/8", B: "[~@7 e3@59 ~@14]/5", C: "[~@6 c3@59 ~@4 g2@59]/8", D: "[~@4 d3@59 ~]/4",
  E: "[~@2 c3@59 ~@3]/4", F: "[~@2 g2@59 ~@3]/4", G: "[~ d3@59 ~@4]/4", H: "[e3@15 ~]/2",
})).s("gm_bassoon").gain(0.72)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@44 A@4 B C B C B C B C B C B C B C B C D B D B D B D B D B D B D B D B A@24 ~@2
>`.pickRestart({
  A: "x!2", B: "x!3 ~", C: "x!4", D: "x ~@3 x ~@2 x",
})).gain(0.64)

stack(violin, viola, cello, bassoon, mid_tom)

More by B*Witched