Strudelify

Sei Lob und Preis mit Ehren

Johann Sebastian BachGroßer Bachist

KeyC majorTempo120 bpm
0:00/0:00
// Sei Lob und Preis mit Ehren — Johann Sebastian BachGroßer Bachist
// 120 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (2/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: track names are the Roland MT-32 patch names at their program numbers ("Violinen 1" on 52, "Violinen 2" on 52), so with no bank select the whole file is read through the MT-32 patch table: ch 1 "Violinen 1" Violin 1 -> violin; ch 4 "Violinen 2" Violin 1 -> violin; ch 7 "Bratschen" Violin 1 -> violin; ch 11 "Violoncellos" Violin 1 -> violin
// note: Transcription provider: pdmx. https://musescore.com/score/55491; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 178 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 · "Violinen 1"
const violin = note(`<
  ~@5 A B C D E@3 ~@6 F G H D I@3 ~@4 A B C D E@3 ~@6 F G H D I@3 ~@12 A J K B L@3 ~@6 M N O P@3 ~@10 Q R S T I@3 ~@9 A
  U T V@3 ~@7 M G U W I@3 ~@8 F X O P@3 ~@9 Q B C Y V@3 ~@11 F Z AA H AB@7
>`.pickRestart({
  A: "c5", B: "c5 b4", C: "a4 g4", D: "c5 d5", E: "[e5@5 ~]/3", F: "e5", G: "e5!2", H: "e5 d5", I: "[c5@5 ~]/3",
  J: "c5 d5 e5@2", K: "d5@2 e5 d5", L: "[a4@5 ~]/3", M: "d5", N: "d5 b4", O: "c5 b4 a4@2", P: "[g4@5 ~]/3", Q: "g4",
  R: "c5!2", S: "d5!2", T: "e5 d5 e5@2", U: "f5!2", V: "[d5@5 ~]/3", W: "g5", X: "d5 c5 b4@2", Y: "d5 e5", Z: "f5 e5",
  AA: "d5@2 c5 d5", AB: "c5/7",
})).s("gm_violin").gain(0.3)

