Strudelify

over the green fields - sad romance

Misc Cartoons

KeyA minorTempo100 bpm
0:00/0:00
// over the green fields - sad romance — Misc Cartoons
// 100 bpm, 3/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (3/4 at bar 1, 11/8 at bar 113, 3/4 at bar 115, 11/8 at bar 227, ...) are rendered on a constant 3/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/30994; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 230 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(100/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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.

// chords · piano
const piano = note(`<
  A B C B D E F G H I J K L I J M N I J K O I P Q R S@2 T U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ@2 H I J K L I J M
  N I J K O I P Q R S@2 T U V W X Y Z AA AB AC AD AE AF AG AH AI@2 AJ@2 H AK@2 AL@2 AM AN AO AP AQ AR AS AT AU AV AW AX
  AY AZ BA BB@2 BC@2 BD@6 BE BF BG BF BH BI BJ BK BL BM BN BO BP BM BN BQ BR BM BN BO BS BM BT BU BV BW@2 BX BY BZ CA CB
  CC CD CE CF CG CH CI CJ CK CL CM@2 CN@2 BL BM BN BO BP BM BN BQ BR BM BN BO BS BM BT BU BV BW@2 BX BY BZ CA CB CC CD
  CE CF CG CH CI CJ CK CL CM@2 CN@2 BL CO@2 CP@2 CQ CR CS CT CU CV CW CX CY CZ DA DB DC DD DE DF@2 DG@2 DH@7 ~
>`.pickRestart({
  A: "e5@4 a4@4 e5@7 ~ e5@7 ~", B: "e5@7 ~ g5@14 ~@2", C: "[c5,e5]@4 a4@4 e5@7 ~ e5@7 ~",
  D: "a4@4 a4@4 [a4,c5,e5]@7 ~ [a4,c5,e5]@7 ~, [c5,e5]@7 ~@17", E: "[g4,b4]@2 g4@2 g5@7 ~, e5@7 ~@17",
  F: "[f4,a4,e5]@7 ~ d5@7 ~ c5@7 ~", G: "[g4,b4]@7 ~ g4@14 ~@2", H: "~@8 a4@7 ~ b4@7 ~",
  I: "c5@11 ~ [e4,b4]@4 c5@4 d5@4, ~@16 a4@7 ~", J: "b4@7 ~ g4@7 ~ e4@4 g4@4, ~@16 b3@7 ~",
  K: "[f4,a4]@11 ~ g4@4 [c4,f4]@7 ~", L: "e4@7 ~ a4@2 b4@2, ~@16 e4@7 ~", M: "[d4,a4]", N: "a4@4 a4 b4",
  O: "g4@7 ~ a4@2 b4@2, ~@16 e4@7 ~", P: "[b4,e5]@7 ~ [g4,b4]@7 ~ g4@7 ~", Q: "a4@11 ~", R: "[f4,a4]@14 ~@2 c6@7 ~",
  S: "[[b4,b5]@5 ~@3 [a4,a5]@30 ~@2 e4@4 g4@4]/2", T: "g4@7 ~ [e4,g4]@2 [e4,g4,b4]@2, ~@2 c5",
  U: "[c4,f4,a4]@7 ~ g4@2 f4@2", V: "e4@7 ~ f4@7 ~ g4@7 ~", W: "[g3,b3,d4]@7 ~ b3@12 d4@4, ~@8 e4@11 ~@5",
  X: "[e3,a3,c4]@7 ~ d4@7 ~ e4@7 ~, ~@4 a3@7 ~", Y: "g4@7 ~ e4@2 g4@2, b3@11 ~", Z: "[c4,f4,a4]@11 ~",
  AA: "[f4,b4]@7 ~ a4@2 b4@2", AB: "c5@11 ~ b4@4 a4@7 ~", AC: "g4@7 ~ e4@2 g4@2", AD: "a4@11 ~ g4@4 f4@7 ~, c4@11 ~",
  AE: "[c4,e4]@7 ~ d4@2 e4@2", AF: "f4@11 ~ e4@4 d4@7 ~", AG: "c4@7 ~ [b3,c4,e4]@7 ~ [a3,c4,e4,a4]@7 ~",
  AH: "e4@7 ~ b3@11 ~ g3@4", AI: "[a3@38 ~@2 c5@7 ~]/2", AJ: "[[b4,b5]@5 ~@3 [a4,a5]@38 ~@2]/2",
  AK: "[a3@19 ~ c4@2 b3@2]/2", AL: "[a3@19 ~ e5@2 g5@2]/2", AM: "g5@7 ~ [e5,g5,c6]@2 [e5,g5,b5]@2",
  AN: "[c5,f5,a5]@7 ~ g5@2 f5@2", AO: "e5@7 ~ f5@7 ~ g5@7 ~", AP: "[g4,b4,d5]@7 ~ b4@12 d5@4, ~@8 e5@11 ~@5",
  AQ: "[e4,a4,c5]@7 ~ d5@7 ~ e5@7 ~, ~@4 a4@7 ~", AR: "g5@7 ~ e5@2 g5@2, b4@11 ~", AS: "[c5,f5,a5]@11 ~",
  AT: "[f5,b5]@7 ~ [a5,a6]@2 [b5,b6]@2", AU: "[c6,c7]@11 ~ [b5,b6]@4 [a5,a6]@7 ~", AV: "[g5,g6]@7 ~ e5@2 g5@2",
  AW: "a5@11 ~ g5@4 f5@7 ~, c5@11 ~", AX: "[c5,e5]@7 ~ d5@2 e5@2", AY: "f5@11 ~ e5@4 d5@7 ~",
  AZ: "c5 [c5,e5] [a4,c5,e5], ~ b4@2", BA: "e5@7 ~ b4@11 ~ g4@4", BB: "[a4@19 ~ a4@2 [a4,b4]@2, ~@5 c5]/2",
  BC: "[a4@23 ~]/2",
  BD: "[~@5 [c5,e5]@4 a4@4 [c5,e5]@7 ~ [c5,e5]@7 ~ [b4,e5]@4 g4@4 g5@14 ~@2 [a4,c5,e5]@4 f4@4 [a4,c5,e5]@7 ~ [a4,c5,e5]@7 ~ [b4,e5]@4 g4@4 [e5,g5]@38 ~@2 d5@4 e5@4 c5@4 b4@4 g4@3]/6", // C E5 Am E5 Em
  BE: "~ e5@4 a4@4 e5@7 ~ e5@7", BF: "~ e5@7 ~ g5@14 ~", BG: "~ [c5,e5]@4 a4@4 e5@7 ~ e5@7",
  BH: "~ a4@4 a4@4 [a4,c5,e5]@7 ~ [a4,c5,e5]@7, ~ [c5,e5]@7 ~@16", BI: "~ [g4,b4]@4 g4@4 g5@14 ~, ~ e5@7 ~@16",
  BJ: "~ [f4,a4,e5]@7 ~ d5@7 ~ c5@7", BK: "~ [g4,b4]@7 ~ g4@14 ~", BL: "~@9 a4@7 ~ b4@7",
  BM: "~ c5@11 ~ [e4,b4]@4 c5@4 d5@3, ~@17 a4@7", BN: "~ b4@7 ~ g4@7 ~ e4@4 g4@3, ~@17 b3@7",
  BO: "~ [f4,a4]@11 ~ g4@4 [c4,f4]@7", BP: "~ e4@14 ~@2 a4@4 b4@3, ~@17 e4@7", BQ: "~ [d4,a4]@23",
  BR: "~ a4@16 a4@4 b4@3", BS: "~ g4@14 ~@2 a4@4 b4@3, ~@17 e4@7", BT: "~ [b4,e5]@7 ~ [g4,b4]@7 ~ g4@7",
  BU: "~ a4@22 ~", BV: "~ [f4,a4]@14 ~@2 c6@7", BW: "[~ [b4,b5]@5 ~@3 [a4,a5]@30 ~@2 e4@4 g4@3]/2",
  BX: "~ g4@14 ~@2 [e4,g4]@4 [e4,g4,b4]@3, ~@17 c5@7", BY: "~ [c4,f4,a4]@14 ~@2 g4@4 f4@3", BZ: "~ e4@7 ~ f4@7 ~ g4@7",
  CA: "~ [g3,b3,d4]@7 ~ b3@12 d4@3, ~@9 e4@11 ~@4", CB: "~ [e3,a3,c4]@7 ~ d4@7 ~ e4@7, ~@9 a3@14 ~",
  CC: "~ g4@14 ~@2 e4@4 g4@3, ~ b3@22 ~", CD: "~ [c4,f4,a4]@22 ~", CE: "~ [f4,b4]@14 ~@2 a4@4 b4@3",
  CF: "~ c5@11 ~ b4@4 a4@7", CG: "~ g4@14 ~@2 e4@4 g4@3", CH: "~ a4@11 ~ g4@4 f4@7, ~ c4@22 ~",
  CI: "~ [c4,e4]@14 ~@2 d4@4 e4@3", CJ: "~ f4@11 ~ e4@4 d4@7", CK: "~ c4@7 ~ [b3,c4,e4]@7 ~ [a3,c4,e4,a4]@7",
  CL: "~ e4@7 ~ b3@11 ~ g3@3", CM: "[~ a3@38 ~@2 c5@7]/2", CN: "[~ [b4,b5]@5 ~@3 [a4,a5]@38 ~]/2",
  CO: "[~ a3@38 ~@2 c4@4 b3@3]/2", CP: "[~ a3@38 ~@2 e5@4 g5@3]/2", CQ: "~ g5@14 ~@2 [e5,g5,c6]@4 [e5,g5,b5]@3",
  CR: "~ [c5,f5,a5]@14 ~@2 g5@4 f5@3", CS: "~ e5@7 ~ f5@7 ~ g5@7", CT: "~ [g4,b4,d5]@7 ~ b4@12 d5@3, ~@9 e5@11 ~@4",
  CU: "~ [e4,a4,c5]@7 ~ d5@7 ~ e5@7, ~@9 a4@14 ~", CV: "~ g5@14 ~@2 e5@4 g5@3, ~ b4@22 ~", CW: "~ [c5,f5,a5]@22 ~",
  CX: "~ [f5,b5]@14 ~@2 [a5,a6]@4 [b5,b6]@3", CY: "~ [c6,c7]@11 ~ [b5,b6]@4 [a5,a6]@7",
  CZ: "~ [g5,g6]@14 ~@2 e5@4 g5@3", DA: "~ a5@11 ~ g5@4 f5@7, ~ c5@22 ~", DB: "~ [c5,e5]@14 ~@2 d5@4 e5@3",
  DC: "~ f5@11 ~ e5@4 d5@7", DD: "~ c5@8 [c5,e5]@8 [a4,c5,e5]@7, ~@3 b4@5", DE: "~ e5@7 ~ b4@11 ~ g4@3",
  DF: "[~ a4@38 ~@2 a4@4 [a4,b4]@3, ~@41 c5@7]/2", DG: "[~ a4@46 ~]/2",
  DH: "[~@6 [c5,e5]@4 a4@4 [c5,e5]@7 ~ [c5,e5]@7 ~ [b4,e5]@4 g4@4 g5@14 ~@2 [a4,c5,e5]@4 f4@4 [a4,c5,e5]@7 ~ [a4,c5,e5]@7 ~ [b4,e5]@4 g4@4 [e5,g5]@38 ~@2 d5@4 e5@4 c5@4 b4@4 g4@4 [c4,a4]@22]/7", // C E5 Am E5 Em F
})).s("gm_piano").gain(0.3)

stack(piano)

More by Misc Cartoons