Strudelify

În seara de MoÅ Ajun

M trache

KeyG majorTempo114 bpm
0:00/0:00
// În seara de MoÅ Ajun — M trache
// 114 bpm, 2/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5957923; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 52 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(114/2)

// 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 · clarinet · "Klarinet in B♭"
const clarinet = note("<A B C B A B ~@2 A B C B A B ~@18 D E F G H I J K D E F G H I L M@2 N O@2>".pickRestart({
  A: "c4 f4 g4 a4", B: "a#4 a4 g4@2", C: "c5@2 a#4 a4 g4@2 a4@2", D: "a4 c5", E: "c5 a#4 a4 g4", F: "a4 a#4 c5@2",
  G: "d5", H: "c5@2 a#4 a4", I: "g4@3 a4", J: "a#4 a4 c5 a#4", K: "a4", L: "g4 f4", M: "f4", N: "g4", O: "[a4@3 ~]/2",
})).s("gm_clarinet").gain(0.3)

// other · clarinet · "Klarinet in B♭" · soft notes
const clarinet_soft = note("<~@6 A B ~@6 A B C D E F C D E B C D E F C D E B ~@20>".pickRestart({
  A: "c5@2 a#4 a4 g4@2 a4@2", B: "g4 f4 f4@2", C: "c5 ~ c5 ~ a#4 ~ a#4 ~", D: "a4 ~ a4 ~ g4@2 ~@2", E: "c4 f4 g4 a4",
  F: "a#4 a4 g4@2",
})).s("gm_clarinet").gain(0.2)

// other · tenor sax · "Tenor-saxofoon"
const tenor_sax = note(`<
  A B C D A E F G A B C D A E F G ~@2 A H ~@2 I J ~@2 A H ~@2 I J K L M N O P Q R K L M N O S T U V W X@2
>`.pickRestart({
  A: "c4 a3 g3 f3", B: "c4!2 c4@2", C: "a3@2 g3 f3 e3@2 f3@2", D: "g3 f3 e3@2", E: "d4 c4 c4@2",
  F: "c4@2 c4@2 a#3@2 a3 g3", G: "a#3 a3 a3@2", H: "e3 f3 c4@2", I: "f4!2 a#3 f3", J: "c4 f3 f3@2", K: "c4 a3",
  L: "a3 g3 f3 e3", M: "f3 g3 a3@2", N: "a#3", O: "a3@2 g3 f3", P: "a#3 a3 g3 f3", Q: "g3 a#3 a3 g3", R: "f3",
  S: "e3@3 c4", T: "a#3 a3", U: "a3", V: "d4", W: "c4", X: "[f3@3 ~]/2",
})).s("gm_tenor_sax").gain(0.3)

stack(clarinet, clarinet_soft, tenor_sax)