Strudelify

Concerto a Flauto Dolce au Luth

Ernst Gottlieb Baron

KeyF majorTempo40 bpm
0:00/0:00
// Concerto a Flauto Dolce au Luth — Ernst Gottlieb Baron
// 40 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5949524; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 17 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(40/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · recorder · "Alt-blokfluit"
const recorder = note("<A B C D E F G H I J K L M N O P Q>".pickRestart({
  A: "d5@2 d5!2 a4@2 a4@2", B: "f5!3 e5 f5@3 f5", C: "g5@2 g4@2 d5@3 bb4",
  D: "g5@2 f5@2 a4@3 d5!2 a4 d5 a4 d5 f5 e5 d5", E: "e5 a4 e5 a4 e5 g5 f5 e5 f5 a4 d5 f5 e5 f5 d5 e5", F: "db5 ~@3",
  G: "~@10 db5 d5 e5@2 a5@2", H: "g5 a4 a5 g5 f5 a4 g5 f5 e5 a4 f5 e5 d5@3 d5",
  I: "b4 d5 e5 d5 c5 b4 c5 a4 b4 d5 c5 b4 [b4,c5]!3 [a4,c5]", J: "a4@2 gb5@2 g5@3 g4", K: "bb4!4 f4!2 a4@2",
  L: "f5 e5 d5 e5!4 a5", M: "bb5 g5 a5 bb5 g5 bb5 a5 g5 a5 f5 g5 a5 f5 a5 g5 f5",
  N: "g5 e5 f5 g5 e5 g5 f5 e5 f5 e5 f5@2 f5 e5 f5@2", O: "f5 d5 e5@2 ~ g5 f5 e5 f5 e5 f5 g5 [e5,f5]!3 [d5,f5]",
  P: "d5@2 ~ a5", Q: "a5 g5 a5@2",
})).s("gm_recorder").gain(0.3)

// other · recorder · "Bas-blokfluit"
const recorder_2 = note("<A B C D ~ E F ~@2 G H I J K L M N>".pickRestart({
  A: "f4@2 f4!2 e4@2 e4@2", B: "d4 c4 bb3 g3 c4@3 c4", C: "bb3@2 a3@2 a3@3 bb3", D: "e4@2 d4@2 db4@3 f4 a3@4 ~@4",
  E: "~@6 a4@2 bb4 c5 bb4 c5 a4 bb4 a4 bb4", F: "g4@2 a4 g4 f4@2 g4 f4 e4@8", G: "~@2 a4@2 d4@3 bb3",
  H: "g3!4 c4!2 c4@2", I: "d4 db4 f3 bb3 a3@4", J: "~ c4 ~ bb3", K: "~ a3 a3@2", L: "a3 ~@3", M: "a3@2 ~ a3",
  N: "d4!2 e4@2",
})).s("gm_recorder").gain(0.3)

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

stack(recorder, recorder_2, cello)