Strudelify

minecraft - calm

C418

KeyE minorTempo82 bpm
0:00/0:00
// minecraft - calm — C418
// 82 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5896438; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 64 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(82/4)

// 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(`<
  ~@16 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H I J K L M N O P Q R S L T U V W Q X Y Z@2 AA AB AC AD ~@8
>`.pickRestart({
  A: "[~ c4, [f3,a3,d4]]/2", B: "[~@3 e4, [e3,b3], ~@3 g3@13, ~ a3]/2", C: "[e3,g3,b3]/2", D: "[~@3 a3@13, [f3,c4]]/2",
  E: "[~@7 g4, [f3,a3,d4], ~@3 g4@4 ~, ~@3 a4]/2", F: "[~ a3, [e3,b3,e4], ~@3 g3@13]/2",
  G: "[~@3 d4, [e3,g3,b3], ~@3 c5@5, ~ b4, ~@5 g4@3]/2", H: "~@3 a3@5, [f3,c4]", I: "~@3 g4, d4, ~ f4",
  J: "~@7 d4, [f3,a3,a4], d4@7 ~, ~@3 f4@5, ~@3 e4", K: "~@3 g4, ~ [e4,a4]", L: "~@3 g3@5, [e3,b3,e4,b4]",
  M: "~ g4@7, a3", N: "~@3 c5, [e3,g3,b3]", O: "~ d4, b4, ~ g4@3", P: "~@3 g4, [f3,c4,f4], ~@3 [a3,e4]@5",
  Q: "~@3 g4, d4, ~ [f4,a4]", R: "~@7 d4, d4@3 [e4,g4], f4@3 f4@5, ~ a4@15, ~ c5", S: "~@2 [e4,a4] g4",
  T: "~@3 d4, a3, ~ g4@7", U: "~@3 f5, [b2,g3]", V: "~ a4, e5, ~ c5@3", W: "~@3 g4, f4, ~@3 [a3,e4]@5",
  X: "~@7 d5, [f3,a3,d4], ~@3 f5@5, ~ g4, ~@3 e5", Y: "~@3 [g4,d5], a4, ~ e5",
  Z: "[~@7 d4, [e3,b3,e4] ~, ~@3 [g3,c6]@5 a3@8, ~@6 b5@2 ~ g5@7, ~@7 a5@9]/2", AA: "~@3 [e5,c6], [b2,g3], ~@3 b5@5",
  AB: "~@7 c6, d5, b5@3 [g4,b5], ~ [c5,g5]@3, ~ a4", AC: "~@3 g5, [f3,c4,f4], ~@3 [a3,e5]@5",
  AD: "~@3 [e4,b5], d4, ~ [f4,a5]", // E5 F
})).s("gm_piano").gain(0.3)

// chords · string ensemble 1 · "Violins"
const string_ensemble_1 = note(`<
  A@2 B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 B@2 C@2 D@2 E@2 B@2 C@2 D@2 F@2
  B@2 C@2 ~@2
>`.pickRestart({
  A: "[f3,a3,d4,f4,a4]/2", B: "[e3,b3,e4]/2", C: "[g3,b3,e4]/2", D: "[f3,a3,c4]/2", E: "[d4,f4,a4]/2",
  F: "[f3,a3,d4]/2", // Dm
})).s("gm_string_ensemble_1").gain(0.05)

// bass · acoustic bass
const bass = note("<~@32 A B C@2 D E F G A B C@2 D E F G A B C@2 D E F G ~@8>".pickRestart({
  A: "d2", B: "f2 g2", C: "[e2@3 g2@2 ~@3]/2", D: "e2", E: "~@2 a2 c3", F: "f2", G: "~ e2",
})).s("gm_acoustic_bass").gain(0.3)

// chords · pad warm · "Warm Synthesizer"
const pad_warm = note("<~@56 A@2 B@2 C@2 D@2>".pickRestart({
  A: "[f3,a3,d4]/2", B: "[e3,b3,e4]/2", C: "[g3,b3,e4]/2", D: "[f3,a3,c4]/2",
})).s("gm_pad_warm").gain(0.15)

stack(piano, string_ensemble_1, bass, pad_warm)

More by C418