Strudelify
KeyG majorTempo76 bpm
0:00/0:00
// Chorale — Johann Sebastian Bach
// 76 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/56976; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 29 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(76/3)

// 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 · viola
const viola = note("<A B C D E F G H B C D E F G I@3 J K L M N O G P E Q G R>".pickRestart({
  A: "~@2 d4", B: "d4 e4 d4", C: "d4@2 b3", D: "e4 d4 e4 f#4 g4@2", E: "f#4@2 g4", F: "d4 e4 f#4", G: "g4@2 f#4",
  H: "d4@2 d4", I: "[d4@4 g4@3 f#4 e4 f#4 g4@3 a4 g4 f#4 g4@2]/3", J: "f#4@2 e4", K: "e4@2 f#4 g4 a4@2",
  L: "a4@2 g4@3 f#4", M: "g4@2 f4", N: "e4@2 g4", O: "a4@3 g4 f#4@2", P: "f#4 e4!2 f#4 g4@2", Q: "a4@4 g4 f#4",
  R: "d4@2 ~",
})).s("gm_viola").gain(0.25)

// other · cello
const cello = note("<A B C D E F G H B C D E F G I J K L M E N O P Q R E S T U>".pickRestart({
  A: "~@2 b3", B: "b3@2 c4 b3 a3@2", C: "g3 f#3 g3", D: "c4 b3 c4@2 d4@2", E: "d4@2 d4", F: "a3 b3 c4",
  G: "d4@2 e4@2 d4 c4", H: "b3@2 b3", I: "b3@2 d4", J: "d4@2 c4@2 b3 a3", K: "b3 c4 d4@2 d4@2", L: "d4@2 b3",
  M: "g3 b3 e4", N: "d4", O: "c4@2 d4", P: "d4 c4 b3@2 c4@2", Q: "d4@4 d4 c4", R: "b3 c4 d4", S: "d4@2 e4",
  T: "e4@4 d4 c4", U: "b3@2 ~",
})).s("gm_cello").gain(0.25)

// bass · acoustic bass
const bass = note("<A B C D E F G H B C D E F G H I J K@2 L M N F O P Q@2 R S>".pickRestart({
  A: "~@2 g2", B: "g3 e3 f#3", C: "g3 d3 e3", D: "c3@2 b2 a2 g2@2", E: "d3@2 g2", F: "f#2 g2 a2", G: "b2 c3 d3",
  H: "g2@2 g2", I: "g2 a2 b2", J: "b2@3 a2 g2@2", K: "[d3@2 e3@2 d3 c3]/2", L: "b2@3 c3 d3@2", M: "g2 a2 b2@2 g2@2",
  N: "c3@2 g2", O: "b2 g2 d3", P: "e3 d3 c3 b2 a2 g2", Q: "[d3@2 g3@2 f#3 e3]/2", R: "e3 d3 c3@2 d3@2", S: "g2@2 ~",
})).s("gm_acoustic_bass").gain(0.25)

stack(viola, cello, bass)

More by Johann Sebastian Bach