Strudelify

Sorrowful Stone

Revised by Leo Drzislav

KeyF majorTempo71 bpm
0:00/0:00
// Sorrowful Stone — Revised by Leo Drzislav
// 70.5 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 39/16 at bar 38) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 1 "Violoncello" named as a string part, played on cello (its pad warm patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5834956; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 39 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(70.5/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
const piano = note("<A B C D A B E F G H I J A B E F G H I J@2 K L M G N O P Q K L M G N O P Q R S>".pickRestart({
  A: "[a3,e4,f4] [e4,f4] [a3,e4,f4] [e4,f4], d2 d3", B: "[bb3,e4,g4] [e4,g4] [bb3,e4,g4] [e4,g4], d2 d3",
  C: "[g3,db4,e4] [db4,e4] [g3,db4,e4] [db4,e4], d2 d3", // Dbdim Dbm Dbdim Dbm
  D: "[bb3,db4,e4,g4] [db4,e4,g4] [a3,db4,e4,g4] [db4,e4,g4], d2 d3", // Bbdim Dbdim A7 Dbdim
  E: "[a3,db4,e4,g4] [db4,e4,g4] [a3,db4,e4,g4] [db4,e4,g4], db2 db3", // A7 Dbdim A7 Dbdim
  F: "[a3,c4,d4,gb4] [c4,d4,gb4] [a3,c4,d4,gb4] [c4,d4,gb4], c2 c3", // D7
  G: "[a3,d4,a4] [d4,a4] [g3,d4,g4] [d4,g4], bb1 bb2", H: "[g3,c4,d4,g4] [c4,d4,g4] [gb3,c4,d4,gb4] [c4,d4,gb4], a1 a2",
  I: "[b3,d4,f4]!2 [b3,d4,e4]!2, ab1 ab2", J: "[g3,d4,e4] [d4,e4] [g3,db4,e4] [db4,e4], a1 a2",
  K: "[a3,d4,e4,f4] [d4,e4,f4] [a3,d4,f4] [d4,f4], d2 d3", L: "[a3,db4,e4,g4] [db4,e4,g4] [g3,a3,e4] [a3,e4], db2 db3",
  M: "[a3,c4,d4,gb4] [c4,d4,gb4] [gb5,a5,d6] [a5,d6], c2 c3", N: "[a3,d4,e4,f4] [d4,e4,f4] [f5,a5,d6] [a5,d6], a1 a2",
  O: "[g3,bb3,eb4] [bb3,eb4] [bb3,eb4,g4] [eb4,g4], g1 g2", // Eb Eb5 Eb
  P: "[g3,a3,db4,e4] [a5,c6,e6] [g5,a5,c6,e6] [a5,c6,e6], a1 a2", Q: "[g5,a5,d6] [a5,d6] [f5,a5,d6] [a3,d4], d2 d3",
  R: "[b3,d4,f4]!2 [b3,d4,e4]!2", S: "[g3,d4,e4] [d4,e4] [g3,db4,e4] [db4,e4]",
})).s("gm_piano").gain(0.1)

stack(piano)