Strudelify

Come again

John Dowland

KeyG majorTempo120 bpm
0:00/0:00
// Come again — John Dowland
// 120 bpm, 4/2, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/2 at bar 1, 4/4 at bar 8, 6/2 at bar 10, 4/2 at bar 11, ...) are rendered on a constant 4/2 grid of one bar per cycle
// note: ch 4 "Basso" named as a bass, played on electric bass finger (its acoustic guitar nylon patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/1717186; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 32 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/8)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · acoustic guitar nylon · "Soprano"
const acoustic_guitar_nylon = note("<A B C D E F G H I J@2 K@2 H I J@2 K@2 A B C D E F G H I J@2 K@2>".pickRestart({
  A: "~@4 b4@3 c5 d5@8", B: "~ d5 e5 d5", C: "c5@3 c5 b4@4", D: "~ d5!2 c5", E: "b4!2 a4@2", F: "~ a4 c5 g4",
  G: "a4@3 a4 a4@4", H: "~ d4 g4@2 ~ e4 a4@2", I: "~ f#4 c5@2 ~ g4 c5@2", J: "[~ a4 d5@10 ~ d5 c5 b4]/2",
  K: "[a4@4 ~@2 b4@2 a4@2 g4@2 g4@6 f#4 e4 f#4@4 g4@8]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.3)

// other · acoustic guitar nylon · "Contralto"
const acoustic_guitar_nylon_2 = note("<A B@2 C D E F G H I@2 J K G H I@2 J K A B@2 C D E F G H I@2 J K>".pickRestart({
  A: "g4@3 g4 g4@4", B: "[~@2 b4@2 a4 g4 g4@4 f#4@2 g4@4]/2", C: "~@4 g4@4 g4@4 e4@3 f#4", D: "g4@3 g4 f#4@4",
  E: "~@2 f#4@2 g4@3 d4", F: "e4@3 e4 f#4@4", G: "d4@4 e4@2 ~ e4", H: "f#4@2 ~ f#4 g4@2 ~ g4",
  I: "[a4@4 ~@2 a4@2 b4@12 a4@4 g4@3 f4 e4@2 g4@2]/2", J: "f#4@3 g4 e4@2 b3 c4", K: "d4@3 c4 b3@4",
})).s("gm_acoustic_guitar_nylon").gain(0.3)

// bass · electric bass finger · "Basso"
const bass = note("<A B C D E F G H I J K L M H I J K L M A B C D E F G H I J K L M>".pickRestart({
  A: "g3!2 g3@2", B: "~ g2 c3 b2", C: "a2@3 a2 g2@4", D: "~ g2!2 a2", E: "b2 g2 d3@2", F: "~ d3 g2 b2",
  G: "a2@3 a2 d3@4", H: "b2@4 c3@3 c3", I: "d3@3 d3 e3@3 d3", J: "f#3@3 f#3 g3@2 g2@2", K: "g2 a2 b2 c3",
  L: "d3@2 b2@2 c3 d3 e3@2", M: "d3@3 d3 g2@4",
})).s("gm_electric_bass_finger").gain(0.33)

stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2, bass)

More by John Dowland