Strudelify

it is well with my soul

Música: Philip Paul Bliss

KeyC majorTempo120 bpm
0:00/0:00
// it is well with my soul — Música: Philip Paul Bliss
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5982219; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 22 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 · [...]/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 · "Violino"
const violin = note("<A B C D E A F G H@2 I J K@2 ~ L ~ M N O P@2>".pickRestart({
  A: "e4 e4@2 d4", B: "c4 c4@2 b3", C: "c4 b3@2 b3", D: "d4 c4@3", E: "e4 e4@2 e4", F: "d4 d4@3", G: "f4 e4@2 e4",
  H: "g4 f4@2 f4", I: "f#4 g4@2 d4", J: "d4 g4@2 c4", K: "[d4@2 e4@4 d4@3 e4 e4@4 ~@2]/2", L: "e4!2 d4@2",
  M: "d4 f4 e4@2", N: "c4 e4 f4@2", O: "f4!2 e4@2", P: "[d4@3 e4 e4@6 ~@6]/2",
})).s("gm_violin").gain(0.3)

// other · cello · "Violoncelo"
const cello = note("<A B C D E F G H I J K L M@2 ~ N ~ O P Q R@2>".pickRestart({
  A: "c3 c3@2 c3", B: "c3 e3 g3@4 f3@2", C: "e3 d3@2 g2", D: "b2 c3@3", E: "c3 a2@2 b2", F: "c3 c3@2 d3", G: "d3 g3@3",
  H: "g3 c3@2 c3", I: "e3 f3@2 f3", J: "e3 d3@2 d3", K: "d3 g3@2 g3", L: "g3 f3 e3@4 e3@2",
  M: "[f3@2 g3@4 g2@3 g2 c3@4 ~@2]/2", N: "c3 e3 g3@2", O: "g3!2 c3@2", P: "c3!2 f3@2", Q: "f3!2 g3@2",
  R: "[g2@3 g2 c3@6 ~@6]/2",
})).s("gm_cello").gain(0.3)

stack(violin, cello)