// other · violin · "Violinen 2"
const violin_2 = note(`<
  ~@2 A B C D E F G H I J@2 K ~ L M@2 N O K L P@2 Q ~ A B C D E F G H I J@2 K ~ L M@2 N O K L P@2 Q ~ R S T U@2 V W X Y
  D Z@3 R S AA AB@2 AC AD AE AF AG@2 AH AI@2 AJ AK AL E AM AN AO AP AQ E AR@2 AS AT@5 AU AV@3 K AW AX AY AZ BA BB BC BD
  BE BF@3 BG BH BI BJ BK BL BM BN BO AX BP BQ BR@2 BS AX BT BU BV BW BX BY@4 AJ BZ@2 D E ~ CA CB CC CD CE CF CG CH CI CJ
  CK CL CM@2 CN CO CP CQ CR CS CT CU D CV CW CX CY CZ DA DB DC DD DE@2 DF
>`.pickRestart({
  A: "~ c4 d4 e4", B: "f4 a4 g4 f4", C: "e4@2 f#4 g4", D: "g4 f#4", E: "g4 ~", F: "~ g4", G: "g4 f4", H: "e4 c4",
  I: "g4 a4", J: "[b4 e4 a4@4 g#4@2]/2", K: "a4 ~", L: "~ g4 d4 f4", M: "[e4!2 c5@4 b4 a4]/2", N: "g#4 a4@2 g#4",
  O: "a4 c5 g4 a#4", P: "[e4 f4 g4@4 f4@2]/2", Q: "e4 ~", R: "~@3 e4", S: "f4 f#4 g4 g#4", T: "a4@2 e4 f#4",
  U: "[g4 f4 e4 a4@2 b4 c5 c#5]/2", V: "d5@3 c#5", W: "d5@2 ~ g4", X: "g4 a4 b4@2", Y: "a4@2 b4 a4",
  Z: "[e4!2 b4@3 a4 g4@3 f4 e4 ~]/3", AA: "a4@3 g4", AB: "[f4@2 a4@2 d5@6 c#5 b4 c#5@4]/2", AC: "d5@2 ~ d5",
  AD: "g4@3 c5", AE: "f#4@3 d4", AF: "g4@2 f#4 e4", AG: "[a4 a3 d4@4 c4 e4]/2", AH: "a4@3 d4", AI: "[g4@3 f#4]/2",
  AJ: "e4 g4 a4 b4", AK: "c5@2 g4 f4", AL: "e4 f#4", AM: "~@3 d4", AN: "g4!2 a4!2", AO: "b4 a4 g4!2", AP: "a4!2 b4!2",
  AQ: "c5@2 b4 a4", AR: "[d4 g4@2 f4]/2", AS: "e4!2 a4@2", AT: "[d4!2 g4@3 e4 a4@3 f4 a#4@3 a4 a#4@3 a4 ~ e4]/5",
  AU: "f4 g4 a4 f4", AV: "[a#4@2 c5@4 a#4@4 a4 g4]/3", AW: "~ e4", AX: "a4!2", AY: "g4 f4 g4@2", AZ: "f4@3 f4",
  BA: "e4 d4 e4 c4", BB: "d4 f4 a#4 a4", BC: "g4 f4 e4 d4", BD: "c4@2 ~ f4", BE: "a#4@3 e4",
  BF: "[a4@5 d4 g4@3 a#4 a4 g4]/3", BG: "f4 e4", BH: "d4 a4", BI: "b4!2", BJ: "c5!2", BK: "d5 c5 b4 a4",
  BL: "g4!2 c5 b4", BM: "a4 g4 f4 e4", BN: "d4@2 g4 f4", BO: "e4 c4 g4@2", BP: "a#4!2", BQ: "c5 a#4 a4 g4",
  BR: "[f4 g4 a4@4 g4 a4]/2", BS: "a#4 a4 a#4@2", BT: "g4 f4 e4@2", BU: "f4 e4 d4@2", BV: "c4 c5", BW: "b4 a4 g4@2",
  BX: "a4 g4 f#4@2", BY: "[g#4 a4 b4@4 a4@4 g4@4 f#4@2]/4", BZ: "[c5@6 b4 a4]/2", CA: "~ c4", CB: "f4!2", CC: "d4!2",
  CD: "g4", CE: "e4!2", CF: "a4", CG: "g4 b3 c4 d4", CH: "e4 d4", CI: "c4 d4 e4 f4", CJ: "g4@6 a4 g4",
  CK: "f#4 d4 e4 f#4", CL: "g4 f#4 g4 a4", CM: "[b4@2 a4@2 g4@6 f#4 e4 f#4@4]/2", CN: "g4 b4", CO: "c5 b4",
  CP: "a4@2 g4 a4", CQ: "b4 a4", CR: "g4 a#4 a4 g4", CS: "f4 d5@2 c5", CT: "c5 b4 a4 b4", CU: "c5 a4 f#4 g4",
  CV: "g4@3 f4", CW: "e4 d4 e4 f4 g4@4", CX: "a4 b4 c5 c4", CY: "d4@2 e4@2 f4@2 e4 f4", CZ: "g4 c5 a#4 a4",
  DA: "g4@2 f4 e4 f4@2 g4 a4", DB: "a#4 a4 g4@2", DC: "a4 g4", DD: "f4@2 e4 f4", DE: "[g4@2 f4@4 e4 d4]/2", DF: "e4",
})).s("gm_violin").gain(0.3)

// other · violin · "Violoncellos"
const violin_3 = note(`<
  ~ A B C D E F G H I J K L M N O P Q R M S H T U V A B C D E F G H I J K L M W O P Q R M S H T U V X Y Z AA AB AC AD AE
  AF AG AH AI T AJ Y C AK AL AM AN AO AP@2 AQ AR AS AT AU AV@3 AW AX AY AZ BA BB BC BD BE BF AT BG BH BI BJ BK BL BM BN
  BO BP BQ BR BO BS BT@2 BU BV BW BX BY AM BZ@2 CA CB CC U CD CE CF@2 CG CH CI CJ CK CL CM CN CO C CP CQ CR CS CT CU CO
  CV CW CX CY CZ DA DB DC DD DE DF DG DH@2 DI CO DJ CW DK DL DM@2 DN DO DP E DQ DR DS DT DU@3 DV DW DX DY@2
>`.pickRestart({
  A: "~ c3 d3 e3", B: "f3@3 e3", C: "a3 b3", D: "c4@3 b3", E: "a3 g3 a3@2", F: "g3@2 ~ g2", G: "a2 b2 c3 d3",
  H: "e3@2 f3 g3", I: "c3 b2 c3 d3", J: "e3 c4 f#3 a3", K: "g#3@2 a3!2", L: "e3", M: "a2 a3 e3 g3", N: "f#3@2 ~ d3",
  O: "g3 a3 b3 g3", P: "c4 a3 e3 g3", Q: "f3@3 f3", R: "e3 d3 e3@2", S: "f3@3 d3", T: "a3 e3", U: "f3!2", V: "c3 ~",
  W: "f#3@3 d3", X: "~@3 e3", Y: "f3 f#3 g3 g#3", Z: "a3@2 e3!2", AA: "f3 g3 a3@2", AB: "g3@2 a3 g3", AC: "f3 e3",
  AD: "d3@2 ~ a2", AE: "a#2@2 a2 g2 a2@2 b2@2", AF: "c3@2 b2 c#3", AG: "d3@2 d#3@4 c#3 d#3", AH: "e3 g3 a3 b3",
  AI: "c4 g#3", AJ: "f3@2 c3 e3", AK: "c4@3 c#4", AL: "d4@2 f3 g3", AM: "a3 a2", AN: "d3@2 ~ b2", AO: "e3@3 a2",
  AP: "[d3@3 c#3]/2", AQ: "c3 b2", AR: "a2 e3 a3 g3", AS: "f#3!2", AT: "g3@3 e3", AU: "a3@3 b3",
  AV: "[c4@2 c3@2 f3@6 e3 g3 a#3@8 a3@4]/3", AW: "g3 g2 g3 f3", AX: "e3 d3 c3 b2", AY: "c3", AZ: "g2 ~", BA: "~@3 g2",
  BB: "c3!2 d3!2", BC: "e3 d3 c3!2", BD: "d3!2 e3!2", BE: "f3 e3 d3!2", BF: "e3!2 f#3!2", BG: "a3@3 f3", BH: "a#3@3 g3",
  BI: "c4@2 c3!2", BJ: "f3!2 g3!2", BK: "a3 g3 f3!2", BL: "g3!2 a3!2", BM: "a#3 a3 g3@2", BN: "f3 g3 f3 e3", BO: "d3!2",
  BP: "g3!2", BQ: "f3 e3 f3@2", BR: "e3 a2", BS: "c3 a#2 c3@2", BT: "[a#2@5 g2 c3 a#2]/2", BU: "a2 f3 a#3 a3",
  BV: "g3 e3 a3 g3", BW: "f#3 d3 e3 f#3", BX: "g3 a3 a#3 g3", BY: "d4 e3 f3 g3", BZ: "[d3 e3 f3@3 d3 g3 f3]/2",
  CA: "e3 a3@2 g3", CB: "f3 e3 d3@2", CC: "e3!2", CD: "g3 f3 e3 d3", CE: "c3 c4@2 a#3", CF: "[a3 g3 f3@4 e3 d3]/2",
  CG: "e3 c3 f3 g3", CH: "a3 g3 f3 d#3", CI: "d3 c3 a#2 a2", CJ: "g2 c3", CK: "f2@2 ~ f3", CL: "b2 c#3",
  CM: "d3 a3@2 g#3", CN: "a3 g3@2 f#3", CO: "g3 a3 b3 c4", CP: "e3 f#3 g#3 e3", CQ: "a3 e3 a3 g3", CR: "f#3 d3 g3 f#3",
  CS: "e3@3 d#3", CT: "e3@3 d3", CU: "c3 d3 e3 f#3", CV: "d4 c4 d4 d3", CW: "g3 ~", CX: "~ c3", CY: "f3@2 f3 e3",
  CZ: "d3 e3 f3 d3", DA: "g3 a3 g3 f3", DB: "e3 f3 g3 e3", DC: "a3 a#3 a3 g3", DD: "f3 g3 a3 f3", DE: "c4 d4 c4 b3",
  DF: "a3 c3 d3 e3", DG: "f3@2 e3 d3", DH: "[c3 b2 c3@4 b2 a2]/2", DI: "b2 d3 e3 f#3", DJ: "d4 d3", DK: "~@3 g3",
  DL: "a3 b3 c4@2", DM: "[b3 c#4 d4@4 c#4@2]/2", DN: "d4 d3 e3 f3", DO: "g3@3 f3", DP: "e3 c4@2 b3", DQ: "g3 a3 b3@2",
  DR: "c4@3 a#3", DS: "a3@6 g3 a3", DT: "b3 a3", DU: "[g3@2 a3@2 a#3@6 a3 g3 a3@2 f3@4 e3 d3 e3@4]/3",
  DV: "f3@2 c3@4 d3 e3", DW: "f3@2 g3@2 a3@2 g3 f3", DX: "e3 f3", DY: "c3/2",
})).s("gm_violin").gain(0.3)

stack(violin, violin_2, violin_3)

More by Johann Sebastian BachGroßer Bachist