Strudelify

Niel Gow's Wife

N. Gow

KeyC majorTempo45 bpm
0:00/0:00
// Niel Gow's Wife — N. Gow
// 45 bpm, 6/8, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/16 at bar 1, 6/8 at bar 2) are rendered on a constant 6/8 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/1156606; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 33 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(45/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · acoustic guitar nylon · "Chitarra classica"
const acoustic_guitar_nylon = note("<~ A B C D A E F G A B C D A E F H I J K L I J K L I J M N O P Q R>".pickRestart({
  A: "[c3,e3,g3,c4]@2 [f2,f3,a3,c4] [a2,e3,a3,c4]@3", B: "[g2,b2,d3,g3,d4] [f2,f3,a3,c4]",
  C: "[c3,e3,g3,c4] [g2,b2,d3,g3,d4]", D: "[c4,e4,a4]@2 [g3,b3,g4] [f2,f3,a3,c4,f4]@3, a2 ~",
  E: "[b2,d3,g3,d4]@4 [c4,e4]@4 [g3,d4]@4 ~ c4@11, g2 [f2,f3,a3]", // G C G5 F
  F: "[c3,e3,g3,c4]@12 [f3,a3,c4]@4 d4@4 ~ e4@3, ~ f2, ~@5 [a3,c4]", G: "[b2,d3,g3,d4,g4]@2 f4 [c3,e3,g3,c4]@3, g2 ~",
  H: "[b2,d3,g3,d4,g4]@8 f4@4 ~ c4@11, g2 [c3,e3,g3]", // G C
  I: "~ e3 ~ e3 ~ a3 ~ g3 d4 g3 g4 d4, [c3,e4] [g2,b2,d3,b3], c4@2 c4 ~@3, a3@2 a3@3 ~@7", // C G
  J: "~ c3 ~@3 f4 ~ a3 ~ a3 f4 d4, f2 ~, [a3,c4] a3 ~@2, f3 f3@2 d3@3, ~@4 c4@2 d4@2 d4@3 ~", // Am
  K: "~ b2 ~@3 g3 ~ e3 ~@3 c4, g2 a2, [g3,d4]@3 g3@2 ~ a3@2 a3@4, d3@2 d3@4 ~@3 c4@2 ~, ~@2 d4 [c4,e4]@2 e4", // G5 C
  L: "~@2 c3@2 e3@4 [g2,f3,a3,c4]@4 [c3,e3,g3,c4]@8 ~ d4@3, [f2,g3,c4]@2 ~@3 [b2,d3,g3]", // F C Fsus2 G
  M: "[c3,e3,g3,c4] [b2,d3,g3,d4] [a2,e3,a3,c4,e4] [a2,d3,a3,d4,a4]@3, g2 ~", // C G Am D5
  N: "~ b2 d3 g3 d4 g3 g4 d3 g3 d4 [f2,f4]@2, g2@3 g2@2 ~", // F
  O: "~ e3 ~ e3 ~ g3 ~ e3 ~ e3 ~ a3, c3 [a2,e4], c4@2 c4 c4@2 c4, g3@2 g3@3 ~ a3@2 a3@3 ~", // A5
  P: "~ d3 ~ d3 ~ g3 ~ c3 f3 ~@2 f4, [g2,g4] [f2,f4], d4@4 d4@2 ~@3 a3@3, g3@2 g3@3 ~ [a3,c4]@4 c4@2", // G F Am
  Q: "e4 e3 ~ e3 c4 g3 ~ f3 ~ f3 ~ a3, [c3,d4] [f2,f4], g3@2 g3@3 ~ c4@4 c4@2, ~@6 a3@2 a3@3 ~", // Csus2 F
  R: "g4@4 f4@4 e4@4 ~ c4@7 ~@4, [g2,g3,d4]@3 [c3,e3,g3]@2 ~", // G5 C
})).s("gm_acoustic_guitar_nylon").gain(0.26)

// other · cello · "Violoncello"
const cello = note("<~ A B C D A E F G A B C D A E F H C I J K C I J K C L M N A E F H>".pickRestart({
  A: "c3 a2", B: "g2 f2", C: "c3 g2", D: "a2@3 f2 e2 d2", E: "g2 e2 c2 f2@3", F: "c3 f2", G: "g2@2 f2 c3@2 g2",
  H: "g2@3 c3@2 ~", I: "f2@3 d3 c3 a2", J: "g2 a2", K: "f2@2 g2 c3@2 b2", L: "f2@3 d2 f2 a2", M: "c3 g2 e2 f2@2 a2",
  N: "g2@3 g2@2 f2",
})).s("gm_cello").gain(0.17).pan(0.3)

stack(acoustic_guitar_nylon, cello)