Strudelify

minecraft - main theme

Kevin Chen

KeyE majorTempo55 bpm
0:00/0:00
// minecraft - main theme — Kevin Chen
// 55 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5456816; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 23 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(55/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · trumpet · "B♭ Trumpet"
const trumpet = note("<~@2 A B A B C D E D C F G D C D H I J K@3 ~>".pickRestart({
  A: "b3 f#4", B: "c#4 e4", C: "b3@2 ~@2 f#4@3 ~", D: "c#4@3 ~ e4@4", E: "b3 b4 g4 e4 f#4@3 ~", F: "d4@6 f#4 c#5 e4@8",
  G: "b3@2 ~@2 d4@3 ~", H: "f#4@3 ~ e4@2 ~@2", I: "c#4@3 ~ b3@4", J: "d5@6 b4 a4 g#4@4 e4@2 e5@2",
  K: "[c#5@4 ~@4 b3@10 ~ d4@29]/3",
})).s("gm_trumpet").gain(0.25)

// other · french horn · "Horn in F"
const french_horn = note("<A B A B A B C D E D F D C D C G H I H J@3 ~>".pickRestart({
  A: "g3 d4", B: "a3 c#4", C: "g3@2 ~@2 d4@3 ~", D: "a3@3 ~ c#4@4", E: "g3 ~@3 d4@3 ~", F: "g3 ~ d4 ~",
  G: "b3@3 ~ c#4@4", H: "d4@3 ~ b3@2 ~@2", I: "e4@6 d4 f#4 b3@8", J: "[a3@4 ~@4 g3@10 ~ a3@29]/3",
})).s("gm_french_horn").gain(0.25)

// other · trombone
const trombone = note("<A B A B A B C B D B E F C G C G H I J K@3 ~>".pickRestart({
  A: "e3 a3", B: "f#3 a3", C: "e3@2 ~@2 a3@3 ~", D: "e3 ~@3 a3@3 ~", E: "e3@4 ~@4 a3@6 d4 e4", F: "f#4 e4 a3 b3",
  G: "f#3@3 ~ a3@4", H: "~@6 b3 a3 g#3@4 e3@2 d3@2", I: "c#3@3 ~ d3@4", J: "b3@3 ~ g#3@2 e4 d4",
  K: "[e3@4 ~@4 d3@10 ~ a3@5 g#3@5 g3@4 f#3@15]/3",
})).s("gm_trombone").gain(0.25)

// bass · tuba
const bass = note("<A B A B A B C B C B C B C B C B D E D F@3 ~>".pickRestart({
  A: "e2 f#2 g2 b2", B: "a2 g2 d2@2", C: "e2@2 f#2@2 g2@2 b2 ~", D: "[b1,b2] e2", E: "[a1,a2] [g1,g2]",
  F: "[[a1,a2]@8 f#2@5 e2@5 ~ [d1,d2]@29]/3", // A D
})).s("gm_tuba").gain(0.25)

stack(trumpet, french_horn, trombone, bass)