Strudelify

HIGH GERMANY Folk Songs from Somerset

Cecil Sharp song collector

KeyF majorTempo120 bpm
0:00/0:00
// HIGH GERMANY Folk Songs from Somerset — Cecil Sharp song collector
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2, 3/4 at bar 5, 1/4 at bar 5, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/1717756; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 23 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 · [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 · piano · "Pianoforte"
const piano = note("<A B C D E F G H I J K L M N O P Q R S T U V W>".pickRestart({
  A: "~@6 [e4,d5] ~", B: "~ [d2,d3] ~ [d4,d5], [a3,a4] [a1,a2]", C: "~ [g1,g2] ~ [d4,d5], [bb3,bb4] [e1,e2]",
  D: "~@4 [f1,f2]@3 [g1,g2] [a1,a2]@4 [g1,g2,e3,bb3,d4]@4, [a3,a4] ~", E: "[d1,d2,f3,a3,d4]@3 [a3,a4]",
  F: "~@3 d4 d4@2 [e3,g3,c4,c5] ~, a3@3 ~, a4@3 ~@5, ~ [d3,f3]@2 ~", // C Dm
  G: "[d3,a3]@2 ~ g4 [f3,c4,f4,a4]@2 a3@2, f4@3 ~@3 a4 ~, ~ [c3,c4,e4] ~@2", // D5 F C
  H: "g3@2 [g2,bb3] [a2,c4] [bb2,d4]@2 [g2,bb3]@2, g4", I: "[d3,a3,f4]@2 [g3,bb3]@2 [f3,a3]@2 d4 e4, ~ d4@2 [e3,g3]",
  J: "[d3,f3,f4]@2 g3 a3 d4 e4 [a2,f4] [g2,g4], ~ [c3,e4] [bb2,bb3] c4", // Dm G C Bb
  K: "f4 eb4 [bb2,d4,f4,bb4] [d4,d5], [f2,d4,a4] ~", // Bb D Dm
  L: "~ a2 d3 f3 [g3,d4,f4]@2 [c3,c4,e4]@2, [c4,f4,c5] [d4,f4,a4] bb4@2", // G7 C F5 Dm
  M: "f3@2 [e2,e3]@2 [d2,d3]@2 a4 g4, [f4,a4]@3 [c2,c3]", // E D F C
  N: "[d2,d3,a3,f4]@2 [c2,bb2,e4,f4]@2 [bb1,bb2] [a1,a2] a4 bb4, ~@2 [d4,f4] [g1,g2,c4,e4]", // Dm C7 Bb A Dm C
  O: "[f1,f2]@2 [f2,f3] [e2,e3] [d2,d3] [e2,e3] [f2,f3,d4]@2, [c4,a4,c5] [a4,d5], ~@2 f4 ~", // F E D E Dm F D5
  P: "[a1,a2,e4,c5,e5] [c2,c3,a3,e4,a4] [bb1,bb2,d4,bb4,d5] [d2,d3,a3,f4,a4]", // Am Bb Dm
  Q: "f4@2 e4 d4 e4@2 [bb1,bb2,d4,f4,bb4,d5]@2, [c2,c3,c4,c5]@3 ~", // Bb C
  R: "[f2,f3,c4,f4,a4,c5]@3 [bb2,f3,bb3,d4] [bb2,f3,bb3,d4]@2 [c3,e3,g3,c4]@2", // F Bb C
  S: "[d3,a3]@2 ~ g4 [f3,a4]@2 a4@2, f4@3 ~@5, ~ [e3,g3] ~@2", T: "~@3 f4 [d3,f3] ~ [d3,g3] ~, g4@3 ~@5, ~ bb3 d4!2",
  U: "d3@4 [d2,d3] ~ [c2,c3] ~ [bb1,bb2] ~ [a1,a2] ~ [g1,g2]@2 ~@2, [f3,a3,d4]@3 ~", // D C Bb A G Dm
  V: "[f1,f2]@3 [g1,g2] [a1,a2]@2 [g1,g2,e3,bb3,d4] ~, [d3,a3,d4]@3 ~", W: "[d1,d2,f3,a3,d4]@3 ~",
})).s("gm_piano").gain(0.4)

stack(piano